@mappedin/react-sdk 6.0.1-beta.40 → 6.0.1-beta.42

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.
@@ -406,7 +406,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
406
406
  export { parseMVF, unzipMVF, enableTestMode, preloadFont, MAPPEDIN_COLORS };
407
407
  export type { MapView, MapData, MapViewState, MappedinMapLibreOverlay, TMappedinMapLibreOverlayEvents, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, UpdateModelState, InitializeModelState, };
408
408
  export type * from 'geojson';
409
- export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, } from '@mappedin/react-sdk/mappedin-js/src/types';
409
+ export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TFloorState, TFacadeState, } from '@mappedin/react-sdk/mappedin-js/src/types';
410
410
  export { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
411
411
  export type { Label, Marker, Path, PathSegment, Shape, CameraTransform, Model, Image, Text3D, } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
412
412
  export type { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
@@ -1639,7 +1639,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1639
1639
  * // Update the color of a space to red.
1640
1640
  * map.updateState(space, { color: 'red' });
1641
1641
  */
1642
- updateState<T extends Space | Text3DView | MapObject | Label | Marker | Shape | Door | Facade | WALLS | DOORS | Model | Path | PathSegment>(target: T, state: TUpdateState<T>): any;
1642
+ updateState<T extends Space | Text3DView | MapObject | Label | Marker | Shape | Door | Facade | Floor | WALLS | DOORS | Model | Path | PathSegment>(target: T, state: TUpdateState<T>): any;
1643
1643
  updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
1644
1644
  /**
1645
1645
  * Update global state of the MapView
@@ -1707,7 +1707,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1707
1707
  * @hidden
1708
1708
  */
1709
1709
  updateWatermark(options: WatermarkUpdateOptions): void;
1710
- getState<T extends Space | Model | Text3DView | MapObject | Label | Marker | Image | Shape | Path | PathSegment | string>(target: T): TGetState<T>;
1710
+ getState<T extends Space | Model | Text3DView | MapObject | Label | Marker | Image | Shape | Path | PathSegment | Floor | string>(target: T): TGetState<T>;
1711
1711
  setHoverColor(c: string): void;
1712
1712
  getHoverColor(): string | undefined;
1713
1713
  /**
@@ -2309,6 +2309,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2309
2309
  */
2310
2310
  opacity: number;
2311
2311
  };
2312
+ export type TFacadeState = {
2313
+ type: 'facade';
2314
+ /**
2315
+ * The opacity of the facade.
2316
+ */
2317
+ opacity: number;
2318
+ };
2312
2319
  /**
2313
2320
  * Defines the state for geometry elements like {@link Space} when updated.
2314
2321
  */
@@ -2356,6 +2363,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2356
2363
  };
2357
2364
  flipImageToFaceCamera?: boolean;
2358
2365
  };
2366
+ export type TFloorState = {
2367
+ type: 'floor';
2368
+ /**
2369
+ * State of the geometry on the floor.
2370
+ */
2371
+ geometry: {
2372
+ /**
2373
+ * Opacity of the floor geometry.
2374
+ */
2375
+ opacity: number;
2376
+ };
2377
+ };
2359
2378
  export enum WALLS {
2360
2379
  Exterior = "exterior-walls",
2361
2380
  Interior = "interior-walls"
@@ -2367,9 +2386,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2367
2386
  /**
2368
2387
  * The type for updating the state of map elements (colors, texts, etc.).
2369
2388
  */
2370
- export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS | Door ? Partial<TDoorsState> : T extends Model ? Partial<UpdateModelState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject | Facade ? Partial<TGeometryState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Text3D ? UpdatableText3DState : T extends Path ? Partial<TPathState> : T extends PathSegment ? Partial<TPathState> : T extends string ? Record<string, any> : never;
2389
+ export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS | Door ? Partial<TDoorsState> : T extends Model ? Partial<UpdateModelState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Floor ? Partial<TFloorState> : T extends Facade ? Partial<TFacadeState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Text3D ? UpdatableText3DState : T extends Path ? Partial<TPathState> : T extends PathSegment ? Partial<TPathState> : T extends string ? Record<string, any> : never;
2371
2390
  export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState> | Partial<TPathState>;
2372
- export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Text3D ? Text3DState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends Path ? TPathState | undefined : T extends PathSegment ? TPathState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | TPathState | undefined : never;
2391
+ export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Text3D ? Text3DState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends Floor ? TFloorState | undefined : T extends Facade ? TFacadeState | undefined : T extends Path ? TPathState | undefined : T extends PathSegment ? TPathState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | TPathState | undefined : never;
2373
2392
  /**
2374
2393
  * Options for {@link Camera} animations on the map.
2375
2394
  */
@@ -2545,6 +2564,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2545
2564
  * @defaultValue 0.4
2546
2565
  */
2547
2566
  farRadius?: number;
2567
+ /**
2568
+ * The zoom level at which the path should be at its near radius. This will default to the Camera maxZoomLevel.
2569
+ */
2570
+ nearZoomLevel?: number;
2571
+ /**
2572
+ * The zoom level at which the path should be at its far radius. This will default to the Camera minZoomLevel.
2573
+ */
2574
+ farZoomLevel?: number;
2548
2575
  /**
2549
2576
  * Duration of path drawing in milliseconds.
2550
2577
  *
@@ -3046,6 +3073,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
3046
3073
  }
3047
3074
 
3048
3075
  declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
3076
+ export const FLOOR_HEIGHT = 10;
3049
3077
  /**
3050
3078
  * Default map options used if no custom options are provided.
3051
3079
  *
@@ -3067,6 +3095,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
3067
3095
  mode: "default";
3068
3096
  };
3069
3097
  flipImagesToFaceCamera: true;
3098
+ multiFloorView: {
3099
+ enabled: false;
3100
+ floorHeight: number;
3101
+ };
3070
3102
  };
3071
3103
  export const EXTERIOR_WALLS_ID = "ExteriorWalls";
3072
3104
  export const WALLS_ID = "Walls";
@@ -3079,6 +3111,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
3079
3111
  export const FOOTPRINT_LAYER = "FootprintLayer";
3080
3112
  export const OCCLUSION_LAYER = "OcclusionLayer";
3081
3113
  export const IMAGES_LAYER = "ImagesLayer";
3114
+ export const FACADES_LAYER = "FacadesLayer";
3082
3115
  export const SELF_SERVE_API_AUDIENCE: string[];
3083
3116
  export const ENTERPRISE_API_AUDIENCE: string[];
3084
3117
  export const MAPPEDIN_COLORS: {
@@ -3506,11 +3539,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3506
3539
  * @default 0.25
3507
3540
  */
3508
3541
  nearRadius?: number;
3542
+ /**
3543
+ * The zoom level at which the path should be at its near radius. This will default to the Camera maxZoomLevel.
3544
+ */
3545
+ nearZoomLevel?: number;
3509
3546
  /**
3510
3547
  * The radius of the path far from the markers.
3511
3548
  * @default 1
3512
3549
  */
3513
3550
  farRadius?: number;
3551
+ /**
3552
+ * The zoom level at which the path should be at its far radius. This will default to the Camera minZoomLevel.
3553
+ */
3554
+ farZoomLevel?: number;
3514
3555
  /**
3515
3556
  * Controls whether arrows are displayed on the path.
3516
3557
  * @default false
@@ -3552,11 +3593,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3552
3593
  * @default 0.25
3553
3594
  */
3554
3595
  nearRadius?: number;
3596
+ /**
3597
+ * The zoom level at which the path should be at its near radius. This will default to the Camera maxZoomLevel.
3598
+ */
3599
+ nearZoomLevel?: number;
3555
3600
  /**
3556
3601
  * The radius of the path far from the markers.
3557
3602
  * @default 1
3558
3603
  */
3559
3604
  farRadius?: number;
3605
+ /**
3606
+ * The zoom level at which the path should be at its far radius. This will default to the Camera minZoomLevel.
3607
+ */
3608
+ farZoomLevel?: number;
3560
3609
  /**
3561
3610
  * Controls whether arrows are displayed on the path.
3562
3611
  * @default false
@@ -6409,10 +6458,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6409
6458
  * The radius of the path when zoomed in
6410
6459
  */
6411
6460
  nearRadius: number;
6461
+ /**
6462
+ * The zoom level at which the near radius is applied
6463
+ */
6464
+ nearZoomLevel?: number;
6412
6465
  /**
6413
6466
  * The radius of the path when zoomed out
6414
6467
  */
6415
6468
  farRadius: number;
6469
+ /**
6470
+ * The zoom level at which the far radius is applied
6471
+ */
6472
+ farZoomLevel?: number;
6416
6473
  };
6417
6474
  export type AddPathOptions = {
6418
6475
  /**
@@ -6428,10 +6485,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6428
6485
  * The radius of the path when zoomed in
6429
6486
  */
6430
6487
  nearRadius?: number;
6488
+ /**
6489
+ * The zoom level at which the near radius is applied
6490
+ */
6491
+ nearZoomLevel?: number;
6431
6492
  /**
6432
6493
  * The radius of the path when zoomed out
6433
6494
  */
6434
6495
  farRadius?: number;
6496
+ /**
6497
+ * The zoom level at which the far radius is applied
6498
+ */
6499
+ farZoomLevel?: number;
6435
6500
  /**
6436
6501
  * The color of the path.
6437
6502
  */
@@ -6457,6 +6522,8 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6457
6522
  accentColor: z.ZodOptional<z.ZodString>;
6458
6523
  displayArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
6459
6524
  animateArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
6525
+ nearZoomLevel: z.ZodOptional<z.ZodNumber>;
6526
+ farZoomLevel: z.ZodOptional<z.ZodNumber>;
6460
6527
  }, "strip", z.ZodTypeAny, {
6461
6528
  id?: string | undefined;
6462
6529
  interactive?: boolean | undefined;
@@ -6464,7 +6531,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6464
6531
  displayArrowsOnPath?: boolean | undefined;
6465
6532
  animateArrowsOnPath?: boolean | undefined;
6466
6533
  nearRadius?: number | undefined;
6534
+ nearZoomLevel?: number | undefined;
6467
6535
  farRadius?: number | undefined;
6536
+ farZoomLevel?: number | undefined;
6468
6537
  }, {
6469
6538
  id?: string | undefined;
6470
6539
  interactive?: boolean | undefined;
@@ -6472,7 +6541,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6472
6541
  displayArrowsOnPath?: boolean | undefined;
6473
6542
  animateArrowsOnPath?: boolean | undefined;
6474
6543
  nearRadius?: number | undefined;
6544
+ nearZoomLevel?: number | undefined;
6475
6545
  farRadius?: number | undefined;
6546
+ farZoomLevel?: number | undefined;
6476
6547
  }>;
6477
6548
  export const featureSchema: z.ZodObject<{
6478
6549
  type: z.ZodEnum<["Feature"]>;
@@ -6524,6 +6595,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
6524
6595
  options: AddPathOptions;
6525
6596
  nearRadius: number;
6526
6597
  farRadius: number;
6598
+ nearZoomLevel?: number;
6599
+ farZoomLevel?: number;
6600
+ nearZoomAltitude?: number;
6601
+ farZoomAltitude?: number;
6527
6602
  accentColor: string;
6528
6603
  completeFraction: number;
6529
6604
  altitudeAdjustment: number;
@@ -7127,6 +7202,10 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
7127
7202
  */
7128
7203
  altitude: number;
7129
7204
  interactive: boolean;
7205
+ /**
7206
+ * The opacity of the group container, which sets the opacity of all its children
7207
+ */
7208
+ opacity: number;
7130
7209
  };
7131
7210
  export class GroupContainerObject3D extends Object3D {
7132
7211
  childrenIds: Set<string | number>;
@@ -7139,6 +7218,9 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
7139
7218
  occluderDirty: boolean;
7140
7219
  occluderId?: number;
7141
7220
  occluderFeature?: Feature<Polygon | MultiPolygon, any>;
7221
+ opacity: number;
7222
+ /** The effective opacity of the entity after all parent containers have been considered. */
7223
+ computedOpacity: number;
7142
7224
  };
7143
7225
  components: [StackComponent?, InteractionComponent?];
7144
7226
  constructor(id: string);
@@ -7148,6 +7230,8 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
7148
7230
  setVisible(visible: boolean): void;
7149
7231
  setAltitude(altitude: number): void;
7150
7232
  get altitude(): number;
7233
+ setOpacity(opacity: number): void;
7234
+ get opacity(): number;
7151
7235
  }
7152
7236
  }
7153
7237
 
@@ -7587,6 +7671,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
7587
7671
  tweenGroup: TweenGroup;
7588
7672
  cameraObject: Camera;
7589
7673
  naturalBearing: number;
7674
+ containerOffset: [number, number];
7590
7675
  };
7591
7676
  /**
7592
7677
  * All of the entities in the scene
@@ -8440,7 +8525,10 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
8440
8525
  /**
8441
8526
  * Project a screen coordinate to a geographic coordinate
8442
8527
  */
8443
- projectScreenXYToCoordinate: (x: number, y: number) => Position | undefined;
8528
+ projectScreenXYToCoordinate: (x: number, y: number, useWorldPlane?: boolean) => {
8529
+ coordinate: Position;
8530
+ groupContainers: GroupContainerObject3D[] | undefined;
8531
+ } | undefined;
8444
8532
  /**
8445
8533
  * Project a geographic coordinate to a screen coordinate
8446
8534
  */
@@ -8588,7 +8676,6 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
8588
8676
  }
8589
8677
 
8590
8678
  declare module '@mappedin/react-sdk/geojson/src/camera' {
8591
- import type { Mesh } from 'three';
8592
8679
  import { Vector3 } from 'three';
8593
8680
  import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
8594
8681
  import type { Position as GeoJSONPosition } from 'geojson';
@@ -8631,7 +8718,7 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
8631
8718
  /**
8632
8719
  * @internal
8633
8720
  */
8634
- constructor(core: RendererCore, systems: Systems, state: RendererState, cameraPlane: Mesh);
8721
+ constructor(core: RendererCore, systems: Systems, state: RendererState);
8635
8722
  /**
8636
8723
  * The camera's current center in [longitude, latitude] degrees.
8637
8724
  */
@@ -9269,10 +9356,12 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
9269
9356
  import type { Object3D, Camera as THREECamera } from 'three';
9270
9357
  import { MercatorCoordinate } from '@mappedin/react-sdk/packages/outdoor-context-v4';
9271
9358
  import type { CustomLayerInterface } from '@mappedin/react-sdk/packages/outdoor-context-v4';
9272
- import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
9359
+ import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
9273
9360
  import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
9361
+ import type { Geometry3DTypes } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
9274
9362
  import type { Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
9275
9363
  import type { Camera } from '@mappedin/react-sdk/geojson/src/camera';
9364
+ import { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
9276
9365
  export { isFiniteBox } from '@packages/internal/common';
9277
9366
  export function cartesianToGeographic(centerLat: number, centerLon: number, x: number, y: number): {
9278
9367
  lat: number;
@@ -9348,6 +9437,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
9348
9437
  export { transformRequest } from '@mappedin/react-sdk/geojson/src/utils/tranform-request';
9349
9438
  export { normalizeAngle } from '@mappedin/react-sdk/geojson/src/utils/math';
9350
9439
  export function shouldExpandZoomLevel(minZoomFromCurrentPanBounds: number, cameraZoomLevel: number): boolean;
9440
+ export function getGroupContainerOpacity(entity: Geometry3DTypes | GeometryGroupObject3D): number;
9351
9441
  }
9352
9442
 
9353
9443
  declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
@@ -9586,64 +9676,71 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
9586
9676
  import { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
9587
9677
  import { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
9588
9678
  export class GeoJsonApi {
9589
- core: RendererCore;
9590
- mapObjects: GeojsonApiMapObject[];
9591
- id: string;
9592
- mapDataExternal: {
9593
- [key in string]: MapData;
9594
- };
9595
- mapData?: MapData;
9596
- currentMap: GeojsonApiMapObject;
9597
- hiddenOutdoorGeometries: [
9598
- BBox,
9599
- polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
9600
- layers: string[]
9601
- ][];
9602
- mapView: MapView;
9603
- Camera: Camera;
9604
- Labels: Labels;
9605
- Text3D: Text3D;
9606
- Markers: Markers;
9607
- Models: Models;
9608
- Paths: Paths;
9609
- Exporter: Exporter;
9610
- Navigation: Navigation;
9611
- Outdoor: Outdoor;
9612
- BlueDot: BlueDot;
9613
- Shapes: Shapes;
9614
- Style: Style;
9615
- Images: Images;
9616
- get DynamicFocus(): import("..").DynamicFocus;
9617
- get StackedMaps(): import("..").StackedMaps;
9618
- constructor(rendererCore: RendererCore, mapView: MapView);
9619
- updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Model | Door | Facade | WALLS | DOORS | Path | PathSegment | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
9620
- update: () => void;
9621
- getMapDataInternal(): MapDataInternal | undefined;
9622
- getMapData(): MapData | undefined;
9623
- addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
9624
- setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
9625
- setFloorStack(floorStack: FloorStack | string): void;
9626
- updateWatermark(options: WatermarkUpdateOptions): void;
9627
- get currentFloorStack(): FloorStack;
9628
- get currentFloor(): Floor;
9629
- getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | Model | Path | PathSegment | string>(target: T): TGetState<T>;
9630
- setHoverColor(c: string): void;
9631
- getHoverColor(): string | undefined;
9632
- createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
9633
- getScreenCoordinateFromCoordinate(coordinate: Coordinate): {
9634
- x: number;
9635
- y: number;
9636
- };
9637
- isInView(target: Space | MapObject | Label | Marker | string): boolean;
9638
- auto(): {
9639
- labels: Label[];
9640
- };
9641
- /**
9642
- * @internal
9643
- */
9644
- get __core(): RendererCore;
9645
- clear(): void;
9646
- destroy(): void;
9679
+ core: RendererCore;
9680
+ mapObjects: GeojsonApiMapObject[];
9681
+ id: string;
9682
+ mapDataExternal: {
9683
+ [key in string]: MapData;
9684
+ };
9685
+ mapData?: MapData;
9686
+ currentMap: GeojsonApiMapObject;
9687
+ hiddenOutdoorGeometries: [
9688
+ BBox,
9689
+ polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
9690
+ layers: string[]
9691
+ ][];
9692
+ mapView: MapView;
9693
+ Camera: Camera;
9694
+ Labels: Labels;
9695
+ Text3D: Text3D;
9696
+ Markers: Markers;
9697
+ Models: Models;
9698
+ Paths: Paths;
9699
+ Exporter: Exporter;
9700
+ Navigation: Navigation;
9701
+ Outdoor: Outdoor;
9702
+ BlueDot: BlueDot;
9703
+ Shapes: Shapes;
9704
+ Style: Style;
9705
+ Images: Images;
9706
+ get DynamicFocus(): import("..").DynamicFocus;
9707
+ get StackedMaps(): import("..").StackedMaps;
9708
+ constructor(rendererCore: RendererCore, mapView: MapView);
9709
+ updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Model | Door | Facade | Floor | WALLS | DOORS | Path | PathSegment | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
9710
+ update: () => void;
9711
+ getMapDataInternal(): MapDataInternal | undefined;
9712
+ getMapData(): MapData | undefined;
9713
+ addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
9714
+ setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
9715
+ setFloorStack(floorStack: FloorStack | string): void;
9716
+ updateWatermark(options: WatermarkUpdateOptions): void;
9717
+ get currentFloorStack(): FloorStack;
9718
+ get currentFloor(): Floor;
9719
+ getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | Model | Path | PathSegment | Floor | Facade | string>(target: T): TGetState<T>;
9720
+ setHoverColor(c: string): void;
9721
+ getHoverColor(): string | undefined;
9722
+ /**
9723
+ * Create a coordinate from a screen coordinate
9724
+ * @param x - The x coordinate of the screen
9725
+ * @param y - The y coordinate of the screen
9726
+ * @param floor - The floor to use for the coordinate
9727
+ * @returns The coordinate
9728
+ */
9729
+ createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
9730
+ getScreenCoordinateFromCoordinate(coordinate: Coordinate): {
9731
+ x: number;
9732
+ y: number;
9733
+ };
9734
+ isInView(target: Space | MapObject | Label | Marker | string): boolean;
9735
+ auto(): {
9736
+ labels: Label[];
9737
+ };
9738
+ /**
9739
+ * @internal
9740
+ */
9741
+ get __core(): RendererCore;
9742
+ clear(): void;
9743
+ destroy(): void;
9647
9744
  }
9648
9745
  }
9649
9746
 
@@ -9664,7 +9761,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9664
9761
  import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9665
9762
  import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
9666
9763
  import { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus';
9667
- export const FLOOR_HEIGHT = 5;
9668
9764
  import type { Text3DState } from '@mappedin/core-sdk/src/components/text3d';
9669
9765
  export class GeojsonApiMapObject extends PubSub<{
9670
9766
  'floor-change': {
@@ -9749,7 +9845,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9749
9845
  onCreate: (labelId: string | number, text: string, target: IAnchorable) => void;
9750
9846
  labelOptions?: TAddLabelOptions;
9751
9847
  }) => void;
9752
- add: (coordinate: Position, text: string, opts?: AddLabelOptions & {
9848
+ add: (coordinate: Coordinate, text: string, opts?: AddLabelOptions & {
9753
9849
  floorId?: string;
9754
9850
  parentId?: string;
9755
9851
  verticalOffset?: number;
@@ -10045,7 +10141,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d' {
10045
10141
 
10046
10142
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
10047
10143
  import type { IFocusable, TCameraAnimationOptions, TCameraTarget, TFocusOnOptions, TCameraInteractionsSetOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
10048
- import type { InsetPadding } from '@mappedin/core-sdk';
10144
+ import type { InsetPadding } from '@mappedin/react-sdk/geojson/src';
10049
10145
  import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
10050
10146
  import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
10051
10147
  /**
@@ -10591,11 +10687,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
10591
10687
  * @default 0.25
10592
10688
  */
10593
10689
  nearRadius?: number;
10690
+ /**
10691
+ * The zoom level at which the path should be at its near radius. This will default to the Camera maxZoomLevel.
10692
+ */
10693
+ nearZoomLevel?: number;
10594
10694
  /**
10595
10695
  * The radius of the path far from the markers.
10596
10696
  * @default 1
10597
10697
  */
10598
10698
  farRadius?: number;
10699
+ /**
10700
+ * The zoom level at which the path should be at its far radius. This will default to the Camera minZoomLevel.
10701
+ */
10702
+ farZoomLevel?: number;
10599
10703
  /**
10600
10704
  * Controls whether arrows are displayed on the path.
10601
10705
  * @default false
@@ -10637,11 +10741,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
10637
10741
  * @default 0.25
10638
10742
  */
10639
10743
  nearRadius?: number;
10744
+ /**
10745
+ * The zoom level at which the path should be at its near radius. This will default to the Camera maxZoomLevel.
10746
+ */
10747
+ nearZoomLevel?: number;
10640
10748
  /**
10641
10749
  * The radius of the path far from the markers.
10642
10750
  * @default 1
10643
10751
  */
10644
10752
  farRadius?: number;
10753
+ /**
10754
+ * The zoom level at which the path should be at its far radius. This will default to the Camera minZoomLevel.
10755
+ */
10756
+ farZoomLevel?: number;
10645
10757
  /**
10646
10758
  * Controls whether arrows are displayed on the path.
10647
10759
  * @default false
@@ -12860,6 +12972,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/2d-occlusion/system' {
12860
12972
  import type { Position as GeoJsonPosition } from 'geojson';
12861
12973
  export function fillArrayWithColor(array: Float32Array | Uint8Array, count: number, color: number): void;
12862
12974
  export class Occlusion2DSystem {
12975
+ backgroundId: number;
12863
12976
  constructor(state: RendererState, convertTo3DMapPosition: (position: GeoJsonPosition) => Vector3, renderer?: Renderer);
12864
12977
  reserveOccluderId(): number;
12865
12978
  enable(): void;
@@ -12948,7 +13061,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils/ecs' {
12948
13061
  import { Box3, Vector3 } from 'three';
12949
13062
  import type RendererCore from '@mappedin/react-sdk/geojson/src/renderer';
12950
13063
  export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D | Geometry2D | undefined;
12951
- export function getVerticesOfEntity(core: RendererCore, geometryOrGeometryId?: string | number | EntityId<EntityState>, vertices?: Vector3[], bounds?: Box3): Vector3[];
13064
+ export function getVerticesOfEntity(core: RendererCore, geometryOrGeometryId?: string | number | EntityId<EntityState>, vertices?: Vector3[], bounds?: Box3, zOffset?: number): Vector3[];
12952
13065
  }
12953
13066
 
12954
13067
  declare module '@mappedin/react-sdk/geojson/src/utils/get-pixel-ratio' {
@@ -13309,6 +13422,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
13309
13422
  import type { RendererCore, BBox } from '@mappedin/core-sdk';
13310
13423
  import type { AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
13311
13424
  import type { TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
13425
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
13312
13426
  class Layer {
13313
13427
  containerId: string;
13314
13428
  labelIds: Set<string>;
@@ -13332,8 +13446,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
13332
13446
  layers: Map<string, Layer>;
13333
13447
  footprint?: Feature<Polygon | MultiPolygon | null, MVFFloor>;
13334
13448
  floorStackId: string;
13449
+ /** Map of styleId to array of facadeIds for styling */
13450
+ facadesByStyleId: Map<string, string[]>;
13335
13451
  get geoJSONBoundingBox(): BBox | undefined;
13336
- constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
13452
+ constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap, mapDataInternal?: MapDataInternal);
13337
13453
  load: () => this;
13338
13454
  get visible(): boolean;
13339
13455
  setVisible(visible: boolean): void;
@@ -13342,17 +13458,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
13342
13458
  }
13343
13459
 
13344
13460
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
13345
- import { Coordinate, type MapObject, type Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
13461
+ import { Coordinate, type Floor, type MapObject, type Space, type Facade } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
13346
13462
  import type { EntranceCollection, LineString, Polygon, Point, SpaceProperties, ObstructionProperties, StyleCollection, PolygonStyle, LineStringStyle, Feature, ObstructionCollection, PointStyle } from '@mappedin/mvf';
13347
13463
  import type { PolygonFeatureProperties } from '@packages/internal/mvf-utils';
13348
13464
  import type { BBox, FeatureCollection, MultiLineString } from 'geojson';
13349
- import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle, Position } from '@mappedin/core-sdk';
13465
+ import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle, Position, GroupContainerState } from '@mappedin/core-sdk';
13350
13466
  import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/react-sdk/mappedin-js/src';
13351
- import type { TDoorsState, TMarkerState, TWallsState } from '@mappedin/react-sdk/mappedin-js/src/types';
13467
+ import type { TDoorsState, TFloorState, TMarkerState, TWallsState } from '@mappedin/react-sdk/mappedin-js/src/types';
13352
13468
  import type { Image, Path, Shape, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
13353
13469
  import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
13354
13470
  import type { Tween } from '@tweenjs/tween.js';
13355
13471
  import type { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
13472
+ import { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
13356
13473
  export function convertCoordinateToPosition(coord: Coordinate): Position;
13357
13474
  export function convertPositionToCoordinate(coord: Position): Coordinate;
13358
13475
  export const cutEntrancesFromLineStrings: (lineStrings: ObstructionCollection["features"], entranceCollection: EntranceCollection["features"]) => {
@@ -13364,6 +13481,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
13364
13481
  export function translateDoorsStateToGeojsonCore(state: Partial<TDoorsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
13365
13482
  export function translateWallsStateToGeojsonCore(state: Partial<TWallsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
13366
13483
  export function translateSpaceStateToGeojsonCore(state: Partial<TGeometryState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
13484
+ export function translateFloorGeometryStateToGeojsonCore(state: TFloorState['geometry']): Partial<GroupContainerState>;
13367
13485
  export function differenceBetweenAngles(a: number, b: number): number;
13368
13486
  export function getRelativeBearing(relativeBearingAngle: number, threshold: number): TDirectionInstructionAction['bearing'];
13369
13487
  export function convertCollisionRankingTeirToNumber(tier: CollisionRankingTier): number;
@@ -13379,11 +13497,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
13379
13497
  };
13380
13498
  export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, PolygonFeatureProperties<SpaceProperties | ObstructionProperties>>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Polygon | LineString | Point, PolygonFeatureProperties<SpaceProperties | ObstructionProperties>>[]>;
13381
13499
  export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
13382
- export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Path | PathSegment | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
13500
+ export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Path | PathSegment | Image | Floor | Facade | string>(target: T, api: GeoJsonApi) => string | undefined;
13383
13501
  export function tweenToPromise(tween: Tween): Promise<void>;
13384
13502
  export function getBoundingBox(geometry: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>): BBox;
13385
13503
  export function expandBbox(bbox: BBox, bboxToExpand: BBox): number[];
13386
13504
  export function unique<T>(array: T[]): T[];
13505
+ export function getTargetFloorObject(coordinate: Coordinate, floorsById: Map<string, FloorObject>, defaultFloor: FloorObject): FloorObject;
13387
13506
  }
13388
13507
 
13389
13508
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object' {
@@ -13514,7 +13633,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-proc
13514
13633
 
13515
13634
  declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
13516
13635
  import { PerspectiveCamera, Vector3, Object3D, Mesh, Intersection, Object3DEventMap } from 'three';
13517
- import { Raycaster } from 'three';
13636
+ import { Raycaster, Vector2 } from 'three';
13518
13637
  import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
13519
13638
  import { QuadTree } from '@packages/internal/quad-tree';
13520
13639
  import type { Geometry3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
@@ -13563,7 +13682,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
13563
13682
  entityId: Geometry2D['id'];
13564
13683
  }>;
13565
13684
  _container: HTMLCanvasElement;
13566
- constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, cameraPlane: Mesh, isUserInteracting: () => boolean);
13685
+ constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, worldPlane: Mesh, isUserInteracting: () => boolean);
13567
13686
  updateQuadtree(takeIT: QuadTree<{
13568
13687
  entityId: Geometry2D['id'];
13569
13688
  }>): void;
@@ -13571,6 +13690,8 @@ declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
13571
13690
  hasTouched: boolean;
13572
13691
  onPointerMoveRaf: (event: PointerEvent) => void;
13573
13692
  tapsControl: TapsController;
13693
+ getThreeDIntersectsFromXY(point: Vector2): Intersection<Object3D<Object3DEventMap>>[];
13694
+ getGroupContainerIntersectsFromXY(point: Vector2): any;
13574
13695
  handleHover(e?: PointerEvent): void;
13575
13696
  dirty3D: boolean;
13576
13697
  get _hitBoxes(): {
@@ -13586,14 +13707,12 @@ declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
13586
13707
  hovered2DEntity: Geometry2D | undefined;
13587
13708
  hovered3DContainers: GroupContainerObject3D[] | undefined;
13588
13709
  lastHover: Geometry3D | undefined;
13589
- containerOffset: [top: number, left: number];
13590
13710
  interaction: InteractionState;
13591
13711
  };
13592
13712
  /**
13593
13713
  * Get the current cursor type determined by the interaction.
13594
13714
  */
13595
13715
  getCursor(): CursorTypes;
13596
- resize: () => void;
13597
13716
  }
13598
13717
  export function findModelParent(object: Object3D): Object3D<Object3DEventMap> | undefined;
13599
13718
  export {};
@@ -22106,6 +22225,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/path/system' {
22106
22225
  import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
22107
22226
  import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
22108
22227
  import { PubSub } from '@packages/internal/common';
22228
+ import type { CameraSystem } from '@mappedin/react-sdk/geojson/src/systems/camera';
22109
22229
  /**
22110
22230
  * A system for drawing and controlling the visual state of paths
22111
22231
  */
@@ -22115,7 +22235,8 @@ declare module '@mappedin/react-sdk/geojson/src/systems/path/system' {
22115
22235
  altitudeDirty: boolean;
22116
22236
  convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'];
22117
22237
  getParentContainer: RendererCore['getParentContainer'];
22118
- constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], getParentContainer: RendererCore['getParentContainer']);
22238
+ convertZoomLevelToAltitude: CameraSystem['convertZoomLevelToAltitude'];
22239
+ constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], getParentContainer: RendererCore['getParentContainer'], convertZoomLevelToAltitude: CameraSystem['convertZoomLevelToAltitude']);
22119
22240
  update(minZoomAltitude: number, maxZoomAltitude: number, currentZoomAltitude: number): void;
22120
22241
  }
22121
22242
  }