@mappedin/mappedin-js 6.0.1-beta.21 → 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.
@@ -290,6 +290,15 @@ declare module '@mappedin/mappedin-js' {
290
290
  */
291
291
  wallTopColor?: string;
292
292
  };
293
+ /**
294
+ * @experimental
295
+ * @internal
296
+ */
297
+ multiFloorView?: {
298
+ enabled?: boolean;
299
+ floorHeight?: number;
300
+ updateCameraElevationOnFloorChange?: boolean;
301
+ };
293
302
  };
294
303
  /**
295
304
  * @internal
@@ -382,7 +391,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
382
391
  import { Analytics } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
383
392
  import { PubSub } from '@packages/internal/common';
384
393
  import type { TSearchOptions } from '@packages/internal/mvf-utils';
385
- import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
394
+ import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
386
395
  import type EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
387
396
  import type EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
388
397
  import type EnterpriseVenue from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue';
@@ -528,6 +537,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
528
537
  * const annotations = mapData.getByType('annotation');
529
538
  */
530
539
  getByType(type: 'annotation'): Annotation[];
540
+ /**
541
+ * @returns The areas ({@link Area}) on the map.
542
+ * @example
543
+ * const areas = mapData.getByType('area');
544
+ */
545
+ getByType(type: 'area'): Area[];
531
546
  /**
532
547
  * @returns The nodes ({@link Node}) on the map.
533
548
  * @example
@@ -561,7 +576,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
561
576
  * @example
562
577
  * const space = mapData.getById('space', 'space-id');
563
578
  */
564
- 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;
579
+ 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;
565
580
  getById(type: string, id: string): object | undefined;
566
581
  /**
567
582
  * Changes the language of the map data.
@@ -611,7 +626,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
611
626
  * @param to The destination point.
612
627
  * @returns The distance between the start and destination points in meters.
613
628
  */
614
- getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation): number;
629
+ getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area): number;
615
630
  /**
616
631
  * Creates a backup of the map data including language packs.
617
632
  * @internal
@@ -779,6 +794,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/events' {
779
794
 
780
795
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
781
796
  import Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
797
+ import Area from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/area';
782
798
  import Door from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door';
783
799
  import Space from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
784
800
  import Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
@@ -791,7 +807,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
791
807
  import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
792
808
  import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
793
809
  import type { MapDataRecords } from '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation';
794
- 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';
810
+ 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';
795
811
  import { AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
796
812
  import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
797
813
  import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
@@ -837,6 +853,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
837
853
  */
838
854
  readonly obstructionIdByEntranceId: Record<string, string>;
839
855
  readonly venue?: EnterpriseVenue;
856
+ readonly sasToken?: string;
840
857
  directions: DirectionsInternal;
841
858
  enterpriseMode: boolean;
842
859
  nodesById: MapDataRecords['nodesById'];
@@ -848,6 +865,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
848
865
  doorsById: MapDataRecords['doorsById'];
849
866
  pointsOfInterestById: MapDataRecords['poisById'];
850
867
  annotationsById: MapDataRecords['annotationsById'];
868
+ areasById: MapDataRecords['areasById'];
851
869
  locationsById: MapDataRecords['locationsById'];
852
870
  categoriesById: MapDataRecords['categoriesById'];
853
871
  doorsByNodeId: MapDataRecords['doorsByNodeId'];
@@ -862,6 +880,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
862
880
  mvfSpacesById: MapDataRecords['mvfSpacesById'];
863
881
  mvfFloorsById: MapDataRecords['mvfFloorsById'];
864
882
  mvfFloorStacksById: MapDataRecords['mvfFloorStacksById'];
883
+ mvfAreasById: MapDataRecords['mvfAreasById'];
865
884
  localePacksUrls: LocalePackUrls;
866
885
  currentLanguage?: Language;
867
886
  /**
@@ -935,6 +954,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
935
954
  * @returns {Annotation[]} An array of Annotation objects.
936
955
  */
937
956
  get annotations(): Annotation[];
957
+ get areas(): Area[];
938
958
  /**
939
959
  * Retrieves all nodes in the map.
940
960
  *
@@ -961,6 +981,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
961
981
  getById(type: 'object', id: string): MapObject | undefined;
962
982
  getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
963
983
  getById(type: 'annotation', id: string): Annotation | undefined;
984
+ getById(type: 'area', id: string): Area | undefined;
964
985
  getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
965
986
  getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
966
987
  getMapDataById(id: string): Places | undefined;
@@ -979,6 +1000,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
979
1000
  getMVFFeatureById(type: 'connection', id: string): MVFConnection | undefined;
980
1001
  getMVFFeatureById(type: 'entrance', id: string): EntranceCollection['features'][number] | undefined;
981
1002
  getMVFFeatureById(type: 'annotation', id: string): AnnotationCollection['features'][number] | undefined;
1003
+ getMVFFeatureById(type: 'area', id: string): AreaCollection['features'][number] | undefined;
982
1004
  getMVFFeatureById(type: string, id: string): object | undefined;
983
1005
  getMVFFeatureByNodeId(type: 'connection', id: string): MVFConnection | undefined;
984
1006
  /**
@@ -995,7 +1017,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
995
1017
  getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | (TNavigationTarget | TNavigationTarget[])[], opt?: TGetDirectionsOptions & {
996
1018
  multiDestination?: true;
997
1019
  }) => Directions | Directions[] | undefined;
998
- getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation): number;
1020
+ getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area): number;
999
1021
  toJSONBundle({ downloadLanguagePacks, }?: {
1000
1022
  downloadLanguagePacks?: boolean;
1001
1023
  }): Promise<THydrateMapDataBundle>;
@@ -1009,7 +1031,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
1009
1031
  */
1010
1032
  destroy(): void;
1011
1033
  }
1012
- export { Node, MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
1034
+ export { Node, Area, MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
1013
1035
  export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
1014
1036
  export type { Places };
1015
1037
  }
@@ -1410,7 +1432,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay' {
1410
1432
 
1411
1433
  declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
1412
1434
  import type { Feature, MultiPolygon, Polygon } from 'geojson';
1413
- import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
1435
+ import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
1414
1436
  import type { Label, Marker, Model, Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
1415
1437
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
1416
1438
  import type { InsetPaddingOption, Position } from '@mappedin/core-sdk';
@@ -1778,7 +1800,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
1778
1800
  /**
1779
1801
  * A map element that can be focused on by the camera.
1780
1802
  */
1781
- export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node | EnterpriseLocation
1803
+ export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Area | Node | EnterpriseLocation
1782
1804
  /**
1783
1805
  * @experimental
1784
1806
  */
@@ -1813,7 +1835,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
1813
1835
  /**
1814
1836
  * Defines the target for navigation operations.
1815
1837
  */
1816
- export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node;
1838
+ export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node | Area;
1817
1839
  /**
1818
1840
  * Defines the special zone for navigation operations.
1819
1841
  */
@@ -2053,6 +2075,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2053
2075
  *
2054
2076
  * | Value | Description |
2055
2077
  * |--------|-----------------------------------------------------------------------------------------------------------------------------------------|
2078
+ * | low | Colliders with this ranking have a low visibility priority and will be hidden in favor of higher-ranked colliders in crowded areas. |
2056
2079
  * | medium | Colliders with this ranking have a standard visibility priority and may be hidden in favor of higher-ranked colliders in crowded areas. |
2057
2080
  * | high | These colliders are given higher visibility priority than 'medium' priority. |
2058
2081
  * | always-visible | Colliders with this ranking will not be hidden, ensuring their constant visibility regardless of crowding. |
@@ -2677,7 +2700,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
2677
2700
  import { type TDirectionInstruction } from '@mappedin/mappedin-js/mappedin-js/src';
2678
2701
  import type { Directions, GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
2679
2702
  import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
2680
- import type { FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
2703
+ import type { Floor, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
2681
2704
  import { Path, Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
2682
2705
  import type { RendererCore } from '@mappedin/core-sdk';
2683
2706
  /**
@@ -2872,6 +2895,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
2872
2895
  * The current list of floor stacks along the navigation paths.
2873
2896
  */
2874
2897
  get floorStacks(): FloorStack[];
2898
+ /**
2899
+ * The current list of floors along the navigation paths.
2900
+ */
2901
+ get floors(): Floor[];
2875
2902
  /**
2876
2903
  * Sets the active path by index.
2877
2904
  */
@@ -2931,7 +2958,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics' {
2931
2958
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category' {
2932
2959
  import type { EnterpriseCategory as MVFEnterpriseCategory } from '@mappedin/mvf';
2933
2960
  import type { MapDataInternal, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
2934
- import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
2961
+ import BaseMetaData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object';
2935
2962
  /**
2936
2963
  * An EnterpriseCategory groups one or more EnterpriseLocation. These allow similar locations to be sorted in a logical fashion.
2937
2964
  * For example a mall may group locations into Food Court, Footwear and Women's Fashion. They can be accessed using the {@link MapData.getByType()} method as shown below.
@@ -2942,7 +2969,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
2942
2969
  *
2943
2970
  * Refer to the [EnterpriseCategory Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-categories) for more information and interactive examples.
2944
2971
  */
2945
- class EnterpriseCategory extends BaseMapData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
2972
+ class EnterpriseCategory extends BaseMetaData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
2946
2973
  #private;
2947
2974
  /**
2948
2975
  * @internal
@@ -3023,8 +3050,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
3023
3050
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location' {
3024
3051
  import type { EnterpriseLocation as MVFEnterpriseLocation, LocationState, OperationHours, SiblingGroup } from '@mappedin/mvf';
3025
3052
  import type { Coordinate, EnterpriseCategory, MapDataInternal, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3026
- import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
3027
3053
  import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
3054
+ import BaseMetaData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object';
3028
3055
  /**
3029
3056
  * An EnterpriseLocation contains metadata about a location, such as its name, description, logo, phone number, social medial links, hours of operation and more.
3030
3057
  * They can be accessed using the {@link MapData.getByType()} method as shown below.
@@ -3035,7 +3062,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
3035
3062
  *
3036
3063
  * Refer to the [EnterpriseLocation Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-locations) for more information and interactive examples.
3037
3064
  */
3038
- class EnterpriseLocation extends BaseMapData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
3065
+ class EnterpriseLocation extends BaseMetaData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
3039
3066
  #private;
3040
3067
  /**
3041
3068
  * @internal
@@ -3112,10 +3139,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
3112
3139
  * Example use cases:
3113
3140
  * - A Mall may have a location with two nodes and one polygon. It may then have an instance with one of the nodes, and operating hours
3114
3141
  * that are different from the parent. This indicates that this instance is an entrance for the location that is accessible at different times, perhaps for an interior mall entrance, when the main location (and other, exterior entrance) is open later than the rest of the mall.
3115
- * - An aiport may have a location with several polygons and nodes, and an instance for each node (and corrisponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside.
3142
+ * - An airport may have a location with several polygons and nodes, and an instance for each node (and corresponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside.
3116
3143
  * This would allow an application to show the location once in a search result, but offer UX to select the instance that is in the right terminal.
3117
3144
  *
3118
- * Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an `instances` property, that will always be undefined. They also do NOT have a parent proprty, or any other explicit reference to the parent location. These instances are
3145
+ * Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an `instances` property, that will always be undefined. They also do NOT have a parent property, or any other explicit reference to the parent location. These instances are
3119
3146
  * only referenced from their parent location, and will not show up in other places in the map data. However, they should otherwise behave like normal EnterpriseLocations, being targetable for things like navigation and focus.
3120
3147
  */
3121
3148
  instances?: EnterpriseLocation[] | undefined;
@@ -3193,6 +3220,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
3193
3220
  mvfData: MVFEnterpriseLocation;
3194
3221
  categoryIds: string[];
3195
3222
  locationInstances?: EnterpriseLocation[];
3223
+ parentId?: string;
3196
3224
  });
3197
3225
  get categories(): EnterpriseCategory[];
3198
3226
  get coordinates(): Coordinate[];
@@ -3220,18 +3248,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
3220
3248
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue' {
3221
3249
  import type { EnterpriseVenue as MVFEnterpriseVenue, Language } from '@mappedin/mvf';
3222
3250
  import type { Hyperlink, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3223
- import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
3251
+ import BaseMetaData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object';
3224
3252
  /**
3225
3253
  * The EnterpriseVenue class holds metadata bout the map, which includes the map name, supported languages, default language, top locations and more.
3226
3254
  * It can be accessed using the {@link MapData.getByType()} method as shown below.
3227
3255
  *
3228
3256
  * ```typescript
3229
- * const venue = mapData.getByType('venue');
3257
+ * const venue = mapData.getByType('enterprise-venue');
3230
3258
  * ```
3231
3259
  *
3232
3260
  * Refer to the [EnterpriseVenue Guide](https://developer.mappedin.com/web-sdk/enterprise-data#enterprise-venue) for more information.
3233
3261
  */
3234
- class EnterpriseVenue extends BaseMapData implements MVFEnterpriseVenue {
3262
+ class EnterpriseVenue extends BaseMetaData implements MVFEnterpriseVenue {
3235
3263
  #private;
3236
3264
  /**
3237
3265
  * @internal
@@ -3708,6 +3736,15 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
3708
3736
  */
3709
3737
  wallTopColor?: string;
3710
3738
  };
3739
+ /**
3740
+ * @experimental
3741
+ * @internal
3742
+ */
3743
+ multiFloorView?: {
3744
+ enabled?: boolean;
3745
+ floorHeight?: number;
3746
+ updateCameraElevationOnFloorChange?: boolean;
3747
+ };
3711
3748
  };
3712
3749
  /**
3713
3750
  * @internal
@@ -3801,14 +3838,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node' {
3801
3838
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
3802
3839
  import type { EnterpriseLocation, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3803
3840
  import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
3804
- import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
3841
+ import BaseMetaData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object';
3805
3842
  /**
3806
3843
  * A class representing {@link Path} node data within the map.
3807
3844
  *
3808
3845
  * Nodes are used to define points in the map's pathfinding graph.
3809
3846
  *
3810
3847
  */
3811
- class Node extends BaseMapData {
3848
+ class Node extends BaseMetaData {
3812
3849
  #private;
3813
3850
  /**
3814
3851
  * @internal
@@ -3883,8 +3920,95 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node' {
3883
3920
  export default Node;
3884
3921
  }
3885
3922
 
3923
+ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/area' {
3924
+ import type { AreaCollection } from '@mappedin/mvf';
3925
+ import { Coordinate, type MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3926
+ import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
3927
+ import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
3928
+ /**
3929
+ * An Area represents some grouping of multiple pieces of geometry, not
3930
+ * necessarily bounded by walls or any other physical feature of the map.
3931
+ *
3932
+ * Areas are currently in a preview state, and may have changes to existing
3933
+ * functionality or new features added in the future.
3934
+ */
3935
+ class Area extends BaseMapData {
3936
+ #private;
3937
+ /**
3938
+ * @internal
3939
+ */
3940
+ static readonly __type = "area";
3941
+ /**
3942
+ * @internal
3943
+ */
3944
+ readonly __type = "area";
3945
+ /**
3946
+ * Checks if the provided instance is of type Area.
3947
+ *
3948
+ * @param instance The instance to check.
3949
+ * @returns {boolean} True if the instance is a Area, false otherwise.
3950
+ */
3951
+ static is(instance: object): instance is Area;
3952
+ /**
3953
+ * @internal
3954
+ */
3955
+ constructor(data: MapDataInternal, options: {
3956
+ floorId: string;
3957
+ mvfData: AreaCollection['features'][number];
3958
+ });
3959
+ /**
3960
+ * Gets the name of the area.
3961
+ *
3962
+ * @returns {string} The name of the area.
3963
+ */
3964
+ get name(): string;
3965
+ /**
3966
+ * Gets the external identifier of the area.
3967
+ *
3968
+ * @returns {string} The external ID of the area, or an empty string if no external ID exists.
3969
+ */
3970
+ get externalId(): string;
3971
+ /**
3972
+ * Gets the description of the area.
3973
+ *
3974
+ * @returns {string} The description of the area, or an empty string if no description exists.
3975
+ */
3976
+ get description(): string;
3977
+ /**
3978
+ * Gets the center {@link Coordinate} of the area.
3979
+ *
3980
+ * @returns {Coordinate} The area's center coordinate.
3981
+ */
3982
+ get center(): Coordinate;
3983
+ /**
3984
+ * Gets the {@link Floor} object associated with the area.
3985
+ *
3986
+ * @returns {Floor} The floor object.
3987
+ * @throws Will throw an error if the floor is not found.
3988
+ */
3989
+ get floor(): Floor;
3990
+ /**
3991
+ * Serializes the space data to JSON.
3992
+ *
3993
+ * @returns An object representing the space.
3994
+ */
3995
+ toJSON(): {
3996
+ id: string;
3997
+ name: string;
3998
+ floor: string;
3999
+ };
4000
+ /**
4001
+ * Cleans up resources used by the instance.
4002
+ *
4003
+ * @internal
4004
+ */
4005
+ destroy(): void;
4006
+ }
4007
+ export default Area;
4008
+ }
4009
+
3886
4010
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
3887
- import type { EntranceCollection, Image } from '@mappedin/mvf';
4011
+ import type { EntranceCollection } from '@mappedin/mvf';
3888
4012
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
3889
4013
  import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
3890
4014
  import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
@@ -3959,12 +4083,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
3959
4083
  * @returns {string} The description of the door.
3960
4084
  */
3961
4085
  get description(): string;
3962
- /**
3963
- * Gets the images of the door.
3964
- *
3965
- * @returns {Image[]} The images of the door.
3966
- */
3967
- get images(): Image[];
3968
4086
  /**
3969
4087
  * Gets the {@link Floor} object associated with the door.
3970
4088
  *
@@ -4008,7 +4126,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
4008
4126
  }
4009
4127
 
4010
4128
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
4011
- import type { Image, SpaceCollection } from '@mappedin/mvf';
4129
+ import type { SpaceCollection } from '@mappedin/mvf';
4012
4130
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
4013
4131
  import type { EnterpriseLocation, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4014
4132
  import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
@@ -4073,12 +4191,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
4073
4191
  * @returns {string} The description of the space, or an empty string if no description exists.
4074
4192
  */
4075
4193
  get description(): string;
4076
- /**
4077
- * Gets the array of images associated with the space.
4078
- *
4079
- * @returns {Image[]} An array of Image objects, or an empty array if no images exist.
4080
- */
4081
- get images(): Image[];
4082
4194
  /**
4083
4195
  * Gets the external identifier of the space.
4084
4196
  *
@@ -4258,7 +4370,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
4258
4370
  }
4259
4371
 
4260
4372
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connection' {
4261
- import type { Feature, FeatureCollection, Image, Point, SpaceProperties, Connection as MVFConnection } from '@mappedin/mvf';
4373
+ import type { Feature, FeatureCollection, Point, SpaceProperties, Connection as MVFConnection } from '@mappedin/mvf';
4262
4374
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
4263
4375
  import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
4264
4376
  import type { Floor, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
@@ -4299,7 +4411,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
4299
4411
  */
4300
4412
  get name(): string;
4301
4413
  get description(): string;
4302
- get images(): Image[];
4303
4414
  /**
4304
4415
  * Whether the connection is accessible. For example elevators are accessible while stairs are not.
4305
4416
  *
@@ -4363,7 +4474,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
4363
4474
  }
4364
4475
 
4365
4476
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object' {
4366
- import type { Image, ObstructionCollection } from '@mappedin/mvf';
4477
+ import type { ObstructionCollection } from '@mappedin/mvf';
4367
4478
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
4368
4479
  import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4369
4480
  import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
@@ -4418,7 +4529,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object' {
4418
4529
  * @returns {string} The description of the object.
4419
4530
  */
4420
4531
  get description(): string;
4421
- get images(): Image[];
4422
4532
  /**
4423
4533
  * Gets the type of the MapObject.
4424
4534
  *
@@ -4540,7 +4650,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/poi' {
4540
4650
  import type { Floor, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4541
4651
  import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
4542
4652
  import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
4543
- import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
4544
4653
  /**
4545
4654
  * A class representing point of interest data within the map.
4546
4655
  *
@@ -4583,12 +4692,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/poi' {
4583
4692
  * @returns {string} The description of the POI.
4584
4693
  */
4585
4694
  get description(): string;
4586
- /**
4587
- * Gets the images associated with the POI.
4588
- *
4589
- * @returns {Image[]} The images associated with the POI.
4590
- */
4591
- get images(): Image[];
4592
4695
  /**
4593
4696
  * Gets the {@link Floor} object associated with the POI.
4594
4697
  *
@@ -4814,11 +4917,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image' {
4814
4917
  */
4815
4918
  get url(): string | undefined;
4816
4919
  /**
4817
- * Gets the name of the image.
4920
+ * Gets the alt text of the image.
4818
4921
  *
4819
- * @returns {string | undefined } The name of the image.
4922
+ * @returns {string | undefined } The alt text of the image.
4923
+ * @deprecated Use {@link altText} instead.
4820
4924
  */
4821
4925
  get name(): string | undefined;
4926
+ /**
4927
+ * Gets the alt text of the image.
4928
+ *
4929
+ * @returns {string | undefined } The alt text of the image.
4930
+ */
4931
+ get altText(): string | undefined;
4822
4932
  /**
4823
4933
  /**
4824
4934
  * Serializes the image data to JSON.
@@ -4914,9 +5024,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-sta
4914
5024
  }
4915
5025
 
4916
5026
  declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4917
- 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';
5027
+ 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';
4918
5028
  import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4919
- import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
5029
+ import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4920
5030
  import Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
4921
5031
  import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
4922
5032
  import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
@@ -4935,6 +5045,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4935
5045
  locationsById: Record<MVFEnterpriseLocationId, EnterpriseLocation>;
4936
5046
  categoriesById: Record<MVFEnterpriseCategoryId, EnterpriseCategory>;
4937
5047
  locationIdsByNodeId: Record<string, MVFEnterpriseLocationId[]>;
5048
+ areasById: Record<AreaId, Area>;
4938
5049
  venue: MVFEnterpriseVenue;
4939
5050
  spaceIdsByDestinationNodeId: Record<string, string[]>;
4940
5051
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
@@ -4952,9 +5063,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4952
5063
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
4953
5064
  mvfLocationsById: Record<string, MVFEnterpriseLocation>;
4954
5065
  mvfLocationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
5066
+ mvfAreasById: Record<AreaId, AreaCollection['features'][number]>;
4955
5067
  };
4956
5068
  export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "mvfFloorsById">;
4957
5069
  export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "mvfFloorStacksById">;
5070
+ export const processMVFAreas: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "areasById" | "mvfAreasById">;
4958
5071
  /**
4959
5072
  * @internal
4960
5073
  */
@@ -4964,6 +5077,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4964
5077
  mvfLocationsById: Record<string, MVFEnterpriseLocation>;
4965
5078
  mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
4966
5079
  locationsById: Record<string, EnterpriseLocation>;
5080
+ locationInstancesById: Record<string, EnterpriseLocationInstance>;
4967
5081
  categoriesById: Record<string, EnterpriseCategory>;
4968
5082
  venue: MVFEnterpriseVenue;
4969
5083
  };
@@ -4981,6 +5095,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4981
5095
  doorsByNodeId: Record<string, Door>;
4982
5096
  poisById: Record<string, PointOfInterest>;
4983
5097
  annotationsById: Record<string, Annotation>;
5098
+ areasById: Record<string, Area>;
4984
5099
  spaceIdsByDestinationNodeId: Record<string, string[]>;
4985
5100
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
4986
5101
  obstructionIdByEntranceId: Record<string, string>;
@@ -4998,10 +5113,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
4998
5113
  geometry: Point;
4999
5114
  properties: import("@mappedin/mvf").AnnotationProperties;
5000
5115
  }>;
5116
+ mvfAreasById: Record<string, import("@mappedin/mvf").Area>;
5001
5117
  };
5002
5118
  }
5003
5119
 
5004
5120
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
5121
+ import type Area from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/area';
5005
5122
  import type Door from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door';
5006
5123
  import type Floor from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor';
5007
5124
  import type Space from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
@@ -5017,7 +5134,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
5017
5134
  /**
5018
5135
  * Places are the main objects that can be searched for.
5019
5136
  */
5020
- export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation;
5137
+ export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation | Area;
5021
5138
  export type LocationWithLocale = PartialExcept<MvfEnterpriseLocation, 'id'>;
5022
5139
  export type CategoryWithLocale = PartialExcept<MvfEnterpriseCategory, 'id'>;
5023
5140
  export type LanguagePack = {
@@ -5041,6 +5158,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
5041
5158
  localePacksUrls?: LocalePackUrls;
5042
5159
  languagePacks?: LanguagePackHydrationItem[];
5043
5160
  binaryBundle?: Uint8Array;
5161
+ sasToken?: string;
5044
5162
  };
5045
5163
  }
5046
5164
 
@@ -5131,6 +5249,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
5131
5249
  import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
5132
5250
  import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src/utils/collision-ranking-tier';
5133
5251
  import { z } from 'zod';
5252
+ import type { PackedBBoxes } from '@mappedin/mappedin-js/geojson/src/systems/collisions/system';
5134
5253
  /**
5135
5254
  * State reprsenting a Marker
5136
5255
  */
@@ -5240,6 +5359,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
5240
5359
  options: Required<AddMarkerOptions>;
5241
5360
  projection: Vector2;
5242
5361
  enabled: boolean;
5362
+ offscreen: boolean;
5243
5363
  activeStrategyIndex: number;
5244
5364
  strategyIndex: number;
5245
5365
  activeBoundingBox: {
@@ -5257,7 +5377,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
5257
5377
  };
5258
5378
  dirty: boolean;
5259
5379
  collisionDirty: boolean;
5260
- visibilityNeedsUpdate: boolean;
5380
+ visibilityNeedsUpdate: 'show' | 'hide' | false;
5261
5381
  constructor(contentHtml: string, options?: AddMarkerOptions);
5262
5382
  updateDimensions(width?: number, height?: number): void;
5263
5383
  visible: boolean;
@@ -5268,16 +5388,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
5268
5388
  name: MarkerAnchor;
5269
5389
  getBoundingBox: () => number[];
5270
5390
  }[];
5271
- toJSON(): {
5391
+ toPackedMessage(lockToCurrentStrategy?: boolean): {
5272
5392
  x: number;
5273
5393
  y: number;
5274
5394
  enabled: boolean;
5275
- id: string | number;
5276
5395
  rank: number;
5277
- bboxes: {
5278
- index: number;
5279
- boundingBox: any;
5280
- }[];
5396
+ bboxes: PackedBBoxes;
5397
+ lockedToStrategyIndex: number;
5281
5398
  shouldCollideWithScreenEdges: boolean;
5282
5399
  };
5283
5400
  destroy(): void;
@@ -5501,6 +5618,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
5501
5618
  import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
5502
5619
  import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src';
5503
5620
  import { z } from 'zod';
5621
+ import type { PackedBBoxes } from '@mappedin/mappedin-js/geojson/src/systems/collisions/system';
5504
5622
  export const addLabelOptionsSchema: z.ZodObject<{
5505
5623
  rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
5506
5624
  interactive: z.ZodOptional<z.ZodBoolean>;
@@ -5947,7 +6065,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
5947
6065
  newStyle: TStyle;
5948
6066
  static testId: number;
5949
6067
  opacity: number;
5950
- visibilityNeedsUpdate: boolean;
6068
+ visibilityNeedsUpdate: 'show' | 'hide' | false;
5951
6069
  activeStrategyIndex: number;
5952
6070
  text: string;
5953
6071
  style: TStyle;
@@ -5957,6 +6075,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
5957
6075
  options: LabelOptions;
5958
6076
  visible: boolean;
5959
6077
  enabled: boolean;
6078
+ offscreen: boolean;
5960
6079
  activeBoundingBox: {
5961
6080
  x: number;
5962
6081
  y: number;
@@ -5980,21 +6099,20 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
5980
6099
  setEntity(): void;
5981
6100
  constructor(text: string, options: AddLabelOptions, state: RendererState);
5982
6101
  calculateMarkerSize(): void;
6102
+ get lowPriorityStrategyIndex(): 3 | -1;
5983
6103
  get strategies(): any[];
6104
+ animate: boolean;
5984
6105
  onStrategySelected: (strategyIndex: any) => void;
5985
6106
  updatePosition(): void;
5986
6107
  disable(): void;
5987
- toJSON(): {
6108
+ toPackedMessage(lockToCurrentStrategy?: boolean): {
5988
6109
  x: number;
5989
6110
  y: number;
5990
6111
  enabled: boolean;
5991
- id: string;
5992
6112
  rank: number;
5993
- bboxes: {
5994
- index: number;
5995
- boundingBox: any;
5996
- }[];
6113
+ bboxes: PackedBBoxes;
5997
6114
  shouldCollideWithScreenEdges: boolean;
6115
+ lockedToStrategyIndex: number;
5998
6116
  };
5999
6117
  destroy(): void;
6000
6118
  }
@@ -6119,6 +6237,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry-group' {
6119
6237
  * altitude of the geometry group
6120
6238
  */
6121
6239
  altitude?: number;
6240
+ /**
6241
+ * height of the geometry group
6242
+ */
6243
+ height?: number;
6122
6244
  };
6123
6245
  export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
6124
6246
  export class GeometryGroupObject3D extends Object3D {
@@ -6154,7 +6276,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types/geometry' {
6154
6276
  }
6155
6277
 
6156
6278
  declare module '@mappedin/mappedin-js/geojson/src/types' {
6157
- import { Mesh, Object3D, InstancedMesh } from 'three';
6279
+ import { Mesh, Object3D, InstancedMesh, Camera } from 'three';
6158
6280
  import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
6159
6281
  import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
6160
6282
  import type { GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
@@ -6168,6 +6290,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
6168
6290
  import type { ShapeState } from '@mappedin/mappedin-js/geojson/src/components/custom';
6169
6291
  import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities';
6170
6292
  import type { Group as TweenGroup } from '@tweenjs/tween.js';
6293
+ import { MaterialSide } from '@mappedin/mappedin-js/geojson/src/components/style';
6171
6294
  /**
6172
6295
  * The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
6173
6296
  */
@@ -6222,6 +6345,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
6222
6345
  outline?: boolean;
6223
6346
  showImage?: boolean;
6224
6347
  flipImageToFaceCamera?: boolean;
6348
+ side?: MaterialSide;
6225
6349
  };
6226
6350
  export type Shading = {
6227
6351
  start?: number;
@@ -6240,6 +6364,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
6240
6364
  join?: 'round' | 'bevel' | 'miter';
6241
6365
  shading?: Shading;
6242
6366
  outline?: boolean;
6367
+ side?: MaterialSide;
6243
6368
  };
6244
6369
  export type Layer = {
6245
6370
  id: string;
@@ -6455,6 +6580,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
6455
6580
  canvasHeight: number;
6456
6581
  /** Global group for all tweens */
6457
6582
  tweenGroup: TweenGroup;
6583
+ cameraObject: Camera;
6458
6584
  };
6459
6585
  }
6460
6586
 
@@ -7520,6 +7646,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
7520
7646
  export function cyrb53(str: string, seed?: number): number;
7521
7647
  export const linearEase: (t: number) => number;
7522
7648
  export const quadEaseIn: (t: number) => number;
7649
+ export const easeIn: (x: number) => number;
7523
7650
  export const quadEaseOut: (t: number) => number;
7524
7651
  export function interpolate(value: number, inputMin: number, inputMax: number, outputMin: number, outputMax: number, easeFunc?: (t: number) => number): number;
7525
7652
  export function interpolateMulti(value: number, inputRange: number[], outputRange: number[], easeFunc?: (t: number) => number): number;
@@ -7836,6 +7963,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
7836
7963
  import type { Space, Door, PointOfInterest, MapObject, Node, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
7837
7964
  import { type GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
7838
7965
  import { FloorStackObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object';
7966
+ export const FLOOR_HEIGHT = 5;
7839
7967
  export class GeojsonApiMapObject extends PubSub<{
7840
7968
  'floor-change': {
7841
7969
  reason?: TFloorChangeReason;
@@ -7854,6 +7982,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
7854
7982
  path: Path;
7855
7983
  };
7856
7984
  }> {
7985
+ #private;
7857
7986
  floorStacksById: Map<string, FloorStackObject>;
7858
7987
  floorsById: Map<string, FloorObject>;
7859
7988
  currentFloorId: string;
@@ -7869,6 +7998,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
7869
7998
  get currentFloor(): FloorObject;
7870
7999
  /** @deprecated use `currentFloorStack.floorObjects` or `floorsById` instead */
7871
8000
  get floors(): FloorObject[];
8001
+ processFloorChange(floorId: string): void;
7872
8002
  setFloor(floorId: string, reason?: TFloorChangeReason): void;
7873
8003
  Models: {
7874
8004
  add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
@@ -7980,6 +8110,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
7980
8110
  * Refer to the [Markers Guide](https://developer.mappedin.com/web-sdk/markers) for more information and interactive examples.
7981
8111
  */
7982
8112
  export class Marker {
8113
+ #private;
7983
8114
  /**
7984
8115
  * The marker's id
7985
8116
  */
@@ -7988,7 +8119,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
7988
8119
  * @internal
7989
8120
  */
7990
8121
  static readonly __type = "Marker";
7991
- readonly target: Space | Door | Coordinate | Node;
8122
+ get target(): Coordinate | Space | Door | Node;
7992
8123
  /**
7993
8124
  * @internal
7994
8125
  */
@@ -8008,6 +8139,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
8008
8139
  * @internal
8009
8140
  */
8010
8141
  constructor(id: string, contentEl: HTMLElement, target: Space | Door | Coordinate | Node);
8142
+ /**
8143
+ * @internal
8144
+ */
8145
+ updateTarget(target: Space | Door | Coordinate | Node): void;
8011
8146
  }
8012
8147
  }
8013
8148
 
@@ -8617,7 +8752,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation/index' {
8617
8752
  import { type TDirectionInstruction } from '@mappedin/mappedin-js/mappedin-js/src';
8618
8753
  import type { Directions, GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
8619
8754
  import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
8620
- import type { FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
8755
+ import type { Floor, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
8621
8756
  import { Path, Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
8622
8757
  import type { RendererCore } from '@mappedin/core-sdk';
8623
8758
  /**
@@ -8812,6 +8947,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/navigation/index' {
8812
8947
  * The current list of floor stacks along the navigation paths.
8813
8948
  */
8814
8949
  get floorStacks(): FloorStack[];
8950
+ /**
8951
+ * The current list of floors along the navigation paths.
8952
+ */
8953
+ get floors(): Floor[];
8815
8954
  /**
8816
8955
  * Sets the active path by index.
8817
8956
  */
@@ -9560,32 +9699,124 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
9560
9699
  export {};
9561
9700
  }
9562
9701
 
9702
+ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object' {
9703
+ export default abstract class BaseMetaData {
9704
+ /**
9705
+ * The identity of the map metadata.
9706
+ */
9707
+ readonly id: string;
9708
+ constructor(id: string);
9709
+ }
9710
+ }
9711
+
9563
9712
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object' {
9713
+ import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
9564
9714
  import Hyperlink from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/hyperlink';
9715
+ import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
9565
9716
  import type { Details } from '@mappedin/mvf';
9566
9717
  export default abstract class BaseMapData {
9567
9718
  /**
9568
- * identity of the map object
9719
+ * The identity of the map data.
9569
9720
  */
9570
9721
  readonly id: string;
9571
- constructor(id: string, details?: Details);
9722
+ constructor(id: string, data: MapDataInternal, details?: Details);
9572
9723
  /**
9573
9724
  * Gets the links associated with this data type.
9574
9725
  *
9575
9726
  * @returns {Hyperlink[]} The links associated with this data type
9576
9727
  */
9577
9728
  links: Hyperlink[];
9729
+ /**
9730
+ * Gets the array of images associated with this data type.
9731
+ *
9732
+ * @returns {Image[]} An array of Image objects, or an empty array if no images exist.
9733
+ */
9734
+ images: Image[];
9578
9735
  }
9579
9736
  }
9580
9737
 
9581
- declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object' {
9582
- export default abstract class BaseMetaData {
9738
+ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
9739
+ import { QuadTree } from '@packages/internal/quad-tree';
9740
+ import './style.scss';
9741
+ import type { MarkerComponent } from '@mappedin/mappedin-js/geojson/src/components/marker';
9742
+ import type LabelComponent from '@mappedin/mappedin-js/geojson/src/components/label';
9743
+ import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
9744
+ import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
9745
+ import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor';
9746
+ import type { WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
9747
+ export type TMessageEvent = MessageEvent<{
9748
+ msgId: string;
9749
+ colliders: TSerializedColliderResponse[];
9750
+ debug: {
9751
+ x: number;
9752
+ y: number;
9753
+ w: number;
9754
+ h: number;
9755
+ }[];
9756
+ }>;
9757
+ export type TMessage = {
9758
+ msgId: string;
9759
+ totalWidth: number;
9760
+ totalHeight: number;
9761
+ watermarkWidth: number;
9762
+ watermarkHeight: number;
9763
+ watermarkPosition: WatermarkPosition;
9764
+ colliders: TSerializedCollider[];
9765
+ devicePixelRatio: number;
9766
+ };
9767
+ type TCollisionSystemEvent = {
9768
+ 'visibility-changed': undefined;
9769
+ };
9770
+ export type PackedBBox = [x: number, y: number, w: number, h: number, index: number];
9771
+ export type PackedBBoxes = PackedBBox[];
9772
+ export type PackedCollider = [
9773
+ bboxes: PackedBBoxes,
9774
+ enabled: 0 | 1,
9775
+ alwaysVisible: 0 | 1,
9776
+ x: number,
9777
+ y: number,
9778
+ shouldCollideWithScreenEdges?: 0 | 1,
9779
+ onlyExposeStrategyIndex?: number
9780
+ ];
9781
+ export type PackedMessage = [
9782
+ colliders: PackedCollider[],
9783
+ devicePixelRatio: number,
9784
+ totalHeight: number,
9785
+ totalWidth: number,
9786
+ watermarkWidth: number,
9787
+ watermarkHeight: number,
9788
+ watermarkPosition: WatermarkPosition
9789
+ ];
9790
+ export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
9791
+ collidersDirty: boolean;
9792
+ packedMessage: PackedMessage;
9793
+ visibleCollidersQTree: QuadTree<{
9794
+ entityId: string | number;
9795
+ }>;
9796
+ interactiveCollidersQTree: QuadTree<{
9797
+ entityId: string | number;
9798
+ }>;
9799
+ coreState: RendererState;
9800
+ constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
9801
+ postMessage: () => void;
9802
+ showCollisionBoxes: () => void;
9803
+ hideCollisionBoxes: () => void;
9804
+ currentMsgId: string;
9805
+ working: boolean;
9806
+ componentArray: (MarkerComponent | LabelComponent)[];
9807
+ update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition, useAllStrategies?: boolean) => void;
9808
+ resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
9583
9809
  /**
9584
- * identity of the map object
9810
+ * Resolve collisions
9585
9811
  */
9586
- readonly id: string;
9587
- constructor(id: string);
9812
+ resolve: (e: MessageEvent<{
9813
+ msgId: string;
9814
+ colliders: TSerializedColliderResponse[];
9815
+ }>) => void;
9816
+ drawDebug: () => void;
9817
+ destroy: () => void;
9588
9818
  }
9819
+ export {};
9589
9820
  }
9590
9821
 
9591
9822
  declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
@@ -9923,6 +10154,62 @@ declare module '@mappedin/mappedin-js/geojson/src/entities' {
9923
10154
  export { Geometry3D, Geometry3DComponents, type PathMesh, type PatMeshContainer, type PathMaterial, } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
9924
10155
  }
9925
10156
 
10157
+ declare module '@mappedin/mappedin-js/geojson/src/components/style' {
10158
+ import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
10159
+ export const DEFAULT_COLOR = "#ffffff";
10160
+ export const DEFAULT_HEIGHT = 0.1;
10161
+ /**
10162
+ * Determines how a material is rendered, back face, front face or both (default)
10163
+ */
10164
+ export type MaterialSide = 'back' | 'front' | 'double';
10165
+ type Style = {
10166
+ color: string;
10167
+ width: number;
10168
+ opacity: number;
10169
+ visible: boolean;
10170
+ height: number;
10171
+ altitude: number;
10172
+ join: LineStyle['join'];
10173
+ cap: LineStyle['cap'];
10174
+ topColor?: string;
10175
+ texture?: string;
10176
+ topTexture?: string;
10177
+ outline: boolean;
10178
+ showImage: boolean;
10179
+ showTextLabel: boolean;
10180
+ flipImageToFaceCamera: boolean;
10181
+ flipTextToFaceCamera: boolean;
10182
+ url?: string;
10183
+ side?: MaterialSide;
10184
+ };
10185
+ export class StyleComponent implements Style {
10186
+ initialColor: string;
10187
+ color: string;
10188
+ topColor?: string;
10189
+ topTexture?: string;
10190
+ texture?: string;
10191
+ hoverColor?: string;
10192
+ dirty: boolean;
10193
+ visible: boolean;
10194
+ opacity: number;
10195
+ width: number;
10196
+ height: number;
10197
+ initialHeight: number;
10198
+ altitude: number;
10199
+ join: LineStyle['join'];
10200
+ cap: LineStyle['cap'];
10201
+ outline: boolean;
10202
+ showImage: boolean;
10203
+ showTextLabel: boolean;
10204
+ flipImageToFaceCamera: boolean;
10205
+ flipTextToFaceCamera: boolean;
10206
+ url?: string;
10207
+ side: MaterialSide;
10208
+ constructor(style?: Partial<Style>);
10209
+ }
10210
+ export {};
10211
+ }
10212
+
9926
10213
  declare module '@mappedin/mappedin-js/geojson/src/types/options' {
9927
10214
  import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
9928
10215
  import type { Map as MapLibreMap } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
@@ -10051,82 +10338,6 @@ declare module '@mappedin/mappedin-js/packages/common/pubsub' {
10051
10338
  }
10052
10339
  }
10053
10340
 
10054
- declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/system' {
10055
- import { QuadTree } from '@packages/internal/quad-tree';
10056
- import './style.scss';
10057
- import type { MarkerComponent } from '@mappedin/mappedin-js/geojson/src/components/marker';
10058
- import type LabelComponent from '@mappedin/mappedin-js/geojson/src/components/label';
10059
- import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
10060
- import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
10061
- import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor';
10062
- import type { WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
10063
- export type TMessageEvent = MessageEvent<{
10064
- msgId: string;
10065
- colliders: TSerializedColliderResponse[];
10066
- debug: {
10067
- x: number;
10068
- y: number;
10069
- w: number;
10070
- h: number;
10071
- }[];
10072
- }>;
10073
- export type TMessage = {
10074
- msgId: string;
10075
- totalWidth: number;
10076
- totalHeight: number;
10077
- watermarkWidth: number;
10078
- watermarkHeight: number;
10079
- watermarkPosition: WatermarkPosition;
10080
- colliders: TSerializedCollider[];
10081
- devicePixelRatio: number;
10082
- };
10083
- type TCollisionSystemEvent = {
10084
- 'visibility-changed': undefined;
10085
- };
10086
- export type PackedBBox = [x: number, y: number, w: number, h: number];
10087
- export type PackedBBoxes = PackedBBox[];
10088
- export type PackedCollider = [bboxes: PackedBBoxes, enabled: 0 | 1, alwaysVisible: 0 | 1, x: number, y: number];
10089
- export type PackedMessage = [
10090
- colliders: PackedCollider[],
10091
- devicePixelRatio: number,
10092
- totalHeight: number,
10093
- totalWidth: number,
10094
- watermarkWidth: number,
10095
- watermarkHeight: number,
10096
- watermarkPosition: WatermarkPosition
10097
- ];
10098
- export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
10099
- dirty: boolean;
10100
- packedMessage: PackedMessage;
10101
- visibleCollidersQTree: QuadTree<{
10102
- entityId: string | number;
10103
- }>;
10104
- interactiveCollidersQTree: QuadTree<{
10105
- entityId: string | number;
10106
- }>;
10107
- coreState: RendererState;
10108
- constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
10109
- postMessage: () => void;
10110
- showCollisionBoxes: () => void;
10111
- hideCollisionBoxes: () => void;
10112
- currentMsgId: string;
10113
- working: boolean;
10114
- componentArray: (MarkerComponent | LabelComponent)[];
10115
- update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition) => void;
10116
- resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
10117
- /**
10118
- * Resolve collisions
10119
- */
10120
- resolve: (e: MessageEvent<{
10121
- msgId: string;
10122
- colliders: TSerializedColliderResponse[];
10123
- }>) => void;
10124
- drawDebug: () => void;
10125
- destroy: () => void;
10126
- }
10127
- export {};
10128
- }
10129
-
10130
10341
  declare module '@mappedin/mappedin-js/geojson/src/systems/interactions' {
10131
10342
  export { InteractionSystem } from '@mappedin/mappedin-js/geojson/src/systems/interactions/system';
10132
10343
  }
@@ -10204,6 +10415,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-projection/system'
10204
10415
  declare module '@mappedin/mappedin-js/geojson/src/systems/2d-draw/system' {
10205
10416
  import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
10206
10417
  import LabelComponent from '@mappedin/mappedin-js/geojson/src/components/label';
10418
+ export const INACTIVE_MARKER_SIZE_NO_ICON = 3.5;
10207
10419
  enum TEXTALIGN {
10208
10420
  LEFT = "left",
10209
10421
  CENTER = "center",
@@ -10278,10 +10490,11 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-visibility/system'
10278
10490
  }> {
10279
10491
  state: RendererState;
10280
10492
  constructor(state: RendererState);
10281
- animating: Map<LabelComponent, number>;
10493
+ animating: Map<LabelComponent, [number, number]>;
10282
10494
  isAnimating: boolean;
10283
10495
  startTime: number;
10284
- duration: number;
10496
+ showDuration: number;
10497
+ hideDuration: number;
10285
10498
  update: () => void;
10286
10499
  playAnimations: () => void;
10287
10500
  _playAnimations(): void;
@@ -10324,6 +10537,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/dom-draw/system' {
10324
10537
  import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
10325
10538
  export const ANIMATION_DURATION = 300;
10326
10539
  export class DOMDrawSystem {
10540
+ #private;
10327
10541
  state: RendererState;
10328
10542
  constructor(state: RendererState);
10329
10543
  update(isUserInteracting: boolean): void;
@@ -10796,10 +11010,15 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
10796
11010
  }
10797
11011
 
10798
11012
  declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object' {
10799
- import type { FloorProperties as MVFFloor, ParsedMVF } from '@mappedin/mvf';
11013
+ import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
10800
11014
  import type { RendererCore } from '@mappedin/core-sdk';
10801
11015
  import type { AggregatedStyleMap } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils';
10802
11016
  import type { TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
11017
+ class Layer {
11018
+ containerId: string;
11019
+ layers: Map<string, string>;
11020
+ constructor(containerId: string, layers?: Map<any, any>);
11021
+ }
10803
11022
  export class FloorObject implements MVFFloor {
10804
11023
  id: string;
10805
11024
  name?: string;
@@ -10809,11 +11028,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object'
10809
11028
  metadata?: Partial<Record<string, unknown>> | undefined;
10810
11029
  shortName?: string | undefined;
10811
11030
  subtitle?: string | undefined;
10812
- layers: Map<string, string>;
11031
+ layers: Map<string, Layer>;
11032
+ footprint?: Feature<Polygon | MultiPolygon | null, MVFFloor>;
10813
11033
  floorStackId: string;
10814
- constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
11034
+ constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
10815
11035
  load: () => this;
10816
11036
  }
11037
+ export {};
10817
11038
  }
10818
11039
 
10819
11040
  declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
@@ -10879,54 +11100,33 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-ob
10879
11100
  }
10880
11101
  }
10881
11102
 
10882
- declare module '@mappedin/mappedin-js/geojson/src/components/style' {
10883
- import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
10884
- export const DEFAULT_COLOR = "#ffffff";
10885
- export const DEFAULT_HEIGHT = 0.1;
10886
- type Style = {
10887
- color: string;
10888
- width: number;
10889
- opacity: number;
10890
- visible: boolean;
10891
- height: number;
10892
- altitude: number;
10893
- join: LineStyle['join'];
10894
- cap: LineStyle['cap'];
10895
- topColor?: string;
10896
- texture?: string;
10897
- topTexture?: string;
10898
- outline: boolean;
10899
- showImage: boolean;
10900
- showTextLabel: boolean;
10901
- flipImageToFaceCamera: boolean;
10902
- flipTextToFaceCamera: boolean;
10903
- url?: string;
11103
+ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor' {
11104
+ import { Rectangle } from '@packages/internal/quad-tree';
11105
+ export type TSerializedCollider = {
11106
+ rank: number;
11107
+ enabled: boolean;
11108
+ x: number;
11109
+ y: number;
11110
+ bboxes: {
11111
+ index: number;
11112
+ boundingBox: [number, number, number, number];
11113
+ boundingRect?: Rectangle;
11114
+ }[];
11115
+ shouldCollideWithScreenEdges?: boolean;
11116
+ lockedToStrategyIndex?: number;
11117
+ visible?: boolean;
11118
+ };
11119
+ export type TSerializedColliderResponse = [number, 1 | 0, Rectangle?];
11120
+ export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
11121
+ msgId: string;
11122
+ colliders: TSerializedColliderResponse[];
11123
+ debug: {
11124
+ x: number;
11125
+ y: number;
11126
+ w: number;
11127
+ h: number;
11128
+ }[];
10904
11129
  };
10905
- export class StyleComponent implements Style {
10906
- initialColor: string;
10907
- color: string;
10908
- topColor?: string;
10909
- topTexture?: string;
10910
- texture?: string;
10911
- hoverColor?: string;
10912
- dirty: boolean;
10913
- visible: boolean;
10914
- opacity: number;
10915
- width: number;
10916
- height: number;
10917
- initialHeight: number;
10918
- altitude: number;
10919
- join: LineStyle['join'];
10920
- cap: LineStyle['cap'];
10921
- outline: boolean;
10922
- showImage: boolean;
10923
- showTextLabel: boolean;
10924
- flipImageToFaceCamera: boolean;
10925
- flipTextToFaceCamera: boolean;
10926
- url?: string;
10927
- constructor(style?: Partial<Style>);
10928
- }
10929
- export {};
10930
11130
  }
10931
11131
 
10932
11132
  declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
@@ -10944,7 +11144,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
10944
11144
  export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
10945
11145
  export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
10946
11146
  export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
10947
- export function updateHeight(entity: Geometry3D, update?: number): boolean;
11147
+ export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
10948
11148
  export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
10949
11149
  export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
10950
11150
  export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
@@ -10965,33 +11165,6 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
10965
11165
  export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
10966
11166
  }
10967
11167
 
10968
- declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor' {
10969
- import { Rectangle } from '@packages/internal/quad-tree';
10970
- export type TSerializedCollider = {
10971
- rank: number;
10972
- enabled: boolean;
10973
- x: number;
10974
- y: number;
10975
- bboxes: {
10976
- index: number;
10977
- boundingBox: [number, number, number, number];
10978
- boundingRect?: Rectangle;
10979
- }[];
10980
- shouldCollideWithScreenEdges?: boolean;
10981
- };
10982
- export type TSerializedColliderResponse = [number, boolean, Rectangle?];
10983
- export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
10984
- msgId: string;
10985
- colliders: TSerializedColliderResponse[];
10986
- debug: {
10987
- x: number;
10988
- y: number;
10989
- w: number;
10990
- h: number;
10991
- }[];
10992
- };
10993
- }
10994
-
10995
11168
  declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
10996
11169
  import type { PerspectiveCamera, Vector3, Object3D, Mesh } from 'three';
10997
11170
  import { Raycaster } from 'three';
@@ -11043,7 +11216,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
11043
11216
  entityId: Geometry2D['id'];
11044
11217
  }>;
11045
11218
  _container: HTMLCanvasElement;
11046
- constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, cameraPlane: Mesh);
11219
+ constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, cameraPlane: Mesh, isUserInteracting: () => boolean);
11047
11220
  updateQuadtree(takeIT: QuadTree<{
11048
11221
  entityId: Geometry2D['id'];
11049
11222
  }>): void;
@@ -11123,6 +11296,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/camera/system' {
11123
11296
  #private;
11124
11297
  dirty: boolean;
11125
11298
  zoomDirty: boolean;
11299
+ rotationDirty: boolean;
11126
11300
  /**
11127
11301
  * Factor that controls how fast zooming in and out happens in response to mouse wheel events
11128
11302
  *