@mappedin/react-sdk 6.0.1-beta.14 → 6.0.1-beta.16

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.
@@ -4,6 +4,7 @@
4
4
  // ../react/@packages/internal/mvf-utils
5
5
  // ../react/@mappedin/mvf
6
6
  // ../react/@packages/internal/common/pubsub
7
+ // ../react/@packages/internal/mvf-utils/mvf-utils
7
8
  // ../react/@packages/internal/common/Mappedin.Logger
8
9
  // ../react/geojson
9
10
  // ../react/@packages/internal/common
@@ -247,11 +248,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
247
248
  import type { Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
248
249
  import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack } from '@mappedin/mvf';
249
250
  import { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
250
- import type { Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/react-sdk/geojson/src';
251
+ import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions } from '@mappedin/react-sdk/geojson/src';
251
252
  import { enableTestMode } from '@mappedin/react-sdk/geojson/src';
252
253
  export type { PubSub } from '@packages/internal/common/pubsub';
253
254
  import { MappedinMapLibreOverlay } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
254
255
  import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
256
+ import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
257
+ import type { TBlueDotEvents, TBlueDotAction, TBlueDotState } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
255
258
  export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
256
259
  /**
257
260
  * Represents all the available antialiasing options.
@@ -377,6 +380,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
377
380
  token?: string;
378
381
  /**
379
382
  * A url to a style specification conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/).
383
+ * Use the {@link Environment | `environment`} setting to switch environments.
380
384
  */
381
385
  style?: string;
382
386
  /**
@@ -564,7 +568,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
564
568
  export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
565
569
  export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
566
570
  export { parseMVF, unzipMVF, enableTestMode };
567
- export type { MapView, MapData, MappedinMapLibreOverlay, TEvents, TEventPayload, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, };
571
+ export type { MapView, MapData, MappedinMapLibreOverlay, TBlueDotEvents, TBlueDotAction, TBlueDotState, TEvents, TEventPayload, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, };
568
572
  export type * from 'geojson';
569
573
  export type { TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, } from '@mappedin/react-sdk/mappedin-js/src/types';
570
574
  export { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
@@ -658,6 +662,19 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
658
662
  constructor(internal: MapDataInternal, { search }?: {
659
663
  search?: TSearchOptions;
660
664
  });
665
+ /**
666
+ * Get the current environment.
667
+ *
668
+ * @example
669
+ * const env = mapData.getEnv();
670
+ * console.log(env.baseUri); // Get the API URL for the current environment
671
+ */
672
+ getEnv(): {
673
+ readonly baseUri: string;
674
+ readonly baseAuthUri: string;
675
+ readonly analyticsBaseUri: string;
676
+ readonly tileServerUri: string;
677
+ };
661
678
  /**
662
679
  * The name of the map.
663
680
  *
@@ -847,6 +864,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
847
864
  import type { Coordinate, Floor, MapObject, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
848
865
  import type { Label, Marker, Model, Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
849
866
  import type { CameraTransform } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/camera-transform';
867
+ import type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot';
850
868
  export type TFloorChangeReason = '' | 'blue-dot-floor-change' | 'elevation-change';
851
869
  export type TClickPayload = {
852
870
  /**
@@ -938,6 +956,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
938
956
  * Emitted when a user interaction with the map ends.
939
957
  */
940
958
  'user-interaction-end': undefined;
959
+ /**
960
+ * Emitted when the Blue Dot's position is updated.
961
+ */
962
+ 'blue-dot-position-update': TBlueDotEvents['position-update'];
963
+ /**
964
+ * Emitted when the Blue Dot's state changes.
965
+ */
966
+ 'blue-dot-state-change': TBlueDotEvents['state-change'];
967
+ /**
968
+ * Emitted when the Blue Dot encounters an error.
969
+ */
970
+ 'blue-dot-error': TBlueDotEvents['error'];
941
971
  } & TStackedMapsEvents;
942
972
  export type TEventPayload<EventName extends keyof TEvents> = TEvents[EventName] extends {
943
973
  data: null;
@@ -976,6 +1006,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
976
1006
  import { PubSub } from '@packages/internal/common';
977
1007
  import type { LanguagePack, Places, TMapDataInternalOptions } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
978
1008
  import { type LocalePackUrls } from '@packages/internal/mvf-utils';
1009
+ import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
979
1010
  import type { TGetDirectionsOptions, TNavigationTarget } from '@mappedin/react-sdk/mappedin-js/src/types';
980
1011
  import { type Directions, DirectionsInternal } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions';
981
1012
  import { type THydrateMapDataBundle } from '@mappedin/react-sdk/mappedin-js/src';
@@ -1047,10 +1078,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1047
1078
  [languageCode: string]: LanguagePack;
1048
1079
  };
1049
1080
  binaryBundle?: Uint8Array;
1081
+ envControl: EnvControl;
1050
1082
  /**
1051
1083
  * @internal
1052
1084
  */
1053
1085
  constructor(mvf: ParsedMVF, options: TMapDataInternalOptions);
1086
+ getEnv(): {
1087
+ readonly baseUri: string;
1088
+ readonly baseAuthUri: string;
1089
+ readonly analyticsBaseUri: string;
1090
+ readonly tileServerUri: string;
1091
+ };
1054
1092
  /**
1055
1093
  * Retrieves the map name.
1056
1094
  *
@@ -1185,10 +1223,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1185
1223
  import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
1186
1224
  import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1187
1225
  import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/react-sdk/mappedin-js/src/types';
1188
- import type { Label, Marker, Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1226
+ import type { Label, Marker, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1189
1227
  import type { TEventPayload } from '@mappedin/react-sdk/mappedin-js/src/events';
1190
1228
  import type { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
1191
1229
  import type { TShowStackOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
1230
+ import type { InspectorOption } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/inspector/inspector';
1192
1231
  export class MapView extends PubSub<TEvents> {
1193
1232
  #private;
1194
1233
  /**
@@ -1262,7 +1301,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1262
1301
  * // Update the color of a space to red.
1263
1302
  * map.updateState(space, { color: 'red' });
1264
1303
  */
1265
- updateState<T extends Space | MapObject | Label | Marker | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
1304
+ updateState<T extends Space | MapObject | Label | Marker | Shape | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
1266
1305
  updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
1267
1306
  update: () => void;
1268
1307
  getMapData(): {
@@ -1312,7 +1351,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1312
1351
  * @hidden
1313
1352
  */
1314
1353
  updateWatermark(options: WatermarkUpdateOptions): void;
1315
- getState<T extends Space | MapObject | Label | Marker | Image | string>(target: T): TGetState<T> | undefined;
1354
+ getState<T extends Space | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T> | undefined;
1316
1355
  setHoverColor(c: string): void;
1317
1356
  getHoverColor(): string | undefined;
1318
1357
  /**
@@ -1430,7 +1469,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1430
1469
  * @experimental
1431
1470
  * Enable debug interface
1432
1471
  */
1433
- enableDebug(): Promise<void>;
1472
+ enableDebug(opitons?: InspectorOption): Promise<void>;
1434
1473
  }
1435
1474
  }
1436
1475
 
@@ -1441,7 +1480,7 @@ declare module '@mappedin/react-sdk/geojson/src' {
1441
1480
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
1442
1481
  import type { GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
1443
1482
  import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
1444
- import type { InsetPadding, RendererCoreOptions, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload } from '@mappedin/react-sdk/geojson/src/types';
1483
+ import type { InsetPadding, InsetPaddingOption, RendererCoreOptions, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload } from '@mappedin/react-sdk/geojson/src/types';
1445
1484
  import type { GeometryState } from '@mappedin/react-sdk/geojson/src/components/mesh';
1446
1485
  import type { ShapeState, CustomGeometryBuilder } from '@mappedin/react-sdk/geojson/src/components/custom';
1447
1486
  import type { ModelState } from '@mappedin/react-sdk/geojson/src/components/model';
@@ -1465,7 +1504,7 @@ declare module '@mappedin/react-sdk/geojson/src' {
1465
1504
  export type { GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter';
1466
1505
  export type { AttributionControlOptions, AttributionPosition } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
1467
1506
  export { ATTRIBUTION_POSITIONS } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
1468
- export type { AddPathOptions, AddMarkerOptions, AddLabelOptions, AnimateToOptions, FocusOnOptions, MapViewState, MarkerState, PathState, GroupContainerState, GeometryGroupState, ShapeState, CustomGeometryBuilder, LabelState, GeometryState, ModelState, EasingCurve, Camera, InsetPadding, Position, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload, CollisionRankingTier, LabelAppearance, RendererCore, };
1507
+ export type { AddPathOptions, AddMarkerOptions, AddLabelOptions, AnimateToOptions, FocusOnOptions, MapViewState, MarkerState, PathState, GroupContainerState, GeometryGroupState, ShapeState, CustomGeometryBuilder, LabelState, GeometryState, ModelState, EasingCurve, Camera, InsetPadding, InsetPaddingOption, Position, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload, CollisionRankingTier, LabelAppearance, RendererCore, };
1469
1508
  export function createRenderer(container: HTMLElement, options?: RendererCoreOptions & {
1470
1509
  [key: string]: any;
1471
1510
  }): Promise<RendererCore>;
@@ -1503,9 +1542,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
1503
1542
  declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1504
1543
  import type { Feature, MultiPolygon, Polygon } from 'geojson';
1505
1544
  import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1506
- import type { Label, Marker, Model, Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1545
+ import type { Label, Marker, Model, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1507
1546
  import type { EasingCurve } from '@mappedin/core-sdk/src/camera';
1508
1547
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
1548
+ import type { InsetPaddingOption } from '@mappedin/react-sdk/geojson/src';
1509
1549
  export type DeepRequired<T> = Required<{
1510
1550
  [K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
1511
1551
  }>;
@@ -1701,6 +1741,36 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1701
1741
  */
1702
1742
  coordinate: Coordinate;
1703
1743
  };
1744
+ /**
1745
+ * Represents the state of a shape.
1746
+ */
1747
+ export type TShapeState = {
1748
+ /**
1749
+ * The type of the shape.
1750
+ */
1751
+ type: 'Shape';
1752
+ /**
1753
+ * Whether Shpae is visible
1754
+ */
1755
+ visible: boolean;
1756
+ /**
1757
+ * The altitude of the shape.
1758
+ */
1759
+ altitude: number;
1760
+ /**
1761
+ * The color of the shape.
1762
+ */
1763
+ color: string;
1764
+ /**
1765
+ * The height of the shape.
1766
+ * Height cannot be updated at this time
1767
+ */
1768
+ height: number;
1769
+ /**
1770
+ * The opacity of the shape.
1771
+ */
1772
+ opacity: number;
1773
+ };
1704
1774
  /**
1705
1775
  * Defines the state for geometry elements like {@link Space} when updated.
1706
1776
  */
@@ -1758,9 +1828,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1758
1828
  /**
1759
1829
  * The type for updating the state of map elements (colors, texts, etc.).
1760
1830
  */
1761
- export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS ? Partial<TDoorsState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Door ? Partial<TGeometryState> : T extends string ? Record<string, any> : never;
1831
+ export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS ? Partial<TDoorsState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Door ? Partial<TGeometryState> : T extends string ? Record<string, any> : never;
1762
1832
  export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
1763
- export type TGetEntityState<T> = T extends WALLS ? TWallsState : T extends DOORS ? TDoorsState : T extends Marker ? TMarkerState : T extends Model ? TModelState : T extends Label ? TLabelState : T extends Image ? TImageState : T extends Space | MapObject ? TGeometryState : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
1833
+ export type TGetEntityState<T> = T extends WALLS ? TWallsState : T extends DOORS ? TDoorsState : T extends Marker ? TMarkerState : T extends Shape ? TShapeState : T extends Model ? TModelState : T extends Label ? TLabelState : T extends Image ? TImageState : T extends Space | MapObject ? TGeometryState : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
1764
1834
  export type TGetState<T> = TGetEntityState<T> | undefined;
1765
1835
  /**
1766
1836
  * Options for {@link Camera} animations on the map.
@@ -1821,7 +1891,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1821
1891
  */
1822
1892
  maxZoomLevel?: number;
1823
1893
  /**
1824
- * Camera bearing when focusing on a target, in degrees.
1894
+ * Camera bearing when focusing on a target in degrees clockwise from North. 0 degrees is North, 90 degrees is East, 180 degrees is South, and 270 degrees is West.
1825
1895
  */
1826
1896
  bearing?: number;
1827
1897
  /**
@@ -1831,12 +1901,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1831
1901
  /**
1832
1902
  * Screen offsets for the camera focus.
1833
1903
  */
1834
- screenOffsets?: {
1835
- top: number;
1836
- right: number;
1837
- bottom: number;
1838
- left: number;
1839
- };
1904
+ screenOffsets?: InsetPaddingOption;
1840
1905
  };
1841
1906
  export type TCameraFocusOnTargets = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Node;
1842
1907
  /**
@@ -1859,7 +1924,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1859
1924
  */
1860
1925
  zoomLevel?: number;
1861
1926
  /**
1862
- * Bearing for the camera target in degrees.
1927
+ * Bearing for the camera target in degrees clockwise from North. 0 degrees is North, 90 degrees is East, 180 degrees is South, and 270 degrees is West.
1863
1928
  */
1864
1929
  bearing?: number;
1865
1930
  /**
@@ -2129,7 +2194,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2129
2194
  * | 'right' | Anchors the marker on the right side, convenient for when space is limited on the left.|
2130
2195
  *
2131
2196
  */
2132
- export type TMarkerAnchor = 'center' | 'top' | 'left' | 'bottom' | 'right';
2197
+ export type TMarkerAnchor = 'center' | 'top' | 'left' | 'bottom' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
2133
2198
  /**
2134
2199
  * Options for controlling the behavior of the {@link Directions}.
2135
2200
  */
@@ -2242,7 +2307,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2242
2307
  */
2243
2308
  height: number;
2244
2309
  /**
2245
- * Rotation of the image in degrees.
2310
+ * Rotation of the image in degrees clockwise from North. 0 degrees is North, 90 degrees is East, 180 degrees is South, and 270 degrees is West.
2246
2311
  *
2247
2312
  * @default 0
2248
2313
  */
@@ -2274,7 +2339,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2274
2339
  * Optional. Specifies the anchor point of the marker, determining its position relative to its coordinates.
2275
2340
  * For the possible values and their descriptions, see {@link TMarkerAnchor}
2276
2341
  */
2277
- anchor?: TMarkerAnchor;
2342
+ anchor?: TMarkerAnchor | TMarkerAnchor[];
2278
2343
  /**
2279
2344
  * Whether the {@link Marker} should be clickable
2280
2345
  * @default false
@@ -2417,11 +2482,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2417
2482
  */
2418
2483
  heading?: GeolocationPosition['coords']['heading'] | 'device' | undefined;
2419
2484
  /**
2420
- * Floor level to override.
2485
+ * Floor or floorId to override.
2421
2486
  * Set to `'device'` to reset to the device's floor level.
2422
2487
  * Set to `undefined` to disable floor level and show the BlueDot on all floors.
2423
2488
  */
2424
- floor?: Floor | 'device' | undefined;
2489
+ floorOrFloorId?: Floor | string | 'device' | undefined;
2425
2490
  };
2426
2491
  export type LanguagePackHydrationItem = {
2427
2492
  language: Language;
@@ -2429,6 +2494,120 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2429
2494
  };
2430
2495
  }
2431
2496
 
2497
+ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
2498
+ import type { RendererCore } from '@mappedin/core-sdk';
2499
+ import { PubSub } from '@packages/internal/common';
2500
+ import { Coordinate, type Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2501
+ import type { TBlueDotOptions, TBlueDotPositionUpdate } from '@mappedin/react-sdk/mappedin-js/src/types';
2502
+ import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
2503
+ export type TBlueDotEvents = {
2504
+ /**
2505
+ * Emitted when the Blue Dot's position is updated.
2506
+ */
2507
+ 'position-update': {
2508
+ floor: Floor | undefined;
2509
+ heading: GeolocationPosition['coords']['heading'] | undefined;
2510
+ accuracy: GeolocationPosition['coords']['accuracy'] | undefined;
2511
+ coordinate: Coordinate;
2512
+ };
2513
+ /**
2514
+ * Emitted when the Blue Dot's state changes.
2515
+ */
2516
+ 'state-change': {
2517
+ /**
2518
+ * The new state of the Blue Dot.
2519
+ */
2520
+ state: TBlueDotState;
2521
+ /**
2522
+ * The action that caused the state change.
2523
+ */
2524
+ action: TBlueDotAction;
2525
+ };
2526
+ /**
2527
+ * Emitted when the Blue Dot encounters an error.
2528
+ */
2529
+ error: GeolocationPositionError;
2530
+ /**
2531
+ * Emitted when the Blue Dot's following state changes.
2532
+ */
2533
+ 'follow-change': {
2534
+ following: boolean;
2535
+ };
2536
+ };
2537
+ export type TBlueDotState = 'hidden' | 'active' | 'inactive' | 'disabled';
2538
+ export type TBlueDotAction = 'timeout' | 'error' | 'position-update' | 'enable' | 'disable';
2539
+ export type TBlueDotPositionUpdateWithFloor = Omit<TBlueDotPositionUpdate, 'floorOrFloorId'> & {
2540
+ floor?: Floor | 'device' | undefined;
2541
+ };
2542
+ export class BlueDot extends PubSub<TBlueDotEvents> {
2543
+ #private;
2544
+ state: TBlueDotState;
2545
+ /**
2546
+ * The direction the user is facing in degrees from north.
2547
+ */
2548
+ get heading(): GeolocationPosition['coords']['heading'] | undefined;
2549
+ /**
2550
+ * The accuracy of the current position in metres.
2551
+ */
2552
+ get accuracy(): GeolocationPosition['coords']['accuracy'] | undefined;
2553
+ /**
2554
+ * The coordinate of the current position.
2555
+ */
2556
+ get coordinate(): Coordinate | undefined;
2557
+ /**
2558
+ * The floor the Blue Dot is currently on. If undefined, the Blue Dot will appear on every floor.
2559
+ */
2560
+ get floor(): Floor | undefined;
2561
+ /**
2562
+ * @internal
2563
+ */
2564
+ constructor(core: RendererCore, geoJSONApi: GeoJsonApi);
2565
+ /**
2566
+ * Enable the Blue Dot. It will be hidden until a position is received either from the browser or by calling {@link BlueDot.update}.
2567
+ * @param options - The options to setup the Blue Dot.
2568
+ */
2569
+ enable(options?: TBlueDotOptions): void;
2570
+ /**
2571
+ * Disable the Blue Dot. It will be hidden and no longer update.
2572
+ */
2573
+ disable(): void;
2574
+ /**
2575
+ * Enable or disable the devices's geolocation listener to automatically position the Blue Dot.
2576
+ * If enabled, the device will request permission to access the user's precise location.
2577
+ * @param watch - Whether to enable or disable the listener.
2578
+ */
2579
+ watchDevicePosition(watch: boolean): void;
2580
+ /**
2581
+ * Manually override some position properties of the Blue Dot.
2582
+ * Accepts a full GeolocationPosition object or a partial {@link TBlueDotPositionUpdate} object.
2583
+ * @example Manually set the accuracy and heading
2584
+ * ```ts
2585
+ * api.BlueDot.update({ accuracy: 10, heading: 90 });
2586
+ * ```
2587
+ * @example Reset accuracy and heading to device values
2588
+ * ```ts
2589
+ * api.BlueDot.update({ accuracy: 'device', heading: 'device' });
2590
+ * ```
2591
+ */
2592
+ update(position: GeolocationPositionExtended | TBlueDotPositionUpdate | undefined): void;
2593
+ }
2594
+ type TStateTransitions = {
2595
+ [Action in TBlueDotAction]?: TBlueDotState;
2596
+ };
2597
+ type TStateMachine = {
2598
+ [State in TBlueDotState]: {
2599
+ actions: TStateTransitions;
2600
+ };
2601
+ };
2602
+ export const stateMachine: TStateMachine;
2603
+ export type GeolocationPositionExtended = GeolocationPosition & {
2604
+ coords: GeolocationPosition['coords'] & {
2605
+ readonly floorLevel?: number;
2606
+ };
2607
+ };
2608
+ export {};
2609
+ }
2610
+
2432
2611
  declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects' {
2433
2612
  export { Label } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/label';
2434
2613
  export { Marker } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker';
@@ -2454,25 +2633,30 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
2454
2633
  */
2455
2634
  createMarkers?: {
2456
2635
  /**
2457
- * Controls whether a marker is created for the departure point.
2636
+ * Controls whether a marker is created for the departure point and allows a custom marker to be created.
2458
2637
  * @default true
2459
2638
  */
2460
- departure?: boolean;
2639
+ departure?: boolean | ((instruction: TDirectionInstruction) => Marker);
2461
2640
  /**
2462
- * Controls whether a marker is created for the destination point.
2641
+ * Controls whether a marker is created for the destination point and allows a custom marker to be created.
2463
2642
  * @default true
2464
2643
  */
2465
- destination?: boolean;
2644
+ destination?: boolean | ((instruction: TDirectionInstruction) => Marker);
2466
2645
  /**
2467
- * Controls whether markers are created for connection points.
2646
+ * Controls whether markers are created for connection points and allows a custom marker to be created.
2468
2647
  * @default true
2469
2648
  */
2470
- connection?: boolean;
2649
+ connection?: boolean | ((instruction: TDirectionInstruction) => Marker);
2471
2650
  };
2472
2651
  /**
2473
2652
  * Options for the path.
2474
2653
  */
2475
2654
  pathOptions?: {
2655
+ /**
2656
+ * duration in milliseconds for the path to be drawn
2657
+ * @default
2658
+ */
2659
+ drawDuration: number;
2476
2660
  /**
2477
2661
  * The color of the path.
2478
2662
  * @default '#40A9FF'
@@ -2959,6 +3143,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/camera-tran
2959
3143
  }
2960
3144
  }
2961
3145
 
3146
+ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot' {
3147
+ export { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
3148
+ export type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
3149
+ }
3150
+
2962
3151
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
2963
3152
  import type { NodeCollection } from '@mappedin/mvf';
2964
3153
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
@@ -4127,8 +4316,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
4127
4316
  import type MapObject from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object';
4128
4317
  import type { EnterpriseLocation as MvfEnterpriseLocation, EnterpriseCategory as MvfEnterpriseCategory, ParsedMVFLocalePack } from '@mappedin/mvf';
4129
4318
  import type { PartialExcept } from '@mappedin/mvf/dist/locale';
4130
- import { LocalePackUrls } from '@packages/internal/mvf-utils';
4131
- import { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
4319
+ import type { LocalePackUrls } from '@packages/internal/mvf-utils';
4320
+ import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
4321
+ import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
4132
4322
  /**
4133
4323
  * Places are the main objects that can be searched for.
4134
4324
  */
@@ -4150,6 +4340,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
4150
4340
  };
4151
4341
  };
4152
4342
  export type TMapDataInternalOptions = {
4343
+ env?: EnvControl;
4153
4344
  enterprise?: boolean;
4154
4345
  outdoorViewToken?: string;
4155
4346
  localePacksUrls?: LocalePackUrls;
@@ -4158,88 +4349,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
4158
4349
  };
4159
4350
  }
4160
4351
 
4161
- declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
4162
- import type { RendererCore } from '@mappedin/core-sdk';
4163
- import { PubSub } from '@packages/internal/common';
4164
- import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
4165
- import type { TBlueDotOptions, TBlueDotPositionUpdate } from '@mappedin/react-sdk/mappedin-js/src/types';
4166
- import { Coordinate, type Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4167
- export type TBlueDotEvents = {
4168
- 'floor-change': {
4169
- reason: 'blue-dot-floor-change';
4170
- floorId: string;
4171
- };
4172
- };
4173
- export type TBlueDotState = 'hidden' | 'active' | 'inactive' | 'disabled';
4174
- export type TBlueDotAction = 'timeout' | 'error' | 'position-received' | 'enable' | 'disable';
4175
- export class BlueDot extends PubSub<TBlueDotEvents> {
4176
- #private;
4177
- state: TBlueDotState;
4178
- /**
4179
- * The direction the user is facing in degrees from north.
4180
- */
4181
- get heading(): GeolocationPosition['coords']['heading'] | undefined;
4182
- /**
4183
- * The accuracy of the current position in metres.
4184
- */
4185
- get accuracy(): GeolocationPosition['coords']['accuracy'] | undefined;
4186
- /**
4187
- * The coordinate of the current position.
4188
- */
4189
- get coordinate(): Coordinate | undefined;
4190
- /**
4191
- * The floor the Blue Dot is currently on. If undefined, the Blue Dot will appear on every floor.
4192
- */
4193
- get floor(): Floor | undefined;
4194
- /**
4195
- * @internal
4196
- */
4197
- constructor(core: RendererCore, geoJSONApi: GeoJsonApi);
4198
- /**
4199
- * Enable the Blue Dot. It will be hidden until a position is received either from the browser or by calling {@link BlueDot.update}.
4200
- * @param options - The options to setup the Blue Dot.
4201
- */
4202
- enable(options?: TBlueDotOptions): void;
4203
- /**
4204
- * Disable the Blue Dot. It will be hidden and no longer update.
4205
- */
4206
- disable(): void;
4207
- /**
4208
- * Enable or disable the devices's geolocation listener to automatically position the Blue Dot.
4209
- * If enabled, the device will request permission to access the user's precise location.
4210
- * @param watch - Whether to enable or disable the listener.
4211
- */
4212
- watchDevicePosition(watch: boolean): void;
4213
- /**
4214
- * Manually override some position properties of the Blue Dot.
4215
- * Accepts a full GeolocationPosition object or a partial {@link TBlueDotPositionUpdate} object.
4216
- * @example Manually set the accuracy and heading
4217
- * ```ts
4218
- * api.BlueDot.update({ accuracy: 10, heading: 90 });
4219
- * ```
4220
- * @example Reset accuracy and heading to device values
4221
- * ```ts
4222
- * api.BlueDot.update({ accuracy: 'device', heading: 'device' });
4223
- * ```
4224
- */
4225
- update(position: (GeolocationPosition & {
4226
- coords: GeolocationPosition['coords'] & {
4227
- readonly floorLevel?: number;
4228
- };
4229
- }) | TBlueDotPositionUpdate | undefined): void;
4230
- }
4231
- type TStateTransitions = {
4232
- [Action in TBlueDotAction]?: TBlueDotState;
4233
- };
4234
- type TStateMachine = {
4235
- [State in TBlueDotState]: {
4236
- actions: TStateTransitions;
4237
- };
4238
- };
4239
- export const stateMachine: TStateMachine;
4240
- export {};
4241
- }
4242
-
4243
4352
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes' {
4244
4353
  import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
4245
4354
  import { Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
@@ -4293,6 +4402,26 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes' {
4293
4402
  export {};
4294
4403
  }
4295
4404
 
4405
+ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/inspector/inspector' {
4406
+ import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
4407
+ import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
4408
+ import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
4409
+ export class Inspector {
4410
+ storeStateToLocalStorageEnabled: boolean;
4411
+ constructor(mv: MapView, api: GeoJsonApi);
4412
+ setMapData(data: MapData): void;
4413
+ enable(options?: InspectorOption): Promise<void>;
4414
+ get enabled(): boolean;
4415
+ }
4416
+ export type InspectorState = {
4417
+ camera: {
4418
+ focusOnClick: boolean;
4419
+ padding: [number, number, number, number];
4420
+ };
4421
+ };
4422
+ export type InspectorOption = Partial<InspectorState>;
4423
+ }
4424
+
4296
4425
  declare module '@mappedin/react-sdk/geojson/src/components/marker' {
4297
4426
  import './marker.scss';
4298
4427
  import { Vector2 } from 'three';
@@ -4350,22 +4479,23 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
4350
4479
  rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
4351
4480
  interactive: z.ZodOptional<z.ZodBoolean>;
4352
4481
  id: z.ZodOptional<z.ZodString>;
4353
- anchor: z.ZodOptional<z.ZodEnum<["top", "bottom", "left", "right", "center"]>>;
4482
+ anchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center", "top-left", "top-right", "bottom-left", "bottom-right"]>, z.ZodArray<z.ZodEnum<["top", "bottom", "left", "right", "center", "top-left", "top-right", "bottom-left", "bottom-right"]>, "many">]>>;
4354
4483
  dynamicResize: z.ZodOptional<z.ZodBoolean>;
4355
4484
  }, "strip", z.ZodTypeAny, {
4356
4485
  interactive?: boolean | undefined;
4357
4486
  id?: string | undefined;
4358
- anchor?: "center" | "left" | "right" | "bottom" | "top" | undefined;
4487
+ anchor?: "center" | "left" | "right" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
4359
4488
  rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
4360
4489
  dynamicResize?: boolean | undefined;
4361
4490
  }, {
4362
4491
  interactive?: boolean | undefined;
4363
4492
  id?: string | undefined;
4364
- anchor?: "center" | "left" | "right" | "bottom" | "top" | undefined;
4493
+ anchor?: "center" | "left" | "right" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
4365
4494
  rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
4366
4495
  dynamicResize?: boolean | undefined;
4367
4496
  }>;
4368
4497
  export function validateMarker(coordinate: Position, contentHTML: string, options: AddMarkerOptions): void;
4498
+ export type MarkerAnchor = 'top' | 'bottom' | 'left' | 'right' | 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
4369
4499
  /**
4370
4500
  * Options for creating a new Marker
4371
4501
  */
@@ -4387,9 +4517,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
4387
4517
  */
4388
4518
  id?: string;
4389
4519
  /**
4390
- * Anchor point for the marker. This will determine the position of the marker relative to the position.
4520
+ * Anchor point for the marker. This will determine the position of the marker relative to the position. A list will place the marker in the first empty placement.
4391
4521
  */
4392
- anchor?: 'top' | 'bottom' | 'left' | 'right' | 'center';
4522
+ anchor?: MarkerAnchor | MarkerAnchor[];
4393
4523
  /**
4394
4524
  * Dynamic resize of the marker. If set to true, the marker will resize based on the content.
4395
4525
  */
@@ -4401,7 +4531,8 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
4401
4531
  static testId: number;
4402
4532
  rank: number;
4403
4533
  initialRank: number;
4404
- options: AddMarkerOptions;
4534
+ activeAnchor: MarkerAnchor;
4535
+ options: Required<AddMarkerOptions>;
4405
4536
  projection: Vector2;
4406
4537
  enabled: boolean;
4407
4538
  activeStrategyIndex: number;
@@ -4427,9 +4558,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
4427
4558
  visible: boolean;
4428
4559
  animation: Animation | null;
4429
4560
  currentStrategyIndex: number;
4430
- onStrategySelected: (strategyIndex: any, force?: boolean) => void;
4561
+ onStrategySelected: (strategyIndex: number, force?: boolean) => void;
4431
4562
  get strategies(): {
4432
- name: string;
4563
+ name: MarkerAnchor;
4433
4564
  getBoundingBox: () => number[];
4434
4565
  }[];
4435
4566
  toJSON(): {
@@ -4455,6 +4586,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
4455
4586
  import type { PathMaterial, PatMeshContainer } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
4456
4587
  import type { FeatureCollection, Point } from 'geojson';
4457
4588
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
4589
+ import { z } from 'zod';
4458
4590
  export type PathProperties = {
4459
4591
  /**
4460
4592
  * The parentId of the point. The point will be anchored to the altitude of this parent group container.
@@ -4554,6 +4686,70 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
4554
4686
  */
4555
4687
  animateArrowsOnPath?: boolean;
4556
4688
  };
4689
+ export const addPathOptionsSchema: z.ZodObject<{
4690
+ interactive: z.ZodOptional<z.ZodBoolean>;
4691
+ id: z.ZodOptional<z.ZodString>;
4692
+ nearRadius: z.ZodOptional<z.ZodNumber>;
4693
+ farRadius: z.ZodOptional<z.ZodNumber>;
4694
+ accentColor: z.ZodOptional<z.ZodString>;
4695
+ displayArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
4696
+ animateArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
4697
+ }, "strip", z.ZodTypeAny, {
4698
+ interactive?: boolean | undefined;
4699
+ id?: string | undefined;
4700
+ accentColor?: string | undefined;
4701
+ displayArrowsOnPath?: boolean | undefined;
4702
+ animateArrowsOnPath?: boolean | undefined;
4703
+ nearRadius?: number | undefined;
4704
+ farRadius?: number | undefined;
4705
+ }, {
4706
+ interactive?: boolean | undefined;
4707
+ id?: string | undefined;
4708
+ accentColor?: string | undefined;
4709
+ displayArrowsOnPath?: boolean | undefined;
4710
+ animateArrowsOnPath?: boolean | undefined;
4711
+ nearRadius?: number | undefined;
4712
+ farRadius?: number | undefined;
4713
+ }>;
4714
+ export const featureSchema: z.ZodObject<{
4715
+ type: z.ZodEnum<["Feature"]>;
4716
+ geometry: z.ZodObject<{
4717
+ type: z.ZodEnum<["Point"]>;
4718
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
4719
+ }, "strip", z.ZodTypeAny, {
4720
+ type: "Point";
4721
+ coordinates: number[];
4722
+ }, {
4723
+ type: "Point";
4724
+ coordinates: number[];
4725
+ }>;
4726
+ properties: z.ZodObject<{
4727
+ parentId: z.ZodOptional<z.ZodAny>;
4728
+ }, "strip", z.ZodTypeAny, {
4729
+ parentId?: any;
4730
+ }, {
4731
+ parentId?: any;
4732
+ }>;
4733
+ }, "strip", z.ZodTypeAny, {
4734
+ type: "Feature";
4735
+ geometry: {
4736
+ type: "Point";
4737
+ coordinates: number[];
4738
+ };
4739
+ properties: {
4740
+ parentId?: any;
4741
+ };
4742
+ }, {
4743
+ type: "Feature";
4744
+ geometry: {
4745
+ type: "Point";
4746
+ coordinates: number[];
4747
+ };
4748
+ properties: {
4749
+ parentId?: any;
4750
+ };
4751
+ }>;
4752
+ export function validatePath(geometry: FeatureCollection<Point, PathProperties>, options: AddPathOptions): void;
4557
4753
  export class PathComponent {
4558
4754
  #private;
4559
4755
  readonly type = "path";
@@ -5210,6 +5406,10 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
5210
5406
  * The top texture URL of the geometry
5211
5407
  */
5212
5408
  topTexture?: string;
5409
+ /**
5410
+ * altitude of the geometry group
5411
+ */
5412
+ altitude?: number;
5213
5413
  };
5214
5414
  export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
5215
5415
  export class GeometryGroupObject3D extends Object3D {
@@ -5235,6 +5435,8 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
5235
5435
  * We use this logic a lot for getting the material of the group. since group does not have material and batched mesh does
5236
5436
  */
5237
5437
  getfirstChildEntityId(): string | number | undefined;
5438
+ setAltitude(altitude: number): void;
5439
+ get altitude(): number;
5238
5440
  }
5239
5441
  }
5240
5442
 
@@ -5384,6 +5586,22 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
5384
5586
  left: number;
5385
5587
  bottom: number;
5386
5588
  right: number;
5589
+ /**
5590
+ * The type of padding to use. If 'portion', the padding will be a portion of the canvas size. If 'pixel', the padding will be in pixels.
5591
+ * @defaultValue 'pixel'
5592
+ */
5593
+ type: 'pixel' | 'portion';
5594
+ };
5595
+ /**
5596
+ * An option for setting the inset padding of the camera.
5597
+ * @interface
5598
+ */
5599
+ export type InsetPaddingOption = Omit<InsetPadding, 'type'> & {
5600
+ /**
5601
+ * The type of padding to use. If 'portion', the padding will be a portion of the canvas size. If 'pixel', the padding will be in pixels.
5602
+ * @defaultValue 'pixel'
5603
+ */
5604
+ type?: InsetPadding['type'];
5387
5605
  };
5388
5606
  export * from '@mappedin/react-sdk/geojson/src/types/constants';
5389
5607
  /**
@@ -5668,19 +5886,39 @@ declare module '@mappedin/react-sdk/geojson/src/components/custom' {
5668
5886
  import { Geometry3DObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
5669
5887
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
5670
5888
  /**
5671
- * State representing a Custom Geometry
5889
+ * Represents the state of a custom shape.
5672
5890
  */
5673
5891
  export type ShapeState = {
5892
+ /**
5893
+ * The unique identifier of the shape.
5894
+ */
5674
5895
  readonly id: string;
5896
+ /**
5897
+ * The type of the shape, which is always 'custom-geometry'.
5898
+ */
5675
5899
  readonly type: 'custom-geometry';
5676
5900
  /**
5677
- * The position of the geometry in [lon, lat]
5901
+ * The position of the geometry in [longitude, latitude].
5678
5902
  */
5679
5903
  readonly position: Position;
5904
+ /**
5905
+ * Whether the geometry is visible.
5906
+ */
5680
5907
  visible?: boolean;
5908
+ /**
5909
+ * The altitude of the geometry, in meters.
5910
+ */
5681
5911
  altitude?: number;
5682
5912
  /**
5683
- * The parent container of the geometry
5913
+ * The color of the shape.
5914
+ */
5915
+ color: string;
5916
+ /**
5917
+ * The opacity of the shape.
5918
+ */
5919
+ opacity: number;
5920
+ /**
5921
+ * The parent container of the geometry.
5684
5922
  */
5685
5923
  readonly parent: EntityId<GroupContainerState> | string | number;
5686
5924
  };
@@ -6118,7 +6356,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
6118
6356
  /**
6119
6357
  * Add a Path along a set of GeoJSON coordinates that can be animated.
6120
6358
  */
6121
- addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState>;
6359
+ addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState> | undefined;
6122
6360
  /**
6123
6361
  * Updates the watermark on the map.
6124
6362
  *
@@ -6309,13 +6547,13 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
6309
6547
  import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
6310
6548
  import type { Position as GeoJSONPosition } from 'geojson';
6311
6549
  import { type InsetPadding, type Position } from '@mappedin/react-sdk/geojson/src/types';
6312
- import type { RendererState, Systems } from '@mappedin/react-sdk/geojson/src/renderer';
6550
+ import type { InsetPaddingOption, RendererState, Systems } from '@mappedin/react-sdk/geojson/src/renderer';
6313
6551
  export type EasingCurve = 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear';
6314
6552
  export type FocusOnOptions = {
6315
6553
  bearing?: number;
6316
6554
  pitch?: number;
6317
6555
  duration?: number;
6318
- padding?: InsetPadding;
6556
+ padding?: InsetPaddingOption;
6319
6557
  minZoomLevel?: number;
6320
6558
  maxZoomLevel?: number;
6321
6559
  easing?: EasingCurve;
@@ -6406,7 +6644,7 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
6406
6644
  */
6407
6645
  setMaxPitch(pitch: number): void;
6408
6646
  /**
6409
- * The camera's current bearing in degrees from north.
6647
+ * The camera's current clockwise rotation in degrees from north.
6410
6648
  */
6411
6649
  get bearing(): number;
6412
6650
  /**
@@ -6435,10 +6673,9 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
6435
6673
  */
6436
6674
  get insetsPadding(): InsetPadding;
6437
6675
  /**
6438
- *
6439
6676
  * @param padding The padding around the edges of the map when focusing on a set of coordinates (in screen pixels).
6440
6677
  */
6441
- setInsetPadding(padding?: InsetPadding): void;
6678
+ setInsetPadding(padding: InsetPadding): void;
6442
6679
  animateTo(options: AnimateToOptions): Promise<void>;
6443
6680
  /**
6444
6681
  * Focuses the camera on a set of coordinates, with optional animation
@@ -6790,6 +7027,83 @@ declare module '@mappedin/react-sdk/geojson/src/maplibre-overlay' {
6790
7027
  }
6791
7028
  }
6792
7029
 
7030
+ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
7031
+ import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
7032
+ import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
7033
+ import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
7034
+ import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
7035
+ import { Coordinate, MapObject, Space, Floor, type MapDataInternal, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
7036
+ import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
7037
+ import { Label, Marker, type Model, type Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
7038
+ import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
7039
+ import type { TGetState, TUpdateState } from '@mappedin/react-sdk/mappedin-js/src/types';
7040
+ import { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera';
7041
+ import { Exporter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter';
7042
+ import { Labels } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels';
7043
+ import { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
7044
+ import { Markers } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers';
7045
+ import { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
7046
+ import { Models } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/models';
7047
+ import { Paths } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths';
7048
+ import { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
7049
+ import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
7050
+ import { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
7051
+ import { Style } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/style';
7052
+ import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
7053
+ import type { TShowStackOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
7054
+ export class GeoJsonApi {
7055
+ core: RendererCore;
7056
+ outdoors: GeojsonApiMapObject;
7057
+ mapObjects: GeojsonApiMapObject[];
7058
+ id: string;
7059
+ mapDataExternal: {
7060
+ [key in string]: MapData;
7061
+ };
7062
+ currentMap?: GeojsonApiMapObject;
7063
+ hiddenOutdoorGeometries: [Position, layer: string[]][];
7064
+ mapView: MapView;
7065
+ Camera: Camera;
7066
+ Labels: Labels;
7067
+ Markers: Markers;
7068
+ Models: Models;
7069
+ Paths: Paths;
7070
+ Exporter: Exporter;
7071
+ Navigation: Navigation;
7072
+ Outdoor: Outdoor;
7073
+ BlueDot: BlueDot;
7074
+ Shapes: Shapes;
7075
+ Style: Style;
7076
+ Images: Images;
7077
+ constructor(rendererCore: RendererCore, mapView: MapView);
7078
+ updateState<T extends Space | MapObject | Label | Shape | Marker | Door | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
7079
+ update: () => void;
7080
+ getMapDataInternal(): MapDataInternal | undefined;
7081
+ getMapData(): MapData | undefined;
7082
+ expand(opts?: {
7083
+ excludeFloors: Floor[];
7084
+ }): Promise<void> | undefined;
7085
+ collapse(): Promise<void> | undefined;
7086
+ showStack(opts?: TShowStackOptions): Promise<void> | undefined;
7087
+ addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
7088
+ setFloor(floor: Floor | string, reason?: TFloorChangeReason): Promise<void> | undefined;
7089
+ updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
7090
+ get currentFloor(): Floor;
7091
+ getState<T extends Space | MapObject | Label | Marker | Shape | Model | Image | string>(target: T): TGetState<T> | undefined;
7092
+ setHoverColor(c: string): void;
7093
+ getHoverColor(): string | undefined;
7094
+ createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
7095
+ createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
7096
+ isInView(target: Space | MapObject | Label | Marker | string): boolean;
7097
+ auto(): void;
7098
+ /**
7099
+ * @internal
7100
+ */
7101
+ get __core(): RendererCore;
7102
+ clear(): void;
7103
+ destroy(): void;
7104
+ }
7105
+ }
7106
+
6793
7107
  declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/label' {
6794
7108
  /**
6795
7109
  * Class representing a label on the {@link MapView}.
@@ -7076,88 +7390,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
7076
7390
  }
7077
7391
  }
7078
7392
 
7079
- declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
7080
- import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
7081
- import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
7082
- import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
7083
- import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
7084
- import { Coordinate, MapObject, Space, Floor, type MapDataInternal, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
7085
- import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
7086
- import { Label, Marker, type Model, type Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
7087
- import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
7088
- import type { TGetState, TUpdateState } from '@mappedin/react-sdk/mappedin-js/src/types';
7089
- import { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera';
7090
- import { Exporter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter';
7091
- import { Labels } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels';
7092
- import { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
7093
- import { Markers } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers';
7094
- import { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
7095
- import { Models } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/models';
7096
- import { Paths } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths';
7097
- import { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
7098
- import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
7099
- import { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
7100
- import { Style } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/style';
7101
- import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
7102
- import type { TShowStackOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
7103
- export class GeoJsonApi {
7104
- core: RendererCore;
7105
- outdoors: GeojsonApiMapObject;
7106
- mapObjects: GeojsonApiMapObject[];
7107
- id: string;
7108
- mapDataExternal: {
7109
- [key in string]: MapData;
7110
- };
7111
- currentMap?: GeojsonApiMapObject;
7112
- hiddenOutdoorGeometries: [Position, layer: string[]][];
7113
- mapView: MapView;
7114
- Camera: Camera;
7115
- Labels: Labels;
7116
- Markers: Markers;
7117
- Models: Models;
7118
- Paths: Paths;
7119
- Exporter: Exporter;
7120
- Navigation: Navigation;
7121
- Outdoor: Outdoor;
7122
- BlueDot: BlueDot;
7123
- Shapes: Shapes;
7124
- Style: Style;
7125
- Images: Images;
7126
- constructor(rendererCore: RendererCore, mapView: MapView);
7127
- updateState<T extends Space | MapObject | Label | Marker | Door | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
7128
- update: () => void;
7129
- getMapDataInternal(): MapDataInternal | undefined;
7130
- getMapData(): MapData | undefined;
7131
- expand(opts?: {
7132
- excludeFloors: Floor[];
7133
- }): Promise<void> | undefined;
7134
- collapse(): Promise<void> | undefined;
7135
- showStack(opts?: TShowStackOptions): Promise<void> | undefined;
7136
- addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
7137
- setFloor(floor: Floor | string, reason?: TFloorChangeReason): Promise<void> | undefined;
7138
- updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
7139
- get currentFloor(): Floor;
7140
- getState<T extends Space | MapObject | Label | Marker | Model | Image | string>(target: T): TGetState<T> | undefined;
7141
- setHoverColor(c: string): void;
7142
- getHoverColor(): string | undefined;
7143
- createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
7144
- createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
7145
- isInView(target: Space | MapObject | Label | Marker | string): boolean;
7146
- auto(): void;
7147
- /**
7148
- * @internal
7149
- */
7150
- get __core(): RendererCore;
7151
- clear(): void;
7152
- destroy(): void;
7153
- }
7154
- }
7155
-
7156
- declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot' {
7157
- export { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
7158
- export type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
7159
- }
7160
-
7161
7393
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
7162
7394
  import type { TCameraAnimationOptions, TCameraFocusOnTarget, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
7163
7395
  import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
@@ -7238,7 +7470,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
7238
7470
  */
7239
7471
  setMaxPitch: (maxPitch: number) => void;
7240
7472
  /**
7241
- * The current bearing of the camera in degrees.
7473
+ * The current bearing of the camera in degrees clockwise from North. 0 degrees is North, 90 degrees is East, 180 degrees is South, and 270 degrees is West.
7242
7474
  */
7243
7475
  get bearing(): number;
7244
7476
  /**
@@ -7679,6 +7911,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/search/internal' {
7679
7911
  import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
7680
7912
  import { z } from 'zod';
7681
7913
  export class InternalSearch {
7914
+ #private;
7682
7915
  constructor(mapData: MapData);
7683
7916
  /**
7684
7917
  * Populates the search indexes with the map data.
@@ -8171,7 +8404,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/analytics/customer' {
8171
8404
  /** Flag to enable sending of events. */
8172
8405
  sendEvents: boolean;
8173
8406
  } & AnalyticsAuth;
8174
- type AnalyticsOptions = Partial<Omit<AnalyticState, 'version' | 'analyticsBaseUrl' | 'geolocationMode' | 'deviceId' | 'userPosition'>>;
8407
+ type AnalyticsOptions = Partial<Omit<AnalyticState, 'version' | 'analyticsBaseUrl' | 'geolocationMode' | 'userPosition'>>;
8175
8408
  export type AnalyticsUpdateOptions = Omit<AnalyticsOptions, keyof AnalyticsAuth> & ((Required<Pick<AnalyticsAuth, 'key' | 'secret'>> & Partial<Pick<AnalyticsAuth, 'accessToken'>>) | (Required<Pick<AnalyticsAuth, 'accessToken'>> & Partial<Pick<AnalyticsAuth, 'key' | 'secret'>>));
8176
8409
  /**
8177
8410
  * Options for updating the current state of analytics.
@@ -9429,7 +9662,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
9429
9662
  import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle } from '@mappedin/core-sdk';
9430
9663
  import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/react-sdk/mappedin-js/src';
9431
9664
  import type { TDoorsState, TMarkerState, TWallsState } from '@mappedin/react-sdk/mappedin-js/src/types';
9432
- import type { Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
9665
+ import type { Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
9433
9666
  import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9434
9667
  import type TWEEN from '@tweenjs/tween.js';
9435
9668
  export function convertCoordinateToPosition(coord: Coordinate): Position;
@@ -9458,7 +9691,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
9458
9691
  };
9459
9692
  export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Point | LineString | Polygon, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
9460
9693
  export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
9461
- export const getTargetID: <T extends Space | MapObject | Label | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
9694
+ export const getTargetID: <T extends Space | Shape | MapObject | Label | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
9462
9695
  export function tweenToPromise(tween: TWEEN.Tween): Promise<void>;
9463
9696
  }
9464
9697
 
@@ -9663,7 +9896,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
9663
9896
  import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
9664
9897
  import * as CAMERA_CONSTANTS from '@mappedin/react-sdk/geojson/src/systems/camera/constants';
9665
9898
  import type { AnimateCameraTarget, CameraControlsOptions, CameraFocusOnOptions } from '@mappedin/react-sdk/geojson/src/systems/camera/types';
9666
- import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
9899
+ import type { InsetPadding, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
9667
9900
  type CameraEventName = (typeof CAMERA_CONSTANTS.EVENTS)[number];
9668
9901
  type SpecificCameraEvents = {
9669
9902
  'multi-start': {
@@ -10011,7 +10244,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
10011
10244
  */
10012
10245
  getZoomScaledMax: () => number;
10013
10246
  /**
10014
- * Sets the rotation to a specific orientation, in radians. Mostly useful to orient the map a certain way for a physical directory.
10247
+ * Sets the rotation to a specific orientation, clockwise in radians. Mostly useful to orient the map a certain way for a physical directory.
10015
10248
  *
10016
10249
  * @param radians {Number} Absolute rotation to set the camera to, in radians. 0 in the starting point.
10017
10250
  * @param silent {Boolean} Whether to avoid emitting events
@@ -10038,12 +10271,6 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
10038
10271
  * Current camera zoom in mercator zoom level units.
10039
10272
  */
10040
10273
  getZoomLevel: () => number;
10041
- /**
10042
- * Rotates the camera a set number of radians relative to the current rotation. Useful for an idle rotation animation.
10043
- *
10044
- * @param radians {Number} Number of radians to rotate the camera.
10045
- */
10046
- rotate: (radians: number) => void;
10047
10274
  /**
10048
10275
  * Sets the tilt to a specific level, in radians. 0 is top down. Bounded by minTilt and maxTilt.
10049
10276
  *
@@ -10098,18 +10325,27 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
10098
10325
  * @param zoomLevel{number} The mercator zoom level
10099
10326
  */
10100
10327
  convertZoomLevelToAltitude: (zoomLevel: number) => number;
10101
- getCameraFrameForPoints: (pointCloud: any, horizontalFovFactor: any, verticalFovFactor: any, padding: any, { canvasWidth, canvasHeight }: {
10102
- canvasWidth: any;
10103
- canvasHeight: any;
10104
- }, minZoom?: number, maxZoom?: number) => {
10105
- position: Vector3;
10106
- zoom: number;
10107
- };
10328
+ static CAMERA_FRAME_PADDING_SIDES: readonly ["top", "bottom", "left", "right"];
10108
10329
  debugContainer: Object3D<import("three").Object3DEventMap>;
10109
- focusOn(pointCloud: Vector3[], { insetsPadding }: any, options?: CameraFocusOnOptions): void;
10330
+ focusOn(pointCloud: Vector3[], options: CameraFocusOnOptions & {
10331
+ padding: InsetPadding;
10332
+ }): void;
10110
10333
  resize(canvasWidth: number, canvasHeight: number): void;
10111
10334
  }
10112
10335
  export { CameraSystem };
10336
+ export function getCameraFrameForPoints(pointCloud: Vector3[], { canvasWidth, orbit, paddingOption, canvasHeight, minZoom, maxZoom, camera, position, }: {
10337
+ paddingOption: InsetPadding;
10338
+ canvasWidth: number;
10339
+ canvasHeight: number;
10340
+ minZoom: number;
10341
+ maxZoom: number;
10342
+ orbit: Object3D;
10343
+ camera: PerspectiveCamera;
10344
+ position: Vector3;
10345
+ }): {
10346
+ position: Vector3;
10347
+ zoom: number;
10348
+ };
10113
10349
  }
10114
10350
 
10115
10351
  declare module '@mappedin/react-sdk/geojson/src/systems/camera/types' {