@mappedin/react-sdk 6.0.1-beta.22 → 6.0.1-beta.23

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.
@@ -315,6 +315,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
315
315
  */
316
316
  wallTopColor?: string;
317
317
  };
318
+ /**
319
+ * @experimental
320
+ * @internal
321
+ */
322
+ multiFloorView?: {
323
+ enabled?: boolean;
324
+ floorHeight?: number;
325
+ updateCameraElevationOnFloorChange?: boolean;
326
+ };
318
327
  };
319
328
  /**
320
329
  * @internal
@@ -716,7 +725,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
716
725
  import { Analytics } from '@mappedin/react-sdk/mappedin-js/src/analytics';
717
726
  import { PubSub } from '@packages/internal/common';
718
727
  import type { TSearchOptions } from '@packages/internal/mvf-utils';
719
- import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
728
+ import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Area } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
720
729
  import type EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
721
730
  import type EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
722
731
  import type EnterpriseVenue from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue';
@@ -862,6 +871,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
862
871
  * const annotations = mapData.getByType('annotation');
863
872
  */
864
873
  getByType(type: 'annotation'): Annotation[];
874
+ /**
875
+ * @returns The areas ({@link Area}) on the map.
876
+ * @example
877
+ * const areas = mapData.getByType('area');
878
+ */
879
+ getByType(type: 'area'): Area[];
865
880
  /**
866
881
  * @returns The nodes ({@link Node}) on the map.
867
882
  * @example
@@ -895,7 +910,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
895
910
  * @example
896
911
  * const space = mapData.getById('space', 'space-id');
897
912
  */
898
- getById<T extends string>(type: T, id: string): T extends 'node' ? Node | undefined : T extends 'space' ? Space | undefined : T extends 'door' ? Door | undefined : T extends 'floor' ? Floor | undefined : T extends 'floor-stack' ? FloorStack | undefined : T extends 'connection' ? Connection | undefined : T extends 'object' ? MapObject | undefined : T extends 'point-of-interest' ? PointOfInterest | undefined : T extends 'annotation' ? Annotation | undefined : T extends 'enterprise-location' ? EnterpriseLocation | undefined : T extends 'enterprise-category' ? EnterpriseCategory | undefined : undefined;
913
+ getById<T extends string>(type: T, id: string): T extends 'node' ? Node | undefined : T extends 'space' ? Space | undefined : T extends 'door' ? Door | undefined : T extends 'floor' ? Floor | undefined : T extends 'floor-stack' ? FloorStack | undefined : T extends 'connection' ? Connection | undefined : T extends 'object' ? MapObject | undefined : T extends 'point-of-interest' ? PointOfInterest | undefined : T extends 'annotation' ? Annotation | undefined : T extends 'area' ? Area | undefined : T extends 'enterprise-location' ? EnterpriseLocation | undefined : T extends 'enterprise-category' ? EnterpriseCategory | undefined : undefined;
899
914
  getById(type: string, id: string): object | undefined;
900
915
  /**
901
916
  * Changes the language of the map data.
@@ -945,7 +960,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
945
960
  * @param to The destination point.
946
961
  * @returns The distance between the start and destination points in meters.
947
962
  */
948
- getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation): number;
963
+ getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area): number;
949
964
  /**
950
965
  * Creates a backup of the map data including language packs.
951
966
  * @internal
@@ -1113,6 +1128,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
1113
1128
 
1114
1129
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1115
1130
  import Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
1131
+ import Area from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area';
1116
1132
  import Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
1117
1133
  import Space from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
1118
1134
  import Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
@@ -1125,7 +1141,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1125
1141
  import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
1126
1142
  import FloorStack from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor-stack';
1127
1143
  import type { MapDataRecords } from '@mappedin/react-sdk/mappedin-js/src/utils/data-creation';
1128
- import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language } from '@mappedin/mvf';
1144
+ import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language, AreaCollection } from '@mappedin/mvf';
1129
1145
  import { AnalyticsInternal } from '@mappedin/react-sdk/mappedin-js/src/analytics';
1130
1146
  import EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
1131
1147
  import EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
@@ -1183,6 +1199,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1183
1199
  doorsById: MapDataRecords['doorsById'];
1184
1200
  pointsOfInterestById: MapDataRecords['poisById'];
1185
1201
  annotationsById: MapDataRecords['annotationsById'];
1202
+ areasById: MapDataRecords['areasById'];
1186
1203
  locationsById: MapDataRecords['locationsById'];
1187
1204
  categoriesById: MapDataRecords['categoriesById'];
1188
1205
  doorsByNodeId: MapDataRecords['doorsByNodeId'];
@@ -1197,6 +1214,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1197
1214
  mvfSpacesById: MapDataRecords['mvfSpacesById'];
1198
1215
  mvfFloorsById: MapDataRecords['mvfFloorsById'];
1199
1216
  mvfFloorStacksById: MapDataRecords['mvfFloorStacksById'];
1217
+ mvfAreasById: MapDataRecords['mvfAreasById'];
1200
1218
  localePacksUrls: LocalePackUrls;
1201
1219
  currentLanguage?: Language;
1202
1220
  /**
@@ -1270,6 +1288,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1270
1288
  * @returns {Annotation[]} An array of Annotation objects.
1271
1289
  */
1272
1290
  get annotations(): Annotation[];
1291
+ get areas(): Area[];
1273
1292
  /**
1274
1293
  * Retrieves all nodes in the map.
1275
1294
  *
@@ -1296,6 +1315,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1296
1315
  getById(type: 'object', id: string): MapObject | undefined;
1297
1316
  getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
1298
1317
  getById(type: 'annotation', id: string): Annotation | undefined;
1318
+ getById(type: 'area', id: string): Area | undefined;
1299
1319
  getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
1300
1320
  getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
1301
1321
  getMapDataById(id: string): Places | undefined;
@@ -1314,6 +1334,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1314
1334
  getMVFFeatureById(type: 'connection', id: string): MVFConnection | undefined;
1315
1335
  getMVFFeatureById(type: 'entrance', id: string): EntranceCollection['features'][number] | undefined;
1316
1336
  getMVFFeatureById(type: 'annotation', id: string): AnnotationCollection['features'][number] | undefined;
1337
+ getMVFFeatureById(type: 'area', id: string): AreaCollection['features'][number] | undefined;
1317
1338
  getMVFFeatureById(type: string, id: string): object | undefined;
1318
1339
  getMVFFeatureByNodeId(type: 'connection', id: string): MVFConnection | undefined;
1319
1340
  /**
@@ -1330,7 +1351,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1330
1351
  getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | (TNavigationTarget | TNavigationTarget[])[], opt?: TGetDirectionsOptions & {
1331
1352
  multiDestination?: true;
1332
1353
  }) => Directions | Directions[] | undefined;
1333
- getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation): number;
1354
+ getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area): number;
1334
1355
  toJSONBundle({ downloadLanguagePacks, }?: {
1335
1356
  downloadLanguagePacks?: boolean;
1336
1357
  }): Promise<THydrateMapDataBundle>;
@@ -1344,7 +1365,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1344
1365
  */
1345
1366
  destroy(): void;
1346
1367
  }
1347
- export { Node, MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
1368
+ export { Node, Area, MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
1348
1369
  export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
1349
1370
  export type { Places };
1350
1371
  }
@@ -1745,7 +1766,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
1745
1766
 
1746
1767
  declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1747
1768
  import type { Feature, MultiPolygon, Polygon } from 'geojson';
1748
- import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1769
+ import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node, Area } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1749
1770
  import type { Label, Marker, Model, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1750
1771
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
1751
1772
  import type { InsetPaddingOption, Position } from '@mappedin/core-sdk';
@@ -2113,7 +2134,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2113
2134
  /**
2114
2135
  * A map element that can be focused on by the camera.
2115
2136
  */
2116
- export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node | EnterpriseLocation
2137
+ export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Area | Node | EnterpriseLocation
2117
2138
  /**
2118
2139
  * @experimental
2119
2140
  */
@@ -2148,7 +2169,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2148
2169
  /**
2149
2170
  * Defines the target for navigation operations.
2150
2171
  */
2151
- export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node;
2172
+ export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node | Area;
2152
2173
  /**
2153
2174
  * Defines the special zone for navigation operations.
2154
2175
  */
@@ -2388,6 +2409,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2388
2409
  *
2389
2410
  * | Value | Description |
2390
2411
  * |--------|-----------------------------------------------------------------------------------------------------------------------------------------|
2412
+ * | low | Colliders with this ranking have a low visibility priority and will be hidden in favor of higher-ranked colliders in crowded areas. |
2391
2413
  * | medium | Colliders with this ranking have a standard visibility priority and may be hidden in favor of higher-ranked colliders in crowded areas. |
2392
2414
  * | high | These colliders are given higher visibility priority than 'medium' priority. |
2393
2415
  * | always-visible | Colliders with this ranking will not be hidden, ensuring their constant visibility regardless of crowding. |
@@ -3012,7 +3034,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3012
3034
  import { type TDirectionInstruction } from '@mappedin/react-sdk/mappedin-js/src';
3013
3035
  import type { Directions, GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
3014
3036
  import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
3015
- import type { FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3037
+ import type { Floor, FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3016
3038
  import { Path, Marker } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
3017
3039
  import type { RendererCore } from '@mappedin/core-sdk';
3018
3040
  /**
@@ -3207,6 +3229,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3207
3229
  * The current list of floor stacks along the navigation paths.
3208
3230
  */
3209
3231
  get floorStacks(): FloorStack[];
3232
+ /**
3233
+ * The current list of floors along the navigation paths.
3234
+ */
3235
+ get floors(): Floor[];
3210
3236
  /**
3211
3237
  * Sets the active path by index.
3212
3238
  */
@@ -3560,6 +3586,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
3560
3586
  mvfData: MVFEnterpriseLocation;
3561
3587
  categoryIds: string[];
3562
3588
  locationInstances?: EnterpriseLocation[];
3589
+ parentId?: string;
3563
3590
  });
3564
3591
  get categories(): EnterpriseCategory[];
3565
3592
  get coordinates(): Coordinate[];
@@ -3593,7 +3620,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
3593
3620
  * It can be accessed using the {@link MapData.getByType()} method as shown below.
3594
3621
  *
3595
3622
  * ```typescript
3596
- * const venue = mapData.getByType('venue');
3623
+ * const venue = mapData.getByType('enterprise-venue');
3597
3624
  * ```
3598
3625
  *
3599
3626
  * Refer to the [EnterpriseVenue Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-venue) for more information.
@@ -3901,6 +3928,93 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3901
3928
  export default Node;
3902
3929
  }
3903
3930
 
3931
+ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3932
+ import type { AreaCollection } from '@mappedin/mvf';
3933
+ import { Coordinate, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3934
+ import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3935
+ import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
3936
+ /**
3937
+ * An Area represents some grouping of multiple pieces of geometry, not
3938
+ * necessarily bounded by walls or any other physical feature of the map.
3939
+ *
3940
+ * Areas are currently in a preview state, and may have changes to existing
3941
+ * functionality or new features added in the future.
3942
+ */
3943
+ class Area extends BaseMapData {
3944
+ #private;
3945
+ /**
3946
+ * @internal
3947
+ */
3948
+ static readonly __type = "area";
3949
+ /**
3950
+ * @internal
3951
+ */
3952
+ readonly __type = "area";
3953
+ /**
3954
+ * Checks if the provided instance is of type Area.
3955
+ *
3956
+ * @param instance The instance to check.
3957
+ * @returns {boolean} True if the instance is a Area, false otherwise.
3958
+ */
3959
+ static is(instance: object): instance is Area;
3960
+ /**
3961
+ * @internal
3962
+ */
3963
+ constructor(data: MapDataInternal, options: {
3964
+ floorId: string;
3965
+ mvfData: AreaCollection['features'][number];
3966
+ });
3967
+ /**
3968
+ * Gets the name of the area.
3969
+ *
3970
+ * @returns {string} The name of the area.
3971
+ */
3972
+ get name(): string;
3973
+ /**
3974
+ * Gets the external identifier of the area.
3975
+ *
3976
+ * @returns {string} The external ID of the area, or an empty string if no external ID exists.
3977
+ */
3978
+ get externalId(): string;
3979
+ /**
3980
+ * Gets the description of the area.
3981
+ *
3982
+ * @returns {string} The description of the area, or an empty string if no description exists.
3983
+ */
3984
+ get description(): string;
3985
+ /**
3986
+ * Gets the center {@link Coordinate} of the area.
3987
+ *
3988
+ * @returns {Coordinate} The area's center coordinate.
3989
+ */
3990
+ get center(): Coordinate;
3991
+ /**
3992
+ * Gets the {@link Floor} object associated with the area.
3993
+ *
3994
+ * @returns {Floor} The floor object.
3995
+ * @throws Will throw an error if the floor is not found.
3996
+ */
3997
+ get floor(): Floor;
3998
+ /**
3999
+ * Serializes the space data to JSON.
4000
+ *
4001
+ * @returns An object representing the space.
4002
+ */
4003
+ toJSON(): {
4004
+ id: string;
4005
+ name: string;
4006
+ floor: string;
4007
+ };
4008
+ /**
4009
+ * Cleans up resources used by the instance.
4010
+ *
4011
+ * @internal
4012
+ */
4013
+ destroy(): void;
4014
+ }
4015
+ export default Area;
4016
+ }
4017
+
3904
4018
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
3905
4019
  import type { EntranceCollection } from '@mappedin/mvf';
3906
4020
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
@@ -4918,9 +5032,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor-stack
4918
5032
  }
4919
5033
 
4920
5034
  declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
4921
- import type { Feature, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, Point, SpaceCollection, SpaceProperties, Connection as MVFConnection, EntranceCollection, AnnotationCollection, ParsedMVF, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseVenue as MVFEnterpriseVenue } from '@mappedin/mvf';
5035
+ import type { Feature, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, Point, SpaceCollection, SpaceProperties, Connection as MVFConnection, EntranceCollection, AnnotationCollection, ParsedMVF, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseVenue as MVFEnterpriseVenue, AreaCollection, AreaId, EnterpriseLocationInstance } from '@mappedin/mvf';
4922
5036
  import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4923
- import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5037
+ import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Area } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4924
5038
  import Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
4925
5039
  import EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
4926
5040
  import EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
@@ -4939,6 +5053,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
4939
5053
  locationsById: Record<MVFEnterpriseLocationId, EnterpriseLocation>;
4940
5054
  categoriesById: Record<MVFEnterpriseCategoryId, EnterpriseCategory>;
4941
5055
  locationIdsByNodeId: Record<string, MVFEnterpriseLocationId[]>;
5056
+ areasById: Record<AreaId, Area>;
4942
5057
  venue: MVFEnterpriseVenue;
4943
5058
  spaceIdsByDestinationNodeId: Record<string, string[]>;
4944
5059
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
@@ -4956,9 +5071,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
4956
5071
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
4957
5072
  mvfLocationsById: Record<string, MVFEnterpriseLocation>;
4958
5073
  mvfLocationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
5074
+ mvfAreasById: Record<AreaId, AreaCollection['features'][number]>;
4959
5075
  };
4960
5076
  export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "mvfFloorsById">;
4961
5077
  export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "mvfFloorStacksById">;
5078
+ export const processMVFAreas: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "areasById" | "mvfAreasById">;
4962
5079
  /**
4963
5080
  * @internal
4964
5081
  */
@@ -4968,6 +5085,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
4968
5085
  mvfLocationsById: Record<string, MVFEnterpriseLocation>;
4969
5086
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
4970
5087
  locationsById: Record<string, EnterpriseLocation>;
5088
+ locationInstancesById: Record<string, EnterpriseLocationInstance>;
4971
5089
  categoriesById: Record<string, EnterpriseCategory>;
4972
5090
  venue: MVFEnterpriseVenue;
4973
5091
  };
@@ -4985,6 +5103,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
4985
5103
  doorsByNodeId: Record<string, Door>;
4986
5104
  poisById: Record<string, PointOfInterest>;
4987
5105
  annotationsById: Record<string, Annotation>;
5106
+ areasById: Record<string, Area>;
4988
5107
  spaceIdsByDestinationNodeId: Record<string, string[]>;
4989
5108
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
4990
5109
  obstructionIdByEntranceId: Record<string, string>;
@@ -5002,10 +5121,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5002
5121
  geometry: Point;
5003
5122
  properties: import("@mappedin/mvf").AnnotationProperties;
5004
5123
  }>;
5124
+ mvfAreasById: Record<string, import("@mappedin/mvf").Area>;
5005
5125
  };
5006
5126
  }
5007
5127
 
5008
5128
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
5129
+ import type Area from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area';
5009
5130
  import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
5010
5131
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
5011
5132
  import type Space from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
@@ -5021,7 +5142,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
5021
5142
  /**
5022
5143
  * Places are the main objects that can be searched for.
5023
5144
  */
5024
- export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation;
5145
+ export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation | Area;
5025
5146
  export type LocationWithLocale = PartialExcept<MvfEnterpriseLocation, 'id'>;
5026
5147
  export type CategoryWithLocale = PartialExcept<MvfEnterpriseCategory, 'id'>;
5027
5148
  export type LanguagePack = {
@@ -5136,6 +5257,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5136
5257
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
5137
5258
  import type { CollisionRankingTier } from '@mappedin/react-sdk/geojson/src/utils/collision-ranking-tier';
5138
5259
  import { z } from 'zod';
5260
+ import type { PackedBBoxes } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
5139
5261
  /**
5140
5262
  * State reprsenting a Marker
5141
5263
  */
@@ -5245,6 +5367,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5245
5367
  options: Required<AddMarkerOptions>;
5246
5368
  projection: Vector2;
5247
5369
  enabled: boolean;
5370
+ offscreen: boolean;
5248
5371
  activeStrategyIndex: number;
5249
5372
  strategyIndex: number;
5250
5373
  activeBoundingBox: {
@@ -5262,7 +5385,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5262
5385
  };
5263
5386
  dirty: boolean;
5264
5387
  collisionDirty: boolean;
5265
- visibilityNeedsUpdate: boolean;
5388
+ visibilityNeedsUpdate: 'show' | 'hide' | false;
5266
5389
  constructor(contentHtml: string, options?: AddMarkerOptions);
5267
5390
  updateDimensions(width?: number, height?: number): void;
5268
5391
  visible: boolean;
@@ -5273,16 +5396,13 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5273
5396
  name: MarkerAnchor;
5274
5397
  getBoundingBox: () => number[];
5275
5398
  }[];
5276
- toJSON(): {
5399
+ toPackedMessage(lockToCurrentStrategy?: boolean): {
5277
5400
  x: number;
5278
5401
  y: number;
5279
5402
  enabled: boolean;
5280
- id: string | number;
5281
5403
  rank: number;
5282
- bboxes: {
5283
- index: number;
5284
- boundingBox: any;
5285
- }[];
5404
+ bboxes: PackedBBoxes;
5405
+ lockedToStrategyIndex: number;
5286
5406
  shouldCollideWithScreenEdges: boolean;
5287
5407
  };
5288
5408
  destroy(): void;
@@ -5506,6 +5626,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
5506
5626
  import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
5507
5627
  import type { CollisionRankingTier } from '@mappedin/react-sdk/geojson/src';
5508
5628
  import { z } from 'zod';
5629
+ import type { PackedBBoxes } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
5509
5630
  export const addLabelOptionsSchema: z.ZodObject<{
5510
5631
  rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
5511
5632
  interactive: z.ZodOptional<z.ZodBoolean>;
@@ -5952,7 +6073,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
5952
6073
  newStyle: TStyle;
5953
6074
  static testId: number;
5954
6075
  opacity: number;
5955
- visibilityNeedsUpdate: boolean;
6076
+ visibilityNeedsUpdate: 'show' | 'hide' | false;
5956
6077
  activeStrategyIndex: number;
5957
6078
  text: string;
5958
6079
  style: TStyle;
@@ -5962,6 +6083,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
5962
6083
  options: LabelOptions;
5963
6084
  visible: boolean;
5964
6085
  enabled: boolean;
6086
+ offscreen: boolean;
5965
6087
  activeBoundingBox: {
5966
6088
  x: number;
5967
6089
  y: number;
@@ -5985,21 +6107,20 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
5985
6107
  setEntity(): void;
5986
6108
  constructor(text: string, options: AddLabelOptions, state: RendererState);
5987
6109
  calculateMarkerSize(): void;
6110
+ get lowPriorityStrategyIndex(): 3 | -1;
5988
6111
  get strategies(): any[];
6112
+ animate: boolean;
5989
6113
  onStrategySelected: (strategyIndex: any) => void;
5990
6114
  updatePosition(): void;
5991
6115
  disable(): void;
5992
- toJSON(): {
6116
+ toPackedMessage(lockToCurrentStrategy?: boolean): {
5993
6117
  x: number;
5994
6118
  y: number;
5995
6119
  enabled: boolean;
5996
- id: string;
5997
6120
  rank: number;
5998
- bboxes: {
5999
- index: number;
6000
- boundingBox: any;
6001
- }[];
6121
+ bboxes: PackedBBoxes;
6002
6122
  shouldCollideWithScreenEdges: boolean;
6123
+ lockedToStrategyIndex: number;
6003
6124
  };
6004
6125
  destroy(): void;
6005
6126
  }
@@ -6124,6 +6245,10 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
6124
6245
  * altitude of the geometry group
6125
6246
  */
6126
6247
  altitude?: number;
6248
+ /**
6249
+ * height of the geometry group
6250
+ */
6251
+ height?: number;
6127
6252
  };
6128
6253
  export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
6129
6254
  export class GeometryGroupObject3D extends Object3D {
@@ -6159,7 +6284,7 @@ declare module '@mappedin/react-sdk/geojson/src/types/geometry' {
6159
6284
  }
6160
6285
 
6161
6286
  declare module '@mappedin/react-sdk/geojson/src/types' {
6162
- import { Mesh, Object3D, InstancedMesh } from 'three';
6287
+ import { Mesh, Object3D, InstancedMesh, Camera } from 'three';
6163
6288
  import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
6164
6289
  import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
6165
6290
  import type { GeometryState } from '@mappedin/react-sdk/geojson/src/components/mesh';
@@ -6173,6 +6298,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
6173
6298
  import type { ShapeState } from '@mappedin/react-sdk/geojson/src/components/custom';
6174
6299
  import type { Geometry3D } from '@mappedin/react-sdk/geojson/src/entities';
6175
6300
  import type { Group as TweenGroup } from '@tweenjs/tween.js';
6301
+ import { MaterialSide } from '@mappedin/react-sdk/geojson/src/components/style';
6176
6302
  /**
6177
6303
  * The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
6178
6304
  */
@@ -6227,6 +6353,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
6227
6353
  outline?: boolean;
6228
6354
  showImage?: boolean;
6229
6355
  flipImageToFaceCamera?: boolean;
6356
+ side?: MaterialSide;
6230
6357
  };
6231
6358
  export type Shading = {
6232
6359
  start?: number;
@@ -6245,6 +6372,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
6245
6372
  join?: 'round' | 'bevel' | 'miter';
6246
6373
  shading?: Shading;
6247
6374
  outline?: boolean;
6375
+ side?: MaterialSide;
6248
6376
  };
6249
6377
  export type Layer = {
6250
6378
  id: string;
@@ -6460,6 +6588,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
6460
6588
  canvasHeight: number;
6461
6589
  /** Global group for all tweens */
6462
6590
  tweenGroup: TweenGroup;
6591
+ cameraObject: Camera;
6463
6592
  };
6464
6593
  }
6465
6594
 
@@ -7525,6 +7654,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
7525
7654
  export function cyrb53(str: string, seed?: number): number;
7526
7655
  export const linearEase: (t: number) => number;
7527
7656
  export const quadEaseIn: (t: number) => number;
7657
+ export const easeIn: (x: number) => number;
7528
7658
  export const quadEaseOut: (t: number) => number;
7529
7659
  export function interpolate(value: number, inputMin: number, inputMax: number, outputMin: number, outputMax: number, easeFunc?: (t: number) => number): number;
7530
7660
  export function interpolateMulti(value: number, inputRange: number[], outputRange: number[], easeFunc?: (t: number) => number): number;
@@ -7841,6 +7971,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
7841
7971
  import type { Space, Door, PointOfInterest, MapObject, Node, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
7842
7972
  import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
7843
7973
  import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
7974
+ export const FLOOR_HEIGHT = 5;
7844
7975
  export class GeojsonApiMapObject extends PubSub<{
7845
7976
  'floor-change': {
7846
7977
  reason?: TFloorChangeReason;
@@ -7859,6 +7990,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
7859
7990
  path: Path;
7860
7991
  };
7861
7992
  }> {
7993
+ #private;
7862
7994
  floorStacksById: Map<string, FloorStackObject>;
7863
7995
  floorsById: Map<string, FloorObject>;
7864
7996
  currentFloorId: string;
@@ -7874,6 +8006,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
7874
8006
  get currentFloor(): FloorObject;
7875
8007
  /** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
7876
8008
  get floors(): FloorObject[];
8009
+ processFloorChange(floorId: string): void;
7877
8010
  setFloor(floorId: string, reason?: TFloorChangeReason): void;
7878
8011
  Models: {
7879
8012
  add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
@@ -7985,6 +8118,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker' {
7985
8118
  * Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
7986
8119
  */
7987
8120
  export class Marker {
8121
+ #private;
7988
8122
  /**
7989
8123
  * The marker's id
7990
8124
  */
@@ -7993,7 +8127,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker' {
7993
8127
  * @internal
7994
8128
  */
7995
8129
  static readonly __type = "Marker";
7996
- readonly target: Space | Door | Coordinate | Node;
8130
+ get target(): Coordinate | Space | Door | Node;
7997
8131
  /**
7998
8132
  * @internal
7999
8133
  */
@@ -8013,6 +8147,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker' {
8013
8147
  * @internal
8014
8148
  */
8015
8149
  constructor(id: string, contentEl: HTMLElement, target: Space | Door | Coordinate | Node);
8150
+ /**
8151
+ * @internal
8152
+ */
8153
+ updateTarget(target: Space | Door | Coordinate | Node): void;
8016
8154
  }
8017
8155
  }
8018
8156
 
@@ -8622,7 +8760,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
8622
8760
  import { type TDirectionInstruction } from '@mappedin/react-sdk/mappedin-js/src';
8623
8761
  import type { Directions, GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
8624
8762
  import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
8625
- import type { FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
8763
+ import type { Floor, FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
8626
8764
  import { Path, Marker } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
8627
8765
  import type { RendererCore } from '@mappedin/core-sdk';
8628
8766
  /**
@@ -8817,6 +8955,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
8817
8955
  * The current list of floor stacks along the navigation paths.
8818
8956
  */
8819
8957
  get floorStacks(): FloorStack[];
8958
+ /**
8959
+ * The current list of floors along the navigation paths.
8960
+ */
8961
+ get floors(): Floor[];
8820
8962
  /**
8821
8963
  * Sets the active path by index.
8822
8964
  */
@@ -9601,6 +9743,90 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object
9601
9743
  }
9602
9744
  }
9603
9745
 
9746
+ declare module '@mappedin/react-sdk/geojson/src/systems/collisions/system' {
9747
+ import { QuadTree } from '@packages/internal/quad-tree';
9748
+ import './style.scss';
9749
+ import type { MarkerComponent } from '@mappedin/react-sdk/geojson/src/components/marker';
9750
+ import type LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
9751
+ import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
9752
+ import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
9753
+ import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor';
9754
+ import type { WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
9755
+ export type TMessageEvent = MessageEvent<{
9756
+ msgId: string;
9757
+ colliders: TSerializedColliderResponse[];
9758
+ debug: {
9759
+ x: number;
9760
+ y: number;
9761
+ w: number;
9762
+ h: number;
9763
+ }[];
9764
+ }>;
9765
+ export type TMessage = {
9766
+ msgId: string;
9767
+ totalWidth: number;
9768
+ totalHeight: number;
9769
+ watermarkWidth: number;
9770
+ watermarkHeight: number;
9771
+ watermarkPosition: WatermarkPosition;
9772
+ colliders: TSerializedCollider[];
9773
+ devicePixelRatio: number;
9774
+ };
9775
+ type TCollisionSystemEvent = {
9776
+ 'visibility-changed': undefined;
9777
+ };
9778
+ export type PackedBBox = [x: number, y: number, w: number, h: number, index: number];
9779
+ export type PackedBBoxes = PackedBBox[];
9780
+ export type PackedCollider = [
9781
+ bboxes: PackedBBoxes,
9782
+ enabled: 0 | 1,
9783
+ alwaysVisible: 0 | 1,
9784
+ x: number,
9785
+ y: number,
9786
+ shouldCollideWithScreenEdges?: 0 | 1,
9787
+ onlyExposeStrategyIndex?: number
9788
+ ];
9789
+ export type PackedMessage = [
9790
+ colliders: PackedCollider[],
9791
+ devicePixelRatio: number,
9792
+ totalHeight: number,
9793
+ totalWidth: number,
9794
+ watermarkWidth: number,
9795
+ watermarkHeight: number,
9796
+ watermarkPosition: WatermarkPosition
9797
+ ];
9798
+ export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
9799
+ collidersDirty: boolean;
9800
+ packedMessage: PackedMessage;
9801
+ visibleCollidersQTree: QuadTree<{
9802
+ entityId: string | number;
9803
+ }>;
9804
+ interactiveCollidersQTree: QuadTree<{
9805
+ entityId: string | number;
9806
+ }>;
9807
+ coreState: RendererState;
9808
+ constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
9809
+ postMessage: () => void;
9810
+ showCollisionBoxes: () => void;
9811
+ hideCollisionBoxes: () => void;
9812
+ currentMsgId: string;
9813
+ working: boolean;
9814
+ componentArray: (MarkerComponent | LabelComponent)[];
9815
+ update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition, useAllStrategies?: boolean) => void;
9816
+ resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
9817
+ /**
9818
+ * Resolve collisions
9819
+ */
9820
+ resolve: (e: MessageEvent<{
9821
+ msgId: string;
9822
+ colliders: TSerializedColliderResponse[];
9823
+ }>) => void;
9824
+ drawDebug: () => void;
9825
+ destroy: () => void;
9826
+ }
9827
+ export {};
9828
+ }
9829
+
9604
9830
  declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
9605
9831
  import { Object3D } from 'three';
9606
9832
  import type { Mesh, Object3DEventMap, ShaderMaterial, Texture, TubeGeometry, Color, Vector2 } from 'three';
@@ -9936,6 +10162,62 @@ declare module '@mappedin/react-sdk/geojson/src/entities' {
9936
10162
  export { Geometry3D, Geometry3DComponents, type PathMesh, type PatMeshContainer, type PathMaterial, } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
9937
10163
  }
9938
10164
 
10165
+ declare module '@mappedin/react-sdk/geojson/src/components/style' {
10166
+ import type { LineStyle } from '@mappedin/react-sdk/geojson/src/renderer';
10167
+ export const DEFAULT_COLOR = "#ffffff";
10168
+ export const DEFAULT_HEIGHT = 0.1;
10169
+ /**
10170
+ * Determines how a material is rendered, back face, front face or both (default)
10171
+ */
10172
+ export type MaterialSide = 'back' | 'front' | 'double';
10173
+ type Style = {
10174
+ color: string;
10175
+ width: number;
10176
+ opacity: number;
10177
+ visible: boolean;
10178
+ height: number;
10179
+ altitude: number;
10180
+ join: LineStyle['join'];
10181
+ cap: LineStyle['cap'];
10182
+ topColor?: string;
10183
+ texture?: string;
10184
+ topTexture?: string;
10185
+ outline: boolean;
10186
+ showImage: boolean;
10187
+ showTextLabel: boolean;
10188
+ flipImageToFaceCamera: boolean;
10189
+ flipTextToFaceCamera: boolean;
10190
+ url?: string;
10191
+ side?: MaterialSide;
10192
+ };
10193
+ export class StyleComponent implements Style {
10194
+ initialColor: string;
10195
+ color: string;
10196
+ topColor?: string;
10197
+ topTexture?: string;
10198
+ texture?: string;
10199
+ hoverColor?: string;
10200
+ dirty: boolean;
10201
+ visible: boolean;
10202
+ opacity: number;
10203
+ width: number;
10204
+ height: number;
10205
+ initialHeight: number;
10206
+ altitude: number;
10207
+ join: LineStyle['join'];
10208
+ cap: LineStyle['cap'];
10209
+ outline: boolean;
10210
+ showImage: boolean;
10211
+ showTextLabel: boolean;
10212
+ flipImageToFaceCamera: boolean;
10213
+ flipTextToFaceCamera: boolean;
10214
+ url?: string;
10215
+ side: MaterialSide;
10216
+ constructor(style?: Partial<Style>);
10217
+ }
10218
+ export {};
10219
+ }
10220
+
9939
10221
  declare module '@mappedin/react-sdk/geojson/src/types/options' {
9940
10222
  import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
9941
10223
  import type { Map as MapLibreMap } from '@mappedin/react-sdk/packages/outdoor-context-v4';
@@ -10064,82 +10346,6 @@ declare module '@mappedin/react-sdk/packages/common/pubsub' {
10064
10346
  }
10065
10347
  }
10066
10348
 
10067
- declare module '@mappedin/react-sdk/geojson/src/systems/collisions/system' {
10068
- import { QuadTree } from '@packages/internal/quad-tree';
10069
- import './style.scss';
10070
- import type { MarkerComponent } from '@mappedin/react-sdk/geojson/src/components/marker';
10071
- import type LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
10072
- import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
10073
- import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
10074
- import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor';
10075
- import type { WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
10076
- export type TMessageEvent = MessageEvent<{
10077
- msgId: string;
10078
- colliders: TSerializedColliderResponse[];
10079
- debug: {
10080
- x: number;
10081
- y: number;
10082
- w: number;
10083
- h: number;
10084
- }[];
10085
- }>;
10086
- export type TMessage = {
10087
- msgId: string;
10088
- totalWidth: number;
10089
- totalHeight: number;
10090
- watermarkWidth: number;
10091
- watermarkHeight: number;
10092
- watermarkPosition: WatermarkPosition;
10093
- colliders: TSerializedCollider[];
10094
- devicePixelRatio: number;
10095
- };
10096
- type TCollisionSystemEvent = {
10097
- 'visibility-changed': undefined;
10098
- };
10099
- export type PackedBBox = [x: number, y: number, w: number, h: number];
10100
- export type PackedBBoxes = PackedBBox[];
10101
- export type PackedCollider = [bboxes: PackedBBoxes, enabled: 0 | 1, alwaysVisible: 0 | 1, x: number, y: number];
10102
- export type PackedMessage = [
10103
- colliders: PackedCollider[],
10104
- devicePixelRatio: number,
10105
- totalHeight: number,
10106
- totalWidth: number,
10107
- watermarkWidth: number,
10108
- watermarkHeight: number,
10109
- watermarkPosition: WatermarkPosition
10110
- ];
10111
- export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
10112
- dirty: boolean;
10113
- packedMessage: PackedMessage;
10114
- visibleCollidersQTree: QuadTree<{
10115
- entityId: string | number;
10116
- }>;
10117
- interactiveCollidersQTree: QuadTree<{
10118
- entityId: string | number;
10119
- }>;
10120
- coreState: RendererState;
10121
- constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
10122
- postMessage: () => void;
10123
- showCollisionBoxes: () => void;
10124
- hideCollisionBoxes: () => void;
10125
- currentMsgId: string;
10126
- working: boolean;
10127
- componentArray: (MarkerComponent | LabelComponent)[];
10128
- update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition) => void;
10129
- resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
10130
- /**
10131
- * Resolve collisions
10132
- */
10133
- resolve: (e: MessageEvent<{
10134
- msgId: string;
10135
- colliders: TSerializedColliderResponse[];
10136
- }>) => void;
10137
- drawDebug: () => void;
10138
- destroy: () => void;
10139
- }
10140
- export {};
10141
- }
10142
-
10143
10349
  declare module '@mappedin/react-sdk/geojson/src/systems/interactions' {
10144
10350
  export { InteractionSystem } from '@mappedin/react-sdk/geojson/src/systems/interactions/system';
10145
10351
  }
@@ -10217,6 +10423,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/2d-projection/system' {
10217
10423
  declare module '@mappedin/react-sdk/geojson/src/systems/2d-draw/system' {
10218
10424
  import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
10219
10425
  import LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
10426
+ export const INACTIVE_MARKER_SIZE_NO_ICON = 3.5;
10220
10427
  enum TEXTALIGN {
10221
10428
  LEFT = "left",
10222
10429
  CENTER = "center",
@@ -10291,10 +10498,11 @@ declare module '@mappedin/react-sdk/geojson/src/systems/2d-visibility/system' {
10291
10498
  }> {
10292
10499
  state: RendererState;
10293
10500
  constructor(state: RendererState);
10294
- animating: Map<LabelComponent, number>;
10501
+ animating: Map<LabelComponent, [number, number]>;
10295
10502
  isAnimating: boolean;
10296
10503
  startTime: number;
10297
- duration: number;
10504
+ showDuration: number;
10505
+ hideDuration: number;
10298
10506
  update: () => void;
10299
10507
  playAnimations: () => void;
10300
10508
  _playAnimations(): void;
@@ -10337,6 +10545,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/dom-draw/system' {
10337
10545
  import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
10338
10546
  export const ANIMATION_DURATION = 300;
10339
10547
  export class DOMDrawSystem {
10548
+ #private;
10340
10549
  state: RendererState;
10341
10550
  constructor(state: RendererState);
10342
10551
  update(isUserInteracting: boolean): void;
@@ -10809,10 +11018,15 @@ declare module '@mappedin/react-sdk/geojson/src/systems/exporter/exporter' {
10809
11018
  }
10810
11019
 
10811
11020
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
10812
- import type { FloorProperties as MVFFloor, ParsedMVF } from '@mappedin/mvf';
11021
+ import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
10813
11022
  import type { RendererCore } from '@mappedin/core-sdk';
10814
11023
  import type { AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
10815
11024
  import type { TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
11025
+ class Layer {
11026
+ containerId: string;
11027
+ layers: Map<string, string>;
11028
+ constructor(containerId: string, layers?: Map<any, any>);
11029
+ }
10816
11030
  export class FloorObject implements MVFFloor {
10817
11031
  id: string;
10818
11032
  name?: string;
@@ -10822,11 +11036,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
10822
11036
  metadata?: Partial<Record<string, unknown>> | undefined;
10823
11037
  shortName?: string | undefined;
10824
11038
  subtitle?: string | undefined;
10825
- layers: Map<string, string>;
11039
+ layers: Map<string, Layer>;
11040
+ footprint?: Feature<Polygon | MultiPolygon | null, MVFFloor>;
10826
11041
  floorStackId: string;
10827
- constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
11042
+ constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
10828
11043
  load: () => this;
10829
11044
  }
11045
+ export {};
10830
11046
  }
10831
11047
 
10832
11048
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
@@ -10892,54 +11108,33 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-obje
10892
11108
  }
10893
11109
  }
10894
11110
 
10895
- declare module '@mappedin/react-sdk/geojson/src/components/style' {
10896
- import type { LineStyle } from '@mappedin/react-sdk/geojson/src/renderer';
10897
- export const DEFAULT_COLOR = "#ffffff";
10898
- export const DEFAULT_HEIGHT = 0.1;
10899
- type Style = {
10900
- color: string;
10901
- width: number;
10902
- opacity: number;
10903
- visible: boolean;
10904
- height: number;
10905
- altitude: number;
10906
- join: LineStyle['join'];
10907
- cap: LineStyle['cap'];
10908
- topColor?: string;
10909
- texture?: string;
10910
- topTexture?: string;
10911
- outline: boolean;
10912
- showImage: boolean;
10913
- showTextLabel: boolean;
10914
- flipImageToFaceCamera: boolean;
10915
- flipTextToFaceCamera: boolean;
10916
- url?: string;
11111
+ declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor' {
11112
+ import { Rectangle } from '@packages/internal/quad-tree';
11113
+ export type TSerializedCollider = {
11114
+ rank: number;
11115
+ enabled: boolean;
11116
+ x: number;
11117
+ y: number;
11118
+ bboxes: {
11119
+ index: number;
11120
+ boundingBox: [number, number, number, number];
11121
+ boundingRect?: Rectangle;
11122
+ }[];
11123
+ shouldCollideWithScreenEdges?: boolean;
11124
+ lockedToStrategyIndex?: number;
11125
+ visible?: boolean;
11126
+ };
11127
+ export type TSerializedColliderResponse = [number, 1 | 0, Rectangle?];
11128
+ export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
11129
+ msgId: string;
11130
+ colliders: TSerializedColliderResponse[];
11131
+ debug: {
11132
+ x: number;
11133
+ y: number;
11134
+ w: number;
11135
+ h: number;
11136
+ }[];
10917
11137
  };
10918
- export class StyleComponent implements Style {
10919
- initialColor: string;
10920
- color: string;
10921
- topColor?: string;
10922
- topTexture?: string;
10923
- texture?: string;
10924
- hoverColor?: string;
10925
- dirty: boolean;
10926
- visible: boolean;
10927
- opacity: number;
10928
- width: number;
10929
- height: number;
10930
- initialHeight: number;
10931
- altitude: number;
10932
- join: LineStyle['join'];
10933
- cap: LineStyle['cap'];
10934
- outline: boolean;
10935
- showImage: boolean;
10936
- showTextLabel: boolean;
10937
- flipImageToFaceCamera: boolean;
10938
- flipTextToFaceCamera: boolean;
10939
- url?: string;
10940
- constructor(style?: Partial<Style>);
10941
- }
10942
- export {};
10943
11138
  }
10944
11139
 
10945
11140
  declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
@@ -10957,7 +11152,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
10957
11152
  export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
10958
11153
  export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
10959
11154
  export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
10960
- export function updateHeight(entity: Geometry3D, update?: number): boolean;
11155
+ export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
10961
11156
  export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
10962
11157
  export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
10963
11158
  export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
@@ -10978,33 +11173,6 @@ declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
10978
11173
  export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
10979
11174
  }
10980
11175
 
10981
- declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor' {
10982
- import { Rectangle } from '@packages/internal/quad-tree';
10983
- export type TSerializedCollider = {
10984
- rank: number;
10985
- enabled: boolean;
10986
- x: number;
10987
- y: number;
10988
- bboxes: {
10989
- index: number;
10990
- boundingBox: [number, number, number, number];
10991
- boundingRect?: Rectangle;
10992
- }[];
10993
- shouldCollideWithScreenEdges?: boolean;
10994
- };
10995
- export type TSerializedColliderResponse = [number, boolean, Rectangle?];
10996
- export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
10997
- msgId: string;
10998
- colliders: TSerializedColliderResponse[];
10999
- debug: {
11000
- x: number;
11001
- y: number;
11002
- w: number;
11003
- h: number;
11004
- }[];
11005
- };
11006
- }
11007
-
11008
11176
  declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
11009
11177
  import type { PerspectiveCamera, Vector3, Object3D, Mesh } from 'three';
11010
11178
  import { Raycaster } from 'three';
@@ -11056,7 +11224,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
11056
11224
  entityId: Geometry2D['id'];
11057
11225
  }>;
11058
11226
  _container: HTMLCanvasElement;
11059
- constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, cameraPlane: Mesh);
11227
+ constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, cameraPlane: Mesh, isUserInteracting: () => boolean);
11060
11228
  updateQuadtree(takeIT: QuadTree<{
11061
11229
  entityId: Geometry2D['id'];
11062
11230
  }>): void;
@@ -11136,6 +11304,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
11136
11304
  #private;
11137
11305
  dirty: boolean;
11138
11306
  zoomDirty: boolean;
11307
+ rotationDirty: boolean;
11139
11308
  /**
11140
11309
  * Factor that controls how fast zooming in and out happens in response to mouse wheel events
11141
11310
  *