@mappedin/react-sdk 6.0.1-beta.35 → 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
  */
@@ -3706,11 +3763,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions' {
3706
3763
  /**
3707
3764
  * @hidden
3708
3765
  */
3709
- constructor({ nodes, geojsonCollection, connections, groupBy, }: {
3766
+ constructor({ nodes, geojsonCollection, connections, groupBy, multiplicativeDistanceWeightScaling, }: {
3710
3767
  nodes: ParsedMVF['node.geojson'];
3711
3768
  geojsonCollection: ParsedMVF['obstruction'] | ParsedMVF['space'];
3712
3769
  connections: ParsedMVF['connection.json'];
3713
3770
  groupBy?: string;
3771
+ multiplicativeDistanceWeightScaling?: boolean;
3714
3772
  });
3715
3773
  /**
3716
3774
  * Get directions between two navigation targets.
@@ -3849,7 +3907,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot' {
3849
3907
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3850
3908
  import type { NodeCollection } from '@mappedin/mvf';
3851
3909
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
3852
- 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';
3853
3911
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3854
3912
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
3855
3913
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
@@ -3886,6 +3944,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3886
3944
  });
3887
3945
  /** @internal */
3888
3946
  get locations(): EnterpriseLocation[];
3947
+ /**
3948
+ * Gets the {@link Space} object associated with the node.
3949
+ */
3950
+ get space(): Space | undefined;
3889
3951
  /**
3890
3952
  * Gets the {@link Floor} associated with the node.
3891
3953
  *
@@ -3951,11 +4013,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3951
4013
 
3952
4014
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3953
4015
  import type { AreaCollection } from '@mappedin/mvf';
3954
- 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';
3955
4017
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3956
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
3957
4018
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
3958
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';
3959
4021
  /**
3960
4022
  * An Area represents some grouping of multiple pieces of geometry, not
3961
4023
  * necessarily bounded by walls or any other physical feature of the map.
@@ -3963,7 +4025,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3963
4025
  * Areas are currently in a preview state, and may have changes to existing
3964
4026
  * functionality or new features added in the future.
3965
4027
  */
3966
- class Area extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4028
+ class Area extends DetailedMapData<AreaCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
3967
4029
  #private;
3968
4030
  /**
3969
4031
  * @internal
@@ -3987,24 +4049,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3987
4049
  floorId: string;
3988
4050
  mvfData: AreaCollection['features'][number];
3989
4051
  });
3990
- /**
3991
- * Gets the name of the area.
3992
- *
3993
- * @returns {string} The name of the area.
3994
- */
3995
- get name(): string;
3996
- /**
3997
- * Gets the external identifier of the area.
3998
- *
3999
- * @returns {string} The external ID of the area, or an empty string if no external ID exists.
4000
- */
4001
- get externalId(): string;
4002
- /**
4003
- * Gets the description of the area.
4004
- *
4005
- * @returns {string} The description of the area, or an empty string if no description exists.
4006
- */
4007
- get description(): string;
4008
4052
  /**
4009
4053
  * Gets the center {@link Coordinate} of the area.
4010
4054
  *
@@ -4018,12 +4062,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
4018
4062
  * @throws Will throw an error if the floor is not found.
4019
4063
  */
4020
4064
  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[];
4027
4065
  /**
4028
4066
  * Gets the underlying GeoJSON Feature representation of this Area.
4029
4067
  */
@@ -4060,10 +4098,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4060
4098
  import type { EntranceCollection } from '@mappedin/mvf';
4061
4099
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4062
4100
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4063
- import type { LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4064
- 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';
4065
4102
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4066
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';
4067
4105
  /**
4068
4106
  * A class representing door data within the map.
4069
4107
  *
@@ -4092,7 +4130,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4092
4130
  * Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
4093
4131
  *
4094
4132
  */
4095
- class Door extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4133
+ class Door extends DetailedMapData<EntranceCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4096
4134
  #private;
4097
4135
  /**
4098
4136
  * @internal
@@ -4116,24 +4154,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4116
4154
  floorId: string;
4117
4155
  mvfData: EntranceCollection['features'][number];
4118
4156
  });
4119
- /**
4120
- * Gets the name of the door.
4121
- *
4122
- * @returns {string} The name of the door.
4123
- */
4124
- get name(): string;
4125
- /**
4126
- * Gets the external ID of the door.
4127
- *
4128
- * @returns {string} The external ID of the door.
4129
- */
4130
- get externalId(): string;
4131
- /**
4132
- * Gets the description of the door.
4133
- *
4134
- * @returns {string} The description of the door.
4135
- */
4136
- get description(): string;
4137
4157
  /**
4138
4158
  * Gets the {@link Floor} object associated with the door.
4139
4159
  *
@@ -4151,12 +4171,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4151
4171
  * Gets whether this door is an exterior door.
4152
4172
  */
4153
4173
  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[];
4160
4174
  /**
4161
4175
  * Gets the underlying GeoJSON Feature representation of this Door.
4162
4176
  */
@@ -4198,12 +4212,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4198
4212
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4199
4213
  import type { SpaceCollection } from '@mappedin/mvf';
4200
4214
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4201
- 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';
4202
4216
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4203
4217
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4204
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4205
4218
  import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
4206
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';
4207
4221
  /**
4208
4222
  * Represents the various types of spaces that can be defined within a map.
4209
4223
  * - 'room': A standard room or enclosed area.
@@ -4221,7 +4235,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4221
4235
  *
4222
4236
  * Refer to the [Spaces Guide](https://developer.mappedin.com/web-sdk/spaces) for more information and interactive examples.
4223
4237
  */
4224
- class Space extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4238
+ class Space extends DetailedMapData<SpaceCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4225
4239
  #private;
4226
4240
  /**
4227
4241
  * @internal
@@ -4235,7 +4249,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4235
4249
  * @internal
4236
4250
  * @hidden
4237
4251
  */
4238
- 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>;
4239
4253
  /**
4240
4254
  * Checks if the provided instance is of type Space.
4241
4255
  *
@@ -4250,30 +4264,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4250
4264
  floorId: string;
4251
4265
  mvfData: SpaceCollection['features'][number];
4252
4266
  });
4253
- /**
4254
- * Gets the name of the space.
4255
- *
4256
- * @returns {string} The name of the space.
4257
- */
4258
- get name(): string;
4259
4267
  /**
4260
4268
  * Gets the type/kind of the space.
4261
4269
  *
4262
4270
  * @returns {TSpaceType} The type of the space.
4263
4271
  */
4264
4272
  get type(): TSpaceType;
4265
- /**
4266
- * Gets the description of the space.
4267
- *
4268
- * @returns {string} The description of the space, or an empty string if no description exists.
4269
- */
4270
- get description(): string;
4271
- /**
4272
- * Gets the external identifier of the space.
4273
- *
4274
- * @returns {string} The external ID of the space, or an empty string if no external ID exists.
4275
- */
4276
- get externalId(): string;
4277
4273
  /**
4278
4274
  * @internal
4279
4275
  */
@@ -4297,19 +4293,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4297
4293
  * @returns {Coordinate} The space's center coordinate.
4298
4294
  */
4299
4295
  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[];
4306
4296
  /**
4307
4297
  * Gets the underlying GeoJSON Feature representation of this Space.
4308
4298
  */
4309
4299
  get geoJSON(): {
4310
4300
  properties: null;
4311
4301
  type: import("@mappedin/mvf").FeatureType;
4312
- 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;
4313
4303
  };
4314
4304
  /** @internal */
4315
4305
  get focusTarget(): Coordinate | this;
@@ -4480,14 +4470,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4480
4470
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4481
4471
  import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
4482
4472
  import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4483
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4484
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';
4485
4475
  /**
4486
4476
  * A class representing connection data within the map.
4487
4477
  *
4488
4478
  * Connections are used to represent pathways between different map nodes.
4489
4479
  */
4490
- class Connection extends BaseMapData implements IFocusable {
4480
+ class Connection extends DetailedMapData<Feature<Point, SpaceProperties> | Feature<Point, MVFConnection>> implements IFocusable {
4491
4481
  #private;
4492
4482
  /**
4493
4483
  * @internal
@@ -4511,32 +4501,24 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4511
4501
  mvfDataByFloorId: Record<string, FeatureCollection<Point, SpaceProperties>['features'][number]> | Record<string, Feature<Point, MVFConnection>>;
4512
4502
  accessible?: boolean;
4513
4503
  });
4514
- /**
4515
- * Gets the name of the connection.
4516
- *
4517
- * @returns {string} The name of the connection.
4518
- */
4519
- get name(): string;
4520
- get description(): string;
4521
4504
  /**
4522
4505
  * Whether the connection is accessible. For example elevators are accessible while stairs are not.
4523
4506
  *
4524
4507
  * @returns {boolean} Whether the connection is accessible.
4525
4508
  */
4526
4509
  get accessible(): boolean;
4527
- /**
4528
- * Gets the external ID of the connection.
4529
- *
4530
- * @returns {string} The external ID of the connection.
4531
- */
4532
- get externalId(): string;
4533
- /**
4534
4510
  /**
4535
4511
  * Gets the type of the connection.
4536
4512
  *
4537
4513
  * @returns {string} The type of the connection.
4538
4514
  */
4539
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;
4540
4522
  /**
4541
4523
  * Gets the coordinates ({@link Coordinate}) of the connection.
4542
4524
  *
@@ -4554,9 +4536,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4554
4536
  */
4555
4537
  get floors(): Floor[];
4556
4538
  /**
4557
- * Gets the {@link LocationProfile} objects attached to this connection.
4558
- *
4559
- * @returns {LocationProfile[]} An array of location profile objects.
4539
+ * Gets the location profiles ({@link LocationProfile}) associated with the connection.
4560
4540
  */
4561
4541
  get locationProfiles(): LocationProfile[];
4562
4542
  /** @internal */
@@ -4578,6 +4558,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4578
4558
  verticalOffset: number;
4579
4559
  }[];
4580
4560
  floors: string[];
4561
+ extra: Record<string, unknown> | undefined;
4581
4562
  };
4582
4563
  /**
4583
4564
  * Cleans up resources used by the instance.
@@ -4592,11 +4573,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4592
4573
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4593
4574
  import type { ObstructionCollection } from '@mappedin/mvf';
4594
4575
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4595
- 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';
4596
4577
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4597
4578
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4598
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4599
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';
4600
4581
  /**
4601
4582
  * A class representing generic map object data within the map.
4602
4583
  *
@@ -4605,7 +4586,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4605
4586
  * MapObject appearance can be customized by changing the color or adding a texture to its top or sides.
4606
4587
  * Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
4607
4588
  */
4608
- export class MapObject extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4589
+ export class MapObject extends DetailedMapData<ObstructionCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4609
4590
  #private;
4610
4591
  /**
4611
4592
  * @internal
@@ -4629,24 +4610,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4629
4610
  floorId: string;
4630
4611
  mvfData: ObstructionCollection['features'][number];
4631
4612
  });
4632
- /**
4633
- * Gets the name of the MapObject.
4634
- *
4635
- * @returns {string} The name of the object.
4636
- */
4637
- get name(): string;
4638
- /**
4639
- * Gets the external ID of the MapObject.
4640
- *
4641
- * @returns {string} The external ID of the object.
4642
- */
4643
- get externalId(): string;
4644
- /**
4645
- * Gets the description of the MapObject.
4646
- *
4647
- * @returns {string} The description of the object.
4648
- */
4649
- get description(): string;
4650
4613
  /**
4651
4614
  * Gets the type of the MapObject.
4652
4615
  *
@@ -4666,19 +4629,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4666
4629
  * @returns {Coordinate} The object's center coordinate.
4667
4630
  */
4668
4631
  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[];
4675
4632
  /**
4676
4633
  * Gets the underlying GeoJSON Feature representation of this Object.
4677
4634
  */
4678
4635
  get geoJSON(): {
4679
4636
  properties: null;
4680
4637
  type: import("@mappedin/mvf").FeatureType;
4681
- geometry: import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon;
4638
+ geometry: import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString;
4682
4639
  };
4683
4640
  /** @internal */
4684
4641
  get anchorTarget(): Coordinate;
@@ -4810,18 +4767,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4810
4767
 
4811
4768
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4812
4769
  import type { FeatureCollection, Point, SpaceProperties } from '@mappedin/mvf';
4813
- 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';
4814
4771
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4815
4772
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4816
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4817
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';
4818
4775
  /**
4819
4776
  * A class representing point of interest data within the map.
4820
4777
  *
4821
4778
  * Points of interest are used to represent specific points
4822
4779
  * on the map with additional information(e.g. ATMs, Water Fountains).
4823
4780
  */
4824
- class PointOfInterest extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4781
+ class PointOfInterest extends DetailedMapData<FeatureCollection<Point, SpaceProperties>['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4825
4782
  #private;
4826
4783
  /**
4827
4784
  * @internal
@@ -4845,18 +4802,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4845
4802
  floorId: string;
4846
4803
  mvfData: FeatureCollection<Point, SpaceProperties>['features'][number];
4847
4804
  });
4848
- /**
4849
- * Gets the name of the POI.
4850
- *
4851
- * @returns {string} The name of the POI.
4852
- */
4853
- get name(): string;
4854
- /**
4855
- * Gets the description of the POI.
4856
- *
4857
- * @returns {string} The description of the POI.
4858
- */
4859
- get description(): string;
4860
4805
  /**
4861
4806
  * Gets the {@link Floor} object associated with the POI.
4862
4807
  *
@@ -4870,18 +4815,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4870
4815
  * @returns {Coordinate} The POI's coordinate.
4871
4816
  */
4872
4817
  get coordinate(): Coordinate;
4873
- /**
4874
- * Gets the external ID of the POI.
4875
- *
4876
- * @returns {string} The external ID of the POI.
4877
- */
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[];
4885
4818
  /**
4886
4819
  * Gets the underlying GeoJSON Feature representation of this PointOfInterest.
4887
4820
  */
@@ -4922,11 +4855,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4922
4855
 
4923
4856
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation' {
4924
4857
  import type { AnnotationCollection } from '@mappedin/mvf';
4925
- 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';
4926
4859
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4927
- import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4928
4860
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4929
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';
4930
4863
  /**
4931
4864
  * A class representing annotation data within the map.
4932
4865
  *
@@ -4934,7 +4867,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4934
4867
  * It includes some details on a map that may be relevant to safety or accessibility (e.g. Fire Extinguishers).
4935
4868
  * Refer to the [Annotation Guide](https://developer.mappedin.com/web-sdk/annotations) for more information.
4936
4869
  */
4937
- class Annotation extends BaseMapData implements IGeoJSONData, IFocusable, IAnchorable {
4870
+ class Annotation extends DetailedMapData<AnnotationCollection['features'][number]> implements IGeoJSONData, IFocusable, IAnchorable {
4938
4871
  #private;
4939
4872
  /**
4940
4873
  * @internal
@@ -4970,12 +4903,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4970
4903
  * @returns {string} The annotation type.
4971
4904
  */
4972
4905
  get type(): string;
4973
- /**
4974
- * Gets the external ID of the annotation.
4975
- *
4976
- * @returns {string} The external ID of the annotation.
4977
- */
4978
- get externalId(): string;
4979
4906
  /**
4980
4907
  * Gets the center {@link Coordinate} of the annotation.
4981
4908
  *
@@ -4989,12 +4916,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4989
4916
  * @throws Will throw an error if the floor is not found.
4990
4917
  */
4991
4918
  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[];
4998
4919
  /**
4999
4920
  * Gets the underlying GeoJSON Feature representation of this Annotation.
5000
4921
  */
@@ -5198,6 +5119,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor-stack
5198
5119
  * @returns {string} The name of the FloorStack.
5199
5120
  */
5200
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;
5201
5128
  /**
5202
5129
  * Gets the externalId of FloorStack
5203
5130
  */
@@ -5283,7 +5210,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/facade' {
5283
5210
  }
5284
5211
 
5285
5212
  declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5286
- 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';
5287
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';
5288
5215
  export type MapDataRecords = {
5289
5216
  spacesById: Record<string, Space>;
@@ -5316,6 +5243,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5316
5243
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
5317
5244
  obstructionIdByEntranceId: Record<string, string>;
5318
5245
  connectionIdsByLatLon: Record<string, string[]>;
5246
+ mvfConnectionIdsByLatLon: Record<string, string[]>;
5319
5247
  locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
5320
5248
  mvfSpacesById: Record<string, SpaceCollection['features'][number]>;
5321
5249
  mvfNodesById: Record<string, NodeCollection['features'][number]>;
@@ -5350,6 +5278,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5350
5278
  locationsById: Record<MVFEnterpriseLocationId, EnterpriseLocation>;
5351
5279
  categoriesById: Record<MVFEnterpriseCategoryId, EnterpriseCategory>;
5352
5280
  locationIdsByNodeId: Record<string, MVFEnterpriseLocationId[]>;
5281
+ spaceIdsByNodeId: Record<string, SpaceId[]>;
5353
5282
  locationInstancesById: Record<string, EnterpriseLocationInstance>;
5354
5283
  venue: MVFEnterpriseVenue;
5355
5284
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
@@ -5369,8 +5298,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5369
5298
  export const processMVFObstructions: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "objectsById" | "objectsByExternalId" | "mvfObstructionById" | "obstructionIdByEntranceId">;
5370
5299
  export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "floorsByExternalId" | "mvfFloorsById">;
5371
5300
  export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "floorStacksByExternalId" | "mvfFloorStacksById" | "facadesById" | "facadesBySpaceId">;
5372
- export const processMVFConnections: (mvf: ParsedMVF) => Pick<MapDataRecords, "mvfConnectionsById" | "mvfConnectionsByNodeId">;
5301
+ export const processMVFConnections: (mvf: ParsedMVF, mvfNodesById?: MapDataRecords["mvfNodesById"]) => Pick<MapDataRecords, "mvfConnectionsById" | "mvfConnectionsByNodeId" | "mvfConnectionIdsByLatLon">;
5373
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;
5374
5304
  export const processMVFAnnotations: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "annotationsById" | "mvfAnnotationsById" | "mvfAnnotationsByFloorId">;
5375
5305
  export const processMVFAreas: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "areasById" | "areasByExternalId" | "mvfAreasById">;
5376
5306
  /**
@@ -5795,12 +5725,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
5795
5725
  }
5796
5726
 
5797
5727
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-profile' {
5798
- import type { LocationId, LocationLink, LocationPicture, LocationSocial, Location as MVFLocation } from '@mappedin/mvf';
5728
+ import type { LocationId, LocationSocial, Location as MVFLocation } from '@mappedin/mvf';
5799
5729
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
5800
- 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';
5801
5731
  import type { TFocusTarget, TNavigationTarget, IFocusable, INavigatable } from '@mappedin/react-sdk/mappedin-js/src/types';
5802
5732
  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 {
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 {
5804
5740
  #private;
5805
5741
  /**
5806
5742
  * Checks if the provided instance is of type EnterpriseLocation.
@@ -5835,11 +5771,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5835
5771
  /**
5836
5772
  * The location's pictures
5837
5773
  */
5838
- pictures: LocationPicture[];
5774
+ images: Image[];
5839
5775
  /**
5840
5776
  * Web links for the location
5841
5777
  */
5842
- links: LocationLink[];
5778
+ links: Hyperlink[];
5779
+ /**
5780
+ * The location's website
5781
+ */
5782
+ website?: Hyperlink;
5843
5783
  constructor(data: MapDataInternal, options: {
5844
5784
  mvfData: MVFLocation;
5845
5785
  });
@@ -5885,6 +5825,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5885
5825
  * @returns {MapObject[]} The map objects array.
5886
5826
  */
5887
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[];
5888
5834
  /** @internal */
5889
5835
  get focusTarget(): TFocusTarget[];
5890
5836
  /**
@@ -6482,16 +6428,16 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6482
6428
  size?: number | undefined;
6483
6429
  maxWidth?: number | undefined;
6484
6430
  lineHeight?: number | undefined;
6431
+ backgroundColor?: string | undefined;
6485
6432
  numLines?: number | undefined;
6486
6433
  foregroundColor?: string | undefined;
6487
- backgroundColor?: string | undefined;
6488
6434
  }, {
6489
6435
  size?: number | undefined;
6490
6436
  maxWidth?: number | undefined;
6491
6437
  lineHeight?: number | undefined;
6438
+ backgroundColor?: string | undefined;
6492
6439
  numLines?: number | undefined;
6493
6440
  foregroundColor?: string | undefined;
6494
- backgroundColor?: string | undefined;
6495
6441
  }>>;
6496
6442
  marker: z.ZodOptional<z.ZodObject<{
6497
6443
  size: z.ZodOptional<z.ZodNumber>;
@@ -6517,21 +6463,21 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6517
6463
  }>>;
6518
6464
  }, "strip", z.ZodTypeAny, {
6519
6465
  size?: number | undefined;
6520
- foregroundColor?: {
6466
+ backgroundColor?: {
6521
6467
  active?: string | undefined;
6522
6468
  inactive?: string | undefined;
6523
6469
  } | undefined;
6524
- backgroundColor?: {
6470
+ foregroundColor?: {
6525
6471
  active?: string | undefined;
6526
6472
  inactive?: string | undefined;
6527
6473
  } | undefined;
6528
6474
  }, {
6529
6475
  size?: number | undefined;
6530
- foregroundColor?: {
6476
+ backgroundColor?: {
6531
6477
  active?: string | undefined;
6532
6478
  inactive?: string | undefined;
6533
6479
  } | undefined;
6534
- backgroundColor?: {
6480
+ foregroundColor?: {
6535
6481
  active?: string | undefined;
6536
6482
  inactive?: string | undefined;
6537
6483
  } | undefined;
@@ -6541,18 +6487,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6541
6487
  size?: number | undefined;
6542
6488
  maxWidth?: number | undefined;
6543
6489
  lineHeight?: number | undefined;
6490
+ backgroundColor?: string | undefined;
6544
6491
  numLines?: number | undefined;
6545
6492
  foregroundColor?: string | undefined;
6546
- backgroundColor?: string | undefined;
6547
6493
  } | undefined;
6548
6494
  margin?: number | undefined;
6549
6495
  marker?: {
6550
6496
  size?: number | undefined;
6551
- foregroundColor?: {
6497
+ backgroundColor?: {
6552
6498
  active?: string | undefined;
6553
6499
  inactive?: string | undefined;
6554
6500
  } | undefined;
6555
- backgroundColor?: {
6501
+ foregroundColor?: {
6556
6502
  active?: string | undefined;
6557
6503
  inactive?: string | undefined;
6558
6504
  } | undefined;
@@ -6562,18 +6508,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6562
6508
  size?: number | undefined;
6563
6509
  maxWidth?: number | undefined;
6564
6510
  lineHeight?: number | undefined;
6511
+ backgroundColor?: string | undefined;
6565
6512
  numLines?: number | undefined;
6566
6513
  foregroundColor?: string | undefined;
6567
- backgroundColor?: string | undefined;
6568
6514
  } | undefined;
6569
6515
  margin?: number | undefined;
6570
6516
  marker?: {
6571
6517
  size?: number | undefined;
6572
- foregroundColor?: {
6518
+ backgroundColor?: {
6573
6519
  active?: string | undefined;
6574
6520
  inactive?: string | undefined;
6575
6521
  } | undefined;
6576
- backgroundColor?: {
6522
+ foregroundColor?: {
6577
6523
  active?: string | undefined;
6578
6524
  inactive?: string | undefined;
6579
6525
  } | undefined;
@@ -6587,18 +6533,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6587
6533
  size?: number | undefined;
6588
6534
  maxWidth?: number | undefined;
6589
6535
  lineHeight?: number | undefined;
6536
+ backgroundColor?: string | undefined;
6590
6537
  numLines?: number | undefined;
6591
6538
  foregroundColor?: string | undefined;
6592
- backgroundColor?: string | undefined;
6593
6539
  } | undefined;
6594
6540
  margin?: number | undefined;
6595
6541
  marker?: {
6596
6542
  size?: number | undefined;
6597
- foregroundColor?: {
6543
+ backgroundColor?: {
6598
6544
  active?: string | undefined;
6599
6545
  inactive?: string | undefined;
6600
6546
  } | undefined;
6601
- backgroundColor?: {
6547
+ foregroundColor?: {
6602
6548
  active?: string | undefined;
6603
6549
  inactive?: string | undefined;
6604
6550
  } | undefined;
@@ -6612,18 +6558,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6612
6558
  size?: number | undefined;
6613
6559
  maxWidth?: number | undefined;
6614
6560
  lineHeight?: number | undefined;
6561
+ backgroundColor?: string | undefined;
6615
6562
  numLines?: number | undefined;
6616
6563
  foregroundColor?: string | undefined;
6617
- backgroundColor?: string | undefined;
6618
6564
  } | undefined;
6619
6565
  margin?: number | undefined;
6620
6566
  marker?: {
6621
6567
  size?: number | undefined;
6622
- foregroundColor?: {
6568
+ backgroundColor?: {
6623
6569
  active?: string | undefined;
6624
6570
  inactive?: string | undefined;
6625
6571
  } | undefined;
6626
- backgroundColor?: {
6572
+ foregroundColor?: {
6627
6573
  active?: string | undefined;
6628
6574
  inactive?: string | undefined;
6629
6575
  } | undefined;
@@ -7486,6 +7432,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
7486
7432
  /** Global group for all tweens */
7487
7433
  tweenGroup: TweenGroup;
7488
7434
  cameraObject: Camera;
7435
+ naturalBearing: number;
7489
7436
  };
7490
7437
  /**
7491
7438
  * All of the entities in the scene
@@ -7552,7 +7499,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7552
7499
  import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition } from 'geojson';
7553
7500
  import type { BBox } from '@turf/turf';
7554
7501
  import { type ImageProperties } from '@mappedin/react-sdk/geojson/src/components/image';
7555
- import { type BaseTextAreaProperties } from '@mappedin/mvf';
7502
+ import { type BaseTextAreaProperties, type EnterpriseTexture } from '@mappedin/mvf';
7556
7503
  import type { Text } from 'troika-three-text';
7557
7504
  import type { GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
7558
7505
  export class EntityBatchedMesh extends BatchedMesh {
@@ -7573,6 +7520,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7573
7520
  textArea?: BaseTextAreaProperties & {
7574
7521
  position: GeoJsonPosition;
7575
7522
  };
7523
+ textures?: EnterpriseTexture[];
7576
7524
  };
7577
7525
  /**
7578
7526
  * State representing a Geometry
@@ -9225,6 +9173,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
9225
9173
  export { noop, pick, isEmpty, type KeysOfUnion } from '@mappedin/react-sdk/geojson/src/utils/fp';
9226
9174
  export { transformRequest } from '@mappedin/react-sdk/geojson/src/utils/tranform-request';
9227
9175
  export { normalizeAngle } from '@mappedin/react-sdk/geojson/src/utils/math';
9176
+ export function shouldExpandZoomLevel(minZoomFromCurrentPanBounds: number, cameraZoomLevel: number): boolean;
9228
9177
  }
9229
9178
 
9230
9179
  declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
@@ -9532,6 +9481,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9532
9481
  'floor-change': {
9533
9482
  reason?: TFloorChangeReason;
9534
9483
  floorId: string;
9484
+ previousFloorId: string;
9535
9485
  };
9536
9486
  'floor-change-start': {
9537
9487
  floorId: string;
@@ -9561,7 +9511,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9561
9511
  StackedMaps: StackedMaps;
9562
9512
  DynamicFocus: DynamicFocus;
9563
9513
  get currentFloorStack(): FloorStackObject;
9564
- setFloorStack(floorStackId: string): void;
9514
+ setFloorStack(floorStackId: string, reason?: TFloorChangeReason): void;
9565
9515
  get currentFloor(): FloorObject;
9566
9516
  /** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
9567
9517
  get floors(): FloorObject[];
@@ -9924,8 +9874,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d' {
9924
9874
  }
9925
9875
 
9926
9876
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9927
- import type { IFocusable, TCameraAnimationOptions, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9928
- 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';
9929
9879
  import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9930
9880
  import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9931
9881
  /**
@@ -9942,6 +9892,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9942
9892
  * @internal
9943
9893
  */
9944
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
+ };
9945
9903
  /**
9946
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}.
9947
9905
  *
@@ -10398,6 +10356,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
10398
10356
  * @default true
10399
10357
  */
10400
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;
10401
10364
  /**
10402
10365
  * Controls whether markers are created for the departure, destination, and connection points.
10403
10366
  */
@@ -11399,30 +11362,70 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metada
11399
11362
  }
11400
11363
  }
11401
11364
 
11402
- declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object' {
11403
- 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';
11404
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';
11405
11370
  import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
11406
- import type { Details } from '@mappedin/mvf';
11407
- 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 {
11408
11378
  #private;
11379
+ constructor(data: MapDataInternal, mvfData: MVFData);
11409
11380
  /**
11410
- * 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.
11411
11384
  */
11412
- readonly id: string;
11413
- constructor(id: string, data: MapDataInternal, details?: Details);
11385
+ get externalId(): string;
11414
11386
  /**
11415
- * Gets the links associated with this data type.
11387
+ * Gets the name of the map feature.
11416
11388
  *
11417
- * @returns {Hyperlink[]} The links associated with this data type
11389
+ * @returns {string} The name of the map feature.
11418
11390
  */
11419
- 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;
11420
11398
  /**
11421
- * Gets the array of images associated with this data type.
11399
+ * Gets the array of {@link Image}s associated with this map feature.
11422
11400
  *
11423
11401
  * @returns {Image[]} An array of Image objects, or an empty array if no images exist.
11424
11402
  */
11425
- 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);
11426
11429
  /**
11427
11430
  * Gets the bounding box of the geoJSON geometry.
11428
11431
  *
@@ -11946,12 +11949,12 @@ declare module '@mappedin/react-sdk/geojson/src/types/options' {
11946
11949
  map?: MapLibreMap;
11947
11950
  mode?: 'standalone' | 'outdoors-interleaved' | 'outdoors-overlay';
11948
11951
  antialias?: boolean;
11949
- onWebGLContextCreationError?: (error: Error) => void;
11950
- onWebGLContextLost?: () => void;
11951
- onWebGLContextRestored?: () => void;
11952
+ onWebGLRendererError?: (error: Error) => void;
11953
+ onWebGLContextCreationError?: (event: Event) => void;
11954
+ onWebGLContextLost?: (event: Event) => void;
11955
+ onWebGLContextRestored?: (event: Event) => void;
11952
11956
  backgroundColor?: string;
11953
11957
  backgroundAlpha?: number;
11954
- onWebGLRendererError?: (error: Error) => void;
11955
11958
  watermark?: WatermarkOptions;
11956
11959
  attribution?: AttributionControlOptions;
11957
11960
  imagePlacementOptions?: ImagePlacementOptions;
@@ -12060,11 +12063,18 @@ declare module '@mappedin/react-sdk/packages/common/pubsub' {
12060
12063
  declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12061
12064
  import type { Scene, Camera } from 'three';
12062
12065
  import { Color, WebGLRenderer } from 'three';
12063
- export type TRendererOptions = {
12066
+ export type TRendererOptions = Partial<{
12067
+ canvas: HTMLCanvasElement | OffscreenCanvas;
12068
+ antialias: boolean;
12069
+ backgroundColor: string;
12070
+ backgroundAlpha: number;
12064
12071
  alpha: boolean;
12065
12072
  onWebGLRendererError: (e: Error) => void;
12066
12073
  xRayPath: boolean;
12067
- };
12074
+ onWebGLContextCreationError: (e: Event) => void;
12075
+ onWebGLContextLost: (e: Event) => void;
12076
+ onWebGLContextRestored: (e: Event) => void;
12077
+ }>;
12068
12078
  export class Renderer {
12069
12079
  backgroundAlpha: number;
12070
12080
  backgroundColor: Color;
@@ -12072,7 +12082,7 @@ declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12072
12082
  height: number;
12073
12083
  options: TRendererOptions;
12074
12084
  renderer?: WebGLRenderer;
12075
- constructor(renderOptions: any);
12085
+ constructor(renderOptions: TRendererOptions);
12076
12086
  /**
12077
12087
  * Dispose of the renderer and its buffers.
12078
12088
  */
@@ -12106,6 +12116,9 @@ declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
12106
12116
  */
12107
12117
  setBackgroundColor(color: any, alpha: any): void;
12108
12118
  domElement(): HTMLCanvasElement | undefined;
12119
+ handleWebGLContextCreationError: (event: Event) => void;
12120
+ handleWebGLContextLost: (event: Event) => void;
12121
+ handleWebGLContextRestored: (event: Event) => void;
12109
12122
  }
12110
12123
  }
12111
12124
 
@@ -13126,7 +13139,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
13126
13139
  export type WithId<T> = T & {
13127
13140
  id?: string;
13128
13141
  };
13129
- 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>>[]>;
13130
13143
  export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
13131
13144
  export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
13132
13145
  export function tweenToPromise(tween: Tween): Promise<void>;
@@ -13197,6 +13210,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus/dy
13197
13210
  constructor(core: RendererCore, geoJSONApi: GeoJsonApi, { currentMapGetter }: {
13198
13211
  currentMapGetter: CurrentMapGetter;
13199
13212
  });
13213
+ get focusedFacades(): import("../../map-data-objects").Facade[];
13200
13214
  /**
13201
13215
  * @experimental
13202
13216
  * Enables Dynamic Focus and allows the camera to automatically set the floor stack when a facade is hovered.
@@ -21892,10 +21906,11 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigator/nav
21892
21906
  * @param {SpaceCollection} [spaces] - Optional collection of spaces that could block paths.
21893
21907
  * @param {string} [groupBy] - Optional property name to group nodes and paths for differentiated processing.
21894
21908
  */
21895
- constructor({ nodes, geojsonCollection, groupBy, }: {
21909
+ constructor({ nodes, geojsonCollection, groupBy, multiplicativeDistanceWeightScaling, }: {
21896
21910
  nodes: NodeCollection;
21897
21911
  geojsonCollection?: ObstructionCollection | SpaceCollection;
21898
21912
  groupBy?: string;
21913
+ multiplicativeDistanceWeightScaling?: boolean;
21899
21914
  });
21900
21915
  /**
21901
21916
  * Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
@@ -21907,12 +21922,13 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigator/nav
21907
21922
  * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
21908
21923
  * @returns {DirectionsCollection} A collection of directional features representing the path.
21909
21924
  */
21910
- getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, simplify, }: {
21925
+ getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, simplify, multiplicativeDistanceWeightScaling, }: {
21911
21926
  originIds: string[];
21912
21927
  destinationNodeIds: string[];
21913
21928
  zones?: DirectionsZone[];
21914
21929
  excludedNodeIds?: string[];
21915
21930
  simplify?: SimplifyDirectionsOptions;
21931
+ multiplicativeDistanceWeightScaling?: boolean;
21916
21932
  }): DirectionsCollection;
21917
21933
  /**
21918
21934
  * Calculates the approximate distance between two geographic coordinates on Earth's surface.
@@ -28328,12 +28344,13 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/edge/edge' {
28328
28344
  * @param {number} [angle=0] - The angle of the edge in degrees.
28329
28345
  * @param {number} [pathWeight=0] - An additional weight factor for the path.
28330
28346
  */
28331
- constructor({ origin, destination, distance, angle, pathWeight, }: {
28347
+ constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
28332
28348
  origin: NodeFeature;
28333
28349
  destination: NodeFeature;
28334
28350
  distance?: number;
28335
28351
  angle?: number;
28336
28352
  pathWeight?: number;
28353
+ multiplicativeDistanceWeightScaling?: boolean;
28337
28354
  });
28338
28355
  }
28339
28356
  }