@mappedin/react-sdk 6.0.1-beta.36 → 6.0.1-beta.37

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.
@@ -152,6 +152,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
152
152
  * If it is not specified, it will default to the level that fits the map bounds.
153
153
  */
154
154
  zoomLevel?: number;
155
+ /**
156
+ * The screen offsets of the map, in screen pixels.
157
+ */
158
+ screenOffsets?: InsetPadding;
155
159
  /**
156
160
  * Whether or not to automatically add labels and interactivity to the map. Set to
157
161
  * false if you need finer control over what is labelled or interactive.
@@ -278,6 +282,26 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
278
282
  * @internal
279
283
  */
280
284
  imagePlacementOptions?: TImagePlacementOptions;
285
+ /**
286
+ * @hidden
287
+ * @internal
288
+ */
289
+ onWebGLContextCreationError?: (event: Event) => void;
290
+ /**
291
+ * @hidden
292
+ * @internal
293
+ */
294
+ onWebGLContextLost?: (event: Event) => void;
295
+ /**
296
+ * @hidden
297
+ * @internal
298
+ */
299
+ onWebGLContextRestored?: (event: Event) => void;
300
+ /**
301
+ * @hidden
302
+ * @internal
303
+ */
304
+ onWebGLRendererError?: (error: Error) => void;
281
305
  };
282
306
  /**
283
307
  * @internal
@@ -988,7 +1012,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
988
1012
  import type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot';
989
1013
  import type { TDirectionInstruction } from '@mappedin/react-sdk/mappedin-js/src/types';
990
1014
  import type { Directions } from '@mappedin/react-sdk/mappedin-js/src';
991
- export type TFloorChangeReason = '' | 'blue-dot-floor-change' | 'stacked-maps-elevation-change' | 'navigation-connection-click';
1015
+ export type TFloorChangeReason = '' | 'blue-dot-floor-change' | 'stacked-maps-elevation-change' | 'navigation-connection-click' | 'dynamic-focus';
992
1016
  export type TClickPayload = {
993
1017
  /**
994
1018
  * The coordinate of the interaction.
@@ -1066,6 +1090,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
1066
1090
  'floor-change': {
1067
1091
  reason?: TFloorChangeReason;
1068
1092
  floor: Floor;
1093
+ previousFloor: Floor;
1094
+ };
1095
+ /**
1096
+ * Only emitted when dynamic focus is enabled. Emitted when a different facade recieves
1097
+ * focus due to the camera moving. This always occurs when the active floor changes to
1098
+ * a different floor stack, but may also occur when the camera moves without the active
1099
+ * floor changing.
1100
+ *
1101
+ * @property {Facade[]} facades - The facades that are in focus.
1102
+ */
1103
+ 'dynamic-focus-change': {
1104
+ facades: Facade[];
1069
1105
  };
1070
1106
  /**
1071
1107
  * Emitted when the outdoor view is fully loaded and displayed.
@@ -1229,9 +1265,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1229
1265
  doorsByNodeId: MapDataRecords['doorsByNodeId'];
1230
1266
  mvfLocationsBySpaceId: EnterpriseMapDataRecords['mvfLocationsBySpaceId'];
1231
1267
  locationIdsByNodeId: EnterpriseMapDataRecords['locationIdsByNodeId'];
1268
+ spaceIdsByNodeId: EnterpriseMapDataRecords['spaceIdsByNodeId'];
1232
1269
  mvfAnnotationsById: MapDataRecords['mvfAnnotationsById'];
1233
1270
  mvfConnectionsById: MapDataRecords['mvfConnectionsById'];
1234
1271
  mvfConnectionsByNodeId: MapDataRecords['mvfConnectionsByNodeId'];
1272
+ mvfConnectionIdsByLatLon: MapDataRecords['mvfConnectionIdsByLatLon'];
1235
1273
  mvfEntrancesById: MapDataRecords['mvfEntrancesById'];
1236
1274
  mvfNodesById: MapDataRecords['mvfNodesById'];
1237
1275
  mvfObstructionById: MapDataRecords['mvfObstructionById'];
@@ -2973,6 +3011,20 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2973
3011
  * @internal
2974
3012
  */
2975
3013
  export type TImagePlacementOptions = ImagePlacementOptions;
3014
+ export type TCameraInteractionsSetOptions = {
3015
+ /**
3016
+ * Whether to enable panning.
3017
+ */
3018
+ pan?: boolean;
3019
+ /**
3020
+ * Whether to enable zooming.
3021
+ */
3022
+ zoom?: boolean;
3023
+ /**
3024
+ * Whether to enable bearing and pitch.
3025
+ */
3026
+ bearingAndPitch?: boolean;
3027
+ };
2976
3028
  }
2977
3029
 
2978
3030
  declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
@@ -3379,6 +3431,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3379
3431
  * @default true
3380
3432
  */
3381
3433
  setMapOnConnectionClick?: boolean;
3434
+ /**
3435
+ * Controls whether the map should be set to the floor of the departure point when the path is drawn.
3436
+ * @default true
3437
+ */
3438
+ setMapToDeparture?: boolean;
3382
3439
  /**
3383
3440
  * Controls whether markers are created for the departure, destination, and connection points.
3384
3441
  */
@@ -3850,7 +3907,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot' {
3850
3907
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3851
3908
  import type { NodeCollection } from '@mappedin/mvf';
3852
3909
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
3853
- import type { EnterpriseLocation, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3910
+ import type { EnterpriseLocation, MapDataInternal, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3854
3911
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3855
3912
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
3856
3913
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
@@ -3887,6 +3944,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3887
3944
  });
3888
3945
  /** @internal */
3889
3946
  get locations(): EnterpriseLocation[];
3947
+ /**
3948
+ * Gets the {@link Space} object associated with the node.
3949
+ */
3950
+ get space(): Space | undefined;
3890
3951
  /**
3891
3952
  * Gets the {@link Floor} associated with the node.
3892
3953
  *
@@ -3952,11 +4013,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3952
4013
 
3953
4014
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3954
4015
  import type { AreaCollection } from '@mappedin/mvf';
3955
- import { Coordinate, LocationProfile, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4016
+ import { Coordinate, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3956
4017
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3957
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
3958
4018
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
3959
4019
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4020
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
3960
4021
  /**
3961
4022
  * An Area represents some grouping of multiple pieces of geometry, not
3962
4023
  * necessarily bounded by walls or any other physical feature of the map.
@@ -3964,7 +4025,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3964
4025
  * Areas are currently in a preview state, and may have changes to existing
3965
4026
  * functionality or new features added in the future.
3966
4027
  */
3967
- class Area extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4028
+ class Area extends DetailedMapData<AreaCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
3968
4029
  #private;
3969
4030
  /**
3970
4031
  * @internal
@@ -3988,24 +4049,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3988
4049
  floorId: string;
3989
4050
  mvfData: AreaCollection['features'][number];
3990
4051
  });
3991
- /**
3992
- * Gets the name of the area.
3993
- *
3994
- * @returns {string} The name of the area.
3995
- */
3996
- get name(): string;
3997
- /**
3998
- * Gets the external identifier of the area.
3999
- *
4000
- * @returns {string} The external ID of the area, or an empty string if no external ID exists.
4001
- */
4002
- get externalId(): string;
4003
- /**
4004
- * Gets the description of the area.
4005
- *
4006
- * @returns {string} The description of the area, or an empty string if no description exists.
4007
- */
4008
- get description(): string;
4009
4052
  /**
4010
4053
  * Gets the center {@link Coordinate} of the area.
4011
4054
  *
@@ -4019,12 +4062,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
4019
4062
  * @throws Will throw an error if the floor is not found.
4020
4063
  */
4021
4064
  get floor(): Floor;
4022
- /**
4023
- * Gets the {@link LocationProfile} objects attached to this area.
4024
- *
4025
- * @returns {LocationProfile[]} An array of location profile objects.
4026
- */
4027
- get locationProfiles(): LocationProfile[];
4028
4065
  /**
4029
4066
  * Gets the underlying GeoJSON Feature representation of this Area.
4030
4067
  */
@@ -4061,10 +4098,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4061
4098
  import type { EntranceCollection } from '@mappedin/mvf';
4062
4099
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4063
4100
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4064
- import type { LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4065
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4101
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4066
4102
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4067
4103
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4104
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4068
4105
  /**
4069
4106
  * A class representing door data within the map.
4070
4107
  *
@@ -4093,7 +4130,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4093
4130
  * Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
4094
4131
  *
4095
4132
  */
4096
- class Door extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4133
+ class Door extends DetailedMapData<EntranceCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4097
4134
  #private;
4098
4135
  /**
4099
4136
  * @internal
@@ -4117,24 +4154,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4117
4154
  floorId: string;
4118
4155
  mvfData: EntranceCollection['features'][number];
4119
4156
  });
4120
- /**
4121
- * Gets the name of the door.
4122
- *
4123
- * @returns {string} The name of the door.
4124
- */
4125
- get name(): string;
4126
- /**
4127
- * Gets the external ID of the door.
4128
- *
4129
- * @returns {string} The external ID of the door.
4130
- */
4131
- get externalId(): string;
4132
- /**
4133
- * Gets the description of the door.
4134
- *
4135
- * @returns {string} The description of the door.
4136
- */
4137
- get description(): string;
4138
4157
  /**
4139
4158
  * Gets the {@link Floor} object associated with the door.
4140
4159
  *
@@ -4152,12 +4171,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4152
4171
  * Gets whether this door is an exterior door.
4153
4172
  */
4154
4173
  get isExterior(): boolean;
4155
- /**
4156
- * Gets the {@link LocationProfile} objects attached to this door.
4157
- *
4158
- * @returns {LocationProfile[]} An array of location profile objects.
4159
- */
4160
- get locationProfiles(): LocationProfile[];
4161
4174
  /**
4162
4175
  * Gets the underlying GeoJSON Feature representation of this Door.
4163
4176
  */
@@ -4199,12 +4212,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4199
4212
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4200
4213
  import type { SpaceCollection } from '@mappedin/mvf';
4201
4214
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4202
- import type { EnterpriseLocation, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4215
+ import type { EnterpriseLocation, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4203
4216
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4204
4217
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4205
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4206
4218
  import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
4207
4219
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4220
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4208
4221
  /**
4209
4222
  * Represents the various types of spaces that can be defined within a map.
4210
4223
  * - 'room': A standard room or enclosed area.
@@ -4222,7 +4235,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4222
4235
  *
4223
4236
  * Refer to the [Spaces Guide](https://developer.mappedin.com/web-sdk/spaces) for more information and interactive examples.
4224
4237
  */
4225
- class Space extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4238
+ class Space extends DetailedMapData<SpaceCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4226
4239
  #private;
4227
4240
  /**
4228
4241
  * @internal
@@ -4236,7 +4249,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4236
4249
  * @internal
4237
4250
  * @hidden
4238
4251
  */
4239
- getMvfData(): import("@mappedin/mvf").Feature<import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon | import("@mappedin/mvf").Point, import("@mappedin/mvf").SpaceProperties>;
4252
+ getMvfData(): import("@mappedin/mvf").Feature<import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Point, import("@mappedin/mvf").SpaceProperties>;
4240
4253
  /**
4241
4254
  * Checks if the provided instance is of type Space.
4242
4255
  *
@@ -4251,30 +4264,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4251
4264
  floorId: string;
4252
4265
  mvfData: SpaceCollection['features'][number];
4253
4266
  });
4254
- /**
4255
- * Gets the name of the space.
4256
- *
4257
- * @returns {string} The name of the space.
4258
- */
4259
- get name(): string;
4260
4267
  /**
4261
4268
  * Gets the type/kind of the space.
4262
4269
  *
4263
4270
  * @returns {TSpaceType} The type of the space.
4264
4271
  */
4265
4272
  get type(): TSpaceType;
4266
- /**
4267
- * Gets the description of the space.
4268
- *
4269
- * @returns {string} The description of the space, or an empty string if no description exists.
4270
- */
4271
- get description(): string;
4272
- /**
4273
- * Gets the external identifier of the space.
4274
- *
4275
- * @returns {string} The external ID of the space, or an empty string if no external ID exists.
4276
- */
4277
- get externalId(): string;
4278
4273
  /**
4279
4274
  * @internal
4280
4275
  */
@@ -4298,19 +4293,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4298
4293
  * @returns {Coordinate} The space's center coordinate.
4299
4294
  */
4300
4295
  get center(): Coordinate;
4301
- /**
4302
- * Gets the {@link LocationProfile} objects attached to this space.
4303
- *
4304
- * @returns {LocationProfile[]} An array of location profile objects.
4305
- */
4306
- get locationProfiles(): LocationProfile[];
4307
4296
  /**
4308
4297
  * Gets the underlying GeoJSON Feature representation of this Space.
4309
4298
  */
4310
4299
  get geoJSON(): {
4311
4300
  properties: null;
4312
4301
  type: import("@mappedin/mvf").FeatureType;
4313
- geometry: import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon | import("@mappedin/mvf").Point;
4302
+ geometry: import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Point;
4314
4303
  };
4315
4304
  /** @internal */
4316
4305
  get focusTarget(): Coordinate | this;
@@ -4481,14 +4470,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4481
4470
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4482
4471
  import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
4483
4472
  import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4484
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4485
4473
  import type { IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4474
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4486
4475
  /**
4487
4476
  * A class representing connection data within the map.
4488
4477
  *
4489
4478
  * Connections are used to represent pathways between different map nodes.
4490
4479
  */
4491
- class Connection extends BaseMapData implements IFocusable {
4480
+ class Connection extends DetailedMapData<Feature<Point, SpaceProperties> | Feature<Point, MVFConnection>> implements IFocusable {
4492
4481
  #private;
4493
4482
  /**
4494
4483
  * @internal
@@ -4512,32 +4501,24 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4512
4501
  mvfDataByFloorId: Record<string, FeatureCollection<Point, SpaceProperties>['features'][number]> | Record<string, Feature<Point, MVFConnection>>;
4513
4502
  accessible?: boolean;
4514
4503
  });
4515
- /**
4516
- * Gets the name of the connection.
4517
- *
4518
- * @returns {string} The name of the connection.
4519
- */
4520
- get name(): string;
4521
- get description(): string;
4522
4504
  /**
4523
4505
  * Whether the connection is accessible. For example elevators are accessible while stairs are not.
4524
4506
  *
4525
4507
  * @returns {boolean} Whether the connection is accessible.
4526
4508
  */
4527
4509
  get accessible(): boolean;
4528
- /**
4529
- * Gets the external ID of the connection.
4530
- *
4531
- * @returns {string} The external ID of the connection.
4532
- */
4533
- get externalId(): string;
4534
- /**
4535
4510
  /**
4536
4511
  * Gets the type of the connection.
4537
4512
  *
4538
4513
  * @returns {string} The type of the connection.
4539
4514
  */
4540
4515
  get type(): string;
4516
+ /**
4517
+ * Extra properties of the connection.
4518
+ *
4519
+ * @returns {Record<string, unknown> | undefined} Extra properties of the connection.
4520
+ */
4521
+ get extra(): Record<string, unknown> | undefined;
4541
4522
  /**
4542
4523
  * Gets the coordinates ({@link Coordinate}) of the connection.
4543
4524
  *
@@ -4555,9 +4536,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4555
4536
  */
4556
4537
  get floors(): Floor[];
4557
4538
  /**
4558
- * Gets the {@link LocationProfile} objects attached to this connection.
4559
- *
4560
- * @returns {LocationProfile[]} An array of location profile objects.
4539
+ * Gets the location profiles ({@link LocationProfile}) associated with the connection.
4561
4540
  */
4562
4541
  get locationProfiles(): LocationProfile[];
4563
4542
  /** @internal */
@@ -4579,6 +4558,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4579
4558
  verticalOffset: number;
4580
4559
  }[];
4581
4560
  floors: string[];
4561
+ extra: Record<string, unknown> | undefined;
4582
4562
  };
4583
4563
  /**
4584
4564
  * Cleans up resources used by the instance.
@@ -4593,11 +4573,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4593
4573
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4594
4574
  import type { ObstructionCollection } from '@mappedin/mvf';
4595
4575
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4596
- import type { LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4576
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4597
4577
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4598
4578
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4599
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4600
4579
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4580
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4601
4581
  /**
4602
4582
  * A class representing generic map object data within the map.
4603
4583
  *
@@ -4606,7 +4586,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4606
4586
  * MapObject appearance can be customized by changing the color or adding a texture to its top or sides.
4607
4587
  * Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
4608
4588
  */
4609
- export class MapObject extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4589
+ export class MapObject extends DetailedMapData<ObstructionCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4610
4590
  #private;
4611
4591
  /**
4612
4592
  * @internal
@@ -4630,24 +4610,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4630
4610
  floorId: string;
4631
4611
  mvfData: ObstructionCollection['features'][number];
4632
4612
  });
4633
- /**
4634
- * Gets the name of the MapObject.
4635
- *
4636
- * @returns {string} The name of the object.
4637
- */
4638
- get name(): string;
4639
- /**
4640
- * Gets the external ID of the MapObject.
4641
- *
4642
- * @returns {string} The external ID of the object.
4643
- */
4644
- get externalId(): string;
4645
- /**
4646
- * Gets the description of the MapObject.
4647
- *
4648
- * @returns {string} The description of the object.
4649
- */
4650
- get description(): string;
4651
4613
  /**
4652
4614
  * Gets the type of the MapObject.
4653
4615
  *
@@ -4667,19 +4629,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4667
4629
  * @returns {Coordinate} The object's center coordinate.
4668
4630
  */
4669
4631
  get center(): Coordinate;
4670
- /**
4671
- * Gets the {@link LocationProfile} objects attached to this object.
4672
- *
4673
- * @returns {LocationProfile[]} An array of location profile objects.
4674
- */
4675
- get locationProfiles(): LocationProfile[];
4676
4632
  /**
4677
4633
  * Gets the underlying GeoJSON Feature representation of this Object.
4678
4634
  */
4679
4635
  get geoJSON(): {
4680
4636
  properties: null;
4681
4637
  type: import("@mappedin/mvf").FeatureType;
4682
- geometry: import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon;
4638
+ geometry: import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString;
4683
4639
  };
4684
4640
  /** @internal */
4685
4641
  get anchorTarget(): Coordinate;
@@ -4811,18 +4767,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4811
4767
 
4812
4768
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4813
4769
  import type { FeatureCollection, Point, SpaceProperties } from '@mappedin/mvf';
4814
- import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4770
+ import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4815
4771
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4816
4772
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4817
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4818
4773
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4774
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4819
4775
  /**
4820
4776
  * A class representing point of interest data within the map.
4821
4777
  *
4822
4778
  * Points of interest are used to represent specific points
4823
4779
  * on the map with additional information(e.g. ATMs, Water Fountains).
4824
4780
  */
4825
- class PointOfInterest extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4781
+ class PointOfInterest extends DetailedMapData<FeatureCollection<Point, SpaceProperties>['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4826
4782
  #private;
4827
4783
  /**
4828
4784
  * @internal
@@ -4846,18 +4802,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4846
4802
  floorId: string;
4847
4803
  mvfData: FeatureCollection<Point, SpaceProperties>['features'][number];
4848
4804
  });
4849
- /**
4850
- * Gets the name of the POI.
4851
- *
4852
- * @returns {string} The name of the POI.
4853
- */
4854
- get name(): string;
4855
- /**
4856
- * Gets the description of the POI.
4857
- *
4858
- * @returns {string} The description of the POI.
4859
- */
4860
- get description(): string;
4861
4805
  /**
4862
4806
  * Gets the {@link Floor} object associated with the POI.
4863
4807
  *
@@ -4871,18 +4815,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4871
4815
  * @returns {Coordinate} The POI's coordinate.
4872
4816
  */
4873
4817
  get coordinate(): Coordinate;
4874
- /**
4875
- * Gets the external ID of the POI.
4876
- *
4877
- * @returns {string} The external ID of the POI.
4878
- */
4879
- get externalId(): string;
4880
- /**
4881
- * Gets the {@link LocationProfile} objects attached to this POI.
4882
- *
4883
- * @returns {LocationProfile[]} An array of location profile objects.
4884
- */
4885
- get locationProfiles(): LocationProfile[];
4886
4818
  /**
4887
4819
  * Gets the underlying GeoJSON Feature representation of this PointOfInterest.
4888
4820
  */
@@ -4923,11 +4855,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4923
4855
 
4924
4856
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation' {
4925
4857
  import type { AnnotationCollection } from '@mappedin/mvf';
4926
- import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4858
+ import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4927
4859
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4928
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4929
4860
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4930
4861
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4862
+ import DetailedMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data';
4931
4863
  /**
4932
4864
  * A class representing annotation data within the map.
4933
4865
  *
@@ -4935,7 +4867,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4935
4867
  * It includes some details on a map that may be relevant to safety or accessibility (e.g. Fire Extinguishers).
4936
4868
  * Refer to the [Annotation Guide](https://developer.mappedin.com/web-sdk/annotations) for more information.
4937
4869
  */
4938
- class Annotation extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4870
+ class Annotation extends DetailedMapData<AnnotationCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4939
4871
  #private;
4940
4872
  /**
4941
4873
  * @internal
@@ -4971,12 +4903,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4971
4903
  * @returns {string} The annotation type.
4972
4904
  */
4973
4905
  get type(): string;
4974
- /**
4975
- * Gets the external ID of the annotation.
4976
- *
4977
- * @returns {string} The external ID of the annotation.
4978
- */
4979
- get externalId(): string;
4980
4906
  /**
4981
4907
  * Gets the center {@link Coordinate} of the annotation.
4982
4908
  *
@@ -4990,12 +4916,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4990
4916
  * @throws Will throw an error if the floor is not found.
4991
4917
  */
4992
4918
  get floor(): Floor;
4993
- /**
4994
- * Gets the {@link LocationProfile} objects attached to this annotation.
4995
- *
4996
- * @returns {LocationProfile[]} An array of location profile objects.
4997
- */
4998
- get locationProfiles(): LocationProfile[];
4999
4919
  /**
5000
4920
  * Gets the underlying GeoJSON Feature representation of this Annotation.
5001
4921
  */
@@ -5199,6 +5119,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor-stack
5199
5119
  * @returns {string} The name of the FloorStack.
5200
5120
  */
5201
5121
  get name(): string;
5122
+ /**
5123
+ * Gets the short name of the FloorStack.
5124
+ *
5125
+ * @returns {string} The short name of the FloorStack.
5126
+ */
5127
+ get shortName(): string;
5202
5128
  /**
5203
5129
  * Gets the externalId of FloorStack
5204
5130
  */
@@ -5284,7 +5210,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/facade' {
5284
5210
  }
5285
5211
 
5286
5212
  declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5287
- import type { AnnotationCollection, EntranceCollection, FeatureCollection, Connection as MVFConnection, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseVenue as MVFEnterpriseVenue, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, ParsedMVF, Point, SpaceCollection, SpaceProperties, AreaCollection, AreaId, EnterpriseLocationInstance } from '@mappedin/mvf';
5213
+ import type { AnnotationCollection, EntranceCollection, FeatureCollection, Connection as MVFConnection, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseVenue as MVFEnterpriseVenue, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, ParsedMVF, Point, SpaceCollection, SpaceProperties, AreaCollection, AreaId, EnterpriseLocationInstance, SpaceId } from '@mappedin/mvf';
5288
5214
  import { Annotation, Area, Connection, Door, EnterpriseCategory, EnterpriseLocation, Facade, Floor, FloorStack, MapObject, Node, PointOfInterest, Space, LocationCategory, LocationProfile, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5289
5215
  export type MapDataRecords = {
5290
5216
  spacesById: Record<string, Space>;
@@ -5317,6 +5243,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5317
5243
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
5318
5244
  obstructionIdByEntranceId: Record<string, string>;
5319
5245
  connectionIdsByLatLon: Record<string, string[]>;
5246
+ mvfConnectionIdsByLatLon: Record<string, string[]>;
5320
5247
  locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
5321
5248
  mvfSpacesById: Record<string, SpaceCollection['features'][number]>;
5322
5249
  mvfNodesById: Record<string, NodeCollection['features'][number]>;
@@ -5351,6 +5278,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5351
5278
  locationsById: Record<MVFEnterpriseLocationId, EnterpriseLocation>;
5352
5279
  categoriesById: Record<MVFEnterpriseCategoryId, EnterpriseCategory>;
5353
5280
  locationIdsByNodeId: Record<string, MVFEnterpriseLocationId[]>;
5281
+ spaceIdsByNodeId: Record<string, SpaceId[]>;
5354
5282
  locationInstancesById: Record<string, EnterpriseLocationInstance>;
5355
5283
  venue: MVFEnterpriseVenue;
5356
5284
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
@@ -5370,8 +5298,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5370
5298
  export const processMVFObstructions: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "objectsById" | "objectsByExternalId" | "mvfObstructionById" | "obstructionIdByEntranceId">;
5371
5299
  export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "floorsByExternalId" | "mvfFloorsById">;
5372
5300
  export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "floorStacksByExternalId" | "mvfFloorStacksById" | "facadesById" | "facadesBySpaceId">;
5373
- export const processMVFConnections: (mvf: ParsedMVF) => Pick<MapDataRecords, "mvfConnectionsById" | "mvfConnectionsByNodeId">;
5301
+ export const processMVFConnections: (mvf: ParsedMVF, mvfNodesById?: MapDataRecords["mvfNodesById"]) => Pick<MapDataRecords, "mvfConnectionsById" | "mvfConnectionsByNodeId" | "mvfConnectionIdsByLatLon">;
5374
5302
  export const processMVFEntrances: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "doorsById" | "doorsByExternalId" | "doorsByNodeId" | "mvfEntrancesById" | "mvfEntrancesByFloorId">;
5303
+ export const processMVFEnterpriseTextures: (mvf: ParsedMVF, spacesById: MapDataRecords["mvfSpacesById"], obstructionsById: MapDataRecords["mvfObstructionById"]) => void;
5375
5304
  export const processMVFAnnotations: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "annotationsById" | "mvfAnnotationsById" | "mvfAnnotationsByFloorId">;
5376
5305
  export const processMVFAreas: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "areasById" | "areasByExternalId" | "mvfAreasById">;
5377
5306
  /**
@@ -5796,12 +5725,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
5796
5725
  }
5797
5726
 
5798
5727
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-profile' {
5799
- import type { LocationId, LocationLink, LocationPicture, LocationSocial, Location as MVFLocation } from '@mappedin/mvf';
5728
+ import type { LocationId, LocationSocial, Location as MVFLocation } from '@mappedin/mvf';
5800
5729
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
5801
- import type { Annotation, Connection, Door, LocationCategory, MapDataInternal, Space, MapObject, PointOfInterest } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5730
+ import type { Annotation, Connection, Door, LocationCategory, MapDataInternal, Space, MapObject, PointOfInterest, Area } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5802
5731
  import type { TFocusTarget, TNavigationTarget, IFocusable, INavigatable } from '@mappedin/react-sdk/mappedin-js/src/types';
5803
5732
  import { OpeningHours } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/opening-hours';
5804
- class LocationProfile extends BaseMetaData implements Omit<MVFLocation, 'categories' | 'spaces' | 'obstructions' | 'entrances' | 'shapes' | 'connections' | 'annotations' | 'openingHoursSpecification'>, IFocusable, INavigatable {
5733
+ import Hyperlink from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/hyperlink';
5734
+ import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
5735
+ type LocationData = Omit<MVFLocation, 'categories' | 'spaces' | 'obstructions' | 'entrances' | 'shapes' | 'connections' | 'annotations' | 'areas' | 'openingHoursSpecification' | 'links' | 'pictures' | 'website'> & {
5736
+ links: Hyperlink[];
5737
+ images: Image[];
5738
+ };
5739
+ class LocationProfile extends BaseMetaData implements LocationData, IFocusable, INavigatable {
5805
5740
  #private;
5806
5741
  /**
5807
5742
  * Checks if the provided instance is of type EnterpriseLocation.
@@ -5836,11 +5771,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5836
5771
  /**
5837
5772
  * The location's pictures
5838
5773
  */
5839
- pictures: LocationPicture[];
5774
+ images: Image[];
5840
5775
  /**
5841
5776
  * Web links for the location
5842
5777
  */
5843
- links: LocationLink[];
5778
+ links: Hyperlink[];
5779
+ /**
5780
+ * The location's website
5781
+ */
5782
+ website?: Hyperlink;
5844
5783
  constructor(data: MapDataInternal, options: {
5845
5784
  mvfData: MVFLocation;
5846
5785
  });
@@ -5886,6 +5825,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5886
5825
  * @returns {MapObject[]} The map objects array.
5887
5826
  */
5888
5827
  get mapObjects(): MapObject[];
5828
+ /**
5829
+ * Gets the {@link Area}s associated with the location.
5830
+ *
5831
+ * @returns {Area[]} The areas array.
5832
+ */
5833
+ get areas(): Area[];
5889
5834
  /** @internal */
5890
5835
  get focusTarget(): TFocusTarget[];
5891
5836
  /**
@@ -6483,16 +6428,16 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6483
6428
  size?: number | undefined;
6484
6429
  maxWidth?: number | undefined;
6485
6430
  lineHeight?: number | undefined;
6431
+ backgroundColor?: string | undefined;
6486
6432
  numLines?: number | undefined;
6487
6433
  foregroundColor?: string | undefined;
6488
- backgroundColor?: string | undefined;
6489
6434
  }, {
6490
6435
  size?: number | undefined;
6491
6436
  maxWidth?: number | undefined;
6492
6437
  lineHeight?: number | undefined;
6438
+ backgroundColor?: string | undefined;
6493
6439
  numLines?: number | undefined;
6494
6440
  foregroundColor?: string | undefined;
6495
- backgroundColor?: string | undefined;
6496
6441
  }>>;
6497
6442
  marker: z.ZodOptional<z.ZodObject<{
6498
6443
  size: z.ZodOptional<z.ZodNumber>;
@@ -6518,21 +6463,21 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6518
6463
  }>>;
6519
6464
  }, "strip", z.ZodTypeAny, {
6520
6465
  size?: number | undefined;
6521
- foregroundColor?: {
6466
+ backgroundColor?: {
6522
6467
  active?: string | undefined;
6523
6468
  inactive?: string | undefined;
6524
6469
  } | undefined;
6525
- backgroundColor?: {
6470
+ foregroundColor?: {
6526
6471
  active?: string | undefined;
6527
6472
  inactive?: string | undefined;
6528
6473
  } | undefined;
6529
6474
  }, {
6530
6475
  size?: number | undefined;
6531
- foregroundColor?: {
6476
+ backgroundColor?: {
6532
6477
  active?: string | undefined;
6533
6478
  inactive?: string | undefined;
6534
6479
  } | undefined;
6535
- backgroundColor?: {
6480
+ foregroundColor?: {
6536
6481
  active?: string | undefined;
6537
6482
  inactive?: string | undefined;
6538
6483
  } | undefined;
@@ -6542,18 +6487,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6542
6487
  size?: number | undefined;
6543
6488
  maxWidth?: number | undefined;
6544
6489
  lineHeight?: number | undefined;
6490
+ backgroundColor?: string | undefined;
6545
6491
  numLines?: number | undefined;
6546
6492
  foregroundColor?: string | undefined;
6547
- backgroundColor?: string | undefined;
6548
6493
  } | undefined;
6549
6494
  margin?: number | undefined;
6550
6495
  marker?: {
6551
6496
  size?: number | undefined;
6552
- foregroundColor?: {
6497
+ backgroundColor?: {
6553
6498
  active?: string | undefined;
6554
6499
  inactive?: string | undefined;
6555
6500
  } | undefined;
6556
- backgroundColor?: {
6501
+ foregroundColor?: {
6557
6502
  active?: string | undefined;
6558
6503
  inactive?: string | undefined;
6559
6504
  } | undefined;
@@ -6563,18 +6508,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6563
6508
  size?: number | undefined;
6564
6509
  maxWidth?: number | undefined;
6565
6510
  lineHeight?: number | undefined;
6511
+ backgroundColor?: string | undefined;
6566
6512
  numLines?: number | undefined;
6567
6513
  foregroundColor?: string | undefined;
6568
- backgroundColor?: string | undefined;
6569
6514
  } | undefined;
6570
6515
  margin?: number | undefined;
6571
6516
  marker?: {
6572
6517
  size?: number | undefined;
6573
- foregroundColor?: {
6518
+ backgroundColor?: {
6574
6519
  active?: string | undefined;
6575
6520
  inactive?: string | undefined;
6576
6521
  } | undefined;
6577
- backgroundColor?: {
6522
+ foregroundColor?: {
6578
6523
  active?: string | undefined;
6579
6524
  inactive?: string | undefined;
6580
6525
  } | undefined;
@@ -6588,18 +6533,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6588
6533
  size?: number | undefined;
6589
6534
  maxWidth?: number | undefined;
6590
6535
  lineHeight?: number | undefined;
6536
+ backgroundColor?: string | undefined;
6591
6537
  numLines?: number | undefined;
6592
6538
  foregroundColor?: string | undefined;
6593
- backgroundColor?: string | undefined;
6594
6539
  } | undefined;
6595
6540
  margin?: number | undefined;
6596
6541
  marker?: {
6597
6542
  size?: number | undefined;
6598
- foregroundColor?: {
6543
+ backgroundColor?: {
6599
6544
  active?: string | undefined;
6600
6545
  inactive?: string | undefined;
6601
6546
  } | undefined;
6602
- backgroundColor?: {
6547
+ foregroundColor?: {
6603
6548
  active?: string | undefined;
6604
6549
  inactive?: string | undefined;
6605
6550
  } | undefined;
@@ -6613,18 +6558,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6613
6558
  size?: number | undefined;
6614
6559
  maxWidth?: number | undefined;
6615
6560
  lineHeight?: number | undefined;
6561
+ backgroundColor?: string | undefined;
6616
6562
  numLines?: number | undefined;
6617
6563
  foregroundColor?: string | undefined;
6618
- backgroundColor?: string | undefined;
6619
6564
  } | undefined;
6620
6565
  margin?: number | undefined;
6621
6566
  marker?: {
6622
6567
  size?: number | undefined;
6623
- foregroundColor?: {
6568
+ backgroundColor?: {
6624
6569
  active?: string | undefined;
6625
6570
  inactive?: string | undefined;
6626
6571
  } | undefined;
6627
- backgroundColor?: {
6572
+ foregroundColor?: {
6628
6573
  active?: string | undefined;
6629
6574
  inactive?: string | undefined;
6630
6575
  } | undefined;
@@ -7487,6 +7432,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
7487
7432
  /** Global group for all tweens */
7488
7433
  tweenGroup: TweenGroup;
7489
7434
  cameraObject: Camera;
7435
+ naturalBearing: number;
7490
7436
  };
7491
7437
  /**
7492
7438
  * All of the entities in the scene
@@ -7553,7 +7499,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7553
7499
  import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition } from 'geojson';
7554
7500
  import type { BBox } from '@turf/turf';
7555
7501
  import { type ImageProperties } from '@mappedin/react-sdk/geojson/src/components/image';
7556
- import { type BaseTextAreaProperties } from '@mappedin/mvf';
7502
+ import { type BaseTextAreaProperties, type EnterpriseTexture } from '@mappedin/mvf';
7557
7503
  import type { Text } from 'troika-three-text';
7558
7504
  import type { GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
7559
7505
  export class EntityBatchedMesh extends BatchedMesh {
@@ -7574,6 +7520,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7574
7520
  textArea?: BaseTextAreaProperties & {
7575
7521
  position: GeoJsonPosition;
7576
7522
  };
7523
+ textures?: EnterpriseTexture[];
7577
7524
  };
7578
7525
  /**
7579
7526
  * State representing a Geometry
@@ -9226,6 +9173,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
9226
9173
  export { noop, pick, isEmpty, type KeysOfUnion } from '@mappedin/react-sdk/geojson/src/utils/fp';
9227
9174
  export { transformRequest } from '@mappedin/react-sdk/geojson/src/utils/tranform-request';
9228
9175
  export { normalizeAngle } from '@mappedin/react-sdk/geojson/src/utils/math';
9176
+ export function shouldExpandZoomLevel(minZoomFromCurrentPanBounds: number, cameraZoomLevel: number): boolean;
9229
9177
  }
9230
9178
 
9231
9179
  declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
@@ -9533,6 +9481,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9533
9481
  'floor-change': {
9534
9482
  reason?: TFloorChangeReason;
9535
9483
  floorId: string;
9484
+ previousFloorId: string;
9536
9485
  };
9537
9486
  'floor-change-start': {
9538
9487
  floorId: string;
@@ -9562,7 +9511,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9562
9511
  StackedMaps: StackedMaps;
9563
9512
  DynamicFocus: DynamicFocus;
9564
9513
  get currentFloorStack(): FloorStackObject;
9565
- setFloorStack(floorStackId: string): void;
9514
+ setFloorStack(floorStackId: string, reason?: TFloorChangeReason): void;
9566
9515
  get currentFloor(): FloorObject;
9567
9516
  /** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
9568
9517
  get floors(): FloorObject[];
@@ -9925,8 +9874,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d' {
9925
9874
  }
9926
9875
 
9927
9876
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9928
- import type { IFocusable, TCameraAnimationOptions, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9929
- import type { InsetPadding } from '@mappedin/core-sdk';
9877
+ import type { IFocusable, TCameraAnimationOptions, TCameraTarget, TFocusOnOptions, TCameraInteractionsSetOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9878
+ import { type InsetPadding } from '@mappedin/core-sdk';
9930
9879
  import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9931
9880
  import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9932
9881
  /**
@@ -9943,6 +9892,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9943
9892
  * @internal
9944
9893
  */
9945
9894
  constructor(api: GeoJsonApi);
9895
+ /**
9896
+ * Controls which camera interactions are enabled/disabled.
9897
+ */
9898
+ interactions: {
9899
+ set: (options: TCameraInteractionsSetOptions) => void;
9900
+ enable: () => void;
9901
+ disable: () => void;
9902
+ };
9946
9903
  /**
9947
9904
  * 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}.
9948
9905
  *
@@ -10399,6 +10356,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
10399
10356
  * @default true
10400
10357
  */
10401
10358
  setMapOnConnectionClick?: boolean;
10359
+ /**
10360
+ * Controls whether the map should be set to the floor of the departure point when the path is drawn.
10361
+ * @default true
10362
+ */
10363
+ setMapToDeparture?: boolean;
10402
10364
  /**
10403
10365
  * Controls whether markers are created for the departure, destination, and connection points.
10404
10366
  */
@@ -11400,30 +11362,70 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metada
11400
11362
  }
11401
11363
  }
11402
11364
 
11403
- declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object' {
11404
- import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
11365
+ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/detailed-map-data' {
11366
+ import type { Details, Feature as MVFFeature, Geometry } from '@mappedin/mvf';
11367
+ import type LocationProfile from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-profile';
11405
11368
  import Hyperlink from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/hyperlink';
11369
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
11406
11370
  import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
11407
- import type { Details } from '@mappedin/mvf';
11408
- export default abstract class BaseMapData {
11371
+ import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
11372
+ type PropertiesWithDetails = {
11373
+ id: string;
11374
+ externalId?: string;
11375
+ details?: Details;
11376
+ };
11377
+ export default abstract class DetailedMapData<MVFData extends MVFFeature<Geometry, PropertiesWithDetails>> extends BaseMapData {
11409
11378
  #private;
11379
+ constructor(data: MapDataInternal, mvfData: MVFData);
11410
11380
  /**
11411
- * The identity of the map data.
11381
+ * Gets the external identifier of the map feature.
11382
+ *
11383
+ * @returns {string} The external ID of the map feature, or an empty string if no external ID exists.
11412
11384
  */
11413
- readonly id: string;
11414
- constructor(id: string, data: MapDataInternal, details?: Details);
11385
+ get externalId(): string;
11415
11386
  /**
11416
- * Gets the links associated with this data type.
11387
+ * Gets the name of the map feature.
11417
11388
  *
11418
- * @returns {Hyperlink[]} The links associated with this data type
11389
+ * @returns {string} The name of the map feature.
11419
11390
  */
11420
- links: Hyperlink[];
11391
+ get name(): string;
11392
+ /**
11393
+ * Gets the description of the map feature.
11394
+ *
11395
+ * @returns {string} The description of the map feature, or an empty string if no description exists.
11396
+ */
11397
+ get description(): string;
11421
11398
  /**
11422
- * Gets the array of images associated with this data type.
11399
+ * Gets the array of {@link Image}s associated with this map feature.
11423
11400
  *
11424
11401
  * @returns {Image[]} An array of Image objects, or an empty array if no images exist.
11425
11402
  */
11426
- images: Image[];
11403
+ get images(): Image[];
11404
+ /**
11405
+ * Gets the array of {@link Hyperlink}s associated with this map feature.
11406
+ *
11407
+ * @returns {Hyperlink[]} An array of Hyperlink objects, or an empty array if no links exist.
11408
+ */
11409
+ get links(): Hyperlink[];
11410
+ /**
11411
+ * Gets the {@link LocationProfile}s attached to this feature.
11412
+ *
11413
+ * @returns {LocationProfile[]} An array of location profiles.
11414
+ */
11415
+ get locationProfiles(): LocationProfile[];
11416
+ }
11417
+ export {};
11418
+ }
11419
+
11420
+ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object' {
11421
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
11422
+ export default abstract class BaseMapData {
11423
+ #private;
11424
+ /**
11425
+ * The identity of the map data.
11426
+ */
11427
+ readonly id: string;
11428
+ constructor(id: string, _data: MapDataInternal);
11427
11429
  /**
11428
11430
  * Gets the bounding box of the geoJSON geometry.
11429
11431
  *
@@ -11947,12 +11949,12 @@ declare module '@mappedin/react-sdk/geojson/src/types/options' {
11947
11949
  map?: MapLibreMap;
11948
11950
  mode?: 'standalone' | 'outdoors-interleaved' | 'outdoors-overlay';
11949
11951
  antialias?: boolean;
11950
- onWebGLContextCreationError?: (error: Error) => void;
11951
- onWebGLContextLost?: () => void;
11952
- onWebGLContextRestored?: () => void;
11952
+ onWebGLRendererError?: (error: Error) => void;
11953
+ onWebGLContextCreationError?: (event: Event) => void;
11954
+ onWebGLContextLost?: (event: Event) => void;
11955
+ onWebGLContextRestored?: (event: Event) => void;
11953
11956
  backgroundColor?: string;
11954
11957
  backgroundAlpha?: number;
11955
- onWebGLRendererError?: (error: Error) => void;
11956
11958
  watermark?: WatermarkOptions;
11957
11959
  attribution?: AttributionControlOptions;
11958
11960
  imagePlacementOptions?: ImagePlacementOptions;
@@ -12061,11 +12063,18 @@ declare module '@mappedin/react-sdk/packages/common/pubsub' {
12061
12063
  declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12062
12064
  import type { Scene, Camera } from 'three';
12063
12065
  import { Color, WebGLRenderer } from 'three';
12064
- export type TRendererOptions = {
12066
+ export type TRendererOptions = Partial<{
12067
+ canvas: HTMLCanvasElement | OffscreenCanvas;
12068
+ antialias: boolean;
12069
+ backgroundColor: string;
12070
+ backgroundAlpha: number;
12065
12071
  alpha: boolean;
12066
12072
  onWebGLRendererError: (e: Error) => void;
12067
12073
  xRayPath: boolean;
12068
- };
12074
+ onWebGLContextCreationError: (e: Event) => void;
12075
+ onWebGLContextLost: (e: Event) => void;
12076
+ onWebGLContextRestored: (e: Event) => void;
12077
+ }>;
12069
12078
  export class Renderer {
12070
12079
  backgroundAlpha: number;
12071
12080
  backgroundColor: Color;
@@ -12073,7 +12082,7 @@ declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12073
12082
  height: number;
12074
12083
  options: TRendererOptions;
12075
12084
  renderer?: WebGLRenderer;
12076
- constructor(renderOptions: any);
12085
+ constructor(renderOptions: TRendererOptions);
12077
12086
  /**
12078
12087
  * Dispose of the renderer and its buffers.
12079
12088
  */
@@ -12107,6 +12116,9 @@ declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12107
12116
  */
12108
12117
  setBackgroundColor(color: any, alpha: any): void;
12109
12118
  domElement(): HTMLCanvasElement | undefined;
12119
+ handleWebGLContextCreationError: (event: Event) => void;
12120
+ handleWebGLContextLost: (event: Event) => void;
12121
+ handleWebGLContextRestored: (event: Event) => void;
12110
12122
  }
12111
12123
  }
12112
12124
 
@@ -13127,7 +13139,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
13127
13139
  export type WithId<T> = T & {
13128
13140
  id?: string;
13129
13141
  };
13130
- export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<LineString | Polygon | Point, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
13142
+ export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Polygon | LineString | Point, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
13131
13143
  export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
13132
13144
  export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
13133
13145
  export function tweenToPromise(tween: Tween): Promise<void>;
@@ -13198,6 +13210,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus/dy
13198
13210
  constructor(core: RendererCore, geoJSONApi: GeoJsonApi, { currentMapGetter }: {
13199
13211
  currentMapGetter: CurrentMapGetter;
13200
13212
  });
13213
+ get focusedFacades(): import("../../map-data-objects").Facade[];
13201
13214
  /**
13202
13215
  * @experimental
13203
13216
  * Enables Dynamic Focus and allows the camera to automatically set the floor stack when a facade is hovered.