@mappedin/mappedin-js 6.0.0-rc.2 → 6.0.0-rc.3

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.
Files changed (45) hide show
  1. package/THIRD_PARTY_LICENSES.txt +42 -2
  2. package/lib/esm/{GLTFExporter-Z6JPGY7L.js → GLTFExporter-RSA32FAS.js} +2 -2
  3. package/lib/esm/{GLTFLoader-QCSKNB7G.js → GLTFLoader-FLMCN6TW.js} +2 -2
  4. package/lib/esm/{browser-I5Q2RPA3.js → browser-4FMFOYKX.js} +2 -2
  5. package/lib/esm/chunk-43XLQYI5.js +193 -0
  6. package/lib/esm/chunk-43XLQYI5.js.map +7 -0
  7. package/lib/esm/{chunk-L4AKE3TV.js → chunk-4AZZH27P.js} +2 -2
  8. package/lib/esm/{chunk-W5WDIXXO.js → chunk-K3PVENYC.js} +2 -2
  9. package/lib/esm/{chunk-7SIXH4EE.js → chunk-LTNJEB3M.js} +2 -2
  10. package/lib/esm/chunk-UVZJOVQM.js +2 -0
  11. package/lib/esm/{chunk-AJPWEERG.js.map → chunk-UVZJOVQM.js.map} +1 -1
  12. package/lib/esm/chunk-WJDRJJIM.js +2153 -0
  13. package/lib/esm/chunk-WJDRJJIM.js.map +7 -0
  14. package/lib/esm/index.css +1 -1
  15. package/lib/esm/index.css.map +3 -3
  16. package/lib/esm/index.d.ts +280 -82
  17. package/lib/esm/index.js +1 -1
  18. package/lib/esm/{inspector-T3HA7VGW.css → inspector-4GBSTGDH.css} +2 -2
  19. package/lib/esm/{inspector-T3HA7VGW.css.map → inspector-4GBSTGDH.css.map} +3 -3
  20. package/lib/esm/{inspector-YD6373IB.js → inspector-BHVDJXVZ.js} +2 -2
  21. package/lib/esm/{internal-JKAX4KK2.js → internal-3NNUFZ25.js} +2 -2
  22. package/lib/esm/{internal-VKD5KMH3.css → internal-CH27ONAB.css} +2 -2
  23. package/lib/esm/{internal-VKD5KMH3.css.map → internal-CH27ONAB.css.map} +3 -3
  24. package/lib/esm/{outdoor-context-v5-TZEP6AEK.js → outdoor-context-v5-6IFFZHAJ.js} +2 -2
  25. package/lib/esm/{text3d-OX5R3UZU.js → text3d-EKD5MTTV.js} +2 -2
  26. package/lib/esm/{text3d-OX5R3UZU.js.map → text3d-EKD5MTTV.js.map} +1 -1
  27. package/lib/esm/text3d-ZPCG4PKJ.css +2 -0
  28. package/lib/esm/text3d-ZPCG4PKJ.css.map +7 -0
  29. package/lib/index-rn.js +193 -193
  30. package/lib/index.css +1 -1
  31. package/package.json +2 -2
  32. package/lib/esm/chunk-6KGIA4EU.js +0 -3
  33. package/lib/esm/chunk-6KGIA4EU.js.map +0 -7
  34. package/lib/esm/chunk-AJPWEERG.js +0 -2
  35. package/lib/esm/chunk-VI2AJVL2.js +0 -2343
  36. package/lib/esm/chunk-VI2AJVL2.js.map +0 -7
  37. /package/lib/esm/{GLTFExporter-Z6JPGY7L.js.map → GLTFExporter-RSA32FAS.js.map} +0 -0
  38. /package/lib/esm/{GLTFLoader-QCSKNB7G.js.map → GLTFLoader-FLMCN6TW.js.map} +0 -0
  39. /package/lib/esm/{browser-I5Q2RPA3.js.map → browser-4FMFOYKX.js.map} +0 -0
  40. /package/lib/esm/{chunk-L4AKE3TV.js.map → chunk-4AZZH27P.js.map} +0 -0
  41. /package/lib/esm/{chunk-W5WDIXXO.js.map → chunk-K3PVENYC.js.map} +0 -0
  42. /package/lib/esm/{chunk-7SIXH4EE.js.map → chunk-LTNJEB3M.js.map} +0 -0
  43. /package/lib/esm/{inspector-YD6373IB.js.map → inspector-BHVDJXVZ.js.map} +0 -0
  44. /package/lib/esm/{internal-JKAX4KK2.js.map → internal-3NNUFZ25.js.map} +0 -0
  45. /package/lib/esm/{outdoor-context-v5-TZEP6AEK.js.map → outdoor-context-v5-6IFFZHAJ.js.map} +0 -0
@@ -50,7 +50,7 @@ declare module '@mappedin/mappedin-js' {
50
50
  import type { LanguagePackHydrationItem, TImagePlacementOptions, TMultiFloorViewOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
51
51
  import { MAPPEDIN_COLORS } from '@mappedin/mappedin-js/mappedin-js/src/constants';
52
52
  import { unzipAndParseMVFv2 } from '@packages/internal/mvf-utils/mvf-utils';
53
- import type { GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
53
+ import type { GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TBlueDotState } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
54
54
  import { hydrateMapData, type THydrateMapDataBundle } from '@mappedin/mappedin-js/mappedin-js/src/hydrate-map-data';
55
55
  export { disableText3DWorker } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
56
56
  export { hydrateMapData, type THydrateMapDataBundle };
@@ -367,10 +367,10 @@ declare module '@mappedin/mappedin-js' {
367
367
  */
368
368
  export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
369
369
  export { parseMVF, unzipMVF, enableTestMode, preloadFont, MAPPEDIN_COLORS, ANIMATION_TWEENS };
370
- export type { MapData, MapViewState, GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TEvents, TMapDataEvents, TStateChangedInternalPayload, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TSearchOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, AddText3DOptions, InitializeText3DState, InitializeModelState, Interpolation, LabelAppearance, ColorString, InterpolateOn, };
370
+ export type { MapData, MapViewState, GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TBlueDotState, TEvents, TMapDataEvents, TStateChangedInternalPayload, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TSearchOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, AddText3DOptions, InitializeText3DState, InitializeModelState, Interpolation, LabelAppearance, ColorString, InterpolateOn, };
371
371
  export { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
372
372
  export type * from 'geojson';
373
- export type { TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerPlacement, TDirectionInstruction, TDirectionInstructionAction, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, GlobalState, TActionType, TBearingType, TConnectionType, TMultiFloorViewOptions, MapViewElements, MapDataElements, MapElementsWithState, TGetState, TUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
373
+ export type { TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerPlacement, TDirectionInstruction, TDirectionInstructionAction, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, GlobalState, TActionType, TBearingType, TConnectionType, TMultiFloorViewOptions, TBlueDotOptions, TBlueDotPositionUpdate, TBlueDotUpdateOptions, MapViewElements, MapDataElements, MapElementsWithState, TGetState, TUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
374
374
  export type { TModelState, TModelUpdateState, TLabelState, TLabelUpdateState, TMarkerState, TMarkerUpdateState, TPathState, TPathUpdateState, TShapeState, TShapeUpdateState, TText3DState, TText3DUpdateState, TWallsState, TWallsUpdateState, TDoorsState, TDoorsUpdateState, TFacadeState, TFacadeUpdateState, TFloorState, TFloorUpdateState, TGeometryState, TGeometryUpdateState, TImage3DState as TImageState, TImage3DUpdateState as TImageUpdateState, MapElementToGetState, MapElementToUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/states';
375
375
  export { WALLS, DOORS, ACTION_TYPE, BEARING_TYPE, CONNECTION_TYPE } from '@mappedin/mappedin-js/mappedin-js/src/types';
376
376
  export type { Label, Marker, Path, PathSegment, Shape, CameraTransform, Model, Image3DView, Text3DView, } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
@@ -1614,7 +1614,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
1614
1614
  */
1615
1615
  getMVFFeatureByType(type: 'floor-stack'): MVFFloorStack[];
1616
1616
  getMVFFeatureByType(type: 'floor'): MVFFloor[];
1617
- getPropTranslation<T extends keyof LanguagePackRecords, P extends keyof NonNullable<NonNullable<LanguagePackRecords[T]>[string]>>(type: T, prop: P, id: string, fallback: NonNullable<NonNullable<LanguagePackRecords[T]>[string]>[P]): string | NonNullable<NonNullable<LanguagePackRecords[T]>[string]>[P] | undefined;
1617
+ propTranslationCache: Map<number, Record<string, unknown>>;
1618
+ getPropTranslation<T extends keyof LanguagePackRecords, P extends keyof NonNullable<NonNullable<LanguagePackRecords[T]>[string]>>(type: T, prop: P, id: string, fallback: NonNullable<NonNullable<LanguagePackRecords[T]>[string]>[P]): unknown;
1618
1619
  findPreferredLanguage(options?: TFindPreferredLanguageInVenueOptions): Language | undefined;
1619
1620
  /**
1620
1621
  * Changes the language of the map data.
@@ -1678,7 +1679,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
1678
1679
  import { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
1679
1680
  import type { Annotation, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
1680
1681
  import type { TCoordinateParams } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
1681
- import type { TGetDirectionsOptions, TNavigationTarget, GlobalState, UpdateGlobalState, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, TGetState, MapElementsWithState, TUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/types';
1682
+ import type { TGetDirectionsOptions, TNavigationTarget, GlobalState, UpdateGlobalState, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, TGetState, MapElementsWithState, TUpdateState, TGetInViewOptions, MapFeatureOfType } from '@mappedin/mappedin-js/mappedin-js/src/types';
1682
1683
  import type { Label, Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
1683
1684
  import type { TEventPayload } from '@mappedin/mappedin-js/mappedin-js/src/events';
1684
1685
  import type { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
@@ -2313,6 +2314,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
2313
2314
  * @returns A boolean indicating whether the target is within the viewport.
2314
2315
  */
2315
2316
  isInView(target: Space | MapObject | Label | Marker | string): boolean;
2317
+ /**
2318
+ * Gets the map elements that are currently in view.
2319
+ *
2320
+ * @param type The type of map element to get.
2321
+ * @param options Optional configuration for the in view check.
2322
+ * @returns An array of map elements that are currently in view.
2323
+ */
2324
+ getInView<T extends string>(type: T, options?: TGetInViewOptions): MapFeatureOfType<T>[];
2316
2325
  /**
2317
2326
  * @deprecated Use the async version instead. This method will be made truly async in the upcoming future.
2318
2327
  * @internal
@@ -2703,7 +2712,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2703
2712
  import type { MarkerPlacement } from '@mappedin/core-sdk/src/components/marker';
2704
2713
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf-v2';
2705
2714
  import type { Feature, MultiPolygon, Polygon } from 'geojson';
2706
- import type { AddText3DOptions, EnvMapOptions, ImagePlacementOptions, InitializeModelState, InsetPaddingOption, Interpolation, LabelAppearance } from '@mappedin/mappedin-js/geojson/src';
2715
+ import type { AddText3DOptions, EnvMapOptions, ImagePlacementOptions, InitializeModelState, InsetPadding, InsetPaddingOption, Interpolation, LabelAppearance } from '@mappedin/mappedin-js/geojson/src';
2707
2716
  import type { TFloorChangeReason } from '@mappedin/mappedin-js/mappedin-js/src/events';
2708
2717
  import type { Annotation, Area, Connection, Coordinate, Door, EnterpriseCategory, EnterpriseLocation, EnterpriseVenue, Facade, Floor, FloorStack, LocationCategory, LocationProfile, MapObject, Node, PointOfInterest, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
2709
2718
  import type { Image3DView, Label, Marker, Model, Path, Shape, Text3DView, PathSegment } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
@@ -3388,6 +3397,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
3388
3397
  * @default 0.7
3389
3398
  */
3390
3399
  opacity?: number;
3400
+ /**
3401
+ * Whether to display the heading cone when the BlueDot is inactive (timed out).
3402
+ * @default false
3403
+ */
3404
+ displayWhenInactive?: boolean;
3391
3405
  };
3392
3406
  /**
3393
3407
  * The duration of the timeout in milliseconds.
@@ -3410,6 +3424,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
3410
3424
  * @default 50
3411
3425
  */
3412
3426
  accuracyThreshold?: number;
3427
+ /**
3428
+ * The initial state of the BlueDot when enabled.
3429
+ * @default 'hidden'
3430
+ */
3431
+ initialState?: 'hidden' | 'inactive';
3413
3432
  };
3414
3433
  /**
3415
3434
  * Position update options for the {@link BlueDot.update} method.
@@ -3448,6 +3467,21 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
3448
3467
  */
3449
3468
  timestamp?: number;
3450
3469
  };
3470
+ /**
3471
+ * Options for the BlueDot update method.
3472
+ */
3473
+ export type TBlueDotUpdateOptions = {
3474
+ /**
3475
+ * If true, maintains the current state and skips timers and analytics for this update.
3476
+ * @default false
3477
+ */
3478
+ silent?: boolean;
3479
+ /**
3480
+ * If true, animates the position change. If false, updates immediately.
3481
+ * @default true
3482
+ */
3483
+ animate?: boolean;
3484
+ };
3451
3485
  export type LanguagePackHydrationItem = {
3452
3486
  language: Language;
3453
3487
  localePack: ParsedMVFLocalePack;
@@ -3528,23 +3562,44 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
3528
3562
  * Associates MapData type strings with their corresponding classes.
3529
3563
  */
3530
3564
  export type TMapDataObjectTypes = {
3531
- 'location-profile': LocationProfile;
3532
- 'location-category': LocationCategory;
3533
- node: Node;
3534
- space: Space;
3535
- door: Door;
3536
- floor: Floor;
3537
- 'floor-stack': FloorStack;
3538
- connection: Connection;
3539
- object: MapObject;
3540
- 'point-of-interest': PointOfInterest;
3541
- annotation: Annotation;
3542
- 'enterprise-location': EnterpriseLocation;
3543
- 'enterprise-category': EnterpriseCategory;
3544
- 'enterprise-venue': EnterpriseVenue;
3545
- area: Area;
3546
- facade: Facade;
3565
+ [LocationProfile.__type]: LocationProfile;
3566
+ [LocationCategory.__type]: LocationCategory;
3567
+ [Node.__type]: Node;
3568
+ [Space.__type]: Space;
3569
+ [Door.__type]: Door;
3570
+ [Floor.__type]: Floor;
3571
+ [FloorStack.__type]: FloorStack;
3572
+ [Connection.__type]: Connection;
3573
+ [MapObject.__type]: MapObject;
3574
+ [PointOfInterest.__type]: PointOfInterest;
3575
+ [Annotation.__type]: Annotation;
3576
+ [EnterpriseLocation.__type]: EnterpriseLocation;
3577
+ [EnterpriseCategory.__type]: EnterpriseCategory;
3578
+ [EnterpriseVenue.__type]: EnterpriseVenue;
3579
+ [Area.__type]: Area;
3580
+ [Facade.__type]: Facade;
3547
3581
  };
3582
+ /**
3583
+ * Associates MapView type strings with their corresponding classes.
3584
+ */
3585
+ export type TMapViewObjectTypes = {
3586
+ [Label.__type]: Label;
3587
+ [Marker.__type]: Marker;
3588
+ [Model.__type]: Model;
3589
+ [Shape.__type]: Shape;
3590
+ [Path.__type]: Path;
3591
+ [PathSegment.__type]: PathSegment;
3592
+ [Image3DView.__type]: Image3DView;
3593
+ [Text3DView.__type]: Text3DView;
3594
+ };
3595
+ /**
3596
+ * Associates MapData and MapView type strings with their corresponding classes.
3597
+ */
3598
+ export type TMapFeatureTypes = TMapDataObjectTypes & TMapViewObjectTypes;
3599
+ /**
3600
+ * Returns the class for a given type string.
3601
+ */
3602
+ export type MapFeatureOfType<T extends string> = T extends keyof TMapFeatureTypes ? TMapFeatureTypes[T] : never;
3548
3603
  /**
3549
3604
  * @interface
3550
3605
  * @internal
@@ -3594,6 +3649,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
3594
3649
  */
3595
3650
  updateCameraElevationOnFloorChange?: boolean;
3596
3651
  };
3652
+ export type TGetInViewOptions = Partial<{
3653
+ screenOffsets: Partial<InsetPadding>;
3654
+ fullyContains: boolean;
3655
+ }>;
3597
3656
  }
3598
3657
 
3599
3658
  declare module '@mappedin/mappedin-js/mappedin-js/src/constants' {
@@ -3633,6 +3692,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/constants' {
3633
3692
  export const MARKERS_LAYER = "MarkersLayer";
3634
3693
  export const FOOTPRINT_LAYER = "FootprintLayer";
3635
3694
  export const OCCLUSION_LAYER = "OcclusionLayer";
3695
+ export const AREAS_LAYER = "AreasLayer";
3636
3696
  export const IMAGES_LAYER = "ImagesLayer";
3637
3697
  export const FACADES_LAYER = "FacadesLayer";
3638
3698
  export const PATHS_LAYER = "PathsLayer";
@@ -3650,7 +3710,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
3650
3710
  import type { EasingCurve } from '@packages/internal/common';
3651
3711
  import { PubSub } from '@packages/internal/common';
3652
3712
  import { Coordinate, type Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3653
- import type { TBlueDotOptions, TBlueDotPositionUpdate } from '@mappedin/mappedin-js/mappedin-js/src/types';
3713
+ import type { TBlueDotOptions, TBlueDotPositionUpdate, TBlueDotUpdateOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
3654
3714
  import type { GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
3655
3715
  export type TBlueDotEvents = {
3656
3716
  /**
@@ -3704,7 +3764,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
3704
3764
  hover: undefined;
3705
3765
  };
3706
3766
  export type TBlueDotState = 'hidden' | 'active' | 'inactive' | 'disabled';
3707
- export type TBlueDotAction = 'timeout' | 'error' | 'position-update' | 'enable' | 'disable';
3767
+ export type TBlueDotAction = 'timeout' | 'error' | 'position-update' | 'enable' | 'disable' | 'initialize';
3708
3768
  export type TBlueDotPositionUpdateWithFloor = Omit<TBlueDotPositionUpdate, 'floorOrFloorId'> & {
3709
3769
  floor?: Floor | 'device' | undefined;
3710
3770
  };
@@ -3804,6 +3864,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
3804
3864
  * @see [BlueDot Guide](https://developer.mappedin.com/web-sdk/blue-dot)
3805
3865
  */
3806
3866
  enable(options?: TBlueDotOptions): void;
3867
+ /**
3868
+ * Update the BlueDot state after it has been enabled.
3869
+ * This allows overriding previously set values like colors, and other options.
3870
+ * @param options - The options to update
3871
+ *
3872
+ * @example Update color and accuracy ring
3873
+ * mapView.BlueDot.updateState({
3874
+ * color: '#ff0000',
3875
+ * accuracyRing: { color: '#ff0000', opacity: 0.5 }
3876
+ * });
3877
+ */
3878
+ updateState(options: Partial<TBlueDotOptions>): void;
3807
3879
  /**
3808
3880
  * Disable the Blue Dot. It will be hidden and no longer update.
3809
3881
  */
@@ -3826,7 +3898,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-
3826
3898
  * api.BlueDot.update({ accuracy: 'device', heading: 'device' });
3827
3899
  * ```
3828
3900
  */
3829
- update(position: GeolocationPositionExtended | TBlueDotPositionUpdate | undefined): void;
3901
+ update(position: GeolocationPositionExtended | TBlueDotPositionUpdate | undefined, options?: TBlueDotUpdateOptions): void;
3830
3902
  /**
3831
3903
  * Set the camera to follow the BlueDot in various modes. User interaction will cancel following automatically.
3832
3904
  * @param mode The follow mode ('position-only', 'position-and-heading', 'position-and-path-direction', or false to disable).
@@ -4365,7 +4437,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
4365
4437
  import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/core-sdk';
4366
4438
  import { PubSub } from '@packages/internal/common';
4367
4439
  import { type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
4368
- import type { MapElementsWithState, TUpdateState, TGetState } from '@mappedin/mappedin-js/mappedin-js/src/types';
4440
+ import type { MapElementsWithState, TUpdateState, TGetState, TGetInViewOptions, MapFeatureOfType } from '@mappedin/mappedin-js/mappedin-js/src/types';
4369
4441
  import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
4370
4442
  import type { FloorStack, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
4371
4443
  import { Coordinate, MapObject, Space, Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
@@ -4461,6 +4533,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
4461
4533
  y: number;
4462
4534
  };
4463
4535
  isInView(target: Space | MapObject | Label | Marker | string): boolean;
4536
+ getInView<T extends string>(type: T, options?: TGetInViewOptions): MapFeatureOfType<T>[];
4464
4537
  __EXPERIMENTAL__auto(): {
4465
4538
  labels: Label[];
4466
4539
  };
@@ -4809,7 +4882,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
4809
4882
  import type { LanguagePackHydrationItem, TImagePlacementOptions, TMultiFloorViewOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
4810
4883
  import { MAPPEDIN_COLORS } from '@mappedin/mappedin-js/mappedin-js/src/constants';
4811
4884
  import { unzipAndParseMVFv2 } from '@packages/internal/mvf-utils/mvf-utils';
4812
- import type { GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
4885
+ import type { GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TBlueDotState } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
4813
4886
  import { hydrateMapData, type THydrateMapDataBundle } from '@mappedin/mappedin-js/mappedin-js/src/hydrate-map-data';
4814
4887
  export { disableText3DWorker } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
4815
4888
  export { hydrateMapData, type THydrateMapDataBundle };
@@ -5126,10 +5199,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
5126
5199
  */
5127
5200
  export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
5128
5201
  export { parseMVF, unzipMVF, enableTestMode, preloadFont, MAPPEDIN_COLORS, ANIMATION_TWEENS };
5129
- export type { MapData, MapViewState, GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TEvents, TMapDataEvents, TStateChangedInternalPayload, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TSearchOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, AddText3DOptions, InitializeText3DState, InitializeModelState, Interpolation, LabelAppearance, ColorString, InterpolateOn, };
5202
+ export type { MapData, MapViewState, GeolocationPositionExtended, TBlueDotPositionUpdateWithFloor, TBlueDotPositionProcessor, TBlueDotState, TEvents, TMapDataEvents, TStateChangedInternalPayload, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TSearchOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, AddText3DOptions, InitializeText3DState, InitializeModelState, Interpolation, LabelAppearance, ColorString, InterpolateOn, };
5130
5203
  export { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
5131
5204
  export type * from 'geojson';
5132
- export type { TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerPlacement, TDirectionInstruction, TDirectionInstructionAction, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, GlobalState, TActionType, TBearingType, TConnectionType, TMultiFloorViewOptions, MapViewElements, MapDataElements, MapElementsWithState, TGetState, TUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
5205
+ export type { TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerPlacement, TDirectionInstruction, TDirectionInstructionAction, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TSetFloorOptions, TCancellablePromise, TAnimateStateResult, GlobalState, TActionType, TBearingType, TConnectionType, TMultiFloorViewOptions, TBlueDotOptions, TBlueDotPositionUpdate, TBlueDotUpdateOptions, MapViewElements, MapDataElements, MapElementsWithState, TGetState, TUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/types';
5133
5206
  export type { TModelState, TModelUpdateState, TLabelState, TLabelUpdateState, TMarkerState, TMarkerUpdateState, TPathState, TPathUpdateState, TShapeState, TShapeUpdateState, TText3DState, TText3DUpdateState, TWallsState, TWallsUpdateState, TDoorsState, TDoorsUpdateState, TFacadeState, TFacadeUpdateState, TFloorState, TFloorUpdateState, TGeometryState, TGeometryUpdateState, TImage3DState as TImageState, TImage3DUpdateState as TImageUpdateState, MapElementToGetState, MapElementToUpdateState, } from '@mappedin/mappedin-js/mappedin-js/src/states';
5134
5207
  export { WALLS, DOORS, ACTION_TYPE, BEARING_TYPE, CONNECTION_TYPE } from '@mappedin/mappedin-js/mappedin-js/src/types';
5135
5208
  export type { Label, Marker, Path, PathSegment, Shape, CameraTransform, Model, Image3DView, Text3DView, } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
@@ -7449,7 +7522,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
7449
7522
 
7450
7523
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location' {
7451
7524
  import type { EnterpriseLocation as MVFEnterpriseLocation, LocationState, OperationHours, SiblingGroup } from '@mappedin/mvf-v2';
7452
- import type { Coordinate, EnterpriseCategory, MapDataInternal, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
7525
+ import type { Coordinate, EnterpriseCategory, MapDataInternal, PointOfInterest, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
7453
7526
  import type Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
7454
7527
  import BaseMetaData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-metadata-object';
7455
7528
  import type { IFocusable } from '@mappedin/mappedin-js/mappedin-js/src/types';
@@ -7611,6 +7684,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
7611
7684
  * Whether the location has been marked as hidden.
7612
7685
  */
7613
7686
  hidden: boolean;
7687
+ primaryCategory?: string | undefined;
7614
7688
  /**
7615
7689
  * Checks if the provided instance is of type EnterpriseLocation.
7616
7690
  *
@@ -7632,6 +7706,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
7632
7706
  get categories(): EnterpriseCategory[];
7633
7707
  get coordinates(): Coordinate[];
7634
7708
  get nodes(): Node[];
7709
+ get points(): PointOfInterest[];
7635
7710
  get spaces(): Space[];
7636
7711
  /**
7637
7712
  * Serializes the EnterpriseLocation data to JSON.
@@ -8370,9 +8445,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
8370
8445
  id?: string | undefined;
8371
8446
  interactive?: boolean | "pointer-events-auto" | undefined;
8372
8447
  rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
8373
- placement?: "top" | "bottom" | "left" | "right" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("top" | "bottom" | "left" | "right" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
8374
- dynamicResize?: boolean | undefined;
8375
8448
  zIndex?: number | undefined;
8449
+ placement?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center" | "top" | "bottom" | "left" | "right" | ("top-left" | "top-right" | "bottom-left" | "bottom-right" | "center" | "top" | "bottom" | "left" | "right")[] | undefined;
8450
+ dynamicResize?: boolean | undefined;
8376
8451
  lowPriorityPin?: {
8377
8452
  size?: number | undefined;
8378
8453
  color?: string | undefined;
@@ -8382,9 +8457,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
8382
8457
  id?: string | undefined;
8383
8458
  interactive?: boolean | "pointer-events-auto" | undefined;
8384
8459
  rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
8385
- placement?: "top" | "bottom" | "left" | "right" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("top" | "bottom" | "left" | "right" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
8386
- dynamicResize?: boolean | undefined;
8387
8460
  zIndex?: number | undefined;
8461
+ placement?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | "center" | "top" | "bottom" | "left" | "right" | ("top-left" | "top-right" | "bottom-left" | "bottom-right" | "center" | "top" | "bottom" | "left" | "right")[] | undefined;
8462
+ dynamicResize?: boolean | undefined;
8388
8463
  lowPriorityPin?: {
8389
8464
  size?: number | undefined;
8390
8465
  color?: string | undefined;
@@ -9046,13 +9121,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9046
9121
  iconFit: "fill" | "contain" | "cover";
9047
9122
  iconOverflow: "visible" | "hidden";
9048
9123
  iconVisibleAtZoomLevel: number;
9124
+ icon?: string | undefined;
9049
9125
  textColor?: string | undefined;
9050
9126
  textOutlineColor?: string | undefined;
9051
9127
  pinColor?: string | undefined;
9052
9128
  pinOutlineColor?: string | undefined;
9053
9129
  pinColorInactive?: string | undefined;
9054
9130
  pinOutlineColorInactive?: string | undefined;
9055
- icon?: string | undefined;
9056
9131
  }, {
9057
9132
  maxWidth?: number | undefined;
9058
9133
  maxLines?: number | undefined;
@@ -9060,6 +9135,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9060
9135
  color?: string | undefined;
9061
9136
  margin?: number | undefined;
9062
9137
  outlineColor?: string | undefined;
9138
+ icon?: string | undefined;
9063
9139
  textSize?: number | undefined;
9064
9140
  textColor?: string | undefined;
9065
9141
  textOutlineColor?: string | undefined;
@@ -9067,7 +9143,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9067
9143
  pinOutlineColor?: string | undefined;
9068
9144
  pinColorInactive?: string | undefined;
9069
9145
  pinOutlineColorInactive?: string | undefined;
9070
- icon?: string | undefined;
9071
9146
  iconSize?: number | undefined;
9072
9147
  iconScale?: number | {
9073
9148
  input: [number, ...number[]];
@@ -9205,13 +9280,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9205
9280
  iconFit: "fill" | "contain" | "cover";
9206
9281
  iconOverflow: "visible" | "hidden";
9207
9282
  iconVisibleAtZoomLevel: number;
9283
+ icon?: string | undefined;
9208
9284
  textColor?: string | undefined;
9209
9285
  textOutlineColor?: string | undefined;
9210
9286
  pinColor?: string | undefined;
9211
9287
  pinOutlineColor?: string | undefined;
9212
9288
  pinColorInactive?: string | undefined;
9213
9289
  pinOutlineColorInactive?: string | undefined;
9214
- icon?: string | undefined;
9215
9290
  }, {
9216
9291
  maxWidth?: number | undefined;
9217
9292
  maxLines?: number | undefined;
@@ -9219,6 +9294,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9219
9294
  color?: string | undefined;
9220
9295
  margin?: number | undefined;
9221
9296
  outlineColor?: string | undefined;
9297
+ icon?: string | undefined;
9222
9298
  textSize?: number | undefined;
9223
9299
  textColor?: string | undefined;
9224
9300
  textOutlineColor?: string | undefined;
@@ -9226,7 +9302,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9226
9302
  pinOutlineColor?: string | undefined;
9227
9303
  pinColorInactive?: string | undefined;
9228
9304
  pinOutlineColorInactive?: string | undefined;
9229
- icon?: string | undefined;
9230
9305
  iconSize?: number | undefined;
9231
9306
  iconScale?: number | {
9232
9307
  input: [number, ...number[]];
@@ -9271,6 +9346,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9271
9346
  color?: string | undefined;
9272
9347
  margin?: number | undefined;
9273
9348
  outlineColor?: string | undefined;
9349
+ icon?: string | undefined;
9274
9350
  textSize?: number | undefined;
9275
9351
  textColor?: string | undefined;
9276
9352
  textOutlineColor?: string | undefined;
@@ -9278,7 +9354,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9278
9354
  pinOutlineColor?: string | undefined;
9279
9355
  pinColorInactive?: string | undefined;
9280
9356
  pinOutlineColorInactive?: string | undefined;
9281
- icon?: string | undefined;
9282
9357
  iconSize?: number | undefined;
9283
9358
  iconScale?: number | {
9284
9359
  input: [number, ...number[]];
@@ -9416,13 +9491,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9416
9491
  iconFit: "fill" | "contain" | "cover";
9417
9492
  iconOverflow: "visible" | "hidden";
9418
9493
  iconVisibleAtZoomLevel: number;
9494
+ icon?: string | undefined;
9419
9495
  textColor?: string | undefined;
9420
9496
  textOutlineColor?: string | undefined;
9421
9497
  pinColor?: string | undefined;
9422
9498
  pinOutlineColor?: string | undefined;
9423
9499
  pinColorInactive?: string | undefined;
9424
9500
  pinOutlineColorInactive?: string | undefined;
9425
- icon?: string | undefined;
9426
9501
  }, {
9427
9502
  maxWidth?: number | undefined;
9428
9503
  maxLines?: number | undefined;
@@ -9430,6 +9505,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9430
9505
  color?: string | undefined;
9431
9506
  margin?: number | undefined;
9432
9507
  outlineColor?: string | undefined;
9508
+ icon?: string | undefined;
9433
9509
  textSize?: number | undefined;
9434
9510
  textColor?: string | undefined;
9435
9511
  textOutlineColor?: string | undefined;
@@ -9437,7 +9513,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9437
9513
  pinOutlineColor?: string | undefined;
9438
9514
  pinColorInactive?: string | undefined;
9439
9515
  pinOutlineColorInactive?: string | undefined;
9440
- icon?: string | undefined;
9441
9516
  iconSize?: number | undefined;
9442
9517
  iconScale?: number | {
9443
9518
  input: [number, ...number[]];
@@ -9675,13 +9750,13 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9675
9750
  iconFit: "fill" | "contain" | "cover";
9676
9751
  iconOverflow: "visible" | "hidden";
9677
9752
  iconVisibleAtZoomLevel: number;
9753
+ icon?: string | undefined;
9678
9754
  textColor?: string | undefined;
9679
9755
  textOutlineColor?: string | undefined;
9680
9756
  pinColor?: string | undefined;
9681
9757
  pinOutlineColor?: string | undefined;
9682
9758
  pinColorInactive?: string | undefined;
9683
9759
  pinOutlineColorInactive?: string | undefined;
9684
- icon?: string | undefined;
9685
9760
  }, {
9686
9761
  maxWidth?: number | undefined;
9687
9762
  maxLines?: number | undefined;
@@ -9689,6 +9764,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9689
9764
  color?: string | undefined;
9690
9765
  margin?: number | undefined;
9691
9766
  outlineColor?: string | undefined;
9767
+ icon?: string | undefined;
9692
9768
  textSize?: number | undefined;
9693
9769
  textColor?: string | undefined;
9694
9770
  textOutlineColor?: string | undefined;
@@ -9696,7 +9772,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9696
9772
  pinOutlineColor?: string | undefined;
9697
9773
  pinColorInactive?: string | undefined;
9698
9774
  pinOutlineColorInactive?: string | undefined;
9699
- icon?: string | undefined;
9700
9775
  iconSize?: number | undefined;
9701
9776
  iconScale?: number | {
9702
9777
  input: [number, ...number[]];
@@ -9741,6 +9816,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9741
9816
  color?: string | undefined;
9742
9817
  margin?: number | undefined;
9743
9818
  outlineColor?: string | undefined;
9819
+ icon?: string | undefined;
9744
9820
  textSize?: number | undefined;
9745
9821
  textColor?: string | undefined;
9746
9822
  textOutlineColor?: string | undefined;
@@ -9748,7 +9824,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9748
9824
  pinOutlineColor?: string | undefined;
9749
9825
  pinColorInactive?: string | undefined;
9750
9826
  pinOutlineColorInactive?: string | undefined;
9751
- icon?: string | undefined;
9752
9827
  iconSize?: number | undefined;
9753
9828
  iconScale?: number | {
9754
9829
  input: [number, ...number[]];
@@ -9806,6 +9881,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9806
9881
  color?: string | undefined;
9807
9882
  margin?: number | undefined;
9808
9883
  outlineColor?: string | undefined;
9884
+ icon?: string | undefined;
9809
9885
  textSize?: number | undefined;
9810
9886
  textColor?: string | undefined;
9811
9887
  textOutlineColor?: string | undefined;
@@ -9813,7 +9889,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label-utils' {
9813
9889
  pinOutlineColor?: string | undefined;
9814
9890
  pinColorInactive?: string | undefined;
9815
9891
  pinOutlineColorInactive?: string | undefined;
9816
- icon?: string | undefined;
9817
9892
  iconSize?: number | undefined;
9818
9893
  iconScale?: number | {
9819
9894
  input: [number, ...number[]];
@@ -10583,6 +10658,18 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
10583
10658
  * Bevel configuration for extruded shapes.
10584
10659
  */
10585
10660
  bevel?: BevelState;
10661
+ /**
10662
+ * Whether the geometry has a border
10663
+ */
10664
+ borderVisible: boolean;
10665
+ /**
10666
+ * The color of the border
10667
+ */
10668
+ borderColor?: string;
10669
+ /**
10670
+ * The width of the border
10671
+ */
10672
+ borderWidth?: number;
10586
10673
  };
10587
10674
  export class MeshComponent {
10588
10675
  #private;
@@ -11027,7 +11114,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
11027
11114
  import { ExporterSystem } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
11028
11115
  import type { LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
11029
11116
  import type { AddLabelOptionsInternal } from '@mappedin/mappedin-js/geojson/src/components/label-utils';
11030
- import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, EntityState, EntityId, MapEvent, MapEventPayload, RendererState, EntityTypes, EnvMapOptions } from '@mappedin/mappedin-js/geojson/src/types';
11117
+ import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, EntityState, EntityId, MapEvent, MapEventPayload, RendererState, EntityTypes, EnvMapOptions, InsetPadding } from '@mappedin/mappedin-js/geojson/src/types';
11031
11118
  import { MeshCreationAndOptimizationSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/system';
11032
11119
  import { DOMVisibilitySystem } from '@mappedin/mappedin-js/geojson/src/systems/dom-visiblity/system';
11033
11120
  import { TwoDProjectionSystem } from '@mappedin/mappedin-js/geojson/src/systems/2d-projection/system';
@@ -11066,6 +11153,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
11066
11153
  import type { FloatingFloorTextProperties } from '@mappedin/mvf-v2';
11067
11154
  import { GeometryDisposalSystem } from '@mappedin/mappedin-js/geojson/src/systems/geometry-disposal/system';
11068
11155
  import type { LiteralUnion } from 'type-fest';
11156
+ import { BorderSystem } from '@mappedin/mappedin-js/geojson/src/systems/border/system';
11069
11157
  export type * from '@mappedin/mappedin-js/geojson/src/types';
11070
11158
  export const raycaster: Raycaster;
11071
11159
  /**
@@ -11108,6 +11196,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
11108
11196
  text3DSystem: Text3DSystem;
11109
11197
  occlusion2DSystem: Occlusion2DSystem;
11110
11198
  geometryDisposalSystem: GeometryDisposalSystem;
11199
+ borderSystem: BorderSystem;
11111
11200
  };
11112
11201
  export type MapViewState = {
11113
11202
  readonly type: 'map-view';
@@ -11360,6 +11449,18 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
11360
11449
  id: EntityState['id'];
11361
11450
  type: EntityState['type'];
11362
11451
  } | string | EntityState): boolean;
11452
+ /**
11453
+ * Return a list of Geometry2D IDs currently rendered on screen.
11454
+ *
11455
+ * @param options - The options to query.
11456
+ * @param options.screenOffsets - Optional offsets to account for on the edges of the screen.
11457
+ * @param options.fullyContains - Whether to exclude entities that intersect with the screen edges after accounting for offsets.
11458
+ * @returns A list of IDs.
11459
+ */
11460
+ queryGeometry2DInView(options?: {
11461
+ screenOffsets?: Partial<InsetPadding>;
11462
+ fullyContains?: boolean;
11463
+ }): string[];
11363
11464
  /**
11364
11465
  * Perform a render of the scene. This is called internally when something changes, but can be called when adding external models
11365
11466
  * The render happens in an animation frame, not matter how frequently it is called
@@ -11739,9 +11840,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11739
11840
  position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
11740
11841
  content: z.ZodString;
11741
11842
  }, "strip", z.ZodTypeAny, {
11742
- color: string;
11743
11843
  visible: boolean;
11744
- type: "text3d";
11844
+ color: string;
11745
11845
  flipToFaceCamera: boolean;
11746
11846
  fontSize: number;
11747
11847
  margin: number | [number, number, number, number];
@@ -11755,6 +11855,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11755
11855
  strokeOpacity: number;
11756
11856
  strokeColor: string;
11757
11857
  fillOpacity: number;
11858
+ type: "text3d";
11758
11859
  id: string | number;
11759
11860
  position: [number, number, number];
11760
11861
  content: string;
@@ -11763,9 +11864,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11763
11864
  maxHeight?: number | undefined;
11764
11865
  hoverColor?: string | undefined;
11765
11866
  }, {
11766
- color: string;
11767
11867
  visible: boolean;
11768
- type: "text3d";
11868
+ color: string;
11769
11869
  flipToFaceCamera: boolean;
11770
11870
  fontSize: number;
11771
11871
  margin: number | [number, number, number, number];
@@ -11779,6 +11879,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11779
11879
  strokeOpacity: number;
11780
11880
  strokeColor: string;
11781
11881
  fillOpacity: number;
11882
+ type: "text3d";
11782
11883
  id: string | number;
11783
11884
  position: [number, number, number];
11784
11885
  content: string;
@@ -11817,8 +11918,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11817
11918
  content: z.ZodOptional<z.ZodString>;
11818
11919
  }, "type" | "id">, "strict", z.ZodTypeAny, {
11819
11920
  maxWidth?: number | undefined;
11820
- color?: string | undefined;
11821
11921
  visible?: boolean | undefined;
11922
+ color?: string | undefined;
11822
11923
  flipToFaceCamera?: boolean | undefined;
11823
11924
  font?: string | undefined;
11824
11925
  fontSize?: number | undefined;
@@ -11839,8 +11940,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11839
11940
  content?: string | undefined;
11840
11941
  }, {
11841
11942
  maxWidth?: number | undefined;
11842
- color?: string | undefined;
11843
11943
  visible?: boolean | undefined;
11944
+ color?: string | undefined;
11844
11945
  flipToFaceCamera?: boolean | undefined;
11845
11946
  font?: string | undefined;
11846
11947
  fontSize?: number | undefined;
@@ -11891,8 +11992,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11891
11992
  position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
11892
11993
  content: z.ZodOptional<z.ZodString>;
11893
11994
  }, "type" | "id">, "maxWidth" | "margin" | "maxHeight" | "position" | "content">, "strict", z.ZodTypeAny, {
11894
- color?: string | undefined;
11895
11995
  visible?: boolean | undefined;
11996
+ color?: string | undefined;
11896
11997
  flipToFaceCamera?: boolean | undefined;
11897
11998
  font?: string | undefined;
11898
11999
  fontSize?: number | undefined;
@@ -11908,8 +12009,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11908
12009
  fillOpacity?: number | undefined;
11909
12010
  hoverColor?: string | undefined;
11910
12011
  }, {
11911
- color?: string | undefined;
11912
12012
  visible?: boolean | undefined;
12013
+ color?: string | undefined;
11913
12014
  flipToFaceCamera?: boolean | undefined;
11914
12015
  font?: string | undefined;
11915
12016
  fontSize?: number | undefined;
@@ -11960,8 +12061,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11960
12061
  content: z.ZodOptional<z.ZodString>;
11961
12062
  }, "type" | "id">, "strict", z.ZodTypeAny, {
11962
12063
  maxWidth?: number | undefined;
11963
- color?: string | undefined;
11964
12064
  visible?: boolean | undefined;
12065
+ color?: string | undefined;
11965
12066
  flipToFaceCamera?: boolean | undefined;
11966
12067
  font?: string | undefined;
11967
12068
  fontSize?: number | undefined;
@@ -11982,8 +12083,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
11982
12083
  content?: string | undefined;
11983
12084
  }, {
11984
12085
  maxWidth?: number | undefined;
11985
- color?: string | undefined;
11986
12086
  visible?: boolean | undefined;
12087
+ color?: string | undefined;
11987
12088
  flipToFaceCamera?: boolean | undefined;
11988
12089
  font?: string | undefined;
11989
12090
  fontSize?: number | undefined;
@@ -12008,8 +12109,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
12008
12109
  parentId?: string | undefined;
12009
12110
  appearance?: {
12010
12111
  maxWidth?: number | undefined;
12011
- color?: string | undefined;
12012
12112
  visible?: boolean | undefined;
12113
+ color?: string | undefined;
12013
12114
  flipToFaceCamera?: boolean | undefined;
12014
12115
  font?: string | undefined;
12015
12116
  fontSize?: number | undefined;
@@ -12033,8 +12134,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
12033
12134
  parentId?: string | undefined;
12034
12135
  appearance?: {
12035
12136
  maxWidth?: number | undefined;
12036
- color?: string | undefined;
12037
12137
  visible?: boolean | undefined;
12138
+ color?: string | undefined;
12038
12139
  flipToFaceCamera?: boolean | undefined;
12039
12140
  font?: string | undefined;
12040
12141
  fontSize?: number | undefined;
@@ -12118,6 +12219,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
12118
12219
  export function updateFocusable(entity: Geometry3D | GroupContainerObject3D, update?: boolean): boolean;
12119
12220
  export function updateIndividualGeometryRenderOrder(entity: Geometry3D, update?: number): boolean;
12120
12221
  export function updateSide(geometry: Geometry3DTypes | GeometryGroupObject3D, state: RendererState, update?: StyleComponent['side']): void;
12222
+ export function updateBorder(entity: Geometry3D, update?: Partial<GeometryState>): void;
12121
12223
  export function handlePathUpdate(geometry: Geometry3DTypes, state: RendererState, update: PathUpdateState): void;
12122
12224
  export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
12123
12225
  export function getEntityId(entityOrEntityId: Geometry2D | Geometry3DTypes | Geometry2DObject3D | Geometry3DObject3D | GeometryGroupObject3D | GroupContainerObject3D | string | number): any;
@@ -14212,6 +14314,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14212
14314
  * @default false
14213
14315
  */
14214
14316
  flipImageToFaceCamera: z.ZodDefault<z.ZodBoolean>;
14317
+ /**
14318
+ * Whether the geometry has a border
14319
+ */
14320
+ borderVisible: z.ZodDefault<z.ZodBoolean>;
14321
+ /**
14322
+ * The color of the border. borderVisible must be true for this to take effect.
14323
+ */
14324
+ borderColor: z.ZodOptional<z.ZodString>;
14325
+ /**
14326
+ * The width of the border. borderVisible must be true for this to take effect.
14327
+ */
14328
+ borderWidth: z.ZodOptional<z.ZodNumber>;
14215
14329
  }, "strip", z.ZodTypeAny, {
14216
14330
  type: "geometry";
14217
14331
  height: number;
@@ -14221,6 +14335,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14221
14335
  flipImageToFaceCamera: boolean;
14222
14336
  visible: boolean;
14223
14337
  interactive: boolean;
14338
+ borderVisible: boolean;
14224
14339
  topTexture?: {
14225
14340
  url: string;
14226
14341
  } | undefined;
@@ -14229,6 +14344,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14229
14344
  } | undefined;
14230
14345
  topColor?: string | undefined;
14231
14346
  hoverColor?: string | undefined;
14347
+ borderColor?: string | undefined;
14348
+ borderWidth?: number | undefined;
14232
14349
  }, {
14233
14350
  type?: "geometry" | undefined;
14234
14351
  height?: number | undefined;
@@ -14246,6 +14363,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14246
14363
  interactive?: boolean | undefined;
14247
14364
  topColor?: string | undefined;
14248
14365
  hoverColor?: string | undefined;
14366
+ borderVisible?: boolean | undefined;
14367
+ borderColor?: string | undefined;
14368
+ borderWidth?: number | undefined;
14249
14369
  }>;
14250
14370
  const geometryStateSchemaPartial: z.ZodObject<{
14251
14371
  type: z.ZodOptional<z.ZodDefault<z.ZodLiteral<"geometry">>>;
@@ -14272,6 +14392,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14272
14392
  url: string;
14273
14393
  }>>>;
14274
14394
  flipImageToFaceCamera: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
14395
+ borderVisible: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
14396
+ borderColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
14397
+ borderWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
14275
14398
  }, "strip", z.ZodTypeAny, {
14276
14399
  type?: "geometry" | undefined;
14277
14400
  height?: number | undefined;
@@ -14289,6 +14412,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14289
14412
  interactive?: boolean | undefined;
14290
14413
  topColor?: string | undefined;
14291
14414
  hoverColor?: string | undefined;
14415
+ borderVisible?: boolean | undefined;
14416
+ borderColor?: string | undefined;
14417
+ borderWidth?: number | undefined;
14292
14418
  }, {
14293
14419
  type?: "geometry" | undefined;
14294
14420
  height?: number | undefined;
@@ -14306,6 +14432,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14306
14432
  interactive?: boolean | undefined;
14307
14433
  topColor?: string | undefined;
14308
14434
  hoverColor?: string | undefined;
14435
+ borderVisible?: boolean | undefined;
14436
+ borderColor?: string | undefined;
14437
+ borderWidth?: number | undefined;
14309
14438
  }>;
14310
14439
  const geometryStateSchemaStrict: z.ZodObject<{
14311
14440
  type: z.ZodDefault<z.ZodLiteral<"geometry">>;
@@ -14372,6 +14501,18 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14372
14501
  * @default false
14373
14502
  */
14374
14503
  flipImageToFaceCamera: z.ZodDefault<z.ZodBoolean>;
14504
+ /**
14505
+ * Whether the geometry has a border
14506
+ */
14507
+ borderVisible: z.ZodDefault<z.ZodBoolean>;
14508
+ /**
14509
+ * The color of the border. borderVisible must be true for this to take effect.
14510
+ */
14511
+ borderColor: z.ZodOptional<z.ZodString>;
14512
+ /**
14513
+ * The width of the border. borderVisible must be true for this to take effect.
14514
+ */
14515
+ borderWidth: z.ZodOptional<z.ZodNumber>;
14375
14516
  }, "strict", z.ZodTypeAny, {
14376
14517
  type: "geometry";
14377
14518
  height: number;
@@ -14381,6 +14522,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14381
14522
  flipImageToFaceCamera: boolean;
14382
14523
  visible: boolean;
14383
14524
  interactive: boolean;
14525
+ borderVisible: boolean;
14384
14526
  topTexture?: {
14385
14527
  url: string;
14386
14528
  } | undefined;
@@ -14389,6 +14531,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14389
14531
  } | undefined;
14390
14532
  topColor?: string | undefined;
14391
14533
  hoverColor?: string | undefined;
14534
+ borderColor?: string | undefined;
14535
+ borderWidth?: number | undefined;
14392
14536
  }, {
14393
14537
  type?: "geometry" | undefined;
14394
14538
  height?: number | undefined;
@@ -14406,6 +14550,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/geometry-state' {
14406
14550
  interactive?: boolean | undefined;
14407
14551
  topColor?: string | undefined;
14408
14552
  hoverColor?: string | undefined;
14553
+ borderVisible?: boolean | undefined;
14554
+ borderColor?: string | undefined;
14555
+ borderWidth?: number | undefined;
14409
14556
  }>;
14410
14557
  /**
14411
14558
  * Defines the state for geometry elements like {@link Space} when updated.
@@ -15024,7 +15171,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/state-utils' {
15024
15171
  import type { TWallsState, TWallsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/states/walls-state';
15025
15172
  import type { Label, Marker, Model, Path, PathSegment, Shape, Text3DView, Image3DView } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
15026
15173
  import type { DOORS, WALLS } from '@mappedin/mappedin-js/mappedin-js/src/types';
15027
- import type { Door, Facade, Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
15174
+ import type { Area, Door, Facade, Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
15028
15175
  import type { ReadonlyDeep } from 'type-fest';
15029
15176
  type ParseStateOptions = {
15030
15177
  warn?: boolean;
@@ -15066,6 +15213,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/state-utils' {
15066
15213
  [Floor.__type]: ReadonlyDeep<TFloorState>;
15067
15214
  [Facade.__type]: ReadonlyDeep<TFacadeState>;
15068
15215
  [Door.__type]: ReadonlyDeep<TDoorsState>;
15216
+ [Area.__type]: ReadonlyDeep<TGeometryState>;
15069
15217
  [WALLS.Exterior]: ReadonlyDeep<TWallsState>;
15070
15218
  [WALLS.Interior]: ReadonlyDeep<TWallsState>;
15071
15219
  [DOORS.Exterior]: ReadonlyDeep<TDoorsState>;
@@ -15088,6 +15236,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/states/state-utils' {
15088
15236
  [Floor.__type]: TFloorUpdateState;
15089
15237
  [Facade.__type]: TFacadeUpdateState;
15090
15238
  [Door.__type]: TDoorsUpdateState;
15239
+ [Area.__type]: TGeometryUpdateState;
15091
15240
  [WALLS.Exterior]: TWallsUpdateState;
15092
15241
  [WALLS.Interior]: TWallsUpdateState;
15093
15242
  [DOORS.Exterior]: TDoorsUpdateState;
@@ -15825,11 +15974,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label' {
15825
15974
  /**
15826
15975
  * @internal
15827
15976
  */
15828
- static readonly __type = "Label";
15977
+ static readonly __type = "label";
15829
15978
  /**
15830
15979
  * @internal
15831
15980
  */
15832
- readonly __type = "Label";
15981
+ readonly __type = "label";
15833
15982
  /**
15834
15983
  * Checks if the provided instance is of type Label.
15835
15984
  *
@@ -15863,7 +16012,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
15863
16012
  /**
15864
16013
  * @internal
15865
16014
  */
15866
- static readonly __type = "Marker";
16015
+ static readonly __type = "marker";
15867
16016
  get target(): IAnchorable;
15868
16017
  get coordinate(): import("..").Coordinate;
15869
16018
  toJSON(): {
@@ -15875,7 +16024,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker' {
15875
16024
  /**
15876
16025
  * @internal
15877
16026
  */
15878
- readonly __type = "Marker";
16027
+ readonly __type = "marker";
15879
16028
  /**
15880
16029
  * The HTML element that represents the marker.
15881
16030
  */
@@ -15914,11 +16063,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/image3d'
15914
16063
  /**
15915
16064
  * @internal
15916
16065
  */
15917
- static readonly __type = "Image3D";
16066
+ static readonly __type = "image-3d";
15918
16067
  /**
15919
16068
  * @internal
15920
16069
  */
15921
- readonly __type = "Image3D";
16070
+ readonly __type = "image-3d";
15922
16071
  /**
15923
16072
  * Checks if the provided instance is of type Image"
15924
16073
  *
@@ -15971,11 +16120,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/model' {
15971
16120
  /**
15972
16121
  * @internal
15973
16122
  */
15974
- static readonly __type = "Model";
16123
+ static readonly __type = "model";
15975
16124
  /**
15976
16125
  * @internal
15977
16126
  */
15978
- readonly __type = "Model";
16127
+ readonly __type = "model";
15979
16128
  get target(): IAnchorable;
15980
16129
  /**
15981
16130
  * Checks if the provided instance is of type Model
@@ -16016,11 +16165,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path' {
16016
16165
  /**
16017
16166
  * @internal
16018
16167
  */
16019
- static readonly __type = "PathSegment";
16168
+ static readonly __type = "path-segment";
16020
16169
  /**
16021
16170
  * @internal
16022
16171
  */
16023
- readonly __type = "PathSegment";
16172
+ readonly __type = "path-segment";
16024
16173
  /**
16025
16174
  * Checks if the provided instance is a PathSegment.
16026
16175
  */
@@ -16056,11 +16205,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path' {
16056
16205
  /**
16057
16206
  * @internal
16058
16207
  */
16059
- static readonly __type = "Path";
16208
+ static readonly __type = "path";
16060
16209
  /**
16061
16210
  * @internal
16062
16211
  */
16063
- readonly __type = "Path";
16212
+ readonly __type = "path";
16064
16213
  /**
16065
16214
  * Checks if the provided instance is a Path.
16066
16215
  *
@@ -16101,11 +16250,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/shape' {
16101
16250
  /**
16102
16251
  * @internal
16103
16252
  */
16104
- static readonly __type = "Shape";
16253
+ static readonly __type = "shape";
16105
16254
  /**
16106
16255
  * @internal
16107
16256
  */
16108
- readonly __type = "Shape";
16257
+ readonly __type = "shape";
16109
16258
  /**
16110
16259
  * Checks if the provided instance is of type Shape.
16111
16260
  *
@@ -16143,8 +16292,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/text3d' {
16143
16292
  /**
16144
16293
  * @internal
16145
16294
  */
16146
- static readonly __type = "Text3D";
16147
- readonly __type = "Text3D";
16295
+ static readonly __type = "text-3d";
16296
+ readonly __type = "text-3d";
16148
16297
  /**
16149
16298
  * Checks if the provided instance is of type Text3D
16150
16299
  *
@@ -16617,6 +16766,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/labels' {
16617
16766
  constructor({ currentMapGetter }: {
16618
16767
  currentMapGetter: CurrentMapGetter;
16619
16768
  });
16769
+ getAll(): Label[];
16620
16770
  /**
16621
16771
  * @internal
16622
16772
  */
@@ -16762,6 +16912,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
16762
16912
  constructor({ currentMapGetter }: {
16763
16913
  currentMapGetter: CurrentMapGetter;
16764
16914
  });
16915
+ getAll(): Marker[];
16765
16916
  /**
16766
16917
  * @internal
16767
16918
  */
@@ -18376,12 +18527,14 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
18376
18527
  import type { ModelStyleComponnet, Text3DStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles';
18377
18528
  import type { OutlineComponent } from '@mappedin/mappedin-js/geojson/src/components/outline';
18378
18529
  import type { FocusableComponent } from '@mappedin/mappedin-js/geojson/src/components/focusable';
18530
+ import type { BorderComponent } from '@mappedin/mappedin-js/geojson/src/components/border';
18379
18531
  export enum Geometry3DComponents {
18380
18532
  Mesh = 0,
18381
18533
  Style = 1,
18382
18534
  Interaction = 2,
18383
18535
  Outline = 3,
18384
- Focusable = 4
18536
+ Focusable = 4,
18537
+ Border = 5
18385
18538
  }
18386
18539
  type Geometry3DObjectTypes = 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image' | 'text3d';
18387
18540
  export class Geometry3DObject3D extends Object3D {
@@ -18410,9 +18563,9 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
18410
18563
  }
18411
18564
  export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | Text3DComponent | ImageComponent;
18412
18565
  type MappedComponentType<M> = M extends MeshComponent ? 'geometry' : M extends PathComponent ? 'path' : M extends ModelComponent ? 'model' : M extends CustomGeometryComponent ? 'custom-geometry' : M extends ImageComponent ? 'image' : M extends Text3DComponent ? 'text3d' : never;
18413
- export class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends StyleComponent | Text3DStyleComponent | ModelStyleComponnet = StyleComponent, I extends InteractionComponent = InteractionComponent, T extends MappedComponentType<M> = MappedComponentType<M>, O extends OutlineComponent | undefined = OutlineComponent | undefined, F extends FocusableComponent | undefined = FocusableComponent | undefined> {
18566
+ export class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends StyleComponent | Text3DStyleComponent | ModelStyleComponnet = StyleComponent, I extends InteractionComponent = InteractionComponent, T extends MappedComponentType<M> = MappedComponentType<M>, O extends OutlineComponent | undefined = OutlineComponent | undefined, F extends FocusableComponent | undefined = FocusableComponent | undefined, B extends BorderComponent | undefined = BorderComponent | undefined> {
18414
18567
  id: string | number;
18415
- components: [M, S, I?, O?, F?];
18568
+ components: [M, S, I?, O?, F?, B?];
18416
18569
  /**
18417
18570
  * Parent geometry group ID
18418
18571
  */
@@ -18958,6 +19111,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/styles/style' {
18958
19111
  renderOrder?: number;
18959
19112
  shading?: Shading;
18960
19113
  bevel?: BevelState;
19114
+ borderVisible: boolean;
19115
+ borderColor?: string;
19116
+ borderWidth?: number;
18961
19117
  };
18962
19118
  export class StyleComponent implements Style {
18963
19119
  #private;
@@ -18987,6 +19143,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/styles/style' {
18987
19143
  renderOrder: number;
18988
19144
  shading?: Shading;
18989
19145
  bevel?: BevelState;
19146
+ borderVisible: boolean;
19147
+ borderColor: string;
19148
+ borderWidth: number;
18990
19149
  constructor(style?: Partial<Style>);
18991
19150
  }
18992
19151
  export {};
@@ -19142,7 +19301,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-opti
19142
19301
  getGLTFLoader(): Promise<GLTFLoader>;
19143
19302
  createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: (LineStyle | PaintStyle) & {
19144
19303
  focusable?: boolean;
19145
- }): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry", OutlineComponent | undefined, FocusableComponent | undefined>;
19304
+ }): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry", OutlineComponent | undefined, FocusableComponent | undefined, import("../../components/border").BorderComponent | undefined>;
19146
19305
  createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: Partial<ModelStyle>): ModelGeometry3D;
19147
19306
  populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry): void;
19148
19307
  populateModelGroup(entities: Set<string | number>, url: string, tree: GeometryGroupObject3D): Promise<Geometry3DObject3D>;
@@ -19678,6 +19837,22 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/geometry-disposal/syst
19678
19837
  }
19679
19838
  }
19680
19839
 
19840
+ declare module '@mappedin/mappedin-js/geojson/src/systems/border/system' {
19841
+ import type { RendererCore } from '@mappedin/mappedin-js/geojson/src';
19842
+ import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
19843
+ export const DEFAULT_BORDER_COLOR = "gray";
19844
+ export const DEFAULT_BORDER_WIDTH = 0.1;
19845
+ export const XRAY_OPACITY = 0.25;
19846
+ export class BorderSystem {
19847
+ rendererState: RendererState;
19848
+ dirty: boolean;
19849
+ convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'];
19850
+ constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
19851
+ update(): void;
19852
+ destroy(): void;
19853
+ }
19854
+ }
19855
+
19681
19856
  declare module '@mappedin/mappedin-js/geojson/src/utils' {
19682
19857
  import { type MercatorCoordinate, type CustomLayerInterface } from '@mappedin/mappedin-js/packages/outdoor-context-v5';
19683
19858
  import type { Object3D, PerspectiveCamera, Camera as THREECamera } from 'three';
@@ -19685,7 +19860,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
19685
19860
  import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
19686
19861
  import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
19687
19862
  import type { Geometry3DTypes } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
19688
- import type { Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
19863
+ import type { InsetPadding, Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
19689
19864
  import { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
19690
19865
  export { isFiniteBox } from '@packages/internal/common';
19691
19866
  import type { Position as GeoJSONPosition } from 'geojson';
@@ -19785,6 +19960,10 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
19785
19960
  Geometry = 0,
19786
19961
  ImageMesh = 1
19787
19962
  }
19963
+ /**
19964
+ * Given a screen element and a set of screen offsets, return the x, y, w, h of the rectangle that represents the area contained within the screen offsets.
19965
+ */
19966
+ export function rectFromScreenOffsets(el: HTMLElement, screenOffsets?: Partial<InsetPadding>): [number, number, number, number];
19788
19967
  }
19789
19968
 
19790
19969
  declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-style' {
@@ -20339,7 +20518,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions/dir
20339
20518
  }
20340
20519
 
20341
20520
  declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions/utils' {
20342
- import { DirectionsCollection } from '@packages/internal/geojson-navigator';
20521
+ import type { DirectionsCollection } from '@packages/internal/geojson-navigator';
20343
20522
  import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
20344
20523
  import type { TNavigationTarget } from '@mappedin/mappedin-js/mappedin-js/src/types';
20345
20524
  export function getNodesFromTargetSync(target: TNavigationTarget, mapData: MapDataInternal): string[];
@@ -20533,6 +20712,7 @@ declare module '@mappedin/mappedin-js/packages/common/random-id' {
20533
20712
  */
20534
20713
  export const randomId: () => string;
20535
20714
  export function cyrb53(str: string, seed?: number): number;
20715
+ export function shortId(): string;
20536
20716
  }
20537
20717
 
20538
20718
  declare module '@mappedin/mappedin-js/packages/common/storage' {
@@ -20741,6 +20921,24 @@ declare module '@mappedin/mappedin-js/geojson/src/components/outline' {
20741
20921
  export {};
20742
20922
  }
20743
20923
 
20924
+ declare module '@mappedin/mappedin-js/geojson/src/components/border' {
20925
+ import type { Object3D } from 'three';
20926
+ type Border = {
20927
+ dirty: boolean;
20928
+ visible: boolean;
20929
+ mesh?: Object3D;
20930
+ needsRebuild: boolean;
20931
+ };
20932
+ export class BorderComponent implements Border {
20933
+ dirty: boolean;
20934
+ needsRebuild: boolean;
20935
+ set visible(visible: boolean);
20936
+ get visible(): boolean;
20937
+ mesh?: Object3D;
20938
+ }
20939
+ export {};
20940
+ }
20941
+
20744
20942
  declare module '@mappedin/mappedin-js/geojson/src/services/text3d/utils' {
20745
20943
  import type { Text } from 'troika-three-text';
20746
20944
  /**
@@ -29373,7 +29571,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/ecs' {
29373
29571
  import type { EntityId, EntityState, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
29374
29572
  import { Box3, Vector3 } from 'three';
29375
29573
  import type RendererCore from '@mappedin/mappedin-js/geojson/src/renderer';
29376
- export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D | Geometry2D | undefined;
29574
+ export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry2D | GroupContainerObject3D | GeometryGroupObject3D | Geometry3DTypes | undefined;
29377
29575
  export function getVerticesOfEntity(core: RendererCore, geometryOrGeometryId?: string | number | EntityId<EntityState>, vertices?: Vector3[], bounds?: Box3, zOffset?: number): Vector3[];
29378
29576
  }
29379
29577