@mappedin/mappedin-js 6.3.1 → 6.5.0

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.
@@ -79,19 +79,55 @@ declare class AnalyticsInternal {
79
79
  sendBlueDotEvents(event: BlueDotEvents): void | Promise<Response> | Promise<void>;
80
80
  }
81
81
  type UpdateStateParam = Partial<Pick<AnalyticState, "geolocationMode" | "context" | "logEvents" | "userPosition" | "mapId" | "sendEvents" | "logEvents" | "accessToken" | "sessionId" | "deviceId">>;
82
- type CaptureEventsPayloadMap = {
82
+ /**
83
+ * Maps reserved analytics event names to their payload structures.
84
+ *
85
+ * This type is used by the {@link Analytics.capture} method to provide type safety for reserved analytics events.
86
+ * When using these event names, the payload must match the corresponding structure.
87
+ */
88
+ export type CaptureEventsPayloadMap = {
89
+ /**
90
+ * Event fired when a location is selected.
91
+ */
83
92
  "$select-location": {
93
+ /**
94
+ * The ID of the selected location.
95
+ */
84
96
  id: string;
85
97
  };
98
+ /**
99
+ * Event fired when a category is selected.
100
+ */
86
101
  "$select-category": {
102
+ /**
103
+ * The ID of the selected category.
104
+ */
87
105
  id: string;
88
106
  };
107
+ /**
108
+ * Event fired when query suggestions are generated.
109
+ */
89
110
  "$query-suggest": {
111
+ /**
112
+ * The search query string.
113
+ */
90
114
  query: string;
115
+ /**
116
+ * Optional array of suggestion strings.
117
+ */
91
118
  suggestions?: string[];
92
119
  };
120
+ /**
121
+ * Event fired when a search query is executed.
122
+ */
93
123
  "$query-search": {
124
+ /**
125
+ * The search query string.
126
+ */
94
127
  query: string;
128
+ /**
129
+ * Optional array of result IDs (hits).
130
+ */
95
131
  hits?: string[];
96
132
  };
97
133
  };
@@ -194,7 +230,7 @@ type AnalyticState = {
194
230
  /** Flag to enable sending of events. */
195
231
  sendEvents: boolean;
196
232
  } & AnalyticsAuth;
197
- type AnalyticsOptions = Partial<Omit<AnalyticState, "version" | "analyticsBaseUrl" | "geolocationMode" | "userPosition">>;
233
+ type AnalyticsOptions = Partial<Omit<AnalyticState, "analyticsBaseUrl" | "geolocationMode" | "userPosition">>;
198
234
  type AnalyticsUpdateOptions = Omit<AnalyticsOptions, keyof AnalyticsAuth> & ((Required<Pick<AnalyticsAuth, "key" | "secret">> & Partial<Pick<AnalyticsAuth, "accessToken">>) | (Required<Pick<AnalyticsAuth, "accessToken">> & Partial<Pick<AnalyticsAuth, "key" | "secret">>));
199
235
  /**
200
236
  * Options for updating the current state of analytics.
@@ -359,16 +395,7 @@ interface FeatureCollection$1<G extends Geometry$1 | null = Geometry$1, P = GeoJ
359
395
  type: "FeatureCollection";
360
396
  features: Array<Feature$1<G, P>>;
361
397
  }
362
- /**
363
- * Represents the environment state configuration.
364
- * @example
365
- * const mapData = getMapData({
366
- * key: '',
367
- * secret: '',
368
- * environment: 'eu'
369
- * })
370
- */
371
- export type Environment = {
398
+ type Environment = {
372
399
  /**
373
400
  * The base URI for the API.
374
401
  */
@@ -388,16 +415,13 @@ export type Environment = {
388
415
  };
389
416
  type InternalServiceEnvironment = "us" | "us-enterprise" | "eu" | "us-staging-enterprise" | "us-staging-self-serve";
390
417
  type ServiceEnvironment = "us" | "eu";
391
- /**
392
- * Options for configuring search functionality.
393
- */
394
- export type TSearchOptions = {
418
+ type TSearchOptions = {
395
419
  /**
396
420
  * Indicates whether search functionality is enabled.
397
421
  */
398
422
  enabled: boolean;
399
423
  };
400
- export type TGetMapDataSharedOptions = {
424
+ type TGetMapDataSharedOptions = {
401
425
  /**
402
426
  * Mappedin map ID.
403
427
  */
@@ -473,6 +497,11 @@ export type TGetMapDataSharedOptions = {
473
497
  * @internal
474
498
  */
475
499
  context?: string;
500
+ /**
501
+ * Version override for analytics events.
502
+ * @internal
503
+ */
504
+ version?: string;
476
505
  };
477
506
  search?: TSearchOptions;
478
507
  /**
@@ -491,10 +520,7 @@ export type TGetMapDataSharedOptions = {
491
520
  */
492
521
  mvfVersion?: "2.0.0" | "2.0.0-c" | "3.0.0";
493
522
  };
494
- /**
495
- * @interface
496
- */
497
- export type TGetMapDataWithCredentialsOptions = {
523
+ type TGetMapDataWithCredentialsOptions = {
498
524
  /**
499
525
  * Mappedin auth key.
500
526
  */
@@ -504,16 +530,13 @@ export type TGetMapDataWithCredentialsOptions = {
504
530
  */
505
531
  secret: string;
506
532
  } & TGetMapDataSharedOptions;
507
- /**
508
- * @interface
509
- */
510
- export type TGetMapDataWithAccessTokenOptions = {
533
+ type TGetMapDataWithAccessTokenOptions = {
511
534
  /**
512
535
  * Mappedin access token.
513
536
  */
514
537
  accessToken: string;
515
538
  } & TGetMapDataSharedOptions;
516
- export type TGetMapDataOptions = TGetMapDataWithCredentialsOptions | TGetMapDataWithAccessTokenOptions;
539
+ type TGetMapDataOptions = TGetMapDataWithCredentialsOptions | TGetMapDataWithAccessTokenOptions;
517
540
  /**
518
541
  * @internal
519
542
  */
@@ -865,6 +888,24 @@ declare class ModelStyleComponnet implements Partial<ModelStyle> {
865
888
  clippingPlaneTopVisible: boolean;
866
889
  constructor(init?: Partial<ModelStyle>);
867
890
  }
891
+ declare class Mask {
892
+ type: "mask";
893
+ /**
894
+ * The ID of the mask, undefined means no mask
895
+ * min value is 0, max value is 255
896
+ */
897
+ maskId: number;
898
+ enabled: boolean;
899
+ /**
900
+ * Whether the mask is a mask or a masked object
901
+ */
902
+ mode: "mask" | "masked-object";
903
+ /**
904
+ * Whether the masked object should be hidden or revealed when the mask is applied
905
+ */
906
+ effect: "hide" | "reveal";
907
+ dirty: boolean;
908
+ }
868
909
  type GeometryGroupState = {
869
910
  readonly id: string | number;
870
911
  readonly type: "geometry-group";
@@ -900,12 +941,18 @@ type GeometryGroupState = {
900
941
  * Bevel configuration for extruded shapes.
901
942
  */
902
943
  bevel?: BevelState;
944
+ maskId?: number;
945
+ maskEnabled?: boolean;
946
+ maskEffect?: "hide" | "reveal";
947
+ maskMode?: "mask" | "masked-object";
903
948
  };
904
949
  declare class GeometryGroupObject3D extends Object3D {
905
950
  visible: boolean;
906
951
  readonly type: "geometry-group";
907
- components: never[];
908
- getComponent(): void;
952
+ components: [
953
+ Mask?
954
+ ];
955
+ getComponent(type: "mask"): Mask | undefined;
909
956
  userData: {
910
957
  entityId: string | number;
911
958
  entities3D: Set<string | number>;
@@ -1041,7 +1088,7 @@ type Whatever = {} | undefined | null;
1041
1088
  type LoosePartial<T extends object> = InexactPartial<T> & {
1042
1089
  [k: string]: unknown;
1043
1090
  };
1044
- type Mask<Keys extends PropertyKey> = {
1091
+ type Mask$1<Keys extends PropertyKey> = {
1045
1092
  [K in Keys]?: true;
1046
1093
  };
1047
1094
  type Writeable<T> = {
@@ -4775,6 +4822,21 @@ type PathState = {
4775
4822
  highlightColor: string;
4776
4823
  highlightWidthMultiplier: number;
4777
4824
  highlightCompleteFraction: number;
4825
+ /**
4826
+ * The opacity of the path when it's behind geometry (x-ray effect). Value from 0 to 1.
4827
+ * @default 0.25
4828
+ */
4829
+ xrayOpacity: number;
4830
+ /**
4831
+ * Controls the smoothness of path corners using CatmullRom curve tension. Higher values create smoother curves.
4832
+ * Values between 0.1-0.3 provide subtle smoothing suitable for most use cases.
4833
+ */
4834
+ smoothingTension: number;
4835
+ /**
4836
+ * Distance in meters from corners where control points are inserted for smoothing. Higher values create smoother curves around corners.
4837
+ * Only applies when smoothingTension > 0.
4838
+ */
4839
+ smoothingCornerRadius: number;
4778
4840
  };
4779
4841
  type AddPathOptions = {
4780
4842
  /**
@@ -4829,6 +4891,23 @@ type AddPathOptions = {
4829
4891
  highlightColor?: string;
4830
4892
  highlightWidthMultiplier?: number;
4831
4893
  highlightCompleteFraction?: number;
4894
+ /**
4895
+ * The opacity of the path when it's behind geometry (x-ray effect). Value from 0 to 1.
4896
+ * @default 0.25
4897
+ */
4898
+ xrayOpacity?: number;
4899
+ /**
4900
+ * Controls the smoothness of path corners using CatmullRom curve tension. Higher values create smoother curves.
4901
+ * Values between 0.1-0.3 provide subtle smoothing suitable for most use cases.
4902
+ * @default 0.0
4903
+ */
4904
+ smoothingTension?: number;
4905
+ /**
4906
+ * Distance in meters from corners where control points are inserted for smoothing. Higher values create smoother curves around corners.
4907
+ * Only applies when smoothingTension > 0. Typical values are 0.5-2.0 meters for subtle smoothing.
4908
+ * @default 0.0
4909
+ */
4910
+ smoothingCornerRadius?: number;
4832
4911
  };
4833
4912
  declare class PathComponent {
4834
4913
  #private;
@@ -4853,7 +4932,10 @@ declare class PathComponent {
4853
4932
  highlightCompleteFraction: number;
4854
4933
  highlightWidthMultiplier: number;
4855
4934
  highlightColor: string;
4935
+ xrayOpacity: number;
4856
4936
  dashed: boolean;
4937
+ smoothingTension: number;
4938
+ smoothingCornerRadius: number;
4857
4939
  /**
4858
4940
  * If the path is vertical it will be rebuilt whenever altitudeDirty = true. This will be set during the first render of the path.
4859
4941
  */
@@ -5133,6 +5215,7 @@ declare class Geometry3DObject3D extends Object3D {
5133
5215
  isSingleModel?: boolean;
5134
5216
  type: Geometry3DObjectTypes;
5135
5217
  };
5218
+ components: never[];
5136
5219
  /**
5137
5220
  * Custom raycast implementation for model objects only.
5138
5221
  * This selectively enables recursive raycasting just for models, which have complex hierarchies,
@@ -5188,7 +5271,7 @@ declare class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends
5188
5271
  parentId?: string | number;
5189
5272
  get object3d(): M["mesh"];
5190
5273
  get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
5191
- get type(): T;
5274
+ type: T;
5192
5275
  entities2D: Map<string | number, Geometry2D>;
5193
5276
  constructor(meshComponent: M, styleComponent: S);
5194
5277
  /** Attaching a 2D entity to the 3D entity so it will follow the style changes */
@@ -5305,13 +5388,7 @@ interface PathUniforms {
5305
5388
  value: number;
5306
5389
  };
5307
5390
  }
5308
- /**
5309
- * Generic PubSub class implementing the Publish-Subscribe pattern for event handling.
5310
- *
5311
- * @template EVENT_PAYLOAD - The type of the event payload.
5312
- * @template EVENT - The type of the event.
5313
- */
5314
- export declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EVENT_PAYLOAD> {
5391
+ declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EVENT_PAYLOAD> {
5315
5392
  /**
5316
5393
  * @private
5317
5394
  * @internal
@@ -5394,6 +5471,19 @@ declare class Renderer {
5394
5471
  */
5395
5472
  destroy(): void;
5396
5473
  enabledLayers: Set<number>;
5474
+ private matricesUpdatedThisFrame;
5475
+ /**
5476
+ * Indicate that a new frame is starting, so we can reset the matrices updated flag
5477
+ */
5478
+ startFrame(): void;
5479
+ /**
5480
+ * Per frame, we can call this function many times, but it should only fire once
5481
+ */
5482
+ private updateMatricesIfNeeded;
5483
+ /**
5484
+ * Render a custom scene
5485
+ */
5486
+ renderScene(scene: Scene, sceneCamera: Camera): void;
5397
5487
  /**
5398
5488
  * Re-render the scene, depending on which parts of the scene have been
5399
5489
  * invalidated.
@@ -5403,7 +5493,7 @@ declare class Renderer {
5403
5493
  * @param scene {Scene}
5404
5494
  * @param sceneCamera {Camera}
5405
5495
  */
5406
- render(scene: Scene, sceneCamera: Camera): void;
5496
+ renderFullScene(scene: Scene, sceneCamera: Camera): void;
5407
5497
  clear(): void;
5408
5498
  /**
5409
5499
  * Set the size of the renderer, composer, and all its internal buffers.
@@ -5597,6 +5687,70 @@ export declare class MappedinError extends Error {
5597
5687
  export declare class MappedinRenderError extends MappedinError {
5598
5688
  constructor(message: string, label?: string);
5599
5689
  }
5690
+ /**
5691
+ * Generic PubSub class implementing the Publish-Subscribe pattern for event handling.
5692
+ *
5693
+ * @template EVENT_PAYLOAD - The type of the event payload.
5694
+ * @template EVENT - The type of the event.
5695
+ */
5696
+ declare class PubSub$1<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EVENT_PAYLOAD> {
5697
+ /**
5698
+ * @private
5699
+ * @internal
5700
+ */
5701
+ private _subscribers;
5702
+ /**
5703
+ * @private
5704
+ * @internal
5705
+ */
5706
+ private _destroyed;
5707
+ /**
5708
+ * @private
5709
+ * @internal
5710
+ */
5711
+ publish<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, data?: EVENT_PAYLOAD[EVENT_NAME]): void;
5712
+ /**
5713
+ * Subscribe a function to an event.
5714
+ *
5715
+ * @param eventName An event name which, when fired, will call the provided
5716
+ * function.
5717
+ * @param fn A callback that gets called when the corresponding event is fired. The
5718
+ * callback will get passed an argument with a type that's one of event payloads.
5719
+ * @example
5720
+ * // Subscribe to the 'click' event
5721
+ * const handler = (event) => {
5722
+ * const { coordinate } = event;
5723
+ * const { latitude, longitude } = coordinate;
5724
+ * console.log(`Map was clicked at ${latitude}, ${longitude}`);
5725
+ * };
5726
+ * map.on('click', handler);
5727
+ */
5728
+ on<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
5729
+ data: null;
5730
+ } ? EVENT_PAYLOAD[EVENT_NAME]["data"] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
5731
+ /**
5732
+ * Unsubscribe a function previously subscribed with {@link on}
5733
+ *
5734
+ * @param eventName An event name to which the provided function was previously
5735
+ * subscribed.
5736
+ * @param fn A function that was previously passed to {@link on}. The function must
5737
+ * have the same reference as the function that was subscribed.
5738
+ * @example
5739
+ * // Unsubscribe from the 'click' event
5740
+ * const handler = (event) => {
5741
+ * console.log('Map was clicked', event);
5742
+ * };
5743
+ * map.off('click', handler);
5744
+ */
5745
+ off<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
5746
+ data: null;
5747
+ } ? EVENT_PAYLOAD[EVENT_NAME]["data"] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
5748
+ /**
5749
+ * @private
5750
+ * @internal
5751
+ */
5752
+ destroy(): void;
5753
+ }
5600
5754
  declare const EASING_CURVES: readonly [
5601
5755
  "ease-in",
5602
5756
  "ease-out",
@@ -15062,11 +15216,6 @@ type ReadonlyObjectDeep<ObjectType extends object> = {
15062
15216
  readonly [KeyType in keyof ObjectType]: ReadonlyDeep<ObjectType[KeyType]>;
15063
15217
  };
15064
15218
  type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
15065
- type PartialExcept<T, K extends string> = {
15066
- [P in keyof T as P extends K ? P : never]: T[P];
15067
- } & {
15068
- [P in keyof T as P extends K ? never : P]?: T[P] extends Primitive$1 ? T[P] : T[P] extends (infer U)[] ? PartialExcept<U, K>[] : PartialExcept<T[P], K>;
15069
- };
15070
15219
  type ExtractDeep<T, U, Depth extends readonly number[] = [
15071
15220
  ]> = Depth["length"] extends 3 ? any : {
15072
15221
  [K in keyof T as T[K] extends U ? K : T[K] extends object | undefined ? ExtractDeep<NonNullable<T[K]>, U, [
@@ -15158,7 +15307,7 @@ type WatermarkUpdateOptions = Omit<WatermarkOptions, "onClick" | "visible"> & {
15158
15307
  /** Set the interactivity of the watermark. */
15159
15308
  interactive?: boolean;
15160
15309
  };
15161
- declare class WatermarkSystem extends PubSub<{
15310
+ declare class WatermarkSystem extends PubSub$1<{
15162
15311
  "texture-loaded": void;
15163
15312
  }> {
15164
15313
  #private;
@@ -15333,8 +15482,8 @@ declare class InteractionSystem extends PubSub<InteractionEvents> {
15333
15482
  private lastPointerEvent?;
15334
15483
  private cursor;
15335
15484
  private touchesCount;
15336
- private isUserInteracting;
15337
- constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, worldPlane: Mesh, isUserInteracting: () => boolean);
15485
+ private isUserMovingCamera;
15486
+ constructor(container: HTMLCanvasElement, coreState: RendererState, camera: PerspectiveCamera, worldPlane: Mesh, isUserMovingCamera: () => boolean);
15338
15487
  updateQuadtree(takeIT: QuadTree<{
15339
15488
  entityId: Geometry2D["id"];
15340
15489
  }>): void;
@@ -15476,123 +15625,7 @@ declare const LABEL_TEXT_PLACEMENT: {
15476
15625
  declare const LABEL_LOW_PRIORITY = "low-priority";
15477
15626
  export type LabelTextPlacement = ValueOf<typeof LABEL_TEXT_PLACEMENT>;
15478
15627
  type LabelTextPlacementInternal = LabelTextPlacement | typeof LABEL_LOW_PRIORITY;
15479
- declare const labelAppearanceSchema: z.ZodPipe<z.ZodObject<{
15480
- margin: z.ZodDefault<z.ZodNumber>;
15481
- maxLines: z.ZodDefault<z.ZodNumber>;
15482
- textSize: z.ZodDefault<z.ZodNumber>;
15483
- maxWidth: z.ZodDefault<z.ZodNumber>;
15484
- lineHeight: z.ZodDefault<z.ZodNumber>;
15485
- color: z.ZodDefault<z.ZodString>;
15486
- outlineColor: z.ZodDefault<z.ZodString>;
15487
- textColor: z.ZodOptional<z.ZodString>;
15488
- textOutlineColor: z.ZodOptional<z.ZodString>;
15489
- pinColor: z.ZodOptional<z.ZodString>;
15490
- pinOutlineColor: z.ZodOptional<z.ZodString>;
15491
- pinColorInactive: z.ZodOptional<z.ZodString>;
15492
- pinOutlineColorInactive: z.ZodOptional<z.ZodString>;
15493
- icon: z.ZodOptional<z.ZodString>;
15494
- iconSize: z.ZodDefault<z.ZodNumber>;
15495
- iconScale: z.ZodDefault<z.ZodUnion<readonly [
15496
- z.ZodNumber,
15497
- z.ZodObject<{
15498
- on: z.ZodLiteral<"zoom-level">;
15499
- input: z.ZodTuple<[
15500
- z.ZodNumber
15501
- ], z.ZodNumber>;
15502
- output: z.ZodTuple<[
15503
- z.ZodNumber
15504
- ], z.ZodNumber>;
15505
- easing: z.ZodDefault<z.ZodEnum<{
15506
- "ease-in": "ease-in";
15507
- "ease-out": "ease-out";
15508
- "ease-in-out": "ease-in-out";
15509
- linear: "linear";
15510
- }>>;
15511
- }, z.core.$strip>
15512
- ]>>;
15513
- iconPadding: z.ZodDefault<z.ZodNumber>;
15514
- iconFit: z.ZodDefault<z.ZodEnum<{
15515
- fill: "fill";
15516
- contain: "contain";
15517
- cover: "cover";
15518
- }>>;
15519
- iconOverflow: z.ZodDefault<z.ZodEnum<{
15520
- visible: "visible";
15521
- hidden: "hidden";
15522
- }>>;
15523
- iconVisible: z.ZodDefault<z.ZodUnion<readonly [
15524
- z.ZodBoolean,
15525
- z.ZodNumber
15526
- ]>>;
15527
- opacity: z.ZodDefault<z.ZodNumber>;
15528
- }, z.core.$strip>, z.ZodTransform<{
15529
- textColor: string;
15530
- textOutlineColor: string;
15531
- pinColor: string;
15532
- pinOutlineColor: string;
15533
- pinColorInactive: string;
15534
- pinOutlineColorInactive: string;
15535
- margin: number;
15536
- maxLines: number;
15537
- textSize: number;
15538
- maxWidth: number;
15539
- lineHeight: number;
15540
- color: string;
15541
- outlineColor: string;
15542
- iconSize: number;
15543
- iconScale: number | {
15544
- on: "zoom-level";
15545
- input: [
15546
- number,
15547
- ...number[]
15548
- ];
15549
- output: [
15550
- number,
15551
- ...number[]
15552
- ];
15553
- easing: "ease-in" | "ease-out" | "ease-in-out" | "linear";
15554
- };
15555
- iconPadding: number;
15556
- iconFit: "fill" | "contain" | "cover";
15557
- iconOverflow: "visible" | "hidden";
15558
- iconVisible: number | boolean;
15559
- opacity: number;
15560
- icon?: string | undefined;
15561
- }, {
15562
- margin: number;
15563
- maxLines: number;
15564
- textSize: number;
15565
- maxWidth: number;
15566
- lineHeight: number;
15567
- color: string;
15568
- outlineColor: string;
15569
- iconSize: number;
15570
- iconScale: number | {
15571
- on: "zoom-level";
15572
- input: [
15573
- number,
15574
- ...number[]
15575
- ];
15576
- output: [
15577
- number,
15578
- ...number[]
15579
- ];
15580
- easing: "ease-in" | "ease-out" | "ease-in-out" | "linear";
15581
- };
15582
- iconPadding: number;
15583
- iconFit: "fill" | "contain" | "cover";
15584
- iconOverflow: "visible" | "hidden";
15585
- iconVisible: number | boolean;
15586
- opacity: number;
15587
- textColor?: string | undefined;
15588
- textOutlineColor?: string | undefined;
15589
- pinColor?: string | undefined;
15590
- pinOutlineColor?: string | undefined;
15591
- pinColorInactive?: string | undefined;
15592
- pinOutlineColorInactive?: string | undefined;
15593
- icon?: string | undefined;
15594
- }>>;
15595
- declare const labelAppearanceSchemaStrict: z.ZodObject<{
15628
+ declare const labelAppearanceSchemaStrict: z.ZodObject<{
15596
15629
  margin: z.ZodDefault<z.ZodNumber>;
15597
15630
  maxLines: z.ZodDefault<z.ZodNumber>;
15598
15631
  textSize: z.ZodDefault<z.ZodNumber>;
@@ -15706,6 +15739,89 @@ declare const labelAppearanceSchemaStrict: z.ZodObject<{
15706
15739
  */
15707
15740
  export type LabelAppearance = OptionalRemap<OptionalRemap<z.input<typeof labelAppearanceSchemaStrict>, "iconScale", number | Interpolation<"zoom-level", number[]>>, "color" | "outlineColor" | "pinColor" | "pinOutlineColor" | "pinColorInactive" | "pinOutlineColorInactive", ColorString>;
15708
15741
  type LabelAppearanceWithDefaults = z.infer<typeof labelAppearanceSchema>;
15742
+ declare const labelAppearanceSchema: z.ZodPipe<z.ZodObject<{
15743
+ margin: z.ZodDefault<z.ZodNumber>;
15744
+ maxLines: z.ZodDefault<z.ZodNumber>;
15745
+ textSize: z.ZodDefault<z.ZodNumber>;
15746
+ maxWidth: z.ZodDefault<z.ZodNumber>;
15747
+ lineHeight: z.ZodDefault<z.ZodNumber>;
15748
+ color: z.ZodDefault<z.ZodString>;
15749
+ outlineColor: z.ZodDefault<z.ZodString>;
15750
+ textColor: z.ZodOptional<z.ZodString>;
15751
+ textOutlineColor: z.ZodOptional<z.ZodString>;
15752
+ pinColor: z.ZodOptional<z.ZodString>;
15753
+ pinOutlineColor: z.ZodOptional<z.ZodString>;
15754
+ pinColorInactive: z.ZodOptional<z.ZodString>;
15755
+ pinOutlineColorInactive: z.ZodOptional<z.ZodString>;
15756
+ icon: z.ZodOptional<z.ZodString>;
15757
+ iconSize: z.ZodDefault<z.ZodNumber>;
15758
+ iconScale: z.ZodDefault<z.ZodUnion<readonly [
15759
+ z.ZodNumber,
15760
+ z.ZodObject<{
15761
+ on: z.ZodLiteral<"zoom-level">;
15762
+ input: z.ZodTuple<[
15763
+ z.ZodNumber
15764
+ ], z.ZodNumber>;
15765
+ output: z.ZodTuple<[
15766
+ z.ZodNumber
15767
+ ], z.ZodNumber>;
15768
+ easing: z.ZodDefault<z.ZodEnum<{
15769
+ "ease-in": "ease-in";
15770
+ "ease-out": "ease-out";
15771
+ "ease-in-out": "ease-in-out";
15772
+ linear: "linear";
15773
+ }>>;
15774
+ }, z.core.$strip>
15775
+ ]>>;
15776
+ iconPadding: z.ZodDefault<z.ZodNumber>;
15777
+ iconFit: z.ZodDefault<z.ZodEnum<{
15778
+ fill: "fill";
15779
+ contain: "contain";
15780
+ cover: "cover";
15781
+ }>>;
15782
+ iconOverflow: z.ZodDefault<z.ZodEnum<{
15783
+ visible: "visible";
15784
+ hidden: "hidden";
15785
+ }>>;
15786
+ iconVisible: z.ZodDefault<z.ZodUnion<readonly [
15787
+ z.ZodBoolean,
15788
+ z.ZodNumber
15789
+ ]>>;
15790
+ opacity: z.ZodDefault<z.ZodNumber>;
15791
+ }, z.core.$strip>, z.ZodTransform<Required<LabelAppearance>, {
15792
+ margin: number;
15793
+ maxLines: number;
15794
+ textSize: number;
15795
+ maxWidth: number;
15796
+ lineHeight: number;
15797
+ color: string;
15798
+ outlineColor: string;
15799
+ iconSize: number;
15800
+ iconScale: number | {
15801
+ on: "zoom-level";
15802
+ input: [
15803
+ number,
15804
+ ...number[]
15805
+ ];
15806
+ output: [
15807
+ number,
15808
+ ...number[]
15809
+ ];
15810
+ easing: "ease-in" | "ease-out" | "ease-in-out" | "linear";
15811
+ };
15812
+ iconPadding: number;
15813
+ iconFit: "fill" | "contain" | "cover";
15814
+ iconOverflow: "visible" | "hidden";
15815
+ iconVisible: number | boolean;
15816
+ opacity: number;
15817
+ textColor?: string | undefined;
15818
+ textOutlineColor?: string | undefined;
15819
+ pinColor?: string | undefined;
15820
+ pinOutlineColor?: string | undefined;
15821
+ pinColorInactive?: string | undefined;
15822
+ pinOutlineColorInactive?: string | undefined;
15823
+ icon?: string | undefined;
15824
+ }>>;
15709
15825
  declare const addLabelOptionsSchema: z.ZodObject<{
15710
15826
  rank: z.ZodOptional<z.ZodUnion<readonly [
15711
15827
  z.ZodEnum<{
@@ -15765,40 +15881,7 @@ declare const addLabelOptionsSchema: z.ZodObject<{
15765
15881
  z.ZodNumber
15766
15882
  ]>>;
15767
15883
  opacity: z.ZodDefault<z.ZodNumber>;
15768
- }, z.core.$strip>, z.ZodTransform<{
15769
- textColor: string;
15770
- textOutlineColor: string;
15771
- pinColor: string;
15772
- pinOutlineColor: string;
15773
- pinColorInactive: string;
15774
- pinOutlineColorInactive: string;
15775
- margin: number;
15776
- maxLines: number;
15777
- textSize: number;
15778
- maxWidth: number;
15779
- lineHeight: number;
15780
- color: string;
15781
- outlineColor: string;
15782
- iconSize: number;
15783
- iconScale: number | {
15784
- on: "zoom-level";
15785
- input: [
15786
- number,
15787
- ...number[]
15788
- ];
15789
- output: [
15790
- number,
15791
- ...number[]
15792
- ];
15793
- easing: "ease-in" | "ease-out" | "ease-in-out" | "linear";
15794
- };
15795
- iconPadding: number;
15796
- iconFit: "fill" | "contain" | "cover";
15797
- iconOverflow: "visible" | "hidden";
15798
- iconVisible: number | boolean;
15799
- opacity: number;
15800
- icon?: string | undefined;
15801
- }, {
15884
+ }, z.core.$strip>, z.ZodTransform<Required<LabelAppearance>, {
15802
15885
  margin: number;
15803
15886
  maxLines: number;
15804
15887
  textSize: number;
@@ -15849,6 +15932,7 @@ declare const addLabelOptionsSchema: z.ZodObject<{
15849
15932
  hidden: "hidden";
15850
15933
  }>>
15851
15934
  ]>>;
15935
+ occlude: z.ZodDefault<z.ZodBoolean>;
15852
15936
  }, z.core.$strip>;
15853
15937
  type AddLabelOptionsInternal = z.input<typeof addLabelOptionsSchema> & {
15854
15938
  appearance?: LabelAppearance;
@@ -15878,7 +15962,7 @@ type AddLabelOptionsInternal = z.input<typeof addLabelOptionsSchema> & {
15878
15962
  */
15879
15963
  textPlacement?: LabelTextPlacement | LabelTextPlacement[];
15880
15964
  };
15881
- declare class MeshCreationAndOptimizationSystem extends PubSub<{
15965
+ declare class MeshCreationAndOptimizationSystem extends PubSub$1<{
15882
15966
  "model-loaded": void;
15883
15967
  "geometry-2d-added": void;
15884
15968
  "geometry-group-added": void;
@@ -15924,7 +16008,7 @@ declare enum TEXTALIGN {
15924
16008
  CENTER = "center",
15925
16009
  RIGHT = "right"
15926
16010
  }
15927
- declare class TwoDDrawSystem extends PubSub<{
16011
+ declare class TwoDDrawSystem extends PubSub$1<{
15928
16012
  "img:loaded": undefined;
15929
16013
  }> {
15930
16014
  dirty: boolean;
@@ -16000,7 +16084,7 @@ declare class TwoDVisibilitySystem extends PubSub<{
16000
16084
  playAnimations: () => void;
16001
16085
  _playAnimations(): void;
16002
16086
  }
16003
- declare class RenderSystem extends PubSub<{
16087
+ declare class RenderSystem extends PubSub$1<{
16004
16088
  "measure-canvas": undefined;
16005
16089
  "pre-render": undefined;
16006
16090
  "post-render": undefined;
@@ -16691,7 +16775,7 @@ declare class DOMDrawSystem {
16691
16775
  constructor(state: RendererState);
16692
16776
  update(isUserInteracting: boolean): void;
16693
16777
  }
16694
- declare class DOMResizeSystem extends PubSub<{
16778
+ declare class DOMResizeSystem extends PubSub$1<{
16695
16779
  "dimensions-update": void;
16696
16780
  }> {
16697
16781
  state: RendererState;
@@ -16891,7 +16975,7 @@ declare class Camera$2 {
16891
16975
  */
16892
16976
  focusOn(target: (Position | Position$1 | string)[], options?: FocusOnOptions): Promise<void>;
16893
16977
  }
16894
- declare class PanBoundsSystem extends PubSub<{
16978
+ declare class PanBoundsSystem extends PubSub$1<{
16895
16979
  update: void;
16896
16980
  }> {
16897
16981
  private currentTotalBoundingBox?;
@@ -16982,7 +17066,7 @@ declare class IdleQueue {
16982
17066
  */
16983
17067
  clearAll(): void;
16984
17068
  }
16985
- declare class OutlineInterpolationSystem extends PubSub<{
17069
+ declare class OutlineInterpolationSystem extends PubSub$1<{
16986
17070
  "needs-render": void;
16987
17071
  }> {
16988
17072
  #private;
@@ -17017,7 +17101,7 @@ declare class OutlineInterpolationSystem extends PubSub<{
17017
17101
  update(zoomLevel: number, isCameraZoomDirty?: boolean): void;
17018
17102
  destroy(): void;
17019
17103
  }
17020
- declare class ImageSystem extends PubSub<{
17104
+ declare class ImageSystem extends PubSub$1<{
17021
17105
  "image-loaded": void;
17022
17106
  }> {
17023
17107
  private rendererState;
@@ -17045,7 +17129,7 @@ declare class ImageSystem extends PubSub<{
17045
17129
  update(cameraRotationRadians: number): void;
17046
17130
  updateImageScreenBBoxes(meshComponent: MeshComponent | ImageComponent): void;
17047
17131
  }
17048
- declare class GeometryInFocusSystem extends PubSub<{
17132
+ declare class GeometryInFocusSystem extends PubSub$1<{
17049
17133
  /**
17050
17134
  * Returns the list of entities that are likely in focus, sorted by the weight of the raycast.
17051
17135
  */
@@ -17080,7 +17164,7 @@ declare class GeometryInFocusSystem extends PubSub<{
17080
17164
  declare class OutdoorLayers {
17081
17165
  #private;
17082
17166
  idleQueue: IdleQueue;
17083
- hideLayersIntersectingPolygons(bbox: BBox, polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[], layers: string[]): void;
17167
+ hideLayersIntersectingPolygons(polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[], layers: string[]): void;
17084
17168
  constructor(map?: Map);
17085
17169
  destroy(): void;
17086
17170
  }
@@ -17149,7 +17233,7 @@ declare class GeometryDisposalSystem {
17149
17233
  constructor(state: RendererState);
17150
17234
  update(): void;
17151
17235
  }
17152
- declare class TextureSystem extends PubSub<{
17236
+ declare class TextureSystem extends PubSub$1<{
17153
17237
  "texture-added": void;
17154
17238
  }> {
17155
17239
  dirty: boolean;
@@ -17190,6 +17274,15 @@ declare class RenderOrderSystem {
17190
17274
  getOrder(object: object): number | undefined;
17191
17275
  update(): void;
17192
17276
  }
17277
+ declare class MaskingSystem {
17278
+ private state;
17279
+ constructor(state: RendererState);
17280
+ private applyMask;
17281
+ update(): void;
17282
+ private enableMaskProducer;
17283
+ private enableMaskReciever;
17284
+ private disableMask;
17285
+ }
17193
17286
  declare class ClippingPlaneSystem {
17194
17287
  rendererState: RendererState;
17195
17288
  dirty: boolean;
@@ -17242,6 +17335,7 @@ type Systems = {
17242
17335
  textureSystem: TextureSystem;
17243
17336
  borderSystem: BorderSystem;
17244
17337
  renderOrderSystem: RenderOrderSystem;
17338
+ maskingSystem: MaskingSystem;
17245
17339
  clippingPlaneSystem: ClippingPlaneSystem;
17246
17340
  pluginSystem: PluginSystem;
17247
17341
  };
@@ -17469,11 +17563,10 @@ declare class Core extends PubSub<MapEvent> {
17469
17563
  getMetersPerPixel: () => number;
17470
17564
  /**
17471
17565
  * Filters out layers at a certain point on the outdoor map. This can be used to hide the outdoor building footprint underneath the 3D geometry.
17472
- * @param bbox The bounding box to filter layers under.
17473
17566
  * @param polygons The polygons to filter layers under.
17474
17567
  * @param layers The layers to filter out.
17475
17568
  */
17476
- hideOutdoorLayersIntersectingPolygons: (bbox: BBox, polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[], layers: string[]) => void;
17569
+ hideOutdoorLayersIntersectingPolygons: (polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[], layers: string[]) => void;
17477
17570
  /**
17478
17571
  * Get the center of a geometry or bounding box.
17479
17572
  * @param geometryOrBoundingBox Geometry, geometry id, or bounding box to get the center of.
@@ -17781,25 +17874,39 @@ declare class LabelComponent {
17781
17874
  toPackedMessage(isPanning?: boolean): PackedJsonMessage;
17782
17875
  destroy(): void;
17783
17876
  }
17877
+ type Occlusion2D = {
17878
+ enabled: boolean;
17879
+ id: number;
17880
+ };
17881
+ declare class Occlusion2DComponent implements Occlusion2D {
17882
+ readonly type: "occlusion2d";
17883
+ enabled: boolean;
17884
+ /**
17885
+ * Id of the occluder
17886
+ */
17887
+ id: number;
17888
+ constructor(id: number);
17889
+ }
17784
17890
  declare class Geometry2DObject3D extends Object3D {
17785
17891
  }
17786
17892
  type ComponentTypeMap$1 = {
17787
17893
  interaction: InteractionComponent;
17788
17894
  marker: MarkerComponent;
17789
17895
  label: LabelComponent;
17896
+ occlusion2d: Occlusion2DComponent;
17790
17897
  };
17791
17898
  declare class Geometry2D {
17792
17899
  id: string | number;
17793
- get type(): "label" | "marker";
17900
+ type: "label" | "marker";
17794
17901
  get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
17795
17902
  /** The geometry3D that this 2D entity is attached to */
17796
17903
  get attachedTo(): string | number | undefined;
17797
17904
  verticalOffset: number;
17798
- occluderId?: number;
17799
17905
  object3d: Geometry2DObject3D;
17800
17906
  components: [
17801
17907
  MarkerComponent | LabelComponent,
17802
- InteractionComponent?
17908
+ InteractionComponent?,
17909
+ Occlusion2DComponent?
17803
17910
  ];
17804
17911
  getComponent<T extends keyof ComponentTypeMap$1>(type: T): ComponentTypeMap$1[T] | undefined;
17805
17912
  disposed: boolean;
@@ -17936,6 +18043,27 @@ export type PaintStyle = {
17936
18043
  * Bevel configuration for extruded shapes.
17937
18044
  */
17938
18045
  bevel?: BevelState;
18046
+ /**
18047
+ * @experimental
18048
+ * The ID of the mask
18049
+ * min value is 0, max value is 255
18050
+ */
18051
+ __EXPERIMENTAL_maskId?: number;
18052
+ /**
18053
+ * Whether the masked object should be hidden or revealed when the mask is applied
18054
+ * @experimental
18055
+ */
18056
+ __EXPERIMENTAL_maskEffect?: "hide" | "reveal";
18057
+ /**
18058
+ * Whether the mask is a mask or a masked object
18059
+ * @experimental
18060
+ */
18061
+ __EXPERIMENTAL_maskMode?: "mask" | "masked-object";
18062
+ /**
18063
+ * Whether the mask is enabled
18064
+ * @experimental
18065
+ */
18066
+ __EXPERIMENTAL_maskEnabled?: boolean;
17939
18067
  };
17940
18068
  export type Shading = {
17941
18069
  start?: number;
@@ -17956,6 +18084,10 @@ export type LineStyle = {
17956
18084
  outline?: boolean;
17957
18085
  side?: MaterialSide;
17958
18086
  renderOrder?: number;
18087
+ __EXPERIMENTAL_maskId?: number;
18088
+ __EXPERIMENTAL_maskEnabled?: boolean;
18089
+ __EXPERIMENTAL_maskEffect?: "hide" | "reveal";
18090
+ __EXPERIMENTAL_maskMode?: "mask" | "masked-object";
17959
18091
  };
17960
18092
  type ModelProperties = {
17961
18093
  rotation?: [
@@ -18029,15 +18161,7 @@ type ClickPayload = {
18029
18161
  /**
18030
18162
  * Details about the pointer event which triggered the interaction.
18031
18163
  */
18032
- pointerEvent: {
18033
- /**
18034
- * The button which was clicked. 0 is the left mouse button and 2 is the right mouse button.
18035
- * On touch devices a tap will have a button of 0.
18036
- *
18037
- * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
18038
- */
18039
- button: number;
18040
- };
18164
+ pointerEvent: Pick<PointerEvent, "button">;
18041
18165
  /**
18042
18166
  * An array of group container IDs which the user interaction passed through. Will be empty if no group containers were interacted with.
18043
18167
  */
@@ -18133,12 +18257,22 @@ type RendererState = {
18133
18257
  readonly geometry2DMap: Map<string | number, Geometry2D>;
18134
18258
  /**
18135
18259
  * A set of all 2D geometry IDs in the scene. This is updated when objects' visiblity changes.
18260
+ * @deprecated Use geometry2DsInScene instead.
18136
18261
  */
18137
18262
  readonly geometry2DIdsInScene: Set<Geometry2D["id"]>;
18138
18263
  /**
18139
18264
  * A set of all 3D geometry IDs in the scene. This is updated when objects' visiblity changes.
18265
+ * @deprecated Use geometry3DsInScene instead.
18140
18266
  */
18141
18267
  readonly geometry3DIdsInScene: Set<All3DTypes["id"]>;
18268
+ /**
18269
+ * A set of all 3D geometries in the scene. This is updated when objects' visiblity changes.
18270
+ */
18271
+ readonly geometry3DsInScene: Set<All3DTypes>;
18272
+ /**
18273
+ * A set of all 2D geometries in the scene. This is updated when objects' visiblity changes.
18274
+ */
18275
+ readonly geometry2DsInScene: Set<Geometry2D>;
18142
18276
  /**
18143
18277
  * IDs of geometry groups that need to be loaded, including preloaded geometry groups that are not in the scene yet
18144
18278
  */
@@ -18305,6 +18439,11 @@ type AddMarkerOptions = {
18305
18439
  * Dynamic resize of the marker. If set to true, the marker will resize based on the content.
18306
18440
  */
18307
18441
  dynamicResize?: boolean;
18442
+ /**
18443
+ * Whether the marker can be occluded by 3D geometry
18444
+ * @default true
18445
+ */
18446
+ occlude?: boolean;
18308
18447
  /**
18309
18448
  * @internal
18310
18449
  */
@@ -18395,313 +18534,41 @@ declare class MarkerComponent {
18395
18534
  get lowPriorityPinStrategyIndex(): number;
18396
18535
  destroy(): void;
18397
18536
  }
18398
- type NodeNeighbor = {
18399
- id: string;
18400
- weight: number;
18401
- };
18402
- type NodeProperties = {
18537
+ export declare function enableTestMode(): void;
18538
+ /**
18539
+ * Class representing a label on the {@link MapView}.
18540
+ *
18541
+ * Labels contain text and an image that are anchored to a specific point on the map. They automatically rotate and show and hide based on priority and zoom level.
18542
+ * Use them to inform users about location names, points of interest and more!
18543
+ *
18544
+ * Effective use of labels allows an app to convey additional information to the user.
18545
+ * For example labels can be used to show room names, important points of interest, main entrances or any other piece of contextual information that is useful to the user.
18546
+ *
18547
+ * Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
18548
+ */
18549
+ export declare class Label implements IFocusable {
18403
18550
  /**
18404
- * Unique identifier for the node.
18551
+ * The label's id
18405
18552
  */
18406
- id: string;
18553
+ readonly id: string;
18407
18554
  /**
18408
- * An array of neighboring nodes with associated weights.
18555
+ * The label's text
18409
18556
  */
18410
- neighbors: NodeNeighbor[];
18411
- /**
18412
- * Additional property specific to the navigator based on the 'groupBy' option.
18413
- * */
18414
- [name: string]: any;
18415
- };
18416
- type NodeCollection$1 = FeatureCollection$1<Point$1, NodeProperties>;
18417
- type NodeFeature = Feature$1<Point$1, NodeProperties>;
18418
- declare class Edge {
18419
- /** The originating node of the edge */
18420
- origin: NodeFeature;
18421
- /** The destination node of the edge */
18422
- destination: NodeFeature;
18423
- /** The distance between the origin and the destination nodes */
18424
- distance: number;
18425
- /** The angle of the edge with respect to some reference, in degrees */
18426
- angle: number;
18427
- /** A composite weight of the edge, combining distance and a custom path weight */
18428
- weight: number;
18557
+ readonly text: string;
18429
18558
  /**
18430
- * Constructs a new Edge instance.
18431
- * @param {NodeFeature} origin - The originating node of the edge.
18432
- * @param {NodeFeature} destination - The destination node of the edge.
18433
- * @param {number} [distance=0] - The physical distance between the origin and destination.
18434
- * @param {number} [angle=0] - The angle of the edge in degrees.
18435
- * @param {number} [pathWeight=0] - An additional weight factor for the path.
18559
+ * The target object where the label is anchored.
18436
18560
  */
18437
- constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
18438
- origin: NodeFeature;
18439
- destination: NodeFeature;
18440
- distance?: number;
18441
- angle?: number;
18442
- pathWeight?: number;
18443
- multiplicativeDistanceWeightScaling?: boolean;
18444
- });
18445
- }
18446
- declare class NavigationGraph {
18447
- #private;
18448
- readonly edges: {
18449
- [propName: string]: Edge[];
18450
- };
18451
- readonly nodesById: {
18452
- [propName: string]: NodeFeature;
18453
- };
18454
- readonly nodesByGroup: Map<string, NodeFeature[]>;
18455
- constructor({ nodes, groupBy, multiplicativeDistanceWeightScaling, }: {
18456
- nodes: NodeCollection$1;
18457
- groupBy: string;
18458
- multiplicativeDistanceWeightScaling?: boolean;
18459
- });
18561
+ readonly target: IAnchorable;
18460
18562
  /**
18461
- * Calculates the shortest Euclidean distance from the origin node to any of the destination nodes.
18462
- *
18463
- * @param origin - The origin node.
18464
- * @param destinations - An array of destination nodes.
18465
- * @returns The shortest Euclidean distance.
18563
+ * @internal
18466
18564
  */
18467
- getShortestEuclideanDistance(origin: NodeFeature, destinations: NodeFeature[]): number;
18468
- hasLineOfSight: (origin: Position, destination: Position, edges?: Position[][], bufferRadius?: number) => boolean;
18565
+ static readonly __type = "label";
18469
18566
  /**
18470
- * Performs a Dijkstra search to find nodes within a given travel distance that satisfy a goal function, sorted by distance.
18471
- *
18472
- * @param originId - Origin node ID.
18473
- * @param maxTravelDistance - The maximum travel distance.
18474
- * @param includedNodeIds - Array of node IDs to include in the search.
18475
- * @param obstructionEdges - Array of obstruction edges for line of sight calculations.
18476
- * @param useLineOfSight - Whether to use line of sight checking.
18477
- * @returns An Array of nodes within the travel distance that satisfy the goal function.
18478
- * - feature: The node feature.
18479
- * - distance: The distance to the node.
18480
- * - edges: The edges to the node.
18567
+ * @internal
18481
18568
  */
18482
- dijkstraFindWithinTravelDistance(originId: string, maxTravelDistance: number, includedNodeIds: string[], obstructionEdges: Position[][], useLineOfSight: boolean, limitNumberOfResults: number): {
18483
- feature: NodeFeature;
18484
- distance: number;
18485
- }[];
18569
+ readonly __type = "label";
18486
18570
  /**
18487
- * Performs A* pathfinding from specified origins to destinations, considering optional constraints like accessibility.
18488
- *
18489
- * @param {string[]} originIds - Array of origin node IDs.
18490
- * @param {string[]} destinationNodeIds - Array of destination node IDs.
18491
- * @param {Set<string>} [disabledConnectionNodeIds] - Optional set of connection node IDs that are disabled (ie. act as regular nodes).
18492
- * @param {Set<string>} [disabledNodeIds] - Optional set of node IDs which are ignored during pathfinding.
18493
- * @returns {Edge[]} An array of edges representing the shortest path, or an empty array if no path is found.
18494
- */
18495
- aStar({ originIds, destinationNodeIds, disabledConnectionNodeIds, zones, overrideEdgeWeights, disabledNodeIds, }: {
18496
- originIds: string[];
18497
- destinationNodeIds: string[];
18498
- zones: DirectionsZone[];
18499
- disabledConnectionNodeIds?: Set<string>;
18500
- overrideEdgeWeights?: Map<Edge, number>;
18501
- disabledNodeIds?: Set<string>;
18502
- }): Edge[];
18503
- }
18504
- type DirectionProperties = {
18505
- /**
18506
- * Unique identifier for the direction.
18507
- */
18508
- id: string;
18509
- /**
18510
- * An angle between this point and the destination, in radians.
18511
- */
18512
- angle?: number;
18513
- /**
18514
- * Distance to the next point, in meters.
18515
- */
18516
- distance?: number;
18517
- /**
18518
- * Group id which the direction belongs to (e.g. floor, building, etc).
18519
- * It's based on the groupBy property of the navigator.
18520
- */
18521
- groupBy?: string;
18522
- destination?: string;
18523
- edges: Edge[];
18524
- };
18525
- type DirectionFeature = Feature$1<Point$1, DirectionProperties>;
18526
- type DirectionsCollection = FeatureCollection$1<Point$1, DirectionProperties>;
18527
- type SimplifyDirectionsOptions = {
18528
- /**
18529
- * Enable or disable simplifying.
18530
- */
18531
- enabled: boolean;
18532
- /**
18533
- * The radius of the buffer around the path to consider when simplifying, in meters.
18534
- * @default 0.7
18535
- */
18536
- bufferRadius?: number;
18537
- };
18538
- type DirectionsZone = {
18539
- geometry: Feature$1<MultiPolygon$1 | Polygon$1>;
18540
- /**
18541
- * The additional cost for navigation through the zone.
18542
- */
18543
- cost: number;
18544
- /**
18545
- *
18546
- * Additional property specific to the navigator based on the 'groupBy' option.
18547
- */
18548
- [index: string]: any;
18549
- };
18550
- declare class Navigator$1 {
18551
- private groupBy;
18552
- graph: NavigationGraph;
18553
- private geometryEdgesByMapId;
18554
- private flagDeclarations;
18555
- private disabledNodeIds;
18556
- /**
18557
- * Constructs a Navigator instance to manage pathfinding with optional obstructions and grouping features.
18558
- *
18559
- * @param {NodeCollection} nodes - Collection of nodes for the navigation graph.
18560
- * @param {ObstructionCollection} [obstructions] - Optional collection of obstructions that could block paths.
18561
- * @param {SpaceCollection} [spaces] - Optional collection of spaces that could block paths.
18562
- * @param {string} [groupBy] - Optional property name to group nodes and paths for differentiated processing.
18563
- */
18564
- constructor({ nodes, geojsonCollection, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, }: {
18565
- nodes: NodeCollection$1;
18566
- geojsonCollection?: ObstructionCollection | SpaceCollection;
18567
- groupBy?: string;
18568
- multiplicativeDistanceWeightScaling?: boolean;
18569
- flagDeclarations?: NavigationFlagDeclarations;
18570
- });
18571
- private getDisabledNodeIds;
18572
- /**
18573
- * Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
18574
- *
18575
- * @param {DirectionsZone[]} zones - special zones for navigation operations.
18576
- * @param {string[]} originIds - IDs of origin nodes.
18577
- * @param {string[]} destinationNodeIds - IDs of destination nodes.
18578
- * @param {string[]} [disabledConnectionNodeIds] - IDs of connection nodes that are disabled (ie. act as regular nodes).
18579
- * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
18580
- * @returns {DirectionsCollection} A collection of directional features representing the path.
18581
- */
18582
- getDirections({ zones: directionsZones, originIds, destinationNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
18583
- originIds: string[];
18584
- destinationNodeIds: string[];
18585
- zones?: DirectionsZone[];
18586
- disabledConnectionNodeIds?: string[];
18587
- simplify?: SimplifyDirectionsOptions;
18588
- multiplicativeDistanceWeightScaling?: boolean;
18589
- overrideEdgeWeights?: Map<Edge, number>;
18590
- }): DirectionsCollection;
18591
- /**
18592
- * Generates a path from a series of edges, constructing a feature collection of directional steps.
18593
- *
18594
- * @param {Edge[]} steps - An array of edges representing the path.
18595
- * @returns {DirectionsCollection} A collection of directional features.
18596
- */
18597
- private generatePath;
18598
- /**
18599
- * Simplifies a sequence of steps by reducing unnecessary nodes using a buffer radius to check for obstructions.
18600
- *
18601
- * @param {Edge[]} steps - The steps to simplify.
18602
- * @param {number} bufferRadius - The buffer radius to use
18603
- * for simplification.
18604
- * @returns {Edge[]} An array of simplified edges representing a more direct path.
18605
- */
18606
- private simplifyAllSteps;
18607
- /**
18608
- * Finds the nearest nodes on the graph within a given travel distance.
18609
- *
18610
- * @param originId - The ID of the origin node.
18611
- * @param maxDistance - The maximum distance to search.
18612
- * @param floorId - The ID of the floor.
18613
- * @param includedNodeIds - The IDs of the nodes to include.
18614
- * @param useLineOfSight - Whether to use line of sight.
18615
- * @returns An array of nodes within the travel distance that satisfy the goal function.
18616
- */
18617
- findNearestNodesOnGraph: (originId: string, maxDistance: number, floorId: string, includedNodeIds: string[], useLineOfSight?: boolean, limitNumberOfResults?: number) => {
18618
- feature: NodeFeature;
18619
- distance: number;
18620
- }[];
18621
- /**
18622
- * Checks if there is a line of sight between two points on the map.
18623
- *
18624
- * @param origin - The origin point.
18625
- * @param destination - The destination point.
18626
- * @param floorId - The ID of the floor.
18627
- * @param bufferRadius - The buffer radius to use when checking for line of sight.
18628
- * @returns True if there is a line of sight, false otherwise.
18629
- */
18630
- hasLineOfSight: (origin: [
18631
- number,
18632
- number
18633
- ], destination: [
18634
- number,
18635
- number
18636
- ], floorId: string, bufferRadius?: number) => boolean;
18637
- /**
18638
- * Simplifies a section of steps by checking direct lines of sight between steps and eliminating intermediate nodes if unobstructed.
18639
- *
18640
- * @param {Edge[]} steps - The steps to potentially simplify.
18641
- * @param {[number, number][][]} geometryEdges - The geometrical edges of the map used to check for line of sight.
18642
- * @param {number} bufferRadius - The buffer radius to use when simplifying.
18643
- * @returns {Edge[]} An array of simplified edges.
18644
- */
18645
- private simplifySteps;
18646
- /**
18647
- * Calculates the approximate distance between two geographic coordinates on Earth's surface.
18648
- *
18649
- * This function uses the equirectangular approximation method to compute the distance, which simplifies
18650
- * the math and speeds up calculations, but is less accurate over long distances compared to other methods
18651
- * like the haversine formula.
18652
- *
18653
- * @param {Position} point1 - The first point's longitude and latitude as [longitude, latitude].
18654
- * @param {Position} point2 - The second point's longitude and latitude as [longitude, latitude].
18655
- * @return
18656
- * @return {number} The approximate distance between the two points in meters.
18657
- */
18658
- getDistance: (point1: Position, point2: Position) => number;
18659
- /**
18660
- * Calculates the angle between two geographic coordinates.
18661
- *
18662
- * @param {Position} point1 - The first point's longitude and latitude as [longitude, latitude].
18663
- * @param {Position} point2 - The second point's longitude and latitude as [longitude, latitude].
18664
- * @hidden
18665
- *
18666
- * @return {number} The angle in radians, calculated clockwise from the north between the two points specified.
18667
- */
18668
- getAngle: (point1: Position, point2: Position) => number;
18669
- }
18670
- export declare function enableTestMode(): void;
18671
- /**
18672
- * Class representing a label on the {@link MapView}.
18673
- *
18674
- * Labels contain text and an image that are anchored to a specific point on the map. They automatically rotate and show and hide based on priority and zoom level.
18675
- * Use them to inform users about location names, points of interest and more!
18676
- *
18677
- * Effective use of labels allows an app to convey additional information to the user.
18678
- * For example labels can be used to show room names, important points of interest, main entrances or any other piece of contextual information that is useful to the user.
18679
- *
18680
- * Refer to the [Labels Guide](https://developer.mappedin.com/web-sdk/labels) for more information and interactive examples.
18681
- */
18682
- export declare class Label implements IFocusable {
18683
- /**
18684
- * The label's id
18685
- */
18686
- readonly id: string;
18687
- /**
18688
- * The label's text
18689
- */
18690
- readonly text: string;
18691
- /**
18692
- * The target object where the label is anchored.
18693
- */
18694
- readonly target: IAnchorable;
18695
- /**
18696
- * @internal
18697
- */
18698
- static readonly __type = "label";
18699
- /**
18700
- * @internal
18701
- */
18702
- readonly __type = "label";
18703
- /**
18704
- * Checks if the provided instance is of type Label.
18571
+ * Checks if the provided instance is of type Label.
18705
18572
  *
18706
18573
  * @param instance The instance to check.
18707
18574
  * @returns {boolean} True if the instance is a Label, false otherwise.
@@ -18782,10 +18649,10 @@ export declare class Image3DView {
18782
18649
  */
18783
18650
  readonly __type = "image-3d";
18784
18651
  /**
18785
- * Checks if the provided instance is of type Image"
18652
+ * Checks if the provided instance is of type Image3DView.
18786
18653
  *
18787
18654
  * @param instance The instance to check.
18788
- * @returns {boolean} True if the instance is a Image, false otherwise.
18655
+ * @returns {boolean} True if the instance is an Image3DView, false otherwise.
18789
18656
  */
18790
18657
  static is(instance: object): instance is Image3DView;
18791
18658
  /**
@@ -18951,7 +18818,30 @@ export declare class Path implements IFocusable {
18951
18818
  segments: PathSegment[];
18952
18819
  };
18953
18820
  }
18954
- type TCreateMarker = boolean | ((instruction: TDirectionInstruction) => Marker);
18821
+ /**
18822
+ * Controls marker creation for navigation points.
18823
+ *
18824
+ * - If `true`, a default marker is created.
18825
+ * - If `false`, no marker is created.
18826
+ * - If a function is provided, it will be called with the direction instruction and should return a custom {@link Marker} instance.
18827
+ *
18828
+ * @example
18829
+ * ```ts
18830
+ * // Use default markers
18831
+ * createMarkers: { departure: true, destination: true }
18832
+ *
18833
+ * // Disable markers
18834
+ * createMarkers: { departure: false }
18835
+ *
18836
+ * // Create custom markers
18837
+ * createMarkers: {
18838
+ * departure: (instruction) => {
18839
+ * return mapView.Markers.add(instruction.coordinate, '<div>Custom</div>');
18840
+ * }
18841
+ * }
18842
+ * ```
18843
+ */
18844
+ export type TCreateMarker = boolean | ((instruction: TDirectionInstruction) => Marker);
18955
18845
  /**
18956
18846
  * Options for navigation.
18957
18847
  */
@@ -19221,7 +19111,7 @@ declare class FloorStackObject implements Omit<MVFFloorStack, "maps" | "floors"
19221
19111
  addFloor(floor: FloorObject): void;
19222
19112
  loadAllFloors(): void;
19223
19113
  }
19224
- declare class GeojsonApiMapObject extends PubSub<{
19114
+ declare class GeojsonApiMapObject extends PubSub$1<{
19225
19115
  "floor-change": {
19226
19116
  reason?: TFloorChangeReason;
19227
19117
  floorId: string;
@@ -20145,7 +20035,7 @@ export declare class MapView {
20145
20035
  *
20146
20036
  * Provides turn-by-turn navigation instructions and route visualization. This method delegates to the MapData instance.
20147
20037
  *
20148
- * @note In enterprise mode, path smoothing is disabled by default. Use the `smoothing` option to explicitly enable it if needed.
20038
+ * @remarks In enterprise mode, path smoothing is disabled by default. Use the `smoothing` option to explicitly enable it if needed.
20149
20039
  *
20150
20040
  * @param from The starting location(s).
20151
20041
  * @param to The destination location(s).
@@ -20204,7 +20094,7 @@ export declare class MapView {
20204
20094
  *
20205
20095
  * Provides routes from a single starting point to multiple destinations. This method delegates to the MapData instance.
20206
20096
  *
20207
- * @note In enterprise mode, path smoothing is disabled by default. Use the `smoothing` option to explicitly enable it if needed.
20097
+ * @remarks In enterprise mode, path smoothing is disabled by default. Use the `smoothing` option to explicitly enable it if needed.
20208
20098
  *
20209
20099
  * @param from The starting location.
20210
20100
  * @param to An array of destination locations or arrays of destinations.
@@ -20502,6 +20392,7 @@ declare class Camera$3 {
20502
20392
  * Controls which camera interactions are enabled/disabled.
20503
20393
  *
20504
20394
  * @example
20395
+ * ```ts
20505
20396
  * // Disable zoom and rotation
20506
20397
  * mapView.Camera.interactions.set({ zoom: false, bearingAndPitch: false });
20507
20398
  *
@@ -20510,6 +20401,7 @@ declare class Camera$3 {
20510
20401
  *
20511
20402
  * // Disable all interactions
20512
20403
  * mapView.Camera.interactions.disable();
20404
+ * ```
20513
20405
  */
20514
20406
  interactions: {
20515
20407
  set: (options: TCameraInteractionsSetOptions) => void;
@@ -21025,10 +20917,10 @@ type CurrentMapGetter$3 = () => GeojsonApiMapObject | undefined;
21025
20917
  * });
21026
20918
  *
21027
20919
  * // Remove an image
21028
- * mapView.Images.remove(image);
20920
+ * mapView.Image3D.remove(image);
21029
20921
  *
21030
20922
  * // Remove all images
21031
- * mapView.Images.removeAll();
20923
+ * mapView.Image3D.removeAll();
21032
20924
  * ```
21033
20925
  *
21034
20926
  * ### Advanced
@@ -21071,7 +20963,7 @@ export declare class Image3D {
21071
20963
  * @param target The target object ({@link IAnchorable}) for the image (e.g., {@link Space}, {@link Door}, or {@link Coordinate}).
21072
20964
  * @param url The URL of the image (JPEG or PNG format).
21073
20965
  * @param options Configuration options for the image (see {@link TAddImageOptions}).
21074
- * @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
20966
+ * @returns The created {@link Image3DView} instance.
21075
20967
  *
21076
20968
  * @example Add a simple image
21077
20969
  * ```ts
@@ -21103,17 +20995,21 @@ export declare class Image3D {
21103
20995
  /**
21104
20996
  * Removes an image from the map.
21105
20997
  *
21106
- * @param image {Image} The {@link Image} which should be removed.
20998
+ * @param image The {@link Image3DView} instance to remove.
21107
20999
  * @example
21108
- * mapView.Images.remove(image);
21000
+ * ```ts
21001
+ * mapView.Image3D.remove(image);
21002
+ * ```
21109
21003
  */
21110
21004
  remove(image: Image3DView): void;
21111
21005
  /**
21112
21006
  * Remove all the images from the map.
21113
21007
  *
21114
- * @returns An array of all removed {@link Image} instances.
21008
+ * @returns An array of all removed {@link Image3DView} instances.
21115
21009
  * @example
21116
- * const removedImages = mapView.Images.removeAll();
21010
+ * ```ts
21011
+ * const removedImages = mapView.Image3D.removeAll();
21012
+ * ```
21117
21013
  */
21118
21014
  removeAll(): Image3DView[];
21119
21015
  }
@@ -21395,7 +21291,6 @@ declare class Style$2 {
21395
21291
  }
21396
21292
  type CurrentMapGetter$7 = () => GeojsonApiMapObject | undefined;
21397
21293
  type HiddenOutdoorGeometry = [
21398
- BBox,
21399
21294
  polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[],
21400
21295
  layers: string[]
21401
21296
  ];
@@ -21840,6 +21735,7 @@ declare const labelStateSchema: z.ZodObject<{
21840
21735
  center: "center";
21841
21736
  }>>
21842
21737
  ]>>;
21738
+ occlude: z.ZodDefault<z.ZodBoolean>;
21843
21739
  }, z.core.$strip>;
21844
21740
  declare const labelStateSchemaPartial: z.ZodObject<{
21845
21741
  type: z.ZodOptional<z.ZodDefault<z.ZodLiteral<"label">>>;
@@ -21864,6 +21760,7 @@ declare const labelStateSchemaPartial: z.ZodObject<{
21864
21760
  center: "center";
21865
21761
  }>>
21866
21762
  ]>>>;
21763
+ occlude: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
21867
21764
  }, z.core.$strip>;
21868
21765
  export type TLabelState = z.infer<typeof labelStateSchema>;
21869
21766
  export type TLabelUpdateState = z.infer<typeof labelStateSchemaPartial>;
@@ -21910,6 +21807,7 @@ declare const markerStateSchema: z.ZodObject<{
21910
21807
  }, z.core.$strip>>;
21911
21808
  element: z.ZodCustom<HTMLElement, HTMLElement>;
21912
21809
  contentHTML: z.ZodString;
21810
+ occlude: z.ZodDefault<z.ZodBoolean>;
21913
21811
  }, z.core.$strip>;
21914
21812
  declare const markerStateSchemaPartial: z.ZodObject<{
21915
21813
  type: z.ZodOptional<z.ZodDefault<z.ZodLiteral<"marker">>>;
@@ -21919,6 +21817,7 @@ declare const markerStateSchemaPartial: z.ZodObject<{
21919
21817
  z.ZodLiteral<"pointer-events-auto">
21920
21818
  ]>>>;
21921
21819
  rank: z.ZodOptional<z.ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">>;
21820
+ occlude: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
21922
21821
  placement: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [
21923
21822
  z.ZodEnum<{
21924
21823
  "top-left": "top-left";
@@ -21968,6 +21867,9 @@ declare const pathStateSchemaPartial: z.ZodObject<{
21968
21867
  highlightColor: z.ZodOptional<z.ZodDefault<z.ZodString>>;
21969
21868
  highlightWidthMultiplier: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
21970
21869
  highlightCompleteFraction: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
21870
+ xrayOpacity: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
21871
+ __EXPERIMENTAL_SMOOTHING_TENSION: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
21872
+ __EXPERIMENTAL_SMOOTHING_CORNER_RADIUS: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
21971
21873
  }, z.core.$strip>;
21972
21874
  declare const pathStateSchemaStrict: z.ZodObject<{
21973
21875
  type: z.ZodDefault<z.ZodLiteral<"path">>;
@@ -21981,6 +21883,9 @@ declare const pathStateSchemaStrict: z.ZodObject<{
21981
21883
  highlightColor: z.ZodDefault<z.ZodString>;
21982
21884
  highlightWidthMultiplier: z.ZodDefault<z.ZodNumber>;
21983
21885
  highlightCompleteFraction: z.ZodDefault<z.ZodNumber>;
21886
+ xrayOpacity: z.ZodDefault<z.ZodNumber>;
21887
+ __EXPERIMENTAL_SMOOTHING_TENSION: z.ZodDefault<z.ZodNumber>;
21888
+ __EXPERIMENTAL_SMOOTHING_CORNER_RADIUS: z.ZodDefault<z.ZodNumber>;
21984
21889
  }, z.core.$strict>;
21985
21890
  export type TPathState = z.infer<typeof pathStateSchemaStrict>;
21986
21891
  export type TPathUpdateState = z.infer<typeof pathStateSchemaPartial>;
@@ -22268,7 +22173,7 @@ export type MapElementToUpdateState = {
22268
22173
  [DOORS.Exterior]: TDoorsUpdateState;
22269
22174
  [DOORS.Interior]: TDoorsUpdateState;
22270
22175
  };
22271
- declare class GeoJsonApi extends PubSub<TNavigationEvents> {
22176
+ declare class GeoJsonApi extends PubSub$1<TNavigationEvents> {
22272
22177
  #private;
22273
22178
  core: Core;
22274
22179
  mapObjects: GeojsonApiMapObject[];
@@ -22280,7 +22185,6 @@ declare class GeoJsonApi extends PubSub<TNavigationEvents> {
22280
22185
  mapData?: MapData;
22281
22186
  currentMap: GeojsonApiMapObject;
22282
22187
  hiddenOutdoorGeometries: [
22283
- BBox,
22284
22188
  polygons: Feature$1<Polygon$1 | MultiPolygon$1, any>[],
22285
22189
  layers: string[]
22286
22190
  ][];
@@ -22292,7 +22196,7 @@ declare class GeoJsonApi extends PubSub<TNavigationEvents> {
22292
22196
  * Internal systems publish events here which are then exposed to developers via
22293
22197
  * MapView.on() and MapView.off().
22294
22198
  */
22295
- externalPubSub: PubSub<TEvents>;
22199
+ externalPubSub: PubSub$1<TEvents>;
22296
22200
  get manualFloorVisibility(): boolean;
22297
22201
  set manualFloorVisibility(value: boolean);
22298
22202
  get hidePathsNotOnCurrentFloor(): boolean;
@@ -22309,7 +22213,7 @@ declare class GeoJsonApi extends PubSub<TNavigationEvents> {
22309
22213
  Shapes: Shapes;
22310
22214
  Style: Style$2;
22311
22215
  Image3D: Image3D;
22312
- constructor(rendererCore: Core, mapView: MapView, externalPubSub: PubSub<TEvents>);
22216
+ constructor(rendererCore: Core, mapView: MapView, externalPubSub: PubSub$1<TEvents>);
22313
22217
  preloadFloors(floors: Floor[]): void;
22314
22218
  updateState<T extends MapElementsWithState>(target: T, state: TUpdateState<T>): void;
22315
22219
  updateState<T extends string & NonNullable<unknown>>(target: T, state: ValueOf<MapElementToUpdateState>): void;
@@ -22374,46 +22278,318 @@ declare class GeoJsonApi extends PubSub<TNavigationEvents> {
22374
22278
  * Publish all current state information
22375
22279
  * @internal
22376
22280
  */
22377
- publishAllState(): void;
22378
- clear(): void;
22379
- destroy(): void;
22380
- getOptimalVisualDistanceBetweenFloors(floors: Floor[], debug?: boolean): number | undefined;
22281
+ publishAllState(): void;
22282
+ clear(): void;
22283
+ destroy(): void;
22284
+ getOptimalVisualDistanceBetweenFloors(floors: Floor[], debug?: boolean): number | undefined;
22285
+ }
22286
+ /**
22287
+ * Sets the base URL directory where worker scripts are hosted for CSP compatibility.
22288
+ *
22289
+ * This function configures both the MapLibre and collision system workers to load from
22290
+ * external URLs instead of using inline blob URLs. The SDK expects two specific worker
22291
+ * files to be available in the provided directory:
22292
+ * - `maplibre-worker.csp.js` - For MapLibre map rendering
22293
+ * - `collision-worker.csp.js` - For the collision detection system
22294
+ *
22295
+ * Using this approach enables compatibility with strict Content Security Policies
22296
+ * that block unsafe-eval and blob: URLs.
22297
+ *
22298
+ * @param baseUrl - Base URL directory where worker scripts are hosted (without trailing slash)
22299
+ * Example: "https://cdn.example.com/workers"
22300
+ *
22301
+ * @example
22302
+ * ```typescript
22303
+ * import { setWorkersUrl } from '@mappedin/mappedin-js';
22304
+ *
22305
+ * // Call before initializing any maps
22306
+ * setWorkersUrl('https://cdn.example.com/workers');
22307
+ * // This will load:
22308
+ * // - https://cdn.example.com/workers/maplibre-worker.csp.js
22309
+ * // - https://cdn.example.com/workers/collision-worker.csp.js
22310
+ * ```
22311
+ *
22312
+ * @remarks
22313
+ * - The worker files can be found in the published package at:
22314
+ * `node_modules/@mappedin/mappedin-js/lib/esm/workers/`
22315
+ * - For deployment, copy these files to your web server or CDN
22316
+ * - A better approach is to add these files to your build process to ensure
22317
+ * they're always in sync with your application
22318
+ * - Call this function before creating any map instances
22319
+ */
22320
+ export declare function setWorkersUrl(baseUrl: string): void;
22321
+ type NodeNeighbor = {
22322
+ id: string;
22323
+ weight: number;
22324
+ };
22325
+ type NodeProperties = {
22326
+ /**
22327
+ * Unique identifier for the node.
22328
+ */
22329
+ id: string;
22330
+ /**
22331
+ * An array of neighboring nodes with associated weights.
22332
+ */
22333
+ neighbors: NodeNeighbor[];
22334
+ /**
22335
+ * Additional property specific to the navigator based on the 'groupBy' option.
22336
+ * */
22337
+ [name: string]: any;
22338
+ };
22339
+ type NodeCollection$1 = FeatureCollection$1<Point$1, NodeProperties>;
22340
+ type NodeFeature = Feature$1<Point$1, NodeProperties>;
22341
+ declare class Edge {
22342
+ /** The originating node of the edge */
22343
+ origin: NodeFeature;
22344
+ /** The destination node of the edge */
22345
+ destination: NodeFeature;
22346
+ /** The distance between the origin and the destination nodes */
22347
+ distance: number;
22348
+ /** The angle of the edge with respect to some reference, in degrees */
22349
+ angle: number;
22350
+ /** A composite weight of the edge, combining distance and a custom path weight */
22351
+ weight: number;
22352
+ /**
22353
+ * Constructs a new Edge instance.
22354
+ * @param {NodeFeature} origin - The originating node of the edge.
22355
+ * @param {NodeFeature} destination - The destination node of the edge.
22356
+ * @param {number} [distance=0] - The physical distance between the origin and destination.
22357
+ * @param {number} [angle=0] - The angle of the edge in degrees.
22358
+ * @param {number} [pathWeight=0] - An additional weight factor for the path.
22359
+ */
22360
+ constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
22361
+ origin: NodeFeature;
22362
+ destination: NodeFeature;
22363
+ distance?: number;
22364
+ angle?: number;
22365
+ pathWeight?: number;
22366
+ multiplicativeDistanceWeightScaling?: boolean;
22367
+ });
22368
+ }
22369
+ declare class NavigationGraph {
22370
+ #private;
22371
+ readonly edges: {
22372
+ [propName: string]: Edge[];
22373
+ };
22374
+ readonly nodesById: {
22375
+ [propName: string]: NodeFeature;
22376
+ };
22377
+ readonly nodesByGroup: Map<string, NodeFeature[]>;
22378
+ constructor({ nodes, groupBy, multiplicativeDistanceWeightScaling, }: {
22379
+ nodes: NodeCollection$1;
22380
+ groupBy: string;
22381
+ multiplicativeDistanceWeightScaling?: boolean;
22382
+ });
22383
+ /**
22384
+ * Calculates the shortest Euclidean distance from the origin node to any of the destination nodes.
22385
+ *
22386
+ * @param origin - The origin node.
22387
+ * @param destinations - An array of destination nodes.
22388
+ * @returns The shortest Euclidean distance.
22389
+ */
22390
+ getShortestEuclideanDistance(origin: NodeFeature, destinations: NodeFeature[]): number;
22391
+ hasLineOfSight: (origin: Position, destination: Position, edges?: Position[][], bufferRadius?: number) => boolean;
22392
+ /**
22393
+ * Performs a Dijkstra search to find nodes within a given travel distance that satisfy a goal function, sorted by distance.
22394
+ *
22395
+ * @param originId - Origin node ID.
22396
+ * @param maxTravelDistance - The maximum travel distance.
22397
+ * @param includedNodeIds - Array of node IDs to include in the search.
22398
+ * @param obstructionEdges - Array of obstruction edges for line of sight calculations.
22399
+ * @param useLineOfSight - Whether to use line of sight checking.
22400
+ * @returns An Array of nodes within the travel distance that satisfy the goal function.
22401
+ * - feature: The node feature.
22402
+ * - distance: The distance to the node.
22403
+ * - edges: The edges to the node.
22404
+ */
22405
+ dijkstraFindWithinTravelDistance(originId: string, maxTravelDistance: number, includedNodeIds: string[], obstructionEdges: Position[][], useLineOfSight: boolean, limitNumberOfResults: number): {
22406
+ feature: NodeFeature;
22407
+ distance: number;
22408
+ }[];
22409
+ /**
22410
+ * Performs A* pathfinding from specified origins to destinations, considering optional constraints like accessibility.
22411
+ *
22412
+ * @param {string[]} originIds - Array of origin node IDs.
22413
+ * @param {string[]} destinationNodeIds - Array of destination node IDs.
22414
+ * @param {Set<string>} [disabledConnectionNodeIds] - Optional set of connection node IDs that are disabled (ie. act as regular nodes).
22415
+ * @param {Set<string>} [disabledNodeIds] - Optional set of node IDs which are ignored during pathfinding.
22416
+ * @returns {Edge[]} An array of edges representing the shortest path, or an empty array if no path is found.
22417
+ */
22418
+ aStar({ originIds, destinationNodeIds, disabledConnectionNodeIds, zones, overrideEdgeWeights, disabledNodeIds, }: {
22419
+ originIds: string[];
22420
+ destinationNodeIds: string[];
22421
+ zones: DirectionsZone[];
22422
+ disabledConnectionNodeIds?: Set<string>;
22423
+ overrideEdgeWeights?: Map<Edge, number>;
22424
+ disabledNodeIds?: Set<string>;
22425
+ }): Edge[];
22426
+ }
22427
+ type DirectionProperties = {
22428
+ /**
22429
+ * Unique identifier for the direction.
22430
+ */
22431
+ id: string;
22432
+ /**
22433
+ * An angle between this point and the destination, in radians.
22434
+ */
22435
+ angle?: number;
22436
+ /**
22437
+ * Distance to the next point, in meters.
22438
+ */
22439
+ distance?: number;
22440
+ /**
22441
+ * Group id which the direction belongs to (e.g. floor, building, etc).
22442
+ * It's based on the groupBy property of the navigator.
22443
+ */
22444
+ groupBy?: string;
22445
+ destination?: string;
22446
+ edges: Edge[];
22447
+ };
22448
+ type DirectionFeature = Feature$1<Point$1, DirectionProperties>;
22449
+ type DirectionsCollection = FeatureCollection$1<Point$1, DirectionProperties>;
22450
+ type SimplifyDirectionsOptions = {
22451
+ /**
22452
+ * Enable or disable simplifying.
22453
+ */
22454
+ enabled: boolean;
22455
+ /**
22456
+ * The radius of the buffer around the path to consider when simplifying, in meters.
22457
+ * @default 0.7
22458
+ */
22459
+ bufferRadius?: number;
22460
+ };
22461
+ type DirectionsZone = {
22462
+ geometry: Feature$1<MultiPolygon$1 | Polygon$1>;
22463
+ /**
22464
+ * The additional cost for navigation through the zone.
22465
+ */
22466
+ cost: number;
22467
+ /**
22468
+ *
22469
+ * Additional property specific to the navigator based on the 'groupBy' option.
22470
+ */
22471
+ [index: string]: any;
22472
+ };
22473
+ declare class Navigator$1 {
22474
+ private groupBy;
22475
+ graph: NavigationGraph;
22476
+ private geometryEdgesByMapId;
22477
+ private flagDeclarations;
22478
+ private disabledNodeIds;
22479
+ /**
22480
+ * Constructs a Navigator instance to manage pathfinding with optional obstructions and grouping features.
22481
+ *
22482
+ * @param {NodeCollection} nodes - Collection of nodes for the navigation graph.
22483
+ * @param {ObstructionCollection} [obstructions] - Optional collection of obstructions that could block paths.
22484
+ * @param {SpaceCollection} [spaces] - Optional collection of spaces that could block paths.
22485
+ * @param {string} [groupBy] - Optional property name to group nodes and paths for differentiated processing.
22486
+ */
22487
+ constructor({ nodes, geojsonCollection, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, }: {
22488
+ nodes: NodeCollection$1;
22489
+ geojsonCollection?: ObstructionCollection | SpaceCollection;
22490
+ groupBy?: string;
22491
+ multiplicativeDistanceWeightScaling?: boolean;
22492
+ flagDeclarations?: NavigationFlagDeclarations;
22493
+ });
22494
+ private getDisabledNodeIds;
22495
+ /**
22496
+ * Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
22497
+ *
22498
+ * @param {DirectionsZone[]} zones - special zones for navigation operations.
22499
+ * @param {string[]} originIds - IDs of origin nodes.
22500
+ * @param {string[]} destinationNodeIds - IDs of destination nodes.
22501
+ * @param {string[]} [disabledConnectionNodeIds] - IDs of connection nodes that are disabled (ie. act as regular nodes).
22502
+ * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
22503
+ * @returns {DirectionsCollection} A collection of directional features representing the path.
22504
+ */
22505
+ getDirections({ zones: directionsZones, originIds, destinationNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
22506
+ originIds: string[];
22507
+ destinationNodeIds: string[];
22508
+ zones?: DirectionsZone[];
22509
+ disabledConnectionNodeIds?: string[];
22510
+ simplify?: SimplifyDirectionsOptions;
22511
+ multiplicativeDistanceWeightScaling?: boolean;
22512
+ overrideEdgeWeights?: Map<Edge, number>;
22513
+ }): DirectionsCollection;
22514
+ /**
22515
+ * Generates a path from a series of edges, constructing a feature collection of directional steps.
22516
+ *
22517
+ * @param {Edge[]} steps - An array of edges representing the path.
22518
+ * @returns {DirectionsCollection} A collection of directional features.
22519
+ */
22520
+ private generatePath;
22521
+ /**
22522
+ * Simplifies a sequence of steps by reducing unnecessary nodes using a buffer radius to check for obstructions.
22523
+ *
22524
+ * @param {Edge[]} steps - The steps to simplify.
22525
+ * @param {number} bufferRadius - The buffer radius to use
22526
+ * for simplification.
22527
+ * @returns {Edge[]} An array of simplified edges representing a more direct path.
22528
+ */
22529
+ private simplifyAllSteps;
22530
+ /**
22531
+ * Finds the nearest nodes on the graph within a given travel distance.
22532
+ *
22533
+ * @param originId - The ID of the origin node.
22534
+ * @param maxDistance - The maximum distance to search.
22535
+ * @param floorId - The ID of the floor.
22536
+ * @param includedNodeIds - The IDs of the nodes to include.
22537
+ * @param useLineOfSight - Whether to use line of sight.
22538
+ * @returns An array of nodes within the travel distance that satisfy the goal function.
22539
+ */
22540
+ findNearestNodesOnGraph: (originId: string, maxDistance: number, floorId: string, includedNodeIds: string[], useLineOfSight?: boolean, limitNumberOfResults?: number) => {
22541
+ feature: NodeFeature;
22542
+ distance: number;
22543
+ }[];
22544
+ /**
22545
+ * Checks if there is a line of sight between two points on the map.
22546
+ *
22547
+ * @param origin - The origin point.
22548
+ * @param destination - The destination point.
22549
+ * @param floorId - The ID of the floor.
22550
+ * @param bufferRadius - The buffer radius to use when checking for line of sight.
22551
+ * @returns True if there is a line of sight, false otherwise.
22552
+ */
22553
+ hasLineOfSight: (origin: [
22554
+ number,
22555
+ number
22556
+ ], destination: [
22557
+ number,
22558
+ number
22559
+ ], floorId: string, bufferRadius?: number) => boolean;
22560
+ /**
22561
+ * Simplifies a section of steps by checking direct lines of sight between steps and eliminating intermediate nodes if unobstructed.
22562
+ *
22563
+ * @param {Edge[]} steps - The steps to potentially simplify.
22564
+ * @param {[number, number][][]} geometryEdges - The geometrical edges of the map used to check for line of sight.
22565
+ * @param {number} bufferRadius - The buffer radius to use when simplifying.
22566
+ * @returns {Edge[]} An array of simplified edges.
22567
+ */
22568
+ private simplifySteps;
22569
+ /**
22570
+ * Calculates the approximate distance between two geographic coordinates on Earth's surface.
22571
+ *
22572
+ * This function uses the equirectangular approximation method to compute the distance, which simplifies
22573
+ * the math and speeds up calculations, but is less accurate over long distances compared to other methods
22574
+ * like the haversine formula.
22575
+ *
22576
+ * @param {Position} point1 - The first point's longitude and latitude as [longitude, latitude].
22577
+ * @param {Position} point2 - The second point's longitude and latitude as [longitude, latitude].
22578
+ * @return
22579
+ * @return {number} The approximate distance between the two points in meters.
22580
+ */
22581
+ getDistance: (point1: Position, point2: Position) => number;
22582
+ /**
22583
+ * Calculates the angle between two geographic coordinates.
22584
+ *
22585
+ * @param {Position} point1 - The first point's longitude and latitude as [longitude, latitude].
22586
+ * @param {Position} point2 - The second point's longitude and latitude as [longitude, latitude].
22587
+ * @hidden
22588
+ *
22589
+ * @return {number} The angle in radians, calculated clockwise from the north between the two points specified.
22590
+ */
22591
+ getAngle: (point1: Position, point2: Position) => number;
22381
22592
  }
22382
- /**
22383
- * Sets the base URL directory where worker scripts are hosted for CSP compatibility.
22384
- *
22385
- * This function configures both the MapLibre and collision system workers to load from
22386
- * external URLs instead of using inline blob URLs. The SDK expects two specific worker
22387
- * files to be available in the provided directory:
22388
- * - `maplibre-worker.csp.js` - For MapLibre map rendering
22389
- * - `collision-worker.csp.js` - For the collision detection system
22390
- *
22391
- * Using this approach enables compatibility with strict Content Security Policies
22392
- * that block unsafe-eval and blob: URLs.
22393
- *
22394
- * @param baseUrl - Base URL directory where worker scripts are hosted (without trailing slash)
22395
- * Example: "https://cdn.example.com/workers"
22396
- *
22397
- * @example
22398
- * ```typescript
22399
- * import { setWorkersUrl } from '@mappedin/mappedin-js';
22400
- *
22401
- * // Call before initializing any maps
22402
- * setWorkersUrl('https://cdn.example.com/workers');
22403
- * // This will load:
22404
- * // - https://cdn.example.com/workers/maplibre-worker.csp.js
22405
- * // - https://cdn.example.com/workers/collision-worker.csp.js
22406
- * ```
22407
- *
22408
- * @remarks
22409
- * - The worker files can be found in the published package at:
22410
- * `node_modules/@mappedin/mappedin-js/lib/esm/workers/`
22411
- * - For deployment, copy these files to your web server or CDN
22412
- * - A better approach is to add these files to your build process to ensure
22413
- * they're always in sync with your application
22414
- * - Call this function before creating any map instances
22415
- */
22416
- export declare function setWorkersUrl(baseUrl: string): void;
22417
22593
  /**
22418
22594
  * Represents a set of directions between two points.
22419
22595
  *
@@ -22465,6 +22641,9 @@ export declare class Directions {
22465
22641
  __type: string;
22466
22642
  from: TNavigationTarget;
22467
22643
  to: TNavigationTarget;
22644
+ coordinates: Coordinate[];
22645
+ distance: number;
22646
+ instructions: TDirectionInstruction[];
22468
22647
  };
22469
22648
  }
22470
22649
  declare class DirectionsInternal {
@@ -22659,57 +22838,72 @@ export declare class Text3DView {
22659
22838
  */
22660
22839
  static is(instance: object): instance is Text3DView;
22661
22840
  }
22662
- export type TFloorChangeReason = "blue-dot-floor-change" | "navigation-connection-click" | string;
22841
+ export type TFloorChangeReason = string;
22842
+ /**
22843
+ * The payload for a user click event on the map.
22844
+ *
22845
+ * Contains detailed information about all visible interactive map elements that were under the pointer
22846
+ * at the time of the event.
22847
+ *
22848
+ * Properties are optional and included only when corresponding objects are present at the pointer location.
22849
+ */
22663
22850
  export type TClickPayload = {
22664
22851
  /**
22665
- * The coordinate of the interaction.
22852
+ * The geographic {@link Coordinate} of the pointer event.
22666
22853
  */
22667
22854
  coordinate: Coordinate;
22668
22855
  /**
22669
- * The interactive paths which the user interaction passed through.
22856
+ * Interactive {@link Path}s under the pointer.
22670
22857
  */
22671
22858
  paths?: Path[];
22672
22859
  /**
22673
- * The interactive spaces which the user interaction passed through.
22860
+ * Interactive {@link Space}s under the pointer.
22674
22861
  */
22675
22862
  spaces?: Space[];
22676
22863
  /**
22677
- * The interactive objects which the user interaction passed through.
22864
+ * Interactive {@link MapObject | Object}s under the pointer.
22678
22865
  */
22679
22866
  objects?: MapObject[];
22680
22867
  /**
22681
- * The interactive areas which the user interaction passed through.
22868
+ * Interactive {@link Area}s under the pointer.
22682
22869
  */
22683
22870
  areas?: Area[];
22684
22871
  /**
22685
- * The markers which the user interaction passed through.
22872
+ * Interactive {@link Marker}s under the pointer.
22686
22873
  */
22687
22874
  markers?: Marker[];
22688
22875
  /**
22689
- * The models which the user interaction passed through.
22876
+ * Interactive {@link Model}s under the pointer.
22690
22877
  */
22691
22878
  models?: Model[];
22692
22879
  /**
22693
- * The interactive labels which the user interaction passed through.
22880
+ * Interactive {@link Label}s under the pointer.
22694
22881
  */
22695
22882
  labels?: Label[];
22696
22883
  /**
22697
- * The interactive floors which the user interaction passed through.
22884
+ * Interactive {@link Floor}s under the pointer.
22698
22885
  */
22699
22886
  floors?: Floor[];
22700
22887
  /**
22701
- * Details about the pointer event which triggered the interaction.
22888
+ * Details about the pointer event triggering this click, containing only the pointer button.
22702
22889
  */
22703
- pointerEvent: ClickPayload["pointerEvent"];
22890
+ pointerEvent: Pick<PointerEvent, "button">;
22704
22891
  /**
22705
- * The interactive facades which the user interaction passed through.
22892
+ * Interactive {@link Facade}s under the pointer.
22706
22893
  */
22707
22894
  facades?: Facade[];
22708
22895
  /**
22709
- * The interactive shapes which the user interaction passed through.
22896
+ * Interactive {@link Shape}s under the pointer.
22710
22897
  */
22711
22898
  shapes?: Shape[];
22712
22899
  };
22900
+ /**
22901
+ * Represents the payload for a hover event on the map.
22902
+ * This contains the interactive objects that the user's pointer is over,
22903
+ * but omits the `pointerEvent` property from {@link TClickPayload}.
22904
+ *
22905
+ * @see {@link TClickPayload}
22906
+ */
22713
22907
  export type THoverPayload = Omit<TClickPayload, "pointerEvent">;
22714
22908
  type TCameraStateChangePayload = CameraSystemState & {
22715
22909
  autoMinZoomLevel: Core["camera"]["autoMinZoomLevel"];
@@ -22727,13 +22921,20 @@ export type TStateChangedInternalPayload = Partial<{
22727
22921
  Navigation: NavigationState;
22728
22922
  manualFloorVisibility: boolean;
22729
22923
  }>;
22730
- type TFloorChangePayload = {
22924
+ /**
22925
+ * Describes the payload delivered with floor change events.
22926
+ *
22927
+ * This type provides context when a floor change occurs within the map,
22928
+ * such as user-initiated level switches, programmatic navigation, or automatic changes.
22929
+ * It specifies both the current and previous floors for the transition, as well as an optional reason.
22930
+ */
22931
+ export type TFloorChangePayload = {
22731
22932
  /**
22732
- * The floor that is being changed to.
22933
+ * The {@link Floor} which the map is changing to.
22733
22934
  */
22734
22935
  floor: Floor;
22735
22936
  /**
22736
- * The floor that is being changed from.
22937
+ * The {@link Floor} that was active before the change.
22737
22938
  */
22738
22939
  previousFloor: Floor;
22739
22940
  /**
@@ -22765,7 +22966,7 @@ export type TEvents = {
22765
22966
  /**
22766
22967
  * Emitted when the map is hovered over with a mouse.
22767
22968
  */
22768
- hover: Omit<THoverPayload, "pointerEvent">;
22969
+ hover: THoverPayload;
22769
22970
  /**
22770
22971
  * Emitted when the camera's view changes.
22771
22972
  */
@@ -23238,6 +23439,26 @@ export type TAddPathOptions = {
23238
23439
  * @defaultValue false
23239
23440
  */
23240
23441
  visibleThroughGeometry?: boolean;
23442
+ /**
23443
+ * The opacity of the path when it's behind geometry (x-ray effect). Value from 0 to 1.
23444
+ *
23445
+ * @defaultValue 0.25
23446
+ */
23447
+ xrayOpacity?: number;
23448
+ /**
23449
+ * @experimental Controls the smoothness of path corners using CatmullRom curve tension. Higher values create smoother curves.
23450
+ * Values between 0.1-0.3 provide subtle smoothing suitable for most use cases.
23451
+ *
23452
+ * @defaultValue 0.0
23453
+ */
23454
+ __EXPERIMENTAL_SMOOTHING_TENSION?: number;
23455
+ /**
23456
+ * @experimental Distance in meters from corners where control points are inserted for smoothing. Higher values create smoother curves around corners.
23457
+ * Only applies when __EXPERIMENTAL_SMOOTHING_TENSION > 0. Typical values are 0.5-2.0 meters for subtle smoothing.
23458
+ *
23459
+ * @defaultValue 0.5
23460
+ */
23461
+ __EXPERIMENTAL_SMOOTHING_CORNER_RADIUS?: number;
23241
23462
  };
23242
23463
  /**
23243
23464
  * Defines the priority levels for collider collision handling, allowing customization of collider visibility in congested areas.
@@ -23394,7 +23615,7 @@ export type TAddModelOptions = Omit<InitializeModelState, "scale" | "url"> & {
23394
23615
  };
23395
23616
  type TAddText3DOptions = AddText3DOptions;
23396
23617
  /**
23397
- * Options for controlling the behavior of an {@link Image}.
23618
+ * Options for controlling the behavior of an {@link Image3DView}.
23398
23619
  */
23399
23620
  export type TAddImageOptions = {
23400
23621
  /**
@@ -23422,7 +23643,7 @@ export type TAddImageOptions = {
23422
23643
  */
23423
23644
  verticalOffset?: number;
23424
23645
  /**
23425
- * Attempt to keep the image facing the camera as much as possible
23646
+ * If true, the image will automatically rotate to face the camera, creating a billboard effect.
23426
23647
  *
23427
23648
  * @default false
23428
23649
  */
@@ -23482,6 +23703,7 @@ export type TAddMarkerOptions = {
23482
23703
  /**
23483
23704
  * Whether to enable low priority pin strategy when all anchor positions have collisions.
23484
23705
  * @default true
23706
+ * @deprecated add 'hidden' to the placement array instead
23485
23707
  */
23486
23708
  enabled?: boolean;
23487
23709
  /**
@@ -23495,6 +23717,11 @@ export type TAddMarkerOptions = {
23495
23717
  */
23496
23718
  color?: string;
23497
23719
  };
23720
+ /**
23721
+ * Whether the marker should be occluded by 3D geometry.
23722
+ * @default true
23723
+ */
23724
+ occlude?: boolean;
23498
23725
  };
23499
23726
  /**
23500
23727
  * Options for creating a new {@link Label} with {@link Labels.add}.
@@ -23526,6 +23753,11 @@ export type TAddLabelOptions = {
23526
23753
  * The placement of the text relative to the pin.
23527
23754
  */
23528
23755
  textPlacement?: LabelTextPlacement[];
23756
+ /**
23757
+ * Whether the label should be occluded by 3D geometry.
23758
+ * @default true
23759
+ */
23760
+ occlude?: boolean;
23529
23761
  };
23530
23762
  type LanguagePackHydrationItem = {
23531
23763
  language: Language;
@@ -23535,7 +23767,10 @@ type LanguagePackHydrationItem = {
23535
23767
  * All map elements which have state.
23536
23768
  */
23537
23769
  export type MapElementsWithState = WithState<MapDataElements | MapViewElements | DOORS | WALLS>;
23538
- type WithState<T> = T extends {
23770
+ /**
23771
+ * Filter type that extracts only elements which have state.
23772
+ */
23773
+ export type WithState<T> = T extends {
23539
23774
  __type: infer U;
23540
23775
  } ? U extends keyof MapElementToGetState ? T : never : T extends string ? T extends keyof MapElementToGetState ? T : never : never;
23541
23776
  /**
@@ -23606,7 +23841,10 @@ export type TMapDataObjectTypes = {
23606
23841
  [Area.__type]: Area;
23607
23842
  [Facade.__type]: Facade;
23608
23843
  };
23609
- type TMapViewObjectTypes = {
23844
+ /**
23845
+ * Associates MapView type strings with their corresponding classes.
23846
+ */
23847
+ export type TMapViewObjectTypes = {
23610
23848
  [Label.__type]: Label;
23611
23849
  [Marker.__type]: Marker;
23612
23850
  [Model.__type]: Model;
@@ -23616,20 +23854,34 @@ type TMapViewObjectTypes = {
23616
23854
  [Image3DView.__type]: Image3DView;
23617
23855
  [Text3DView.__type]: Text3DView;
23618
23856
  };
23619
- type TMapFeatureTypes = TMapDataObjectTypes & TMapViewObjectTypes;
23620
- type MapFeatureOfType<T extends string> = T extends keyof TMapFeatureTypes ? TMapFeatureTypes[T] : never;
23857
+ /**
23858
+ * Associates MapData and MapView type strings with their corresponding classes.
23859
+ *
23860
+ * This is a union of {@link TMapDataObjectTypes} and {@link TMapViewObjectTypes}, providing
23861
+ * a complete mapping of all map feature type strings to their class types.
23862
+ */
23863
+ export type TMapFeatureTypes = TMapDataObjectTypes & TMapViewObjectTypes;
23864
+ /**
23865
+ * Returns the class type for a given type string.
23866
+ */
23867
+ export type MapFeatureOfType<T extends string> = T extends keyof TMapFeatureTypes ? TMapFeatureTypes[T] : never;
23621
23868
  type TImagePlacementOptions = ImagePlacementOptions;
23622
- type TCameraInteractionsSetOptions = {
23869
+ /**
23870
+ * Options to control which camera interactions are enabled in the MapView.
23871
+ *
23872
+ * All values are optional; if omitted, the corresponding interaction will not be changed.
23873
+ */
23874
+ export type TCameraInteractionsSetOptions = {
23623
23875
  /**
23624
- * Whether to enable panning.
23876
+ * Whether to enable panning (dragging the map).
23625
23877
  */
23626
23878
  pan?: boolean;
23627
23879
  /**
23628
- * Whether to enable zooming.
23880
+ * Whether to enable zooming (scroll or pinch).
23629
23881
  */
23630
23882
  zoom?: boolean;
23631
23883
  /**
23632
- * Whether to enable bearing and pitch.
23884
+ * Whether to enable bearing (rotation) and pitch (tilting).
23633
23885
  */
23634
23886
  bearingAndPitch?: boolean;
23635
23887
  };
@@ -23670,17 +23922,25 @@ type TGetInViewOptions = Partial<{
23670
23922
  screenOffsets: Partial<InsetPadding>;
23671
23923
  fullyContains: boolean;
23672
23924
  }>;
23673
- type TPathSectionHighlightOptions = {
23925
+ /**
23926
+ * Configuration options for highlighting a specific section of a path on the map.
23927
+ * These options allow you to visually emphasize a segment of a path using custom color, width,
23928
+ * and animation duration for user interaction or navigation purposes.
23929
+ */
23930
+ export type TPathSectionHighlightOptions = {
23674
23931
  /**
23675
- * The color of the highlight.
23932
+ * The highlight color for the path section (CSS color string).
23933
+ * @default 'red'
23676
23934
  */
23677
23935
  color?: string;
23678
23936
  /**
23679
- * The width multiplier of the highlight.
23937
+ * Multiplies the base path width by this factor for the duration of the highlight.
23938
+ * @default 1
23680
23939
  */
23681
23940
  widthMultiplier?: number;
23682
23941
  /**
23683
- * The duration of the highlight animation.
23942
+ * Duration of the highlight animation in milliseconds.
23943
+ * @default 1500
23684
23944
  */
23685
23945
  animationDuration?: number;
23686
23946
  };
@@ -23694,21 +23954,26 @@ export type TTakeScreenshotOptions = {
23694
23954
  */
23695
23955
  withOutdoorContext?: boolean;
23696
23956
  };
23697
- type TCoordinateParams = {
23957
+ /**
23958
+ * Parameters for creating a {@link Coordinate}.
23959
+ *
23960
+ * Used with the {@link Coordinate} constructor or {@link MapView.createCoordinate} method to create a coordinate on the map.
23961
+ */
23962
+ export type TCoordinateParams = {
23698
23963
  /**
23699
- * The latitude of the coordinate in decimal degrees.
23964
+ * The latitude of the {@link Coordinate}.
23700
23965
  */
23701
23966
  latitude: number;
23702
23967
  /**
23703
- * The longitude of the coordinate in decimal degrees.
23968
+ * The longitude of the {@link Coordinate}.
23704
23969
  */
23705
23970
  longitude: number;
23706
23971
  /**
23707
- * Optional ID of the floor this coordinate is on.
23972
+ * Optional ID of the {@link Floor} this {@link Coordinate} is on.
23708
23973
  */
23709
23974
  floorId?: string;
23710
23975
  /**
23711
- * Optional vertical offset from the floor in meters.
23976
+ * Optional vertical offset from the {@link Floor} in meters.
23712
23977
  */
23713
23978
  verticalOffset?: number;
23714
23979
  };
@@ -23997,6 +24262,7 @@ export declare class LocationProfile extends BaseMetaData implements LocationDat
23997
24262
  * @format uri
23998
24263
  */
23999
24264
  icon?: ImageMetaData;
24265
+ /** @internal */
24000
24266
  constructor(data: MapDataInternal, options: {
24001
24267
  mvfData: MVFLocation;
24002
24268
  });
@@ -24081,13 +24347,15 @@ declare abstract class BaseMapData {
24081
24347
  get geoJSONBoundingBox(): BBox | undefined;
24082
24348
  get geoJSON(): Feature$1<Polygon$1 | MultiPolygon$1 | LineString | Point$1, null>;
24083
24349
  }
24084
- type PropertiesWithDetails = {
24350
+ export declare abstract class DetailedMapData<MVFData extends MVFFeature<Geometry, {
24085
24351
  id: string;
24086
24352
  externalId?: string;
24087
24353
  details?: Details;
24088
- };
24089
- declare abstract class DetailedMapData<MVFData extends MVFFeature<Geometry, PropertiesWithDetails>> extends BaseMapData {
24354
+ }>> extends BaseMapData {
24090
24355
  #private;
24356
+ /**
24357
+ * @internal
24358
+ */
24091
24359
  constructor(data: MapDataInternal, mvfData: MVFData);
24092
24360
  /**
24093
24361
  * Gets the external identifier of the map feature.
@@ -24131,6 +24399,20 @@ declare abstract class DetailedMapData<MVFData extends MVFFeature<Geometry, Prop
24131
24399
  * @returns {LocationProfile[]} An array of location profiles.
24132
24400
  */
24133
24401
  get locationProfiles(): LocationProfile[];
24402
+ /**
24403
+ * Serializes DetailedMapData fields to a plain object.
24404
+ * Internal method for use by bridge serialization.
24405
+ *
24406
+ * @internal
24407
+ */
24408
+ _serializeDetailedMapData(): {
24409
+ externalId: string;
24410
+ name: string;
24411
+ description: string;
24412
+ images: ImageMetaData[];
24413
+ links: Hyperlink[];
24414
+ locationProfiles: LocationProfile[];
24415
+ };
24134
24416
  }
24135
24417
  /**
24136
24418
  * An Area represents some grouping of multiple pieces of geometry, not
@@ -24793,6 +25075,11 @@ export declare class MapObject extends DetailedMapData<ObstructionFeature> imple
24793
25075
  */
24794
25076
  destroy(): void;
24795
25077
  }
25078
+ type PartialExcept<T, K extends string> = {
25079
+ [P in keyof T as P extends K ? P : never]: T[P];
25080
+ } & {
25081
+ [P in keyof T as P extends K ? never : P]?: T[P] extends Primitive$1 ? T[P] : T[P] extends (infer U)[] ? PartialExcept<U, K>[] : PartialExcept<T[P], K>;
25082
+ };
24796
25083
  type TokenWithExpiration = {
24797
25084
  token: string;
24798
25085
  expires?: number;
@@ -24814,7 +25101,7 @@ type TokenManagerEvents = {
24814
25101
  sasTokens: Record<string, TokenWithExpiration>;
24815
25102
  };
24816
25103
  };
24817
- type TokenManagerPubSub = PubSub<TokenManagerEvents>;
25104
+ type TokenManagerPubSub = PubSub$1<TokenManagerEvents>;
24818
25105
  declare class TokenManager {
24819
25106
  #private;
24820
25107
  constructor(mapIds: string[], options: TokenManagerOptions);
@@ -25778,7 +26065,7 @@ export declare class EnterpriseVenue extends BaseMetaData implements MVFEnterpri
25778
26065
  */
25779
26066
  destroy(): void;
25780
26067
  }
25781
- export type TQueriables = PointOfInterest | Door | Annotation | Node$1 | Space;
26068
+ export type TQueriables = PointOfInterest | Door | Annotation | Node$1 | Space | EnterpriseLocation;
25782
26069
  /**
25783
26070
  * Query allows users to query for nodes, locations, categories, and other points of interest within the venue.
25784
26071
  */
@@ -25862,6 +26149,7 @@ export declare class LocationCategory extends BaseMetaData implements Omit<MVFCa
25862
26149
  * @format uri
25863
26150
  */
25864
26151
  icon: string;
26152
+ /** @internal */
25865
26153
  constructor(data: MapDataInternal, options: {
25866
26154
  mvfData: MVFCategory;
25867
26155
  });
@@ -25907,7 +26195,7 @@ export type TFindPreferredLanguageInVenueOptions = {
25907
26195
  * @returns An object containing the selected language code and name, or undefined if no language is found
25908
26196
  */
25909
26197
  export declare function findPreferredLanguageInVenue(venue: EnterpriseVenue, options?: TFindPreferredLanguageInVenueOptions): Language;
25910
- declare class MapDataInternal extends PubSub<{
26198
+ declare class MapDataInternal extends PubSub$1<{
25911
26199
  "language-change": {
25912
26200
  code: string;
25913
26201
  name: string;
@@ -26332,6 +26620,165 @@ export declare class Search {
26332
26620
  */
26333
26621
  enable(): Promise<void>;
26334
26622
  }
26623
+ /**
26624
+ * Represents the environment state configuration.
26625
+ * @example
26626
+ * const mapData = getMapData({
26627
+ * key: '',
26628
+ * secret: '',
26629
+ * environment: 'eu'
26630
+ * })
26631
+ */
26632
+ type Environment$1 = {
26633
+ /**
26634
+ * The base URI for the API.
26635
+ */
26636
+ baseUri: string;
26637
+ /**
26638
+ * The base URI for authentication.
26639
+ */
26640
+ baseAuthUri: string;
26641
+ /**
26642
+ * The base URI for analytics.
26643
+ */
26644
+ analyticsBaseUri: string;
26645
+ /**
26646
+ * The URI for the tile server.
26647
+ */
26648
+ tileServerUri: string;
26649
+ };
26650
+ type ServiceEnvironment$1 = "us" | "eu";
26651
+ /**
26652
+ * Options for configuring search functionality.
26653
+ */
26654
+ type TSearchOptions$1 = {
26655
+ /**
26656
+ * Indicates whether search functionality is enabled.
26657
+ */
26658
+ enabled: boolean;
26659
+ };
26660
+ type TGetMapDataSharedOptions$1 = {
26661
+ /**
26662
+ * Mappedin map ID.
26663
+ */
26664
+ mapId: string;
26665
+ /**
26666
+ * Optionally provide a custom base URL for the Mappedin API request.
26667
+ * Use the {@link Environment | `environment`} setting to switch environments
26668
+ */
26669
+ baseUri?: string;
26670
+ /**
26671
+ * Optionally provide a custom base URL for authentication when obtaining an access token.
26672
+ * Use the {@link Environment | `environment`} setting to switch environments.
26673
+ */
26674
+ baseAuthUri?: string;
26675
+ /**
26676
+ * Optionally provide an entirely custom URL for authentication when obtaining an access token.
26677
+ * @hidden
26678
+ * @internal
26679
+ */
26680
+ customAuthUri?: string;
26681
+ /**
26682
+ * Callback for when the Mappedin map data has been fetched and parsed as Mappedin Venue Format (MVF) data.
26683
+ * @param mvf Parsed MVF data.
26684
+ */
26685
+ onMVFParsed?: (mvf: ParsedMVF) => void;
26686
+ /**
26687
+ * Load different view of mvf data based on configId
26688
+ */
26689
+ viewId?: string;
26690
+ /**
26691
+ * set the target SDK environment
26692
+ * @default 'us'
26693
+ * @example
26694
+ * const mapData = getMapData({
26695
+ * key: '',
26696
+ * secret: '',
26697
+ * environment: 'eu'
26698
+ * })
26699
+ */
26700
+ environment?: ServiceEnvironment$1;
26701
+ /**
26702
+ * The language of the map data.
26703
+ * The ISO 639-1 language code to change to (e.g., 'en' for English, 'fr' for French). Check ({@link EnterpriseVenue.languages}) for available languages
26704
+ */
26705
+ language?: string;
26706
+ /**
26707
+ * Whether to use browser's language settings as fallback if the supplied language code is not available.
26708
+ * @default true
26709
+ * */
26710
+ fallbackToNavigatorLanguage?: boolean;
26711
+ /**
26712
+ * Analytics configuration.
26713
+ */
26714
+ analytics?: {
26715
+ /**
26716
+ * Whether to log analytics events.
26717
+ * @default false
26718
+ */
26719
+ logEvents?: boolean;
26720
+ /**
26721
+ * Whether to send analytics events to the server.
26722
+ * @default false
26723
+ */
26724
+ sendEvents?: boolean;
26725
+ /**
26726
+ * Custom base URI for analytics requests. If not provided, the default analytics endpoint will be used.
26727
+ * Use the {@link Environment | `environment`} setting to switch environments.
26728
+ */
26729
+ baseUri?: string;
26730
+ /**
26731
+ * Context for analytics events.
26732
+ * @default 'websdk'
26733
+ * @internal
26734
+ */
26735
+ context?: string;
26736
+ /**
26737
+ * Version override for analytics events.
26738
+ * @internal
26739
+ */
26740
+ version?: string;
26741
+ };
26742
+ search?: TSearchOptions$1;
26743
+ /**
26744
+ * Fetch bearer and SAS tokens for the map ahead of time and keep them up to date in the background.
26745
+ * @default true
26746
+ */
26747
+ prefetchTokens?: boolean;
26748
+ /**
26749
+ * @hidden
26750
+ * @internal
26751
+ */
26752
+ layoutId?: "draft";
26753
+ /**
26754
+ * @hidden
26755
+ * @internal
26756
+ */
26757
+ mvfVersion?: "2.0.0" | "2.0.0-c" | "3.0.0";
26758
+ };
26759
+ /**
26760
+ * @interface
26761
+ */
26762
+ type TGetMapDataWithCredentialsOptions$1 = {
26763
+ /**
26764
+ * Mappedin auth key.
26765
+ */
26766
+ key: string;
26767
+ /**
26768
+ * Mappedin auth secret.
26769
+ */
26770
+ secret: string;
26771
+ } & TGetMapDataSharedOptions$1;
26772
+ /**
26773
+ * @interface
26774
+ */
26775
+ type TGetMapDataWithAccessTokenOptions$1 = {
26776
+ /**
26777
+ * Mappedin access token.
26778
+ */
26779
+ accessToken: string;
26780
+ } & TGetMapDataSharedOptions$1;
26781
+ type TGetMapDataOptions$1 = TGetMapDataWithCredentialsOptions$1 | TGetMapDataWithAccessTokenOptions$1;
26335
26782
  export type THydrateMapDataBundle = {
26336
26783
  type: "binary";
26337
26784
  options?: {
@@ -26364,7 +26811,7 @@ export type THydrateMapDataBundle = {
26364
26811
  /**
26365
26812
  * Load a MapData instance from a backup including language packs. Pass in userOptions to ensure outdoor view is available.
26366
26813
  */
26367
- export declare const hydrateMapData: (backup: THydrateMapDataBundle | TMVF, userOptions?: TGetMapDataOptions) => Promise<MapData>;
26814
+ export declare const hydrateMapData: (backup: THydrateMapDataBundle | TMVF, userOptions?: TGetMapDataOptions$1) => Promise<MapData>;
26368
26815
  /**
26369
26816
  * ## MapData in Mappedin JS
26370
26817
  *
@@ -27086,13 +27533,13 @@ export declare const MAPPEDIN_COLORS: {
27086
27533
  lightTeal: string;
27087
27534
  };
27088
27535
  export type VisibilityState = {
27089
- outdoorOpacity: number;
27536
+ outdoorOpacity: number | "initial";
27090
27537
  floorStates: {
27091
27538
  floor?: Floor;
27092
27539
  state: TFloorState;
27093
27540
  }[];
27094
27541
  };
27095
- export declare function getMultiFloorState(floors: Floor[], currentFloor: Floor, floorGap: (number | "auto") | undefined, floorIdsInNavigation: Floor["id"][], floorsVisualHeightMap?: Map<number, {
27542
+ export declare function getMultiFloorState(floors: Floor[], currentFloor: Floor, floorGap: number | "auto" | undefined, floorIdsInNavigation: Floor["id"][], floorsVisualHeightMap?: Map<number, {
27096
27543
  altitude: number;
27097
27544
  effectiveHeight: number;
27098
27545
  }>): VisibilityState;
@@ -27355,7 +27802,7 @@ export type TShow3DMapOptions = {
27355
27802
  *
27356
27803
  * Returns a {@link MapData} instance from a parsed MVF object.
27357
27804
  */
27358
- export declare const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions & {
27805
+ export declare const hydrateMapDataFromMVF: (mvf: TMVF, options?: TGetMapDataWithCredentialsOptions$1 & {
27359
27806
  languagePacks?: LanguagePackHydrationItem[];
27360
27807
  }) => Promise<MapData>;
27361
27808
  /**
@@ -27387,12 +27834,12 @@ export declare function shouldForceEnterpriseLocations(): boolean;
27387
27834
  * @example
27388
27835
  * const data = await getMapData({ key: 'api_key', secret: 'api_secret', mapId: 'id' });
27389
27836
  */
27390
- export declare const getMapData: (userOptions: TGetMapDataOptions) => Promise<MapData>;
27837
+ export declare const getMapData: (userOptions: TGetMapDataOptions$1) => Promise<MapData>;
27391
27838
  /**
27392
27839
  * @internal
27393
27840
  * @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
27394
27841
  */
27395
- export declare const getMapDataEnterprise: (userOptions: TGetMapDataOptions) => Promise<MapData>;
27842
+ export declare const getMapDataEnterprise: (userOptions: TGetMapDataOptions$1) => Promise<MapData>;
27396
27843
  /**
27397
27844
  * @internal
27398
27845
  *
@@ -27424,7 +27871,7 @@ declare namespace schemas {
27424
27871
  export { $InferEnumInput, $InferEnumOutput, $InferInnerFunctionType, $InferInnerFunctionTypeAsync, $InferObjectInput, $InferObjectOutput, $InferOuterFunctionType, $InferOuterFunctionTypeAsync, $InferTupleInputType, $InferTupleOutputType, $InferUnionInput, $InferUnionOutput, $InferZodRecordInput, $InferZodRecordOutput, $PartsToTemplateLiteral, $ZodAny, $ZodAnyDef, $ZodAnyInternals, $ZodArray, $ZodArrayDef, $ZodArrayInternals, $ZodBase64, $ZodBase64Def, $ZodBase64Internals, $ZodBase64URL, $ZodBase64URLDef, $ZodBase64URLInternals, $ZodBigInt, $ZodBigIntDef, $ZodBigIntFormat, $ZodBigIntFormatDef, $ZodBigIntFormatInternals, $ZodBigIntInternals, $ZodBoolean, $ZodBooleanDef, $ZodBooleanInternals, $ZodCIDRv4, $ZodCIDRv4Def, $ZodCIDRv4Internals, $ZodCIDRv6, $ZodCIDRv6Def, $ZodCIDRv6Internals, $ZodCUID, $ZodCUID2, $ZodCUID2Def, $ZodCUID2Internals, $ZodCUIDDef, $ZodCUIDInternals, $ZodCatch, $ZodCatchCtx, $ZodCatchDef, $ZodCatchInternals, $ZodCodec, $ZodCodecDef, $ZodCodecInternals, $ZodCustom, $ZodCustomDef, $ZodCustomInternals, $ZodCustomStringFormat, $ZodCustomStringFormatDef, $ZodCustomStringFormatInternals, $ZodDate, $ZodDateDef, $ZodDateInternals, $ZodDefault, $ZodDefaultDef, $ZodDefaultInternals, $ZodDiscriminatedUnion, $ZodDiscriminatedUnionDef, $ZodDiscriminatedUnionInternals, $ZodE164, $ZodE164Def, $ZodE164Internals, $ZodEmail, $ZodEmailDef, $ZodEmailInternals, $ZodEmoji, $ZodEmojiDef, $ZodEmojiInternals, $ZodEnum, $ZodEnumDef, $ZodEnumInternals, $ZodFile, $ZodFileDef, $ZodFileInternals, $ZodFunction, $ZodFunctionArgs, $ZodFunctionDef, $ZodFunctionIn, $ZodFunctionInternals, $ZodFunctionOut, $ZodFunctionParams, $ZodGUID, $ZodGUIDDef, $ZodGUIDInternals, $ZodIPv4, $ZodIPv4Def, $ZodIPv4Internals, $ZodIPv6, $ZodIPv6Def, $ZodIPv6Internals, $ZodISODate, $ZodISODateDef, $ZodISODateInternals, $ZodISODateTime, $ZodISODateTimeDef, $ZodISODateTimeInternals, $ZodISODuration, $ZodISODurationDef, $ZodISODurationInternals, $ZodISOTime, $ZodISOTimeDef, $ZodISOTimeInternals, $ZodIntersection, $ZodIntersectionDef, $ZodIntersectionInternals, $ZodJWT, $ZodJWTDef, $ZodJWTInternals, $ZodKSUID, $ZodKSUIDDef, $ZodKSUIDInternals, $ZodLazy, $ZodLazyDef, $ZodLazyInternals, $ZodLiteral, $ZodLiteralDef, $ZodLiteralInternals, $ZodLooseShape, $ZodMap, $ZodMapDef, $ZodMapInternals, $ZodNaN, $ZodNaNDef, $ZodNaNInternals, $ZodNanoID, $ZodNanoIDDef, $ZodNanoIDInternals, $ZodNever, $ZodNeverDef, $ZodNeverInternals, $ZodNonOptional, $ZodNonOptionalDef, $ZodNonOptionalInternals, $ZodNull, $ZodNullDef, $ZodNullInternals, $ZodNullable, $ZodNullableDef, $ZodNullableInternals, $ZodNumber, $ZodNumberDef, $ZodNumberFormat, $ZodNumberFormatDef, $ZodNumberFormatInternals, $ZodNumberInternals, $ZodObject, $ZodObjectConfig, $ZodObjectDef, $ZodObjectInternals, $ZodObjectJIT, $ZodOptional, $ZodOptionalDef, $ZodOptionalInternals, $ZodPipe, $ZodPipeDef, $ZodPipeInternals, $ZodPrefault, $ZodPrefaultDef, $ZodPrefaultInternals, $ZodPromise, $ZodPromiseDef, $ZodPromiseInternals, $ZodReadonly, $ZodReadonlyDef, $ZodReadonlyInternals, $ZodRecord, $ZodRecordDef, $ZodRecordInternals, $ZodRecordKey, $ZodSet, $ZodSetDef, $ZodSetInternals, $ZodShape, $ZodStandardSchema, $ZodString, $ZodStringDef, $ZodStringFormat, $ZodStringFormatDef, $ZodStringFormatInternals, $ZodStringFormatTypes, $ZodStringInternals, $ZodSuccess, $ZodSuccessDef, $ZodSuccessInternals, $ZodSymbol, $ZodSymbolDef, $ZodSymbolInternals, $ZodTemplateLiteral, $ZodTemplateLiteralDef, $ZodTemplateLiteralInternals, $ZodTemplateLiteralPart, $ZodTransform, $ZodTransformDef, $ZodTransformInternals, $ZodTuple, $ZodTupleDef, $ZodTupleInternals, $ZodType, $ZodTypeDef, $ZodTypeInternals, $ZodTypes, $ZodULID, $ZodULIDDef, $ZodULIDInternals, $ZodURL, $ZodURLDef, $ZodURLInternals, $ZodUUID, $ZodUUIDDef, $ZodUUIDInternals, $ZodUndefined, $ZodUndefinedDef, $ZodUndefinedInternals, $ZodUnion, $ZodUnionDef, $ZodUnionInternals, $ZodUnknown, $ZodUnknownDef, $ZodUnknownInternals, $ZodVoid, $ZodVoidDef, $ZodVoidInternals, $ZodXID, $ZodXIDDef, $ZodXIDInternals, $catchall, $loose, $partial, $strict, $strip, CheckFn, ConcatenateTupleOfStrings, ConvertPartsToStringTuple, File$1 as File, ParseContext, ParseContextInternal, ParsePayload, SomeType, ToTemplateLiteral, _$ZodType, _$ZodTypeInternals, clone, isValidBase64, isValidBase64URL, isValidJWT };
27425
27872
  }
27426
27873
  declare namespace util {
27427
- export { AnyFunc, AssertEqual, AssertExtends, AssertNotEqual, BIGINT_FORMAT_RANGES, BuiltIn, Class, CleanKey, Constructor, EmptyObject, EmptyToNever, EnumLike, EnumValue, Exactly, Extend, ExtractIndexSignature, Flatten, FromCleanMap, HasLength, HasSize, HashAlgorithm, HashEncoding, HashFormat, IPVersion, Identity, InexactPartial, IsAny, IsProp, JSONType, JWTAlgorithm, KeyOf, Keys, KeysArray, KeysEnum, Literal, LiteralArray, LoosePartial, MakePartial, MakeReadonly, MakeRequired, Mapped, Mask, MaybeAsync, MimeTypes, NUMBER_FORMAT_RANGES, NoNever, NoNeverKeys, NoUndefined, Normalize, Numeric, Omit$1 as Omit, OmitIndexSignature, OmitKeys, ParsedTypes, Prettify, Primitive, PrimitiveArray, PrimitiveSet, PropValues, SafeParseError, SafeParseResult, SafeParseSuccess, SchemaClass, SomeObject, ToCleanMap, ToEnum, TupleItems, Whatever, Writeable, aborted, allowsEval, assert, assertEqual, assertIs, assertNever, assertNotEqual, assignProp, base64ToUint8Array, base64urlToUint8Array, cached, captureStackTrace, cleanEnum, cleanRegex, clone, cloneDef, createTransparentProxy, defineLazy, esc, escapeRegex, extend, finalizeIssue, floatSafeRemainder, getElementAtPath, getEnumValues, getLengthableOrigin, getParsedType, getSizableOrigin, hexToUint8Array, isObject, isPlainObject, issue, joinValues, jsonStringifyReplacer, merge, mergeDefs, normalizeParams, nullish, numKeys, objectClone, omit, optionalKeys, partial, pick, prefixIssues, primitiveTypes, promiseAllObject, propertyKeyTypes, randomString, required, safeExtend, shallowClone, stringifyPrimitive, uint8ArrayToBase64, uint8ArrayToBase64url, uint8ArrayToHex, unwrapMessage };
27874
+ export { AnyFunc, AssertEqual, AssertExtends, AssertNotEqual, BIGINT_FORMAT_RANGES, BuiltIn, Class, CleanKey, Constructor, EmptyObject, EmptyToNever, EnumLike, EnumValue, Exactly, Extend, ExtractIndexSignature, Flatten, FromCleanMap, HasLength, HasSize, HashAlgorithm, HashEncoding, HashFormat, IPVersion, Identity, InexactPartial, IsAny, IsProp, JSONType, JWTAlgorithm, KeyOf, Keys, KeysArray, KeysEnum, Literal, LiteralArray, LoosePartial, MakePartial, MakeReadonly, MakeRequired, Mapped, Mask$1 as Mask, MaybeAsync, MimeTypes, NUMBER_FORMAT_RANGES, NoNever, NoNeverKeys, NoUndefined, Normalize, Numeric, Omit$1 as Omit, OmitIndexSignature, OmitKeys, ParsedTypes, Prettify, Primitive, PrimitiveArray, PrimitiveSet, PropValues, SafeParseError, SafeParseResult, SafeParseSuccess, SchemaClass, SomeObject, ToCleanMap, ToEnum, TupleItems, Whatever, Writeable, aborted, allowsEval, assert, assertEqual, assertIs, assertNever, assertNotEqual, assignProp, base64ToUint8Array, base64urlToUint8Array, cached, captureStackTrace, cleanEnum, cleanRegex, clone, cloneDef, createTransparentProxy, defineLazy, esc, escapeRegex, extend, finalizeIssue, floatSafeRemainder, getElementAtPath, getEnumValues, getLengthableOrigin, getParsedType, getSizableOrigin, hexToUint8Array, isObject, isPlainObject, issue, joinValues, jsonStringifyReplacer, merge, mergeDefs, normalizeParams, nullish, numKeys, objectClone, omit, optionalKeys, partial, pick, prefixIssues, primitiveTypes, promiseAllObject, propertyKeyTypes, randomString, required, safeExtend, shallowClone, stringifyPrimitive, uint8ArrayToBase64, uint8ArrayToBase64url, uint8ArrayToHex, unwrapMessage };
27428
27875
  }
27429
27876
  declare namespace JSONSchema$1 {
27430
27877
  export { ArraySchema, BaseSchema, BooleanSchema, IntegerSchema, JSONSchema, NullSchema, NumberSchema, ObjectSchema, Schema, StringSchema, _JSONSchema };
@@ -27450,19 +27897,26 @@ declare namespace z {
27450
27897
 
27451
27898
  export {
27452
27899
  Camera$3 as Camera,
27900
+ Environment$1 as Environment,
27453
27901
  Feature$1 as Feature,
27454
27902
  FeatureCollection$1 as FeatureCollection,
27455
27903
  GeoJSON$1 as GeoJSON,
27456
27904
  Geometry$1 as Geometry,
27905
+ LocationSocial,
27457
27906
  LocationState,
27458
27907
  MultiPolygon$1 as MultiPolygon,
27459
27908
  Node$1 as Node,
27460
27909
  OperationHours,
27461
27910
  Point$1 as Point,
27462
27911
  Polygon$1 as Polygon,
27912
+ PubSub$1 as PubSub,
27463
27913
  RendererState as TRendererState,
27464
27914
  SiblingGroup,
27465
27915
  Style$2 as Style,
27916
+ TGetMapDataOptions$1 as TGetMapDataOptions,
27917
+ TGetMapDataSharedOptions$1 as TGetMapDataSharedOptions,
27918
+ TGetMapDataWithAccessTokenOptions$1 as TGetMapDataWithAccessTokenOptions,
27919
+ TGetMapDataWithCredentialsOptions$1 as TGetMapDataWithCredentialsOptions,
27466
27920
  TImage3DState as TImageState,
27467
27921
  TImage3DUpdateState as TImageUpdateState,
27468
27922
  TMVF,
@@ -27471,6 +27925,7 @@ export {
27471
27925
  TMVFPolygonStyle,
27472
27926
  TMVFStyle,
27473
27927
  TMVFStyleCollection,
27928
+ TSearchOptions$1 as TSearchOptions,
27474
27929
  parseMVFv2 as parseMVF,
27475
27930
  unzipMVFv2 as unzipMVF,
27476
27931
  };