@mappedin/react-sdk 6.0.1-beta.43 → 6.0.1-beta.45
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.
- package/THIRD_PARTY_LICENSES.txt +4194 -989
- package/lib/esm/{GLTFExporter-BQXFQJSX.js → GLTFExporter-64BG5G32.js} +1 -1
- package/lib/esm/{GLTFLoader-ZRVC7DGN.js → GLTFLoader-ELXGWZD3.js} +1 -1
- package/lib/esm/{browser-OJO26JZN.js → browser-4WZEG5RQ.js} +1 -1
- package/lib/esm/{chunk-DOOA5SBB.js → chunk-FAMEMKII.js} +1 -1
- package/lib/esm/{chunk-RV2X5GSW.js → chunk-FSBH4P52.js} +1 -1
- package/lib/esm/{chunk-BVQ2DBMP.js → chunk-GVHB2OJC.js} +1 -1
- package/lib/esm/chunk-LQS3FVBN.js +1 -0
- package/lib/esm/{chunk-VTOSGJTF.js → chunk-OFX4UKYI.js} +1 -1
- package/lib/esm/chunk-VVO7QO3Y.js +1 -0
- package/lib/esm/index.css +1 -1
- package/lib/esm/index.d.ts +1969 -730
- package/lib/esm/index.js +1 -1
- package/lib/esm/inspector-GOK26VAV.css +1 -0
- package/lib/esm/{inspector-6H6BRSQJ.js → inspector-I2YHDXM6.js} +1 -1
- package/lib/esm/internal-7A3UJNAV.css +1 -0
- package/lib/esm/{internal-G2KM3BR4.js → internal-7LLUWCE5.js} +1 -1
- package/lib/esm/{outdoor-context-v4-7M4OICNB.js → outdoor-context-v4-XU2K4KTH.js} +1 -1
- package/lib/esm/text3d-OPI6K2SH.js +1 -0
- package/package.json +2 -2
- package/lib/esm/chunk-OPU32TFR.js +0 -1
- package/lib/esm/chunk-WMO54VQZ.js +0 -1
- package/lib/esm/inspector-D2RCHDOY.css +0 -1
- package/lib/esm/internal-55777EMI.css +0 -1
- package/lib/esm/text3d-CTCEJGTL.js +0 -1
- package/lib/esm/text3d-Q7FFP3YS.css +0 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -4,20 +4,19 @@
|
|
|
4
4
|
// ../react/@packages/internal/mvf-utils
|
|
5
5
|
// ../react/@mappedin/mvf
|
|
6
6
|
// ../react/@packages/internal/common/pubsub
|
|
7
|
-
// ../react/@packages/internal/mvf-utils/mvf-utils
|
|
8
7
|
// ../react/@packages/internal/common/Mappedin.Logger
|
|
9
8
|
// ../react/geojson
|
|
10
|
-
// ../react/@mappedin/mappedin-js
|
|
11
9
|
// ../react/@packages/internal/common
|
|
12
10
|
// ../react/@mappedin/core-sdk
|
|
11
|
+
// ../react/@packages/internal/mvf-utils/mvf-utils
|
|
13
12
|
// ../react/@packages/internal/mvf-utils/tokens/token-manager
|
|
13
|
+
// ../react/@tweenjs/tween.js
|
|
14
14
|
// ../react/@packages/internal/outdoor-context-v4
|
|
15
15
|
// ../react/@packages/internal/geojson-navigator
|
|
16
16
|
// ../react/@mappedin/mvf-core
|
|
17
17
|
// ../react/three
|
|
18
18
|
// ../react/zod
|
|
19
19
|
// ../react/@packages/internal/shave-text/shave-text
|
|
20
|
-
// ../react/@tweenjs/tween.js
|
|
21
20
|
// ../react/@turf/turf
|
|
22
21
|
// ../react/troika-three-text
|
|
23
22
|
// ../react/@packages/internal/quad-tree
|
|
@@ -60,12 +59,13 @@ declare module '@mappedin/react-sdk' {
|
|
|
60
59
|
declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
61
60
|
import MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
62
61
|
import type { TEvents, TEventPayload, TClickPayload, THoverPayload, TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
63
|
-
import type { TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions } from '@packages/
|
|
62
|
+
import type { TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, Environment } from '@mappedin/react-sdk/packages/mvf-utils';
|
|
64
63
|
import { parseMVF, unzipMVF } from '@packages/internal/mvf-utils';
|
|
65
64
|
import type { Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
66
65
|
import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf';
|
|
67
66
|
import { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
68
67
|
export type { Text3D as Text3DApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
68
|
+
export { disableText3DWorker } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
69
69
|
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, EnvMapOptions, MapViewState, UpdateModelState, InitializeModelState, WatermarkUpdateOptions } from '@mappedin/react-sdk/geojson/src';
|
|
70
70
|
import { enableTestMode, preloadFont } from '@mappedin/react-sdk/geojson/src';
|
|
71
71
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
@@ -73,7 +73,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
73
73
|
import { MappedinMapLibreOverlay } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
|
|
74
74
|
import type { LanguagePackHydrationItem, TImagePlacementOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
75
75
|
import { MAPPEDIN_COLORS } from '@mappedin/react-sdk/mappedin-js/src/constants';
|
|
76
|
-
import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
|
|
77
76
|
import type { TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TFollowMode, TFollowCameraOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
78
77
|
import type { TExpandOptions, TStackedMapsEvents, TStackedMapsState } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
79
78
|
export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
|
|
@@ -266,12 +265,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
266
265
|
floorHeight?: number;
|
|
267
266
|
updateCameraElevationOnFloorChange?: boolean;
|
|
268
267
|
};
|
|
269
|
-
/**
|
|
270
|
-
* @experimental
|
|
271
|
-
* @internal
|
|
272
|
-
* @default false
|
|
273
|
-
*/
|
|
274
|
-
keepOutdoorGeometryVisible?: boolean;
|
|
275
268
|
/**
|
|
276
269
|
* @experimental
|
|
277
270
|
*
|
|
@@ -407,14 +400,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
407
400
|
export { parseMVF, unzipMVF, enableTestMode, preloadFont, MAPPEDIN_COLORS };
|
|
408
401
|
export type { MapView, MapData, MapViewState, MappedinMapLibreOverlay, TMappedinMapLibreOverlayEvents, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, EnvMapOptions, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, UpdateModelState, InitializeModelState, };
|
|
409
402
|
export type * from 'geojson';
|
|
410
|
-
export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TFloorState, TFacadeState, } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
403
|
+
export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, TFocusTarget, IFocusable, IAnchorable, TMapDataObjectTypes, TFloorState, TFacadeState, TSetFloorOptions, } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
411
404
|
export { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
412
405
|
export type { Label, Marker, Path, PathSegment, Shape, CameraTransform, Model, Image, Text3D, } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
413
406
|
export type { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
|
|
414
407
|
export type { Navigation, TNavigationOptions } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
415
408
|
export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
416
409
|
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, ImageMetaData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, LocationProfile, LocationCategory, Facade, Node, Area, type Places, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
417
|
-
export
|
|
410
|
+
export { setWorkersUrl } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
411
|
+
export type { Camera, Models, Labels, BlueDot, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, StackedMaps, } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
|
|
418
412
|
export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/react-sdk/mappedin-js/src/search';
|
|
419
413
|
export type { TFindNearestOptions, TFindNearestResult, TQueriables, Query } from '@mappedin/react-sdk/mappedin-js/src/query';
|
|
420
414
|
export type { Analytics, TAnalyticsUpdateState } from '@mappedin/react-sdk/mappedin-js/src/analytics';
|
|
@@ -424,7 +418,7 @@ declare module '@mappedin/react-sdk/react-sdk/src/Marker' {
|
|
|
424
418
|
import React, { type ReactElement, type ReactNode } from 'react';
|
|
425
419
|
import type { TupleToObjectWithPropNames } from '@mappedin/react-sdk/react-sdk/src/type-utils';
|
|
426
420
|
import type Mappedin from '@mappedin/react-sdk/react-sdk/src';
|
|
427
|
-
import type { TAnimationOptions } from '@mappedin/mappedin-js';
|
|
421
|
+
import type { TAnimationOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
428
422
|
type ParamsArray = Parameters<Mappedin.MapView['Markers']['add']>;
|
|
429
423
|
type StreamAgentParameterNames = ['target', 'contentHtml', 'options'];
|
|
430
424
|
/**
|
|
@@ -497,7 +491,7 @@ declare module '@mappedin/react-sdk/react-sdk/src/Label' {
|
|
|
497
491
|
}
|
|
498
492
|
|
|
499
493
|
declare module '@mappedin/react-sdk/react-sdk/src/useEvent' {
|
|
500
|
-
import type { TEvents } from '@mappedin/mappedin-js';
|
|
494
|
+
import type { TEvents } from '@mappedin/react-sdk/mappedin-js/src';
|
|
501
495
|
/**
|
|
502
496
|
* Hook to subscribe to an event on the {@link default.MapView | MapView}.
|
|
503
497
|
*
|
|
@@ -1040,7 +1034,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
|
|
|
1040
1034
|
import type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot';
|
|
1041
1035
|
import type { TDirectionInstruction } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1042
1036
|
import type { Directions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
1043
|
-
export type TFloorChangeReason = '
|
|
1037
|
+
export type TFloorChangeReason = 'blue-dot-floor-change' | 'stacked-maps-elevation-change' | 'navigation-connection-click' | string;
|
|
1044
1038
|
export type TClickPayload = {
|
|
1045
1039
|
/**
|
|
1046
1040
|
* The coordinate of the interaction.
|
|
@@ -1128,14 +1122,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
|
|
|
1128
1122
|
*/
|
|
1129
1123
|
'floor-change': TFloorChangePayload;
|
|
1130
1124
|
/**
|
|
1131
|
-
*
|
|
1132
|
-
* focus due to the camera moving.
|
|
1133
|
-
*
|
|
1134
|
-
* floor changing.
|
|
1125
|
+
*
|
|
1126
|
+
* Emitted when a different facade recieves focus due to the camera moving.
|
|
1127
|
+
* This always occurs when the active floor changes to a different floor stack,
|
|
1128
|
+
* but may also occur when the camera moves without the active floor changing.
|
|
1135
1129
|
*
|
|
1136
1130
|
* @property {Facade[]} facades - The facades that are in focus.
|
|
1131
|
+
*
|
|
1137
1132
|
*/
|
|
1138
|
-
'
|
|
1133
|
+
'facades-in-view-change': {
|
|
1139
1134
|
facades: Facade[];
|
|
1140
1135
|
};
|
|
1141
1136
|
/**
|
|
@@ -1214,6 +1209,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
|
|
|
1214
1209
|
};
|
|
1215
1210
|
}
|
|
1216
1211
|
|
|
1212
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils' {
|
|
1213
|
+
export * from '@mappedin/react-sdk/packages/mvf-utils/api-types';
|
|
1214
|
+
export * from '@mappedin/react-sdk/packages/mvf-utils/mvf-types';
|
|
1215
|
+
export type { TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TGetVenueOptions, TSearchOptions, TGetVenueBundleOptions, LocalePackUrls, Environment, } from '@mappedin/react-sdk/packages/mvf-utils/mvf-utils';
|
|
1216
|
+
export { downloadVenueBundleMVF, downloadVenueBundleMVFAPIGateway, downloadMVF, parseOptions, getAccessToken, parseMVF, unzipMVF, parseMVFv1, unzipMVFv1, createEnvControl, getSasToken, parseLanguagePack, } from '@mappedin/react-sdk/packages/mvf-utils/mvf-utils';
|
|
1217
|
+
export { findAndSplitObstructionByAllEntrances as splitObstructionByAllEntrances } from '@mappedin/react-sdk/packages/mvf-utils/geometry';
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1217
1220
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
1218
1221
|
import Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
|
|
1219
1222
|
import Area from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area';
|
|
@@ -1510,17 +1513,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
|
1510
1513
|
}
|
|
1511
1514
|
|
|
1512
1515
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
1513
|
-
import type
|
|
1516
|
+
import { type EasingCurve, type RendererCore, type WatermarkUpdateOptions } from '@mappedin/react-sdk/geojson/src';
|
|
1514
1517
|
import { PubSub } from '@packages/internal/common';
|
|
1515
1518
|
import { type TEvents, type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
1516
1519
|
import type { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
1517
|
-
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images
|
|
1520
|
+
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
|
|
1518
1521
|
import type { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
1519
1522
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
1520
1523
|
import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1521
1524
|
import type { Annotation, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack, Facade } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1522
1525
|
import type { TCoordinateParams } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
|
|
1523
|
-
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates, GlobalState, UpdateGlobalState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1526
|
+
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates, GlobalState, UpdateGlobalState, TSetFloorOptions, DeepPartial } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1524
1527
|
import type { Label, Marker, Image, Shape, Text3D as Text3DView, Model, Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1525
1528
|
import type { TEventPayload } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
1526
1529
|
import type { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
@@ -1529,6 +1532,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1529
1532
|
import { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
|
|
1530
1533
|
import type { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
1531
1534
|
import type { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
1535
|
+
import type { ExtractDeep } from '@mappedin/react-sdk/mappedin-js/src/utils/types';
|
|
1536
|
+
import { Tween } from '@tweenjs/tween.js';
|
|
1532
1537
|
/**
|
|
1533
1538
|
* The MapView class is the main class for rendering and interacting with the map.
|
|
1534
1539
|
*
|
|
@@ -1597,11 +1602,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1597
1602
|
* Controls for Stacked Maps.
|
|
1598
1603
|
*/
|
|
1599
1604
|
get StackedMaps(): StackedMaps;
|
|
1600
|
-
/**
|
|
1601
|
-
* @internal
|
|
1602
|
-
* @experimental
|
|
1603
|
-
*/
|
|
1604
|
-
get DynamicFocus(): DynamicFocus;
|
|
1605
1605
|
/**
|
|
1606
1606
|
* @internal
|
|
1607
1607
|
*/
|
|
@@ -1635,6 +1635,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1635
1635
|
*/
|
|
1636
1636
|
updateState<T extends Space | Text3DView | MapObject | Label | Marker | Shape | Door | Facade | Floor | WALLS | DOORS | Model | Path | PathSegment>(target: T, state: TUpdateState<T>): any;
|
|
1637
1637
|
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
1638
|
+
/**
|
|
1639
|
+
* Animate the state of a given target on the map from the current state to a new state. Only numeric properties and
|
|
1640
|
+
* colors can be animated.
|
|
1641
|
+
*/
|
|
1642
|
+
animateState<T extends Space | Model | Text3DView | MapObject | Label | Marker | Shape | Path | PathSegment | Floor>(target: T, state: DeepPartial<ExtractDeep<TGetState<T>, number | string | undefined>>, options?: {
|
|
1643
|
+
duration?: number;
|
|
1644
|
+
easing?: EasingCurve;
|
|
1645
|
+
}): Promise<void> & {
|
|
1646
|
+
cancel: () => void;
|
|
1647
|
+
};
|
|
1638
1648
|
/**
|
|
1639
1649
|
* Update global state of the MapView
|
|
1640
1650
|
*/
|
|
@@ -1680,12 +1690,27 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1680
1690
|
* Sets the current floor ({@link Floor}) of the map.
|
|
1681
1691
|
* @param floor The floor or floor ID to set.
|
|
1682
1692
|
*/
|
|
1683
|
-
setFloor(floor: Floor | string): void;
|
|
1693
|
+
setFloor(floor: Floor | string, options?: TSetFloorOptions): void;
|
|
1684
1694
|
/**
|
|
1685
1695
|
* Sets the current floor stack ({@link FloorStack}) of the map. The default floor of the stack will be set as the current floor.
|
|
1686
1696
|
* @param floorStack The floor stack or floor stack ID to set.
|
|
1687
1697
|
*/
|
|
1688
|
-
setFloorStack(floorStack: FloorStack | string): void;
|
|
1698
|
+
setFloorStack(floorStack: FloorStack | string, options?: TSetFloorOptions): void;
|
|
1699
|
+
/**
|
|
1700
|
+
* Create a tween object that will be updated on every render frame.
|
|
1701
|
+
* See https://tweenjs.github.io/tween.js/docs/user_guide.html for more information.
|
|
1702
|
+
*
|
|
1703
|
+
* When creating a large number of tween objects, it may be important to call {@link removeTween} to prevent memory leaks.
|
|
1704
|
+
*
|
|
1705
|
+
* @param object The data to be tweened.
|
|
1706
|
+
* @returns The tween object.
|
|
1707
|
+
*/
|
|
1708
|
+
tween<T extends Record<string, unknown>>(object: T): Tween<T>;
|
|
1709
|
+
/**
|
|
1710
|
+
* Remove a tween created with {@link tween}.
|
|
1711
|
+
* @param tween The tween to remove.
|
|
1712
|
+
*/
|
|
1713
|
+
removeTween(tween: Tween<any>): void;
|
|
1689
1714
|
/**
|
|
1690
1715
|
* The current floor stack ({@link FloorStack}) of the map.
|
|
1691
1716
|
*/
|
|
@@ -1701,7 +1726,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1701
1726
|
* @hidden
|
|
1702
1727
|
*/
|
|
1703
1728
|
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
1704
|
-
getState<T extends Space | Model | Text3DView | MapObject | Label | Marker | Image | Shape | Path | PathSegment | Floor | string>(target: T): TGetState<T>;
|
|
1729
|
+
getState<T extends Space | Model | Text3DView | MapObject | Label | Marker | Image | Shape | Path | PathSegment | Floor | Facade | string>(target: T): TGetState<T>;
|
|
1705
1730
|
setHoverColor(c: string): void;
|
|
1706
1731
|
getHoverColor(): string | undefined;
|
|
1707
1732
|
/**
|
|
@@ -1882,6 +1907,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1882
1907
|
* @experimental
|
|
1883
1908
|
*/
|
|
1884
1909
|
takeScreenshot(): Promise<string>;
|
|
1910
|
+
/**
|
|
1911
|
+
* @internal
|
|
1912
|
+
* @hidden
|
|
1913
|
+
* Whether the floor visibility is being self managed or automatically handled by the SDK.
|
|
1914
|
+
*/
|
|
1915
|
+
get manualFloorVisibility(): boolean;
|
|
1916
|
+
/**
|
|
1917
|
+
* @internal
|
|
1918
|
+
* @hidden
|
|
1919
|
+
* Disables the default behavior of the SDK to automatically hide floors on setFloor.
|
|
1920
|
+
*/
|
|
1921
|
+
set manualFloorVisibility(value: boolean);
|
|
1885
1922
|
}
|
|
1886
1923
|
}
|
|
1887
1924
|
|
|
@@ -1890,6 +1927,29 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d' {
|
|
|
1890
1927
|
import type { TAddText3DOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1891
1928
|
import type { CurrentMapGetter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/types';
|
|
1892
1929
|
import { Text3D as Text3DView } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1930
|
+
/**
|
|
1931
|
+
* Disables the Text3D web worker and falls back to processing on the main thread.
|
|
1932
|
+
*
|
|
1933
|
+
* This function should be called when using Text3D features in environments
|
|
1934
|
+
* with strict Content Security Policy (CSP) that blocks web workers from
|
|
1935
|
+
* being created using blob: URLs or unsafe-eval directives.
|
|
1936
|
+
*
|
|
1937
|
+
* While disabling the worker may slightly impact performance for complex text
|
|
1938
|
+
* rendering, it enables Text3D functionality in CSP-restricted environments.
|
|
1939
|
+
*
|
|
1940
|
+
* Ensure calling this before calling preloadFont
|
|
1941
|
+
*
|
|
1942
|
+
* @example
|
|
1943
|
+
* ```typescript
|
|
1944
|
+
* import {disableText3DWorker} from '@mappedin/mappedin-js';
|
|
1945
|
+
* // Disable Text3D worker for CSP compatibility
|
|
1946
|
+
* disableText3DWorker();
|
|
1947
|
+
*
|
|
1948
|
+
* // Then use Text3D features as normal
|
|
1949
|
+
* mapView.Text3D.labelAll();
|
|
1950
|
+
* ```
|
|
1951
|
+
*/
|
|
1952
|
+
export function disableText3DWorker(): void;
|
|
1893
1953
|
export class Text3D {
|
|
1894
1954
|
#private;
|
|
1895
1955
|
/**
|
|
@@ -1993,7 +2053,8 @@ declare module '@mappedin/react-sdk/geojson/src' {
|
|
|
1993
2053
|
export type { EntityId, EntityState, LineStyle, PaintStyle, ModelProperties, Shading, ImagePlacementOptions, } from '@mappedin/react-sdk/geojson/src/types';
|
|
1994
2054
|
export type * from 'geojson';
|
|
1995
2055
|
export type { WatermarkUpdateOptions, WatermarkOptions, WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
|
|
1996
|
-
export { preloadFont } from '@mappedin/react-sdk/geojson/src/systems/text3d/system';
|
|
2056
|
+
export { preloadFont, configureWorker } from '@mappedin/react-sdk/geojson/src/systems/text3d/system';
|
|
2057
|
+
export { setWorkerUrl as setCollisionWorkerUrl } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
|
|
1997
2058
|
export type { GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
1998
2059
|
export type { AttributionControlOptions, AttributionPosition } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
|
|
1999
2060
|
export type { Text3DStyle, ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
@@ -2083,6 +2144,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2083
2144
|
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
2084
2145
|
import type { InsetPaddingOption, UpdatableText3DState, Text3DState, AddText3DOptions, EnvMapOptions, InitializeModelState, ModelState, UpdateModelState as GeoJsonUpdateModelState, ImagePlacementOptions, LabelAppearance } from '@mappedin/react-sdk/geojson/src';
|
|
2085
2146
|
import type { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
2147
|
+
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
2086
2148
|
export type UpdateModelState = Omit<GeoJsonUpdateModelState, 'position' | 'scale'> & {
|
|
2087
2149
|
position?: Coordinate;
|
|
2088
2150
|
scale?: number | [number, number, number];
|
|
@@ -2272,6 +2334,22 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2272
2334
|
* The color of the path.
|
|
2273
2335
|
*/
|
|
2274
2336
|
color: string;
|
|
2337
|
+
/**
|
|
2338
|
+
* The complete fraction of the path.
|
|
2339
|
+
*/
|
|
2340
|
+
completeFraction: number;
|
|
2341
|
+
/**
|
|
2342
|
+
* The near radius of the path.
|
|
2343
|
+
*/
|
|
2344
|
+
nearRadius: number;
|
|
2345
|
+
/**
|
|
2346
|
+
* The far radius of the path.
|
|
2347
|
+
*/
|
|
2348
|
+
farRadius: number;
|
|
2349
|
+
/**
|
|
2350
|
+
* Whether the path is visible.
|
|
2351
|
+
*/
|
|
2352
|
+
visible: boolean;
|
|
2275
2353
|
};
|
|
2276
2354
|
/**
|
|
2277
2355
|
* Represents the state of a shape.
|
|
@@ -2309,6 +2387,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2309
2387
|
* The opacity of the facade.
|
|
2310
2388
|
*/
|
|
2311
2389
|
opacity: number;
|
|
2390
|
+
/**
|
|
2391
|
+
* Whether the facade is visible.
|
|
2392
|
+
*/
|
|
2393
|
+
visible: boolean;
|
|
2312
2394
|
};
|
|
2313
2395
|
/**
|
|
2314
2396
|
* Defines the state for geometry elements like {@link Space} when updated.
|
|
@@ -2367,7 +2449,68 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2367
2449
|
* Opacity of the floor geometry.
|
|
2368
2450
|
*/
|
|
2369
2451
|
opacity: number;
|
|
2452
|
+
/**
|
|
2453
|
+
* Visibility of floor geometry.
|
|
2454
|
+
*/
|
|
2455
|
+
visible: boolean;
|
|
2456
|
+
};
|
|
2457
|
+
labels: {
|
|
2458
|
+
/**
|
|
2459
|
+
* Whether the labels are enabled to be shown when the floor is visible.
|
|
2460
|
+
*/
|
|
2461
|
+
enabled: boolean;
|
|
2462
|
+
};
|
|
2463
|
+
markers: {
|
|
2464
|
+
/**
|
|
2465
|
+
* Whether the markers are enabled to be shown when the floor is visible.
|
|
2466
|
+
*/
|
|
2467
|
+
enabled: boolean;
|
|
2468
|
+
};
|
|
2469
|
+
footprint: {
|
|
2470
|
+
/**
|
|
2471
|
+
* Altitude of the footprint relative to the floor.
|
|
2472
|
+
*/
|
|
2473
|
+
altitude: number;
|
|
2474
|
+
/**
|
|
2475
|
+
* Whether the footprint is visible.
|
|
2476
|
+
*/
|
|
2477
|
+
visible: boolean;
|
|
2478
|
+
/**
|
|
2479
|
+
* Height of the footprint relative to altitude.
|
|
2480
|
+
*/
|
|
2481
|
+
height: number;
|
|
2482
|
+
/**
|
|
2483
|
+
* Opacity of the footprint.
|
|
2484
|
+
*/
|
|
2485
|
+
opacity: number;
|
|
2486
|
+
/**
|
|
2487
|
+
* Material side of the footprint.
|
|
2488
|
+
* @internal
|
|
2489
|
+
*/
|
|
2490
|
+
side: 'double' | 'front' | 'back';
|
|
2491
|
+
/**
|
|
2492
|
+
* Color of the footprint.
|
|
2493
|
+
*/
|
|
2494
|
+
color: string;
|
|
2495
|
+
};
|
|
2496
|
+
/**
|
|
2497
|
+
* @internal
|
|
2498
|
+
*/
|
|
2499
|
+
occlusion: {
|
|
2500
|
+
/**
|
|
2501
|
+
* @internal
|
|
2502
|
+
* Whether this floor should occlude labels and markers on other floors
|
|
2503
|
+
*/
|
|
2504
|
+
enabled: boolean;
|
|
2370
2505
|
};
|
|
2506
|
+
/**
|
|
2507
|
+
* The visibility of the floor, including the geometry, labels, and markers.
|
|
2508
|
+
*/
|
|
2509
|
+
visible: boolean;
|
|
2510
|
+
/**
|
|
2511
|
+
* The altitude of the floor.
|
|
2512
|
+
*/
|
|
2513
|
+
altitude: number;
|
|
2371
2514
|
};
|
|
2372
2515
|
export enum WALLS {
|
|
2373
2516
|
Exterior = "exterior-walls",
|
|
@@ -2380,7 +2523,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2380
2523
|
/**
|
|
2381
2524
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
2382
2525
|
*/
|
|
2383
|
-
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS | Door ? Partial<TDoorsState> : T extends Model ? Partial<UpdateModelState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Floor ?
|
|
2526
|
+
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS | Door ? Partial<TDoorsState> : T extends Model ? Partial<UpdateModelState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject ? Partial<TGeometryState> : T extends Floor ? DeepPartial<TFloorState> : T extends Facade ? Partial<TFacadeState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Text3D ? UpdatableText3DState : T extends Path ? Partial<TPathState> : T extends PathSegment ? Partial<TPathState> : T extends string ? Record<string, any> : never;
|
|
2384
2527
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState> | Partial<TPathState>;
|
|
2385
2528
|
export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Text3D ? Text3DState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends Floor ? TFloorState | undefined : T extends Facade ? TFacadeState | undefined : T extends Path ? TPathState | undefined : T extends PathSegment ? TPathState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | TPathState | undefined : never;
|
|
2386
2529
|
/**
|
|
@@ -2848,6 +2991,28 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2848
2991
|
* sorting of markers and show certain markers always in front
|
|
2849
2992
|
*/
|
|
2850
2993
|
zIndex?: number;
|
|
2994
|
+
/**
|
|
2995
|
+
* Configuration for the low priority pin fallback strategy.
|
|
2996
|
+
* When enabled, shows a smaller pin version of the marker when all anchor positions have collisions.
|
|
2997
|
+
* @default { enabled: true, size: 2, color: '#666' }
|
|
2998
|
+
*/
|
|
2999
|
+
lowPriorityPin?: {
|
|
3000
|
+
/**
|
|
3001
|
+
* Whether to enable low priority pin strategy when all anchor positions have collisions.
|
|
3002
|
+
* @default true
|
|
3003
|
+
*/
|
|
3004
|
+
enabled?: boolean;
|
|
3005
|
+
/**
|
|
3006
|
+
* Size of the low priority pin in pixels.
|
|
3007
|
+
* @default 2
|
|
3008
|
+
*/
|
|
3009
|
+
size?: number;
|
|
3010
|
+
/**
|
|
3011
|
+
* Color of the low priority pin.
|
|
3012
|
+
* @default '#666'
|
|
3013
|
+
*/
|
|
3014
|
+
color?: string;
|
|
3015
|
+
};
|
|
2851
3016
|
};
|
|
2852
3017
|
/**
|
|
2853
3018
|
* Options for creating a new {@link Label} with {@link Labels.add}.
|
|
@@ -3064,6 +3229,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
3064
3229
|
*/
|
|
3065
3230
|
bearingAndPitch?: boolean;
|
|
3066
3231
|
};
|
|
3232
|
+
export type TSetFloorOptions = {
|
|
3233
|
+
/**
|
|
3234
|
+
* Optionally provide the context for the floor change which will be published as the `reason` for the `floor-change` event.
|
|
3235
|
+
*/
|
|
3236
|
+
context?: TFloorChangeReason;
|
|
3237
|
+
};
|
|
3067
3238
|
}
|
|
3068
3239
|
|
|
3069
3240
|
declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
|
|
@@ -3454,7 +3625,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects' {
|
|
|
3454
3625
|
}
|
|
3455
3626
|
|
|
3456
3627
|
declare module '@mappedin/react-sdk/mappedin-js/src/debug' {
|
|
3457
|
-
import type { RendererCore } from '@mappedin/
|
|
3628
|
+
import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
3458
3629
|
export class Debug {
|
|
3459
3630
|
state: RendererCore['Debug']['state'];
|
|
3460
3631
|
constructor(core: RendererCore);
|
|
@@ -3557,6 +3728,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
|
|
|
3557
3728
|
*/
|
|
3558
3729
|
animateArrowsOnPath?: boolean;
|
|
3559
3730
|
};
|
|
3731
|
+
/**
|
|
3732
|
+
* Controls whether the path drawing is animated across floors.
|
|
3733
|
+
* @default true
|
|
3734
|
+
*/
|
|
3735
|
+
animatePathDrawing?: boolean;
|
|
3560
3736
|
/**
|
|
3561
3737
|
* Options for the path.
|
|
3562
3738
|
*/
|
|
@@ -3717,6 +3893,141 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
|
|
|
3717
3893
|
export {};
|
|
3718
3894
|
}
|
|
3719
3895
|
|
|
3896
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
3897
|
+
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/core-sdk';
|
|
3898
|
+
import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
3899
|
+
import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
3900
|
+
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
3901
|
+
import type { FloorStack, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3902
|
+
import { Facade, Coordinate, MapObject, Space, Floor, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3903
|
+
import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
3904
|
+
import { Label, Marker, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
3905
|
+
import { Text3D as Text3DView, Model, Path, type Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
3906
|
+
import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
3907
|
+
import type { TGetState, TUpdateState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
3908
|
+
import { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera';
|
|
3909
|
+
import { Exporter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter';
|
|
3910
|
+
import { Labels } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels';
|
|
3911
|
+
import { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
3912
|
+
import { Markers } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers';
|
|
3913
|
+
import { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
|
|
3914
|
+
import { Models } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/models';
|
|
3915
|
+
import { Paths } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths';
|
|
3916
|
+
import { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
3917
|
+
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
3918
|
+
import { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
3919
|
+
import { Style } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/style';
|
|
3920
|
+
import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
|
|
3921
|
+
import { type BBox } from 'geojson';
|
|
3922
|
+
import { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
3923
|
+
import { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
3924
|
+
import { Tween } from '@tweenjs/tween.js';
|
|
3925
|
+
export class GeoJsonApi {
|
|
3926
|
+
core: RendererCore;
|
|
3927
|
+
mapObjects: GeojsonApiMapObject[];
|
|
3928
|
+
id: string;
|
|
3929
|
+
mapDataExternal: {
|
|
3930
|
+
[key in string]: MapData;
|
|
3931
|
+
};
|
|
3932
|
+
mapData?: MapData;
|
|
3933
|
+
currentMap: GeojsonApiMapObject;
|
|
3934
|
+
hiddenOutdoorGeometries: [
|
|
3935
|
+
BBox,
|
|
3936
|
+
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
3937
|
+
layers: string[]
|
|
3938
|
+
][];
|
|
3939
|
+
manualFloorVisibility: boolean;
|
|
3940
|
+
mapView: MapView;
|
|
3941
|
+
Camera: Camera;
|
|
3942
|
+
Labels: Labels;
|
|
3943
|
+
Text3D: Text3D;
|
|
3944
|
+
Markers: Markers;
|
|
3945
|
+
Models: Models;
|
|
3946
|
+
Paths: Paths;
|
|
3947
|
+
Exporter: Exporter;
|
|
3948
|
+
Navigation: Navigation;
|
|
3949
|
+
Outdoor: Outdoor;
|
|
3950
|
+
BlueDot: BlueDot;
|
|
3951
|
+
Shapes: Shapes;
|
|
3952
|
+
Style: Style;
|
|
3953
|
+
Images: Images;
|
|
3954
|
+
get StackedMaps(): import("..").StackedMaps;
|
|
3955
|
+
constructor(rendererCore: RendererCore, mapView: MapView);
|
|
3956
|
+
updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Model | Door | Facade | Floor | WALLS | DOORS | Path | PathSegment | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
3957
|
+
update: () => void;
|
|
3958
|
+
getMapDataInternal(): MapDataInternal | undefined;
|
|
3959
|
+
getMapData(): MapData | undefined;
|
|
3960
|
+
addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
|
|
3961
|
+
setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
|
|
3962
|
+
setFloorStack(floorStack: FloorStack | string, reason?: TFloorChangeReason): void;
|
|
3963
|
+
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
3964
|
+
get currentFloorStack(): FloorStack;
|
|
3965
|
+
get currentFloor(): Floor;
|
|
3966
|
+
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | Model | Path | PathSegment | Floor | Facade | string>(target: T): TGetState<T>;
|
|
3967
|
+
setHoverColor(c: string): void;
|
|
3968
|
+
getHoverColor(): string | undefined;
|
|
3969
|
+
/**
|
|
3970
|
+
* Create a coordinate from a screen coordinate
|
|
3971
|
+
* @param x - The x coordinate of the screen
|
|
3972
|
+
* @param y - The y coordinate of the screen
|
|
3973
|
+
* @param floor - The floor to use for the coordinate
|
|
3974
|
+
* @returns The coordinate
|
|
3975
|
+
*/
|
|
3976
|
+
createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
|
|
3977
|
+
getScreenCoordinateFromCoordinate(coordinate: Coordinate): {
|
|
3978
|
+
x: number;
|
|
3979
|
+
y: number;
|
|
3980
|
+
};
|
|
3981
|
+
isInView(target: Space | MapObject | Label | Marker | string): boolean;
|
|
3982
|
+
auto(): {
|
|
3983
|
+
labels: Label[];
|
|
3984
|
+
};
|
|
3985
|
+
tween<T extends Record<string, unknown>>(object: T): Tween<T>;
|
|
3986
|
+
removeTween(tween: Tween<any>): void;
|
|
3987
|
+
/**
|
|
3988
|
+
* @internal
|
|
3989
|
+
*/
|
|
3990
|
+
get __core(): RendererCore;
|
|
3991
|
+
clear(): void;
|
|
3992
|
+
destroy(): void;
|
|
3993
|
+
}
|
|
3994
|
+
/**
|
|
3995
|
+
* Sets the base URL directory where worker scripts are hosted for CSP compatibility.
|
|
3996
|
+
*
|
|
3997
|
+
* This function configures both the MapLibre and collision system workers to load from
|
|
3998
|
+
* external URLs instead of using inline blob URLs. The SDK expects two specific worker
|
|
3999
|
+
* files to be available in the provided directory:
|
|
4000
|
+
* - `maplibre-worker.csp.js` - For MapLibre map rendering
|
|
4001
|
+
* - `collision-worker.csp.js` - For the collision detection system
|
|
4002
|
+
*
|
|
4003
|
+
* Using this approach enables compatibility with strict Content Security Policies
|
|
4004
|
+
* that block unsafe-eval and blob: URLs.
|
|
4005
|
+
*
|
|
4006
|
+
* @param baseUrl - Base URL directory where worker scripts are hosted (without trailing slash)
|
|
4007
|
+
* Example: "https://cdn.example.com/workers"
|
|
4008
|
+
*
|
|
4009
|
+
* @example
|
|
4010
|
+
* ```typescript
|
|
4011
|
+
* import { setWorkersUrl } from '@mappedin/mappedin-js';
|
|
4012
|
+
*
|
|
4013
|
+
* // Call before initializing any maps
|
|
4014
|
+
* setWorkersUrl('https://cdn.example.com/workers');
|
|
4015
|
+
* // This will load:
|
|
4016
|
+
* // - https://cdn.example.com/workers/maplibre-worker.csp.js
|
|
4017
|
+
* // - https://cdn.example.com/workers/collision-worker.csp.js
|
|
4018
|
+
* ```
|
|
4019
|
+
*
|
|
4020
|
+
* @remarks
|
|
4021
|
+
* - The worker files can be found in the published package at:
|
|
4022
|
+
* `node_modules/@mappedin/mappedin-js/lib/esm/workers/`
|
|
4023
|
+
* - For deployment, copy these files to your web server or CDN
|
|
4024
|
+
* - A better approach is to add these files to your build process to ensure
|
|
4025
|
+
* they're always in sync with your application
|
|
4026
|
+
* - Call this function before creating any map instances
|
|
4027
|
+
*/
|
|
4028
|
+
export function setWorkersUrl(baseUrl: string): void;
|
|
4029
|
+
}
|
|
4030
|
+
|
|
3720
4031
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson' {
|
|
3721
4032
|
export { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
3722
4033
|
export { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot';
|
|
@@ -3733,7 +4044,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson' {
|
|
|
3733
4044
|
export { default as Outdoor } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
|
|
3734
4045
|
export { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
|
|
3735
4046
|
export { StackedMaps } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
3736
|
-
export { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus';
|
|
3737
4047
|
}
|
|
3738
4048
|
|
|
3739
4049
|
declare module '@mappedin/react-sdk/mappedin-js/src/search' {
|
|
@@ -3985,33 +4295,819 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot' {
|
|
|
3985
4295
|
export type { TBlueDotEvents, GeolocationPositionExtended, TFollowCameraOptions, TFollowMode } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
3986
4296
|
}
|
|
3987
4297
|
|
|
3988
|
-
declare module '@mappedin/react-sdk/
|
|
3989
|
-
import type { NodeCollection } from '@mappedin/mvf';
|
|
3990
|
-
import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
|
|
3991
|
-
import type { EnterpriseLocation, MapDataInternal, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3992
|
-
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
3993
|
-
import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
|
|
3994
|
-
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
3995
|
-
import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
4298
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/api-types' {
|
|
3996
4299
|
/**
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4300
|
+
* This file contains the API types for MappedinSDK - before they get turned into Classes
|
|
4301
|
+
*/
|
|
4302
|
+
export type TLocationType = 'amenities' | 'tenant';
|
|
4303
|
+
export type TNode = {
|
|
4304
|
+
id: string;
|
|
4305
|
+
x: number;
|
|
4306
|
+
y: number;
|
|
4307
|
+
map: string;
|
|
4308
|
+
externalId?: string;
|
|
4309
|
+
paths: {
|
|
4310
|
+
node: string;
|
|
4311
|
+
map: string;
|
|
4312
|
+
weight?: number;
|
|
4313
|
+
}[];
|
|
4314
|
+
[propName: string]: any;
|
|
4315
|
+
};
|
|
4316
|
+
export type TImage = {
|
|
4317
|
+
original?: string;
|
|
4318
|
+
large?: string;
|
|
4319
|
+
'140x140'?: string;
|
|
4320
|
+
xxlarge?: string;
|
|
4321
|
+
xsmall?: string;
|
|
4322
|
+
'66x66'?: string;
|
|
4323
|
+
xlarge?: string;
|
|
4324
|
+
medium?: string;
|
|
4325
|
+
xxsmall?: string;
|
|
4326
|
+
small?: string;
|
|
4327
|
+
};
|
|
4328
|
+
export type TLogo = TImage;
|
|
4329
|
+
export type TGalleryImage = {
|
|
4330
|
+
image: TImage;
|
|
4331
|
+
caption?: string;
|
|
4332
|
+
};
|
|
4333
|
+
export type TPhone = {
|
|
4334
|
+
number?: string;
|
|
4335
|
+
};
|
|
4336
|
+
export type TSocial = {
|
|
4337
|
+
website?: string;
|
|
4338
|
+
twitter?: string;
|
|
4339
|
+
facebook?: string;
|
|
4340
|
+
instagram?: string;
|
|
4341
|
+
};
|
|
4342
|
+
export type TColor = {
|
|
4343
|
+
hex: string;
|
|
4344
|
+
opacity: number;
|
|
4345
|
+
rgba: string;
|
|
4346
|
+
};
|
|
4347
|
+
export type TVortex = {
|
|
4348
|
+
id: string;
|
|
4349
|
+
name: string;
|
|
4350
|
+
type: string;
|
|
4351
|
+
weight: number;
|
|
4352
|
+
multiplier: number;
|
|
4353
|
+
[propName: string]: any;
|
|
4354
|
+
};
|
|
4355
|
+
export type TPicture = {
|
|
4356
|
+
original?: string;
|
|
4357
|
+
};
|
|
4358
|
+
export type TOpeningHours = {
|
|
4359
|
+
'@type': string;
|
|
4360
|
+
opens: string;
|
|
4361
|
+
closes: string;
|
|
4362
|
+
dayOfWeek: string[];
|
|
4363
|
+
validFrom?: string;
|
|
4364
|
+
validThrough?: string;
|
|
4365
|
+
};
|
|
4366
|
+
export type TSiblingGroup = {
|
|
4367
|
+
label: string;
|
|
4368
|
+
siblings: string[];
|
|
4369
|
+
};
|
|
4370
|
+
export type TState = {
|
|
4371
|
+
type: string;
|
|
4372
|
+
start?: string;
|
|
4373
|
+
end?: string;
|
|
4374
|
+
};
|
|
4375
|
+
export type TCategory = {
|
|
4376
|
+
name?: string;
|
|
4377
|
+
externalId?: string;
|
|
4378
|
+
parents?: string[];
|
|
4379
|
+
id?: string;
|
|
4380
|
+
icon?: TPicture;
|
|
4381
|
+
};
|
|
4382
|
+
export type TEvent = {
|
|
4383
|
+
id: string;
|
|
4384
|
+
type: string;
|
|
4385
|
+
name: string;
|
|
4386
|
+
location?: string;
|
|
4387
|
+
description?: string;
|
|
4388
|
+
image?: TImage;
|
|
4389
|
+
startDate?: number;
|
|
4390
|
+
endDate?: number;
|
|
4391
|
+
showDate?: number;
|
|
4392
|
+
};
|
|
4393
|
+
export interface TGeoReference {
|
|
4394
|
+
target: {
|
|
4395
|
+
x: number;
|
|
4396
|
+
y: number;
|
|
4397
|
+
};
|
|
4398
|
+
control: {
|
|
4399
|
+
x: number;
|
|
4400
|
+
y: number;
|
|
4401
|
+
};
|
|
4402
|
+
}
|
|
4403
|
+
export interface TMap {
|
|
4404
|
+
id: string;
|
|
4405
|
+
name: string;
|
|
4406
|
+
shortName: string;
|
|
4407
|
+
elevation?: number;
|
|
4408
|
+
scale?: number;
|
|
4409
|
+
x_scale?: number;
|
|
4410
|
+
georeference?: TGeoReference[];
|
|
4411
|
+
[propName: string]: any;
|
|
4412
|
+
}
|
|
4413
|
+
export type TMapGroup = {
|
|
4414
|
+
name: string;
|
|
4415
|
+
id: string;
|
|
4416
|
+
};
|
|
4417
|
+
export type TBuilding = TLocation & {
|
|
4418
|
+
groupId: string;
|
|
4419
|
+
};
|
|
4420
|
+
export type TLocation = {
|
|
4421
|
+
id: string;
|
|
4422
|
+
name: string;
|
|
4423
|
+
type: string;
|
|
4424
|
+
nodes: {
|
|
4425
|
+
map: TMap['id'];
|
|
4426
|
+
node: TNode['id'];
|
|
4427
|
+
}[];
|
|
4428
|
+
polygons: {
|
|
4429
|
+
map: TMap['id'];
|
|
4430
|
+
id: TPolygon['id'];
|
|
4431
|
+
}[];
|
|
4432
|
+
categories: string[];
|
|
4433
|
+
description?: string;
|
|
4434
|
+
sortOrder?: number;
|
|
4435
|
+
logo?: TLogo;
|
|
4436
|
+
phone?: TPhone;
|
|
4437
|
+
social?: TSocial;
|
|
4438
|
+
color?: TColor;
|
|
4439
|
+
shortName?: string;
|
|
4440
|
+
detailsUrl?: string;
|
|
4441
|
+
parent?: string | null;
|
|
4442
|
+
tags?: string[];
|
|
4443
|
+
externalId?: string;
|
|
4444
|
+
picture?: TPicture;
|
|
4445
|
+
states?: TState[];
|
|
4446
|
+
operationHours?: TOpeningHours[] | undefined;
|
|
4447
|
+
siblingGroups?: TSiblingGroup[] | undefined;
|
|
4448
|
+
gallery?: TGalleryImage[] | undefined;
|
|
4449
|
+
[propName: string]: any;
|
|
4450
|
+
};
|
|
4451
|
+
export type TPolygon = {
|
|
4452
|
+
id: string;
|
|
4453
|
+
map: string;
|
|
4454
|
+
layer?: string;
|
|
4455
|
+
layerId?: string;
|
|
4456
|
+
externalId?: string;
|
|
4457
|
+
name?: string;
|
|
4458
|
+
entrances: {
|
|
4459
|
+
map: TMap['id'];
|
|
4460
|
+
id: TNode['id'];
|
|
4461
|
+
}[];
|
|
4462
|
+
};
|
|
4463
|
+
export type TPolygonRanking = {
|
|
4464
|
+
polygonId: string;
|
|
4465
|
+
entranceNodeId: string;
|
|
4466
|
+
score: number;
|
|
4467
|
+
};
|
|
4468
|
+
export type TLocationState = {
|
|
4469
|
+
id: string;
|
|
4470
|
+
name: string;
|
|
4471
|
+
value: string;
|
|
4472
|
+
};
|
|
4473
|
+
export type TVenue = {
|
|
4474
|
+
address?: string;
|
|
4475
|
+
city?: string;
|
|
4476
|
+
countrycode?: string;
|
|
4477
|
+
defaultMap?: string;
|
|
4478
|
+
externalId?: string;
|
|
4479
|
+
id?: string;
|
|
4480
|
+
latitude?: number;
|
|
4481
|
+
logo?: TLogo;
|
|
4482
|
+
longitude?: number;
|
|
4483
|
+
metadata?: any;
|
|
4484
|
+
name?: string;
|
|
4485
|
+
operationHours?: TOpeningHours[];
|
|
4486
|
+
postal?: string;
|
|
4487
|
+
slug?: string;
|
|
4488
|
+
state?: string;
|
|
4489
|
+
telephone?: string;
|
|
4490
|
+
tzid?: string;
|
|
4491
|
+
tzidOverride?: string;
|
|
4492
|
+
utcOffset?: string;
|
|
4493
|
+
website?: string;
|
|
4494
|
+
};
|
|
4495
|
+
export type TMappedinAPI = {
|
|
4496
|
+
nodes: TNode[];
|
|
4497
|
+
locations: TLocation[];
|
|
4498
|
+
categories: TCategory[];
|
|
4499
|
+
mapGroups: TMapGroup[];
|
|
4500
|
+
polygons: TPolygon[];
|
|
4501
|
+
maps: TMap[];
|
|
4502
|
+
themes: any;
|
|
4503
|
+
venue: TVenue;
|
|
4504
|
+
vortexes: TVortex[];
|
|
4505
|
+
locationStates?: TLocationState[];
|
|
4506
|
+
imageBinaries?: Map<string, Uint8Array>;
|
|
4507
|
+
};
|
|
4508
|
+
}
|
|
4509
|
+
|
|
4510
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/mvf-types' {
|
|
4511
|
+
import type { MapId, Style, Feature, LineString, ObstructionProperties, EntranceProperties, SpaceProperties, ObstructionCollection, EntranceCollection, SpaceCollection, FloorImageProperties, BaseTextAreaProperties, EnterpriseTexture } from '@mappedin/mvf';
|
|
4512
|
+
import type { FeatureCollection, MultiPolygon, Point, Polygon } from 'geojson';
|
|
4513
|
+
import type { TImage, TMap, TNode, TOpeningHours, TPhone, TSiblingGroup, TSocial } from '@mappedin/react-sdk/packages/mvf-utils/api-types';
|
|
4514
|
+
export type WithIDs<T> = Map<string, T>;
|
|
4515
|
+
type ManifestFile = {
|
|
4516
|
+
type: 'file';
|
|
4517
|
+
name: string;
|
|
4518
|
+
};
|
|
4519
|
+
type ManifestFolder = {
|
|
4520
|
+
type: 'folder';
|
|
4521
|
+
name: string;
|
|
4522
|
+
children: ManifestFile[];
|
|
4523
|
+
};
|
|
4524
|
+
export type MVFStyle = Style & {
|
|
4525
|
+
type: string;
|
|
4526
|
+
width?: number;
|
|
4527
|
+
};
|
|
4528
|
+
export type MVFObstructionFeature = ObstructionCollection['features'][number];
|
|
4529
|
+
export type MVFEntranceFeature = EntranceCollection['features'][number];
|
|
4530
|
+
export type MVFSpaceFeature = SpaceCollection['features'][number];
|
|
4531
|
+
export type WithPolygonImage<T extends SpaceProperties | ObstructionProperties> = T & {
|
|
4532
|
+
image?: FloorImageProperties;
|
|
4533
|
+
};
|
|
4534
|
+
export type WithTextArea<T extends SpaceProperties | ObstructionProperties> = T & {
|
|
4535
|
+
textArea?: BaseTextAreaProperties;
|
|
4536
|
+
};
|
|
4537
|
+
export type WithEntepriseStyle<T extends SpaceProperties | ObstructionProperties> = T & {
|
|
4538
|
+
style?: {
|
|
4539
|
+
styleId: string;
|
|
4540
|
+
edgeOffset?: number;
|
|
4541
|
+
};
|
|
4542
|
+
};
|
|
4543
|
+
export type WithTextures<T extends SpaceProperties | ObstructionProperties> = T & {
|
|
4544
|
+
textures?: EnterpriseTexture[];
|
|
4545
|
+
};
|
|
4546
|
+
export type PolygonFeatureProperties<T extends SpaceProperties | ObstructionProperties> = WithEntepriseStyle<T> | WithPolygonImage<T> | WithTextures<T>;
|
|
4547
|
+
export type MVFv1PolygonLikeProperties = {
|
|
4548
|
+
id: string;
|
|
4549
|
+
altitude?: number;
|
|
4550
|
+
color?: string;
|
|
4551
|
+
externalId?: string | null;
|
|
4552
|
+
height?: number;
|
|
4553
|
+
opacity?: number;
|
|
4554
|
+
layer?: string;
|
|
4555
|
+
level: string;
|
|
4556
|
+
parent?: string | null;
|
|
4557
|
+
};
|
|
4558
|
+
export type MVFv1SpaceProperties = MVFv1PolygonLikeProperties & {
|
|
4559
|
+
entrances: {
|
|
4560
|
+
level: TMap['id'];
|
|
4561
|
+
id: TNode['id'];
|
|
4562
|
+
}[];
|
|
4563
|
+
};
|
|
4564
|
+
export type MVFv1ObstructionProperties = MVFv1PolygonLikeProperties;
|
|
4565
|
+
export type MVFv1ConnectionProperties = {
|
|
4566
|
+
id: string;
|
|
4567
|
+
/**
|
|
4568
|
+
* Indicates that a connection is accessible
|
|
4569
|
+
*/
|
|
4570
|
+
accessible: boolean;
|
|
4571
|
+
/**
|
|
4572
|
+
* Array of node ids that this Connection connects with.
|
|
4573
|
+
*/
|
|
4574
|
+
destinations: string[];
|
|
4575
|
+
level: string;
|
|
4576
|
+
multiplier: number;
|
|
4577
|
+
name: string;
|
|
4578
|
+
/**
|
|
4579
|
+
* Type of the connection such as `escalator` or `elevator`
|
|
4580
|
+
*/
|
|
4581
|
+
type: string;
|
|
4582
|
+
weight: number;
|
|
4583
|
+
};
|
|
4584
|
+
export type MVFv1NodeProperties = {
|
|
4585
|
+
id: string;
|
|
4586
|
+
/**
|
|
4587
|
+
* Indicates that a node is accessible
|
|
4588
|
+
*/
|
|
4589
|
+
accessible: boolean;
|
|
4590
|
+
/**
|
|
4591
|
+
* External id of a node is used to sync and connect to external systems to Mappedin data
|
|
4592
|
+
*/
|
|
4593
|
+
externalId: string | null;
|
|
4594
|
+
level: string;
|
|
4595
|
+
multiplier: number;
|
|
4596
|
+
neighbors: string[];
|
|
4597
|
+
weight: number;
|
|
4598
|
+
};
|
|
4599
|
+
export type MVFv1LevelProperties = {
|
|
4600
|
+
id: string;
|
|
4601
|
+
abbreviation?: string;
|
|
4602
|
+
building?: string;
|
|
4603
|
+
elevation?: number;
|
|
4604
|
+
name: string;
|
|
4605
|
+
};
|
|
4606
|
+
export type MVFv1ManifestProperties = {
|
|
4607
|
+
/**
|
|
4608
|
+
* Name of the venue
|
|
4609
|
+
*/
|
|
4610
|
+
name: string;
|
|
4611
|
+
folder_struct: (ManifestFolder | ManifestFile)[];
|
|
4612
|
+
/**
|
|
4613
|
+
* Mappedin Venue Format version number of the MVF bundle
|
|
4614
|
+
*/
|
|
4615
|
+
version: string;
|
|
4616
|
+
/**
|
|
4617
|
+
* Timestamp when the MVF bundle was generated. E.g. `2022-02-25T16:26:09.908Z`
|
|
4618
|
+
*/
|
|
4619
|
+
time: string;
|
|
4620
|
+
};
|
|
4621
|
+
export type MVFv1BuildingProperties = {
|
|
4622
|
+
id: string;
|
|
4623
|
+
name: string;
|
|
4624
|
+
venue: string;
|
|
4625
|
+
};
|
|
4626
|
+
export type MVFv1CategoryProperties = {
|
|
4627
|
+
id: string;
|
|
4628
|
+
name: string;
|
|
4629
|
+
picture?: TImage;
|
|
4630
|
+
};
|
|
4631
|
+
export type MVFv1LocationProperties = {
|
|
4632
|
+
id: string;
|
|
4633
|
+
address?: string | null;
|
|
4634
|
+
/**
|
|
4635
|
+
* Array of {@link MICategoryProperties | category} ids
|
|
4636
|
+
*/
|
|
4637
|
+
categories: string[];
|
|
4638
|
+
/**
|
|
4639
|
+
* A text description of the location usually indicating what the location is used for
|
|
4640
|
+
*/
|
|
4641
|
+
description?: string | null;
|
|
4642
|
+
/**
|
|
4643
|
+
* Email address to for contacting this location
|
|
4644
|
+
*/
|
|
4645
|
+
email?: string | null;
|
|
4646
|
+
/**
|
|
4647
|
+
* External id used to connect Mappedin Location to an external system
|
|
4648
|
+
*/
|
|
4649
|
+
externalId?: string | null;
|
|
4650
|
+
/**
|
|
4651
|
+
* Opening hours of the location
|
|
4652
|
+
*/
|
|
4653
|
+
hours?: TOpeningHours[] | null;
|
|
4654
|
+
/**
|
|
4655
|
+
* Collection of links related to this location
|
|
4656
|
+
*/
|
|
4657
|
+
links?: {
|
|
4658
|
+
label: string;
|
|
4659
|
+
url: string;
|
|
4660
|
+
}[] | null;
|
|
4661
|
+
logo?: TImage | null;
|
|
4662
|
+
/**
|
|
4663
|
+
* Name of the location. By default this is the string displayed in the location label
|
|
4664
|
+
*/
|
|
4665
|
+
name: string;
|
|
4666
|
+
/**
|
|
4667
|
+
* Phone number for contacting this location
|
|
4668
|
+
*/
|
|
4669
|
+
phone?: TPhone | null;
|
|
4670
|
+
picture?: TImage | null;
|
|
4671
|
+
services?: string | null;
|
|
4672
|
+
siblingGroups?: TSiblingGroup[] | null;
|
|
4673
|
+
/**
|
|
4674
|
+
* Social media links of the location
|
|
4675
|
+
*/
|
|
4676
|
+
social?: TSocial | null;
|
|
4677
|
+
/**
|
|
4678
|
+
* Array of {@link MISpaceProperties | MVF Space} ids for this location
|
|
4679
|
+
*/
|
|
4680
|
+
spaces?: {
|
|
4681
|
+
id: string;
|
|
4682
|
+
map: string;
|
|
4683
|
+
}[] | null;
|
|
4684
|
+
states?: {
|
|
4685
|
+
type: string;
|
|
4686
|
+
start?: string;
|
|
4687
|
+
end?: string;
|
|
4688
|
+
}[] | null;
|
|
4689
|
+
type: string;
|
|
4690
|
+
};
|
|
4691
|
+
export type MVFv1ObstructionCollection = FeatureCollection<Polygon, MVFv1ObstructionProperties>;
|
|
4692
|
+
export type MVFv1SpaceCollection = FeatureCollection<Polygon, MVFv1SpaceProperties>;
|
|
4693
|
+
export type MVFv1ConnectionCollection = FeatureCollection<Point, MVFv1ConnectionProperties>;
|
|
4694
|
+
export type MVFv1NodeCollection = FeatureCollection<Point, MVFv1NodeProperties>;
|
|
4695
|
+
export type MVFv1LevelCollection = FeatureCollection<Polygon | MultiPolygon, MVFv1LevelProperties>;
|
|
4696
|
+
export type MVFv1ManifestCollection = FeatureCollection<Point, MVFv1ManifestProperties>;
|
|
4697
|
+
export type MVFv1BuildingCollection = FeatureCollection<Polygon, MVFv1BuildingProperties>;
|
|
4698
|
+
export type MVFv1CategoryCollection = FeatureCollection<null, MVFv1CategoryProperties>;
|
|
4699
|
+
export type MVFv1LocationCollection = FeatureCollection<null, MVFv1LocationProperties>;
|
|
4700
|
+
export type ParsedMVFv1 = {
|
|
4701
|
+
/**
|
|
4702
|
+
* @propertyNames { "pattern": "^m_[0-9a-z]{16}$" }
|
|
4703
|
+
*/
|
|
4704
|
+
space: {
|
|
4705
|
+
[mapId: MapId]: MVFv1SpaceCollection | undefined;
|
|
4706
|
+
};
|
|
4707
|
+
/**
|
|
4708
|
+
* @propertyNames { "pattern": "^m_[0-9a-z]{16}$" }
|
|
4709
|
+
*/
|
|
4710
|
+
obstruction: {
|
|
4711
|
+
[mapId: MapId]: MVFv1ObstructionCollection | undefined;
|
|
4712
|
+
};
|
|
4713
|
+
/**
|
|
4714
|
+
* @propertyNames { "pattern": "^m_[0-9a-z]{16}$" }
|
|
4715
|
+
*/
|
|
4716
|
+
level: {
|
|
4717
|
+
[mapId: MapId]: MVFv1LevelCollection | undefined;
|
|
4718
|
+
};
|
|
4719
|
+
/**
|
|
4720
|
+
* @propertyNames { "pattern": "^m_[0-9a-z]{16}$" }
|
|
4721
|
+
*/
|
|
4722
|
+
node: {
|
|
4723
|
+
[mapId: MapId]: MVFv1NodeCollection | undefined;
|
|
4724
|
+
};
|
|
4725
|
+
/**
|
|
4726
|
+
* @propertyNames { "pattern": "^m_[0-9a-z]{16}$" }
|
|
4727
|
+
*/
|
|
4728
|
+
connection: {
|
|
4729
|
+
[mapId: MapId]: MVFv1ConnectionCollection | undefined;
|
|
4730
|
+
};
|
|
4731
|
+
'manifest.geojson': MVFv1ManifestCollection;
|
|
4732
|
+
'building.geojson': MVFv1BuildingCollection;
|
|
4733
|
+
'category.geojson': MVFv1CategoryCollection;
|
|
4734
|
+
'location.geojson': MVFv1LocationCollection;
|
|
4735
|
+
};
|
|
4736
|
+
export type RawMVFv1 = {
|
|
4737
|
+
'manifest.geojson': Uint8Array;
|
|
4738
|
+
'building.geojson': Uint8Array;
|
|
4739
|
+
'category.geojson': Uint8Array;
|
|
4740
|
+
'location.geojson': Uint8Array;
|
|
4741
|
+
level: Partial<Record<MapId, Uint8Array>>;
|
|
4742
|
+
node: Partial<Record<MapId, Uint8Array>>;
|
|
4743
|
+
space: Partial<Record<MapId, Uint8Array>>;
|
|
4744
|
+
obstruction: Partial<Record<MapId, Uint8Array>>;
|
|
4745
|
+
connection: Partial<Record<MapId, Uint8Array>>;
|
|
4746
|
+
};
|
|
4747
|
+
export type ObstructionFeature = Feature<LineString | Polygon, ObstructionProperties>;
|
|
4748
|
+
export type ObstructionWallFeature = Feature<LineString, ObstructionProperties>;
|
|
4749
|
+
export type EntranceFeature = Feature<LineString, EntranceProperties>;
|
|
4750
|
+
export {};
|
|
4751
|
+
}
|
|
4752
|
+
|
|
4753
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/mvf-utils' {
|
|
4754
|
+
import { type ParsedMVF, type ParsedMVFLocalePack, type RawMVF } from '@mappedin/mvf';
|
|
4755
|
+
import type { ParsedMVFv1, RawMVFv1 } from '@mappedin/react-sdk/packages/mvf-utils/mvf-types';
|
|
4756
|
+
export * from '@mappedin/react-sdk/packages/mvf-utils/tokens/access-token';
|
|
4757
|
+
export * from '@mappedin/react-sdk/packages/mvf-utils/tokens/sas-token';
|
|
4758
|
+
/**
|
|
4759
|
+
* This is how we can avoid bundling in node-fetch (via isomorphic fetch),
|
|
4760
|
+
* which keeps popping up in security advisories
|
|
4761
|
+
* This is a pattern that most isomorphic libraries appear to use,
|
|
4762
|
+
* where when running in node, you can pass your own fetch function
|
|
4763
|
+
* as one is not provided by Node.js.
|
|
4764
|
+
*
|
|
4765
|
+
*/
|
|
4766
|
+
export function isomorphicFetch(): Window['fetch'];
|
|
4767
|
+
/**
|
|
4768
|
+
* @internal
|
|
4769
|
+
* export for test mocking
|
|
4770
|
+
*/
|
|
4771
|
+
export function __setFetchFn(fn: any): void;
|
|
4772
|
+
export type TGetVenueOptions = {
|
|
4773
|
+
accessToken?: string;
|
|
4774
|
+
clientId?: string;
|
|
4775
|
+
clientSecret?: string;
|
|
4776
|
+
baseUrl?: string;
|
|
4777
|
+
includeHidden?: boolean;
|
|
4778
|
+
noAuth?: boolean;
|
|
4779
|
+
perspective?: string;
|
|
4780
|
+
language?: string;
|
|
4781
|
+
headers?: {
|
|
4782
|
+
[key in string]: string;
|
|
4783
|
+
};
|
|
4784
|
+
venue: string;
|
|
4785
|
+
/**
|
|
4786
|
+
* An object specifying additional properties to fetch for each data item.
|
|
4787
|
+
* Each key represents a data item (e.g., 'locations', 'nodes'), and the value is an array of strings indicating extra properties to be included.
|
|
4788
|
+
* @example
|
|
4789
|
+
* For example:
|
|
4790
|
+
* ```
|
|
4791
|
+
* getVenue({
|
|
4792
|
+
* venue: 'some-venue',
|
|
4793
|
+
* things: { vortexes: [ 'material' ]
|
|
4794
|
+
* }})
|
|
4795
|
+
* ```
|
|
4796
|
+
*/
|
|
4797
|
+
things?: any;
|
|
4798
|
+
useDraftData?: boolean;
|
|
4799
|
+
platformString?: string;
|
|
4800
|
+
secure?: boolean;
|
|
4801
|
+
preloadMapGeometry?: boolean;
|
|
4802
|
+
};
|
|
4803
|
+
export type TGetVenueBundleOptions = TGetVenueOptions & {
|
|
4804
|
+
baseUri?: string;
|
|
4805
|
+
version?: string;
|
|
4806
|
+
/**
|
|
4807
|
+
* Parse bundle and convert images to blobs. Disabled in React Native
|
|
4808
|
+
* @private
|
|
4809
|
+
*/
|
|
4810
|
+
shouldPopulateBundledImagesAsBlobs?: boolean;
|
|
4811
|
+
};
|
|
4812
|
+
/** @internal */
|
|
4813
|
+
export type TGetVenueMVFOptions = TGetVenueBundleOptions & {
|
|
4814
|
+
onMVFParsed?: (mvf: ParsedMVF) => void;
|
|
4815
|
+
/**
|
|
4816
|
+
* Override initial MVF data
|
|
4817
|
+
*/
|
|
4818
|
+
override?: Partial<Pick<ParsedMVF, 'styles.json'>>;
|
|
4819
|
+
};
|
|
4820
|
+
/**
|
|
4821
|
+
* Options for configuring search functionality.
|
|
4822
|
+
*/
|
|
4823
|
+
export type TSearchOptions = {
|
|
4824
|
+
/**
|
|
4825
|
+
* Indicates whether search functionality is enabled.
|
|
4826
|
+
*/
|
|
4827
|
+
enabled: boolean;
|
|
4828
|
+
};
|
|
4829
|
+
export type TGetMapDataSharedOptions = {
|
|
4830
|
+
/**
|
|
4831
|
+
* Mappedin map ID.
|
|
4832
|
+
*/
|
|
4833
|
+
mapId: string;
|
|
4834
|
+
/**
|
|
4835
|
+
* Optionally provide a custom base URL for the Mappedin API request.
|
|
4836
|
+
* Use the {@link Environment | `environment`} setting to switch environments
|
|
4837
|
+
*/
|
|
4838
|
+
baseUri?: string;
|
|
4839
|
+
/**
|
|
4840
|
+
* Optionally provide a custom URI for authentication when obtaining an access token.
|
|
4841
|
+
* Use the {@link Environment | `environment`} setting to switch environments.
|
|
4842
|
+
*/
|
|
4843
|
+
baseAuthUri?: string;
|
|
4844
|
+
/**
|
|
4845
|
+
* Callback for when the Mappedin map data has been fetched and parsed as Mappedin Venue Format (MVF) data.
|
|
4846
|
+
* @param mvf Parsed MVF data.
|
|
4847
|
+
*/
|
|
4848
|
+
onMVFParsed?: (mvf: ParsedMVF) => void;
|
|
4849
|
+
/**
|
|
4850
|
+
* Load different view of mvf data based on configId
|
|
4851
|
+
*/
|
|
4852
|
+
viewId?: string;
|
|
4853
|
+
/**
|
|
4854
|
+
* set the target SDK environment
|
|
4855
|
+
* @default 'us'
|
|
4856
|
+
* @example
|
|
4857
|
+
* const mapData = getMapData({
|
|
4858
|
+
* key: '',
|
|
4859
|
+
* secret: '',
|
|
4860
|
+
* environment: 'eu'
|
|
4861
|
+
* })
|
|
4862
|
+
*/
|
|
4863
|
+
environment?: ServiceEnvironment;
|
|
4864
|
+
/**
|
|
4865
|
+
* The language of the map data.
|
|
4866
|
+
* The ISO 639-1 language code to change to (e.g., 'en' for English, 'fr' for French). Check ({@link EnterpriseVenue.languages}) for available languages
|
|
4867
|
+
*/
|
|
4868
|
+
language?: string;
|
|
4869
|
+
/**
|
|
4870
|
+
* Analytics configuration.
|
|
4871
|
+
*/
|
|
4872
|
+
analytics?: {
|
|
4873
|
+
/**
|
|
4874
|
+
* Whether to log analytics events.
|
|
4875
|
+
* @default false
|
|
4876
|
+
*/
|
|
4877
|
+
logEvents?: boolean;
|
|
4878
|
+
/**
|
|
4879
|
+
* Whether to send analytics events to the server.
|
|
4880
|
+
* @default false
|
|
4881
|
+
*/
|
|
4882
|
+
sendEvents?: boolean;
|
|
4883
|
+
/**
|
|
4884
|
+
* Custom base URI for analytics requests. If not provided, the default analytics endpoint will be used.
|
|
4885
|
+
* Use the {@link Environment | `environment`} setting to switch environments.
|
|
4886
|
+
*/
|
|
4887
|
+
baseUri?: string;
|
|
4888
|
+
/**
|
|
4889
|
+
* Context for analytics events.
|
|
4890
|
+
* @default 'websdk'
|
|
4891
|
+
* @internal
|
|
4892
|
+
*/
|
|
4893
|
+
context?: string;
|
|
4894
|
+
};
|
|
4895
|
+
search?: TSearchOptions;
|
|
4896
|
+
/**
|
|
4897
|
+
* @hidden
|
|
4898
|
+
* @internal
|
|
4899
|
+
*/
|
|
4900
|
+
layoutId?: 'draft';
|
|
4901
|
+
};
|
|
4902
|
+
/**
|
|
4903
|
+
* @interface
|
|
4904
|
+
*/
|
|
4905
|
+
export type TGetMapDataWithCredentialsOptions = {
|
|
4906
|
+
/**
|
|
4907
|
+
* Mappedin auth key.
|
|
4908
|
+
*/
|
|
4909
|
+
key: string;
|
|
4910
|
+
/**
|
|
4911
|
+
* Mappedin auth secret.
|
|
4912
|
+
*/
|
|
4913
|
+
secret: string;
|
|
4914
|
+
} & TGetMapDataSharedOptions;
|
|
4915
|
+
/**
|
|
4916
|
+
* @interface
|
|
4917
|
+
*/
|
|
4918
|
+
export type TGetMapDataWithAccessTokenOptions = {
|
|
4919
|
+
/**
|
|
4920
|
+
* Mappedin access token.
|
|
4921
|
+
*/
|
|
4922
|
+
accessToken: string;
|
|
4923
|
+
} & TGetMapDataSharedOptions;
|
|
4924
|
+
export type TGetMapDataOptions = TGetMapDataWithCredentialsOptions | TGetMapDataWithAccessTokenOptions;
|
|
4925
|
+
export type TProcessedMVFOptions = TGetMapDataOptions & {
|
|
4926
|
+
clientId: string;
|
|
4927
|
+
clientSecret: string;
|
|
4928
|
+
venue: string;
|
|
4929
|
+
accessToken: string;
|
|
4930
|
+
};
|
|
4931
|
+
export type TAllGetVenueOptions = TGetVenueOptions | TGetVenueMVFOptions | (TProcessedMVFOptions & {
|
|
4932
|
+
perspective?: string;
|
|
4933
|
+
});
|
|
4934
|
+
export type TGetVenueOptionsInternal<T extends TAllGetVenueOptions> = Omit<T & {
|
|
4935
|
+
baseUrl?: string;
|
|
4936
|
+
supplementaryUrl?: string;
|
|
4937
|
+
noAuth?: boolean;
|
|
4938
|
+
includeHidden?: boolean;
|
|
4939
|
+
apiGateway?: string;
|
|
4940
|
+
authorization?: string;
|
|
4941
|
+
headers?: any;
|
|
4942
|
+
}, 'things'> & {
|
|
4943
|
+
things?: any;
|
|
4944
|
+
};
|
|
4945
|
+
export const defaultOptions: TGetVenueOptionsInternal<TGetVenueOptions>;
|
|
4946
|
+
/**
|
|
4947
|
+
* @internal
|
|
4948
|
+
*/
|
|
4949
|
+
export function parseOptions<T extends TAllGetVenueOptions>(options: T): TGetVenueOptionsInternal<T>;
|
|
4950
|
+
/**
|
|
4951
|
+
* Prepares the request and URL fields to pass into generateAPIRequest
|
|
4952
|
+
* @param options options from getVenue- baseUrl and supplementaryUrl are used
|
|
4953
|
+
* @param url string describing the url corresponding to the client's request
|
|
4954
|
+
* @param supplementary whether to use the supplementaryUrl when sending the request
|
|
4955
|
+
*/
|
|
4956
|
+
export function constructParamsForRequest(options: TGetVenueOptionsInternal<TGetVenueOptions>, url: string, supplementary?: boolean): {
|
|
4957
|
+
req: {
|
|
4958
|
+
method: string;
|
|
4959
|
+
headers: any;
|
|
4960
|
+
};
|
|
4961
|
+
url: string;
|
|
4962
|
+
};
|
|
4963
|
+
export function generateAPIRequest(options: TGetVenueOptionsInternal<TGetVenueOptions>, url: string, supplementary?: boolean): Promise<any>;
|
|
4964
|
+
export const getPerspectivesFromResponse: (res: unknown) => Record<string, {
|
|
4965
|
+
url: string;
|
|
4966
|
+
locale_packs: LocalePackUrls;
|
|
4967
|
+
}> | null;
|
|
4968
|
+
/**
|
|
4969
|
+
* Get the bundle URL and updated_at time.
|
|
4970
|
+
* @internal
|
|
4971
|
+
*/
|
|
4972
|
+
export function getVenueMVFURL(userOptions: TGetVenueBundleOptions, path?: string): Promise<{
|
|
4973
|
+
url: any;
|
|
4974
|
+
localePacks: any;
|
|
4975
|
+
updated_at: any;
|
|
4976
|
+
}>;
|
|
4977
|
+
export function getLanguagePackUnitArray(url: string, { signal }: {
|
|
4978
|
+
signal: AbortSignal;
|
|
4979
|
+
}): Promise<Uint8Array>;
|
|
4980
|
+
export function parseLanguagePack(data: Uint8Array): Promise<ParsedMVFLocalePack>;
|
|
4981
|
+
export function downloadLanguagePack(url: string, { signal }: {
|
|
4982
|
+
signal: AbortSignal;
|
|
4983
|
+
}): Promise<ParsedMVFLocalePack | undefined>;
|
|
4984
|
+
export function downloadVenueBundleMVFAPIGateway(options: TGetVenueBundleOptions): Promise<{
|
|
4985
|
+
compressed: Uint8Array;
|
|
4986
|
+
localePacks: LocalePackUrls;
|
|
4987
|
+
}>;
|
|
4988
|
+
export function downloadVenueBundleMVF(options: TGetVenueBundleOptions): Promise<Uint8Array>;
|
|
4989
|
+
export function parseMVFv1(raw: RawMVFv1): ParsedMVFv1;
|
|
4990
|
+
export function validateStaticMVFv1Files(data: unknown): boolean;
|
|
4991
|
+
export function unzipMVFv1(data: any): Promise<RawMVFv1>;
|
|
4992
|
+
export function downloadMVF(userOptions: TGetMapDataOptions, accessToken: string): Promise<Uint8Array>;
|
|
4993
|
+
export function getMakerBundleURL(userOptions: TGetMapDataOptions, token: string): Promise<{
|
|
4994
|
+
url: string;
|
|
4995
|
+
updated_at: string;
|
|
4996
|
+
}>;
|
|
4997
|
+
/**
|
|
4998
|
+
* @internal
|
|
4999
|
+
*/
|
|
5000
|
+
export function parseMVF(raw: RawMVF & {
|
|
5001
|
+
options?: {
|
|
5002
|
+
outdoorViewToken?: string;
|
|
5003
|
+
};
|
|
5004
|
+
}): ParsedMVF;
|
|
5005
|
+
/**
|
|
5006
|
+
* Figure out if the MVF data at least has the static files we expect.
|
|
5007
|
+
*/
|
|
5008
|
+
export function validateStaticMVFFiles(data: unknown): boolean;
|
|
5009
|
+
/**
|
|
5010
|
+
* @internal
|
|
5011
|
+
*/
|
|
5012
|
+
export function unzipMVF(data: Uint8Array): Promise<RawMVF>;
|
|
5013
|
+
export type LocalePackUrls = {
|
|
5014
|
+
[key: string]: string;
|
|
5015
|
+
};
|
|
5016
|
+
/**
|
|
5017
|
+
* Represents the environment state configuration.
|
|
5018
|
+
* @example
|
|
5019
|
+
* const mapData = getMapData({
|
|
5020
|
+
* key: '',
|
|
5021
|
+
* secret: '',
|
|
5022
|
+
* environment: 'eu'
|
|
5023
|
+
* })
|
|
5024
|
+
*/
|
|
5025
|
+
export type Environment = {
|
|
5026
|
+
/**
|
|
5027
|
+
* The base URI for the API.
|
|
5028
|
+
*/
|
|
5029
|
+
baseUri: string;
|
|
5030
|
+
/**
|
|
5031
|
+
* The base URI for authentication.
|
|
5032
|
+
*/
|
|
5033
|
+
baseAuthUri: string;
|
|
5034
|
+
/**
|
|
5035
|
+
* The base URI for analytics.
|
|
5036
|
+
*/
|
|
5037
|
+
analyticsBaseUri: string;
|
|
5038
|
+
/**
|
|
5039
|
+
* The URI for the tile server.
|
|
5040
|
+
*/
|
|
5041
|
+
tileServerUri: string;
|
|
5042
|
+
};
|
|
5043
|
+
type InternalServiceEnvironment = 'us' | 'eu' | 'us-staging-enterprise' | 'us-staging-self-serve';
|
|
5044
|
+
export type ServiceEnvironment = 'us' | 'eu';
|
|
5045
|
+
export function createEnvControl(): {
|
|
5046
|
+
/**
|
|
5047
|
+
* @internal
|
|
5048
|
+
*/
|
|
5049
|
+
updateByUserOption(userOption: TGetMapDataOptions): void;
|
|
5050
|
+
/**
|
|
5051
|
+
* @internal
|
|
5052
|
+
*/
|
|
5053
|
+
updateTileServerBaseUrl(url: string): void;
|
|
5054
|
+
/**
|
|
5055
|
+
* @internal
|
|
5056
|
+
*/
|
|
5057
|
+
updateEnvironment(env: InternalServiceEnvironment): void;
|
|
5058
|
+
getBaseUri(enterprise: boolean): string;
|
|
5059
|
+
getBaseAuthUri(enterprise?: boolean): string;
|
|
5060
|
+
getAnalyticsBaseUri(): string;
|
|
5061
|
+
getTileServerUri(): string;
|
|
5062
|
+
reset(): void;
|
|
5063
|
+
/**
|
|
5064
|
+
* @internal
|
|
5065
|
+
*/
|
|
5066
|
+
__getState: () => Environment;
|
|
5067
|
+
};
|
|
5068
|
+
export type EnvControl = ReturnType<typeof createEnvControl>;
|
|
5069
|
+
/**
|
|
5070
|
+
* Return IDs for all individual maps that are part of a multi-building MVF, not including the
|
|
5071
|
+
* outdoor map. If a map is not a multi-building map, an empty array is returned.
|
|
5072
|
+
*/
|
|
5073
|
+
export const getBuildingIds: (mvf: ParsedMVF) => string[];
|
|
5074
|
+
}
|
|
5075
|
+
|
|
5076
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/geometry' {
|
|
5077
|
+
import type { EntranceFeature, ObstructionWallFeature } from '@mappedin/react-sdk/packages/mvf-utils/mvf-types';
|
|
5078
|
+
export function findAndSplitObstructionByAllEntrances(wall: ObstructionWallFeature, entrances: EntranceFeature[]): {
|
|
5079
|
+
entrances: EntranceFeature[];
|
|
5080
|
+
obstructions: ObstructionWallFeature[];
|
|
5081
|
+
};
|
|
5082
|
+
}
|
|
5083
|
+
|
|
5084
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
|
|
5085
|
+
import type { NodeCollection } from '@mappedin/mvf';
|
|
5086
|
+
import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
|
|
5087
|
+
import type { EnterpriseLocation, MapDataInternal, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
5088
|
+
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
5089
|
+
import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
|
|
5090
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
5091
|
+
import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
5092
|
+
/**
|
|
5093
|
+
* A class representing {@link Path} node data within the map.
|
|
5094
|
+
*
|
|
5095
|
+
* Nodes are used to define points in the map's pathfinding graph.
|
|
5096
|
+
*
|
|
5097
|
+
*/
|
|
5098
|
+
class Node extends BaseMetaData implements IGeoJSONData, IFocusable, IAnchorable {
|
|
5099
|
+
#private;
|
|
5100
|
+
/**
|
|
5101
|
+
* @internal
|
|
5102
|
+
*/
|
|
5103
|
+
static readonly __type = "node";
|
|
5104
|
+
/**
|
|
5105
|
+
* @internal
|
|
5106
|
+
*/
|
|
5107
|
+
readonly __type = "node";
|
|
5108
|
+
/**
|
|
5109
|
+
* Checks if the provided instance is of type Node.
|
|
5110
|
+
*
|
|
4015
5111
|
* @param instance The instance to check.
|
|
4016
5112
|
* @returns {boolean} True if the instance is a Node, false otherwise.
|
|
4017
5113
|
*/
|
|
@@ -6176,6 +7272,27 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path' {
|
|
|
6176
7272
|
}
|
|
6177
7273
|
}
|
|
6178
7274
|
|
|
7275
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/utils/types' {
|
|
7276
|
+
/**
|
|
7277
|
+
* Utility type that extracts nested values matching a specific type
|
|
7278
|
+
* @example
|
|
7279
|
+
* type A = ExtractDeep<{ a: { b: string; c: number; }; d: string; e: number; }, number>;
|
|
7280
|
+
* // { a: { c: number; } e: number; }
|
|
7281
|
+
*/
|
|
7282
|
+
export type ExtractDeep<T, U> = {
|
|
7283
|
+
[K in keyof T as T[K] extends U ? K : T[K] extends object | undefined ? ExtractDeep<NonNullable<T[K]>, U> extends never ? never : K : never]: T[K] extends object | undefined ? undefined extends T[K] ? ExtractDeep<NonNullable<T[K]>, U> | undefined : ExtractDeep<NonNullable<T[K]>, U> : T[K] extends U ? T[K] : never;
|
|
7284
|
+
};
|
|
7285
|
+
/**
|
|
7286
|
+
* Makes all properties in an object (including nested ones) optional
|
|
7287
|
+
* @example
|
|
7288
|
+
* type A = DeepPartial<{ a: { b: string; c: number; }; d: string; }>;
|
|
7289
|
+
* // { a?: { b?: string; c?: number; }; d?: string; }
|
|
7290
|
+
*/
|
|
7291
|
+
export type DeepPartial<T> = T extends object ? {
|
|
7292
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
7293
|
+
} : T;
|
|
7294
|
+
}
|
|
7295
|
+
|
|
6179
7296
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/types' {
|
|
6180
7297
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
6181
7298
|
export type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
@@ -6189,6 +7306,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6189
7306
|
import type { CollisionRankingTier } from '@mappedin/react-sdk/geojson/src/utils/collision-ranking-tier';
|
|
6190
7307
|
import { z } from 'zod';
|
|
6191
7308
|
import { type PackedBBoxes } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
|
|
7309
|
+
import type { GeometryState } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
6192
7310
|
/**
|
|
6193
7311
|
* State reprsenting a Marker
|
|
6194
7312
|
*/
|
|
@@ -6221,32 +7339,12 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6221
7339
|
* Pointer to the HTML element of the marker in the DOM tree
|
|
6222
7340
|
*/
|
|
6223
7341
|
element: HTMLElement;
|
|
6224
|
-
/**
|
|
6225
|
-
* The initial rank of the marker, which can be used to reset the rank of the marker to its initial value.
|
|
6226
|
-
*/
|
|
6227
|
-
initialRank: CollisionRankingTier | number;
|
|
6228
|
-
options
|
|
6229
|
-
|
|
6230
|
-
* The rank of the marker, which determines its visibility in relation to other colliders.
|
|
6231
|
-
*/
|
|
6232
|
-
rank?: CollisionRankingTier | number;
|
|
6233
|
-
/**
|
|
6234
|
-
* Whether the Marker should be clickable via the SDK's internal click event system.
|
|
6235
|
-
*
|
|
6236
|
-
* @example
|
|
6237
|
-
* ```javascript
|
|
6238
|
-
* renderer.on('click', ({ markers }) => {});
|
|
6239
|
-
* ```
|
|
6240
|
-
*/
|
|
6241
|
-
interactive?: boolean | 'pointer-events-auto';
|
|
6242
|
-
/**
|
|
6243
|
-
* The z-index of the marker. Can be used used in conjunction with rank: 'always-visible' to make certain markers appear over others
|
|
6244
|
-
*/
|
|
6245
|
-
zIndex?: number;
|
|
6246
|
-
/**
|
|
6247
|
-
* The vertical position of the marker relative to the floor.
|
|
6248
|
-
*/
|
|
6249
|
-
verticalOffset?: number;
|
|
7342
|
+
/**
|
|
7343
|
+
* The initial rank of the marker, which can be used to reset the rank of the marker to its initial value.
|
|
7344
|
+
*/
|
|
7345
|
+
initialRank: CollisionRankingTier | number;
|
|
7346
|
+
options: Omit<AddMarkerOptions, 'id'> & {
|
|
7347
|
+
lowPriorityPin: LowPriorityPinConfig;
|
|
6250
7348
|
};
|
|
6251
7349
|
/**
|
|
6252
7350
|
* Anchor point for the marker. This will determine the position of the marker relative to the position. A list will place the marker in the first empty placement.
|
|
@@ -6257,6 +7355,29 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6257
7355
|
*/
|
|
6258
7356
|
dynamicResize: boolean;
|
|
6259
7357
|
};
|
|
7358
|
+
export type MarkerStateUpdate = Omit<MarkerState, 'type' | 'parent' | 'id' | 'options'> & {
|
|
7359
|
+
options?: Partial<Omit<AddMarkerOptions, 'id' | 'lowPriorityPin'>>;
|
|
7360
|
+
};
|
|
7361
|
+
/**
|
|
7362
|
+
* Configuration for the low priority pin fallback strategy
|
|
7363
|
+
*/
|
|
7364
|
+
export type LowPriorityPinConfig = {
|
|
7365
|
+
/**
|
|
7366
|
+
* Whether to enable low priority pin strategy when all anchor positions have collisions.
|
|
7367
|
+
* @default true
|
|
7368
|
+
*/
|
|
7369
|
+
enabled: boolean;
|
|
7370
|
+
/**
|
|
7371
|
+
* Size of the low priority pin in pixels.
|
|
7372
|
+
* @default 2
|
|
7373
|
+
*/
|
|
7374
|
+
size: number;
|
|
7375
|
+
/**
|
|
7376
|
+
* Color of the low priority pin.
|
|
7377
|
+
* @default '#666'
|
|
7378
|
+
*/
|
|
7379
|
+
color: string;
|
|
7380
|
+
};
|
|
6260
7381
|
export const addMarkerOptionsSchema: z.ZodObject<{
|
|
6261
7382
|
rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
|
|
6262
7383
|
interactive: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"pointer-events-auto">]>>;
|
|
@@ -6264,6 +7385,19 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6264
7385
|
anchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center", "top-left", "top-right", "bottom-left", "bottom-right"]>, z.ZodArray<z.ZodEnum<["top", "bottom", "left", "right", "center", "top-left", "top-right", "bottom-left", "bottom-right"]>, "many">]>>;
|
|
6265
7386
|
dynamicResize: z.ZodOptional<z.ZodBoolean>;
|
|
6266
7387
|
zIndex: z.ZodOptional<z.ZodNumber>;
|
|
7388
|
+
lowPriorityPin: z.ZodOptional<z.ZodObject<{
|
|
7389
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
7390
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
7391
|
+
color: z.ZodOptional<z.ZodString>;
|
|
7392
|
+
}, "strip", z.ZodTypeAny, {
|
|
7393
|
+
size?: number | undefined;
|
|
7394
|
+
color?: string | undefined;
|
|
7395
|
+
enabled?: boolean | undefined;
|
|
7396
|
+
}, {
|
|
7397
|
+
size?: number | undefined;
|
|
7398
|
+
color?: string | undefined;
|
|
7399
|
+
enabled?: boolean | undefined;
|
|
7400
|
+
}>>;
|
|
6267
7401
|
}, "strip", z.ZodTypeAny, {
|
|
6268
7402
|
anchor?: "center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
|
|
6269
7403
|
id?: string | undefined;
|
|
@@ -6271,6 +7405,11 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6271
7405
|
dynamicResize?: boolean | undefined;
|
|
6272
7406
|
zIndex?: number | undefined;
|
|
6273
7407
|
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
7408
|
+
lowPriorityPin?: {
|
|
7409
|
+
size?: number | undefined;
|
|
7410
|
+
color?: string | undefined;
|
|
7411
|
+
enabled?: boolean | undefined;
|
|
7412
|
+
} | undefined;
|
|
6274
7413
|
}, {
|
|
6275
7414
|
anchor?: "center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
|
|
6276
7415
|
id?: string | undefined;
|
|
@@ -6278,9 +7417,15 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6278
7417
|
dynamicResize?: boolean | undefined;
|
|
6279
7418
|
zIndex?: number | undefined;
|
|
6280
7419
|
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
7420
|
+
lowPriorityPin?: {
|
|
7421
|
+
size?: number | undefined;
|
|
7422
|
+
color?: string | undefined;
|
|
7423
|
+
enabled?: boolean | undefined;
|
|
7424
|
+
} | undefined;
|
|
6281
7425
|
}>;
|
|
6282
7426
|
export function validateMarker(coordinate: Position, contentHTML: string, options: AddMarkerOptions): void;
|
|
6283
7427
|
export type MarkerAnchor = 'top' | 'bottom' | 'left' | 'right' | 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
7428
|
+
type InternalMarkerAnchor = MarkerAnchor | 'low-priority-pin';
|
|
6284
7429
|
/**
|
|
6285
7430
|
* Options for creating a new Marker
|
|
6286
7431
|
*/
|
|
@@ -6323,6 +7468,16 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6323
7468
|
* The vertical position of the marker relative to the floor.
|
|
6324
7469
|
*/
|
|
6325
7470
|
verticalOffset?: number;
|
|
7471
|
+
/**
|
|
7472
|
+
* The entity to attach the marker to.
|
|
7473
|
+
*/
|
|
7474
|
+
attachTo?: EntityId<GeometryState> | string | number | null;
|
|
7475
|
+
/**
|
|
7476
|
+
* Configuration for the low priority pin fallback strategy.
|
|
7477
|
+
* When enabled, shows a smaller pin version of the marker when all anchor positions have collisions.
|
|
7478
|
+
* @default { enabled: true, size: 2, color: '#666' }
|
|
7479
|
+
*/
|
|
7480
|
+
lowPriorityPin?: Partial<LowPriorityPinConfig>;
|
|
6326
7481
|
};
|
|
6327
7482
|
export class MarkerComponent {
|
|
6328
7483
|
id: string | number;
|
|
@@ -6330,9 +7485,11 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6330
7485
|
static testId: number;
|
|
6331
7486
|
rank: number;
|
|
6332
7487
|
initialRank: number;
|
|
6333
|
-
activeAnchor:
|
|
7488
|
+
activeAnchor: InternalMarkerAnchor;
|
|
6334
7489
|
pointerEvents: 'auto' | 'none';
|
|
6335
|
-
options: Required<Omit<AddMarkerOptions, 'zIndex'
|
|
7490
|
+
options: Required<Omit<AddMarkerOptions, 'zIndex' | 'attachTo'> & {
|
|
7491
|
+
lowPriorityPin: Required<LowPriorityPinConfig>;
|
|
7492
|
+
}> & {
|
|
6336
7493
|
zIndex?: number;
|
|
6337
7494
|
};
|
|
6338
7495
|
projection: Vector2;
|
|
@@ -6351,8 +7508,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6351
7508
|
w: number;
|
|
6352
7509
|
h: number;
|
|
6353
7510
|
};
|
|
6354
|
-
|
|
6355
|
-
|
|
7511
|
+
markerContainer: Entity2DHTMLDivElement;
|
|
7512
|
+
containerEl: HTMLElement;
|
|
7513
|
+
contentEl: HTMLElement | null;
|
|
6356
7514
|
contentHtml: string;
|
|
6357
7515
|
style: {
|
|
6358
7516
|
top: string;
|
|
@@ -6360,7 +7518,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6360
7518
|
};
|
|
6361
7519
|
dirty: boolean;
|
|
6362
7520
|
/** Flag used in 2d-projection system to determine if the parent has changed */
|
|
6363
|
-
|
|
7521
|
+
attachedDirty: boolean;
|
|
6364
7522
|
collisionDirty: boolean;
|
|
6365
7523
|
visibilityNeedsUpdate: 'show' | 'hide' | false;
|
|
6366
7524
|
constructor(contentHtml: string, options?: AddMarkerOptions);
|
|
@@ -6369,7 +7527,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6369
7527
|
currentStrategyIndex: number;
|
|
6370
7528
|
onStrategySelected: (strategyIndex: number, force?: boolean) => void;
|
|
6371
7529
|
get strategies(): {
|
|
6372
|
-
name:
|
|
7530
|
+
name: InternalMarkerAnchor;
|
|
6373
7531
|
getBoundingBox: () => number[];
|
|
6374
7532
|
}[];
|
|
6375
7533
|
toPackedMessage(isPanning?: boolean): {
|
|
@@ -6381,8 +7539,13 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
6381
7539
|
lockedToStrategyIndex: number;
|
|
6382
7540
|
shouldCollideWithScreenEdges: boolean;
|
|
6383
7541
|
};
|
|
7542
|
+
/**
|
|
7543
|
+
* Get the index of the low priority pin strategy
|
|
7544
|
+
*/
|
|
7545
|
+
get lowPriorityPinStrategyIndex(): number;
|
|
6384
7546
|
destroy(): void;
|
|
6385
7547
|
}
|
|
7548
|
+
export {};
|
|
6386
7549
|
}
|
|
6387
7550
|
|
|
6388
7551
|
declare module '@mappedin/react-sdk/geojson/src/components/path' {
|
|
@@ -6990,6 +8153,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
6990
8153
|
* The vertical position of the label relative to the floor.
|
|
6991
8154
|
*/
|
|
6992
8155
|
verticalOffset?: number;
|
|
8156
|
+
/**
|
|
8157
|
+
* The entity to attach the label to.
|
|
8158
|
+
*/
|
|
8159
|
+
attachTo?: EntityId<GeometryState> | string | null;
|
|
6993
8160
|
};
|
|
6994
8161
|
type TStyle = {
|
|
6995
8162
|
top?: number;
|
|
@@ -7132,7 +8299,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
7132
8299
|
totalMarkerSize: number;
|
|
7133
8300
|
dirty: boolean;
|
|
7134
8301
|
/** Flag used in 2d-projection system to determine if the parent has changed */
|
|
7135
|
-
|
|
8302
|
+
attachedDirty: boolean;
|
|
7136
8303
|
collisionDirty: boolean;
|
|
7137
8304
|
lastTextAlign: any;
|
|
7138
8305
|
imageHash?: number;
|
|
@@ -7177,9 +8344,11 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
|
|
|
7177
8344
|
import type { BatchedText } from '@mappedin/react-sdk/geojson/src/services/text3d/text3d';
|
|
7178
8345
|
import type { EntityTypes } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
7179
8346
|
import type { Feature, MultiPolygon, Polygon } from 'geojson';
|
|
8347
|
+
import type { FocusableComponent } from '@mappedin/react-sdk/geojson/src/components/focusable';
|
|
7180
8348
|
export enum GroupContainerComponents {
|
|
7181
8349
|
Stack = 0,
|
|
7182
|
-
Interaction = 1
|
|
8350
|
+
Interaction = 1,
|
|
8351
|
+
Focusable = 2
|
|
7183
8352
|
}
|
|
7184
8353
|
/**
|
|
7185
8354
|
* State representing a Group Container, which is a container for other Group Containers, Geometry Groups, Labels, Markers and Paths.
|
|
@@ -7220,7 +8389,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
|
|
|
7220
8389
|
/** The effective opacity of the entity after all parent containers have been considered. */
|
|
7221
8390
|
computedOpacity: number;
|
|
7222
8391
|
};
|
|
7223
|
-
components: [StackComponent?, InteractionComponent?];
|
|
8392
|
+
components: [StackComponent?, InteractionComponent?, FocusableComponent?];
|
|
7224
8393
|
constructor(id: string);
|
|
7225
8394
|
addOccluderFeature(feature: Feature<Polygon | MultiPolygon, any>, occluderId: number): void;
|
|
7226
8395
|
addEntity(entityGroupOrContainer: GroupContainerObject3D | GeometryGroupObject3D | Geometry2D | Geometry3DTypes): void;
|
|
@@ -7239,6 +8408,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
|
|
|
7239
8408
|
import { type GeometryState } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
7240
8409
|
import type { ModelState } from '@mappedin/react-sdk/geojson/src/components/model';
|
|
7241
8410
|
import { GeometryGroupStyleComponent } from '@mappedin/react-sdk/geojson/src/components/geometry-group-style';
|
|
8411
|
+
import type { MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
7242
8412
|
export enum GeometryGroupComponents {
|
|
7243
8413
|
GeometryGroupStyle = 0
|
|
7244
8414
|
}
|
|
@@ -7310,6 +8480,10 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
|
|
|
7310
8480
|
* height of the geometry group
|
|
7311
8481
|
*/
|
|
7312
8482
|
height?: number;
|
|
8483
|
+
/**
|
|
8484
|
+
* Material side of the geometry group
|
|
8485
|
+
*/
|
|
8486
|
+
side?: MaterialSide;
|
|
7313
8487
|
};
|
|
7314
8488
|
export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
|
|
7315
8489
|
export class GeometryGroupObject3D extends Object3D {
|
|
@@ -7322,7 +8496,6 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
|
|
|
7322
8496
|
modelURL?: string;
|
|
7323
8497
|
opacity: number;
|
|
7324
8498
|
dirty: boolean;
|
|
7325
|
-
outlineDirty: boolean;
|
|
7326
8499
|
shadingDirty: boolean;
|
|
7327
8500
|
};
|
|
7328
8501
|
setVisible(visible: boolean): void;
|
|
@@ -7417,6 +8590,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
7417
8590
|
showImage?: boolean;
|
|
7418
8591
|
flipImageToFaceCamera?: boolean;
|
|
7419
8592
|
side?: MaterialSide;
|
|
8593
|
+
renderOrder?: number;
|
|
7420
8594
|
};
|
|
7421
8595
|
export type Shading = {
|
|
7422
8596
|
start?: number;
|
|
@@ -7436,6 +8610,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
7436
8610
|
shading?: Shading;
|
|
7437
8611
|
outline?: boolean;
|
|
7438
8612
|
side?: MaterialSide;
|
|
8613
|
+
renderOrder?: number;
|
|
7439
8614
|
};
|
|
7440
8615
|
export type Layer = {
|
|
7441
8616
|
id: string;
|
|
@@ -7729,7 +8904,7 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
7729
8904
|
}
|
|
7730
8905
|
|
|
7731
8906
|
declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
7732
|
-
import type { Texture, BufferGeometry,
|
|
8907
|
+
import type { Texture, BufferGeometry, Mesh } from 'three';
|
|
7733
8908
|
import { BatchedMesh, Color, Vector3 } from 'three';
|
|
7734
8909
|
import type { BatchedStandardMaterial } from '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/batched-material';
|
|
7735
8910
|
import type { EntityId, Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
@@ -7851,7 +9026,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
7851
9026
|
#private;
|
|
7852
9027
|
mesh?: EntityBatchedMesh;
|
|
7853
9028
|
focusMesh?: Mesh;
|
|
7854
|
-
outline?: LineSegments;
|
|
7855
9029
|
imageMesh?: Mesh;
|
|
7856
9030
|
/**
|
|
7857
9031
|
* holds a pointer to space label text if the polygon has label active.
|
|
@@ -8273,7 +9447,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
8273
9447
|
import { Renderer } from '@mappedin/react-sdk/geojson/src/services/renderer';
|
|
8274
9448
|
import { CollisionSystem } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
|
|
8275
9449
|
import { InteractionSystem } from '@mappedin/react-sdk/geojson/src/systems/interactions';
|
|
8276
|
-
import type { AddMarkerOptions, MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
9450
|
+
import type { AddMarkerOptions, MarkerState, MarkerStateUpdate } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
8277
9451
|
import type { GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
8278
9452
|
import { ExporterSystem } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
8279
9453
|
import type { AddLabelOptions, LabelState } from '@mappedin/react-sdk/geojson/src/components/label';
|
|
@@ -8397,6 +9571,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
8397
9571
|
visible?: boolean;
|
|
8398
9572
|
altitude?: number;
|
|
8399
9573
|
interactive?: boolean;
|
|
9574
|
+
focusable?: boolean;
|
|
8400
9575
|
}, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<GroupContainerState>;
|
|
8401
9576
|
addStackContainer(id: string, style?: {
|
|
8402
9577
|
visible?: true;
|
|
@@ -8509,7 +9684,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
8509
9684
|
*/
|
|
8510
9685
|
setState(object: Partial<Omit<MapViewState, 'type'>>): void;
|
|
8511
9686
|
setState<T extends EntityId<LabelState>>(object: T | T['id'], state: Partial<LabelState>): void;
|
|
8512
|
-
setState<T extends EntityId<MarkerState>>(object: T | T['id'], state: Partial<
|
|
9687
|
+
setState<T extends EntityId<MarkerState>>(object: T | T['id'], state: Partial<MarkerStateUpdate>): void;
|
|
8513
9688
|
setState<T extends EntityId<GeometryGroupState>>(object: T | T['id'], state: Partial<GeometryGroupState>): void;
|
|
8514
9689
|
setState<T extends EntityId<GroupContainerState>>(object: T | T['id'], state: Partial<GroupContainerState>): void;
|
|
8515
9690
|
setState<T extends EntityId<GeometryState>>(object: T | T['id'], state: Partial<GeometryState>): void;
|
|
@@ -9324,8 +10499,8 @@ declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
|
|
|
9324
10499
|
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
9325
10500
|
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
9326
10501
|
export function updateAltitude(entity: EntityTypes, update?: number): boolean;
|
|
9327
|
-
export function updateOutline(entity: All3DTypes, update?: boolean): boolean;
|
|
9328
|
-
export function updateFocusable(entity: Geometry3D, update?: boolean): boolean;
|
|
10502
|
+
export function updateOutline(entity: All3DTypes, state: RendererState, update?: boolean): boolean;
|
|
10503
|
+
export function updateFocusable(entity: Geometry3D | GroupContainerObject3D, update?: boolean): boolean;
|
|
9329
10504
|
export function updateIndividualGeometryRenderOrder(entity: Geometry3D, update?: number): boolean;
|
|
9330
10505
|
export function handlePathUpdate(geometry: Geometry3DTypes, state: RendererState, update: PathUpdateState): void;
|
|
9331
10506
|
export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
|
|
@@ -9454,19 +10629,85 @@ declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
|
|
|
9454
10629
|
|
|
9455
10630
|
declare module '@mappedin/react-sdk/geojson/src/utils/debug' {
|
|
9456
10631
|
import type Core from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10632
|
+
/**
|
|
10633
|
+
* Default debug state configuration with all debug features disabled by default.
|
|
10634
|
+
*/
|
|
9457
10635
|
const DEFAULT_DEBUG_STATE: {
|
|
9458
|
-
|
|
9459
|
-
|
|
10636
|
+
/** Shows the text area mesh used for polygon label rendering */
|
|
10637
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
10638
|
+
/** Enables the basic environment map for lighting and reflections */
|
|
10639
|
+
showEnvMap: boolean;
|
|
10640
|
+
/** Shows collision detection boxes for debugging spatial interactions */
|
|
10641
|
+
showCollisionBoxes: boolean;
|
|
9460
10642
|
};
|
|
10643
|
+
/**
|
|
10644
|
+
* Type definition for the debug state configuration.
|
|
10645
|
+
* Represents all available debug options that can be toggled.
|
|
10646
|
+
*/
|
|
9461
10647
|
export type DebugState = typeof DEFAULT_DEBUG_STATE;
|
|
10648
|
+
/**
|
|
10649
|
+
* Debug utility class for toggling various debug visualization features.
|
|
10650
|
+
*
|
|
10651
|
+
* This class provides a centralized way to control debug features like:
|
|
10652
|
+
* - Text area mesh visualization for polygon labels
|
|
10653
|
+
* - Environment map rendering
|
|
10654
|
+
* - Collision box visualization
|
|
10655
|
+
*
|
|
10656
|
+
* @example
|
|
10657
|
+
* ```typescript
|
|
10658
|
+
* const debug = new Debug(core);
|
|
10659
|
+
*
|
|
10660
|
+
* // Enable collision boxes and environment map
|
|
10661
|
+
* debug.update({
|
|
10662
|
+
* showCollisionBoxes: true,
|
|
10663
|
+
* showEnvMap: true
|
|
10664
|
+
* });
|
|
10665
|
+
*
|
|
10666
|
+
* // Disable all debug features
|
|
10667
|
+
* debug.update({
|
|
10668
|
+
* showCollisionBoxes: false,
|
|
10669
|
+
* showEnvMap: false,
|
|
10670
|
+
* showPolygonLabelTextAreaMesh: false
|
|
10671
|
+
* });
|
|
10672
|
+
* ```
|
|
10673
|
+
*/
|
|
9462
10674
|
export class Debug {
|
|
9463
|
-
|
|
9464
|
-
|
|
9465
|
-
|
|
9466
|
-
|
|
9467
|
-
|
|
9468
|
-
|
|
9469
|
-
|
|
10675
|
+
/** Current debug state configuration */
|
|
10676
|
+
state: {
|
|
10677
|
+
/** Shows the text area mesh used for polygon label rendering */
|
|
10678
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
10679
|
+
/** Enables the basic environment map for lighting and reflections */
|
|
10680
|
+
showEnvMap: boolean;
|
|
10681
|
+
/** Shows collision detection boxes for debugging spatial interactions */
|
|
10682
|
+
showCollisionBoxes: boolean;
|
|
10683
|
+
};
|
|
10684
|
+
/** Reference to the core renderer instance */
|
|
10685
|
+
core: Core;
|
|
10686
|
+
/**
|
|
10687
|
+
* Creates a new Debug instance.
|
|
10688
|
+
*
|
|
10689
|
+
* @param core - The core renderer instance to control debug features for
|
|
10690
|
+
*/
|
|
10691
|
+
constructor(core: Core);
|
|
10692
|
+
/**
|
|
10693
|
+
* Updates the debug state with new configuration options.
|
|
10694
|
+
* Only changed values will trigger updates to the corresponding systems.
|
|
10695
|
+
*
|
|
10696
|
+
* @param updateState - Partial debug state with the options to update
|
|
10697
|
+
*
|
|
10698
|
+
* @example
|
|
10699
|
+
* ```typescript
|
|
10700
|
+
* // Enable only collision boxes
|
|
10701
|
+
* debug.update({ showCollisionBoxes: true });
|
|
10702
|
+
*
|
|
10703
|
+
* // Enable multiple features at once
|
|
10704
|
+
* debug.update({
|
|
10705
|
+
* showEnvMap: true,
|
|
10706
|
+
* showPolygonLabelTextAreaMesh: true
|
|
10707
|
+
* });
|
|
10708
|
+
* ```
|
|
10709
|
+
*/
|
|
10710
|
+
update(updateState: Partial<DebugState>): void;
|
|
9470
10711
|
}
|
|
9471
10712
|
export {};
|
|
9472
10713
|
}
|
|
@@ -9586,9 +10827,13 @@ declare module '@mappedin/react-sdk/geojson/src/systems/text3d/system' {
|
|
|
9586
10827
|
showTextAreaMesh(): void;
|
|
9587
10828
|
hideTextAreaMesh(): void;
|
|
9588
10829
|
}
|
|
10830
|
+
export function configureWorker(useWorker: boolean): void;
|
|
9589
10831
|
/**
|
|
9590
10832
|
* Preload fonts and optionally pre-generate the SDF textures for particular glyphs up front.
|
|
9591
10833
|
* This is to avoid ondemand font generation can take long.
|
|
10834
|
+
*
|
|
10835
|
+
* If working in CSP-restricted environment, call `disableText3DWorker` before to avoid errors
|
|
10836
|
+
*
|
|
9592
10837
|
* @param fontUrl - url of the font file served.
|
|
9593
10838
|
* @returns A promise that resolves when the font is loaded
|
|
9594
10839
|
*
|
|
@@ -9598,150 +10843,166 @@ declare module '@mappedin/react-sdk/geojson/src/systems/text3d/system' {
|
|
|
9598
10843
|
export const DEFAULT_VERTICAL_OFFSET = 0.5;
|
|
9599
10844
|
}
|
|
9600
10845
|
|
|
9601
|
-
declare module '@mappedin/react-sdk/geojson/src/systems/
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9606
|
-
import
|
|
9607
|
-
import '
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
custom?: string[];
|
|
9615
|
-
position?: AttributionPosition;
|
|
9616
|
-
feedback?: boolean;
|
|
9617
|
-
};
|
|
9618
|
-
export class HTMLControlsSystem {
|
|
9619
|
-
controlContainerEl: HTMLDivElement;
|
|
9620
|
-
controlPositions: Record<AttributionPosition, HTMLDivElement>;
|
|
9621
|
-
compact: boolean | undefined;
|
|
9622
|
-
attribContainerEl?: HTMLDetailsElement;
|
|
9623
|
-
attribInnerEl?: HTMLDivElement;
|
|
9624
|
-
attribButtonEl?: HTMLElement;
|
|
9625
|
-
feedbackLinkEl?: HTMLAnchorElement;
|
|
9626
|
-
attribHTML: string;
|
|
9627
|
-
customAttributions: string[];
|
|
9628
|
-
constructor(container: HTMLElement);
|
|
9629
|
-
addAttributionControl(options?: AttributionControlOptions): void;
|
|
9630
|
-
toggleAttribution: (e: MouseEvent) => void;
|
|
9631
|
-
destroyAttributionControl(): void;
|
|
9632
|
-
resize(canvasWidth: number): void;
|
|
9633
|
-
/**
|
|
9634
|
-
* This should fire when Maplibre data changes.
|
|
9635
|
-
*/
|
|
9636
|
-
updateData(map: Map): void;
|
|
9637
|
-
destroy(): void;
|
|
9638
|
-
}
|
|
9639
|
-
}
|
|
9640
|
-
|
|
9641
|
-
declare module '@mappedin/react-sdk/geojson/src/components/styles' {
|
|
9642
|
-
export { StyleComponent, DEFAULT_COLOR, type MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
9643
|
-
export { Text3DStyleComponent, type Text3DStyle, DEFAULT_TEXT_STYLE } from '@mappedin/react-sdk/geojson/src/components/styles/text-style';
|
|
9644
|
-
export { ModelStyleComponnet, type ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles/model-style';
|
|
9645
|
-
export { DEFAULT_ROTATION, DEFAULT_SCALE } from '@mappedin/react-sdk/geojson/src/components/styles/constants';
|
|
9646
|
-
}
|
|
9647
|
-
|
|
9648
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
9649
|
-
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/core-sdk';
|
|
9650
|
-
import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
9651
|
-
import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
9652
|
-
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
9653
|
-
import type { FloorStack, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9654
|
-
import { Facade, Coordinate, MapObject, Space, Floor, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9655
|
-
import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
9656
|
-
import { Label, Marker, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
9657
|
-
import { Text3D as Text3DView, Model, Path, type Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
9658
|
-
import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
9659
|
-
import type { TGetState, TUpdateState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
9660
|
-
import { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera';
|
|
9661
|
-
import { Exporter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter';
|
|
9662
|
-
import { Labels } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels';
|
|
9663
|
-
import { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
9664
|
-
import { Markers } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers';
|
|
9665
|
-
import { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
|
|
9666
|
-
import { Models } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/models';
|
|
9667
|
-
import { Paths } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths';
|
|
9668
|
-
import { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
9669
|
-
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
9670
|
-
import { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
9671
|
-
import { Style } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/style';
|
|
9672
|
-
import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
|
|
9673
|
-
import { type BBox } from 'geojson';
|
|
9674
|
-
import { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
9675
|
-
import { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
9676
|
-
export class GeoJsonApi {
|
|
9677
|
-
core: RendererCore;
|
|
9678
|
-
mapObjects: GeojsonApiMapObject[];
|
|
9679
|
-
id: string;
|
|
9680
|
-
mapDataExternal: {
|
|
9681
|
-
[key in string]: MapData;
|
|
9682
|
-
};
|
|
9683
|
-
mapData?: MapData;
|
|
9684
|
-
currentMap: GeojsonApiMapObject;
|
|
9685
|
-
hiddenOutdoorGeometries: [
|
|
9686
|
-
BBox,
|
|
9687
|
-
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
9688
|
-
layers: string[]
|
|
9689
|
-
][];
|
|
9690
|
-
mapView: MapView;
|
|
9691
|
-
Camera: Camera;
|
|
9692
|
-
Labels: Labels;
|
|
9693
|
-
Text3D: Text3D;
|
|
9694
|
-
Markers: Markers;
|
|
9695
|
-
Models: Models;
|
|
9696
|
-
Paths: Paths;
|
|
9697
|
-
Exporter: Exporter;
|
|
9698
|
-
Navigation: Navigation;
|
|
9699
|
-
Outdoor: Outdoor;
|
|
9700
|
-
BlueDot: BlueDot;
|
|
9701
|
-
Shapes: Shapes;
|
|
9702
|
-
Style: Style;
|
|
9703
|
-
Images: Images;
|
|
9704
|
-
get DynamicFocus(): import("..").DynamicFocus;
|
|
9705
|
-
get StackedMaps(): import("..").StackedMaps;
|
|
9706
|
-
constructor(rendererCore: RendererCore, mapView: MapView);
|
|
9707
|
-
updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Model | Door | Facade | Floor | WALLS | DOORS | Path | PathSegment | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
9708
|
-
update: () => void;
|
|
9709
|
-
getMapDataInternal(): MapDataInternal | undefined;
|
|
9710
|
-
getMapData(): MapData | undefined;
|
|
9711
|
-
addMap(mapData: MapData, options?: TShow3DMapOptions): Promise<MapData>;
|
|
9712
|
-
setFloor(floor: Floor | string, reason?: TFloorChangeReason): void;
|
|
9713
|
-
setFloorStack(floorStack: FloorStack | string): void;
|
|
9714
|
-
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
9715
|
-
get currentFloorStack(): FloorStack;
|
|
9716
|
-
get currentFloor(): Floor;
|
|
9717
|
-
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | Model | Path | PathSegment | Floor | Facade | string>(target: T): TGetState<T>;
|
|
9718
|
-
setHoverColor(c: string): void;
|
|
9719
|
-
getHoverColor(): string | undefined;
|
|
9720
|
-
/**
|
|
9721
|
-
* Create a coordinate from a screen coordinate
|
|
9722
|
-
* @param x - The x coordinate of the screen
|
|
9723
|
-
* @param y - The y coordinate of the screen
|
|
9724
|
-
* @param floor - The floor to use for the coordinate
|
|
9725
|
-
* @returns The coordinate
|
|
9726
|
-
*/
|
|
9727
|
-
createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
|
|
9728
|
-
getScreenCoordinateFromCoordinate(coordinate: Coordinate): {
|
|
10846
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/collisions/system' {
|
|
10847
|
+
import { QuadTree } from '@packages/internal/quad-tree';
|
|
10848
|
+
import '../../styles/collisions.scss';
|
|
10849
|
+
import type { MarkerComponent } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
10850
|
+
import type LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
|
|
10851
|
+
import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
|
|
10852
|
+
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10853
|
+
import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor';
|
|
10854
|
+
import type { WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
|
|
10855
|
+
export type TMessageEvent = MessageEvent<{
|
|
10856
|
+
msgId: string;
|
|
10857
|
+
colliders: TSerializedColliderResponse[];
|
|
10858
|
+
debug: {
|
|
9729
10859
|
x: number;
|
|
9730
10860
|
y: number;
|
|
9731
|
-
|
|
9732
|
-
|
|
9733
|
-
|
|
9734
|
-
|
|
9735
|
-
|
|
10861
|
+
w: number;
|
|
10862
|
+
h: number;
|
|
10863
|
+
}[];
|
|
10864
|
+
}>;
|
|
10865
|
+
export type TMessage = {
|
|
10866
|
+
msgId: string;
|
|
10867
|
+
totalWidth: number;
|
|
10868
|
+
totalHeight: number;
|
|
10869
|
+
watermarkWidth: number;
|
|
10870
|
+
watermarkHeight: number;
|
|
10871
|
+
watermarkPosition: WatermarkPosition;
|
|
10872
|
+
colliders: TSerializedCollider[];
|
|
10873
|
+
devicePixelRatio: number;
|
|
10874
|
+
};
|
|
10875
|
+
type TCollisionSystemEvent = {
|
|
10876
|
+
'visibility-changed': undefined;
|
|
10877
|
+
};
|
|
10878
|
+
export type PackedBBox = [x: number, y: number, w: number, h: number, index: number];
|
|
10879
|
+
export type PackedBBoxes = PackedBBox[];
|
|
10880
|
+
export type PackedCollider = [
|
|
10881
|
+
bboxes: PackedBBoxes,
|
|
10882
|
+
enabled: 0 | 1,
|
|
10883
|
+
alwaysVisible: 0 | 1,
|
|
10884
|
+
x: number,
|
|
10885
|
+
y: number,
|
|
10886
|
+
shouldCollideWithScreenEdges?: 0 | 1,
|
|
10887
|
+
onlyExposeStrategyIndex?: number
|
|
10888
|
+
];
|
|
10889
|
+
export type PackedMessage = [
|
|
10890
|
+
colliders: PackedCollider[],
|
|
10891
|
+
devicePixelRatio: number,
|
|
10892
|
+
totalHeight: number,
|
|
10893
|
+
totalWidth: number,
|
|
10894
|
+
watermarkWidth: number,
|
|
10895
|
+
watermarkHeight: number,
|
|
10896
|
+
watermarkPosition: WatermarkPosition
|
|
10897
|
+
];
|
|
10898
|
+
export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
|
|
10899
|
+
collidersDirty: boolean;
|
|
10900
|
+
packedMessage: PackedMessage;
|
|
10901
|
+
visibleCollidersQTree: QuadTree<{
|
|
10902
|
+
entityId: string | number;
|
|
10903
|
+
}>;
|
|
10904
|
+
interactiveCollidersQTree: QuadTree<{
|
|
10905
|
+
entityId: string | number;
|
|
10906
|
+
}>;
|
|
10907
|
+
coreState: RendererState;
|
|
10908
|
+
constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
|
|
10909
|
+
postMessage: () => void;
|
|
10910
|
+
showCollisionBoxes: () => void;
|
|
10911
|
+
hideCollisionBoxes: () => void;
|
|
10912
|
+
currentMsgId: string;
|
|
10913
|
+
working: boolean;
|
|
10914
|
+
componentArray: (MarkerComponent | LabelComponent)[];
|
|
10915
|
+
update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition, isPanning?: boolean) => void;
|
|
10916
|
+
resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
|
|
10917
|
+
/**
|
|
10918
|
+
* Resolve collisions
|
|
10919
|
+
*/
|
|
10920
|
+
resolve: (e: MessageEvent<{
|
|
10921
|
+
msgId: string;
|
|
10922
|
+
colliders: TSerializedColliderResponse[];
|
|
10923
|
+
}>) => void;
|
|
10924
|
+
drawDebug: () => void;
|
|
10925
|
+
destroy: () => void;
|
|
10926
|
+
}
|
|
10927
|
+
/**
|
|
10928
|
+
* Sets the URL for the collision system worker script.
|
|
10929
|
+
*
|
|
10930
|
+
* This function allows specifying a custom URL for the collision system's web worker,
|
|
10931
|
+
* which is particularly useful in environments with strict Content Security Policy (CSP)
|
|
10932
|
+
* that don't allow blob: URLs or inline scripts.
|
|
10933
|
+
*
|
|
10934
|
+
* When provided, the collision system will load its worker from the specified URL
|
|
10935
|
+
* instead of creating an inline worker from a blob. This enables compatibility with
|
|
10936
|
+
* environments that have restrictive CSP settings.
|
|
10937
|
+
*
|
|
10938
|
+
* @param url - The absolute URL pointing to the collision worker script.
|
|
10939
|
+
* This should be a URL where the compiled version of the worker.ts file is hosted.
|
|
10940
|
+
*
|
|
10941
|
+
* @example
|
|
10942
|
+
* ```typescript
|
|
10943
|
+
* // Set a custom URL for the collision worker
|
|
10944
|
+
* import { setWorkerUrl } from '@mappedin/core-sdk';
|
|
10945
|
+
*
|
|
10946
|
+
* // Must be called before initializing any maps
|
|
10947
|
+
* setWorkerUrl('https://cdn.example.com/workers/collision-worker.js');
|
|
10948
|
+
* ```
|
|
10949
|
+
*
|
|
10950
|
+
* @remarks
|
|
10951
|
+
* - This function must be called before any map instances are created
|
|
10952
|
+
* - The worker file must be built and hosted separately as part of your deployment process
|
|
10953
|
+
* - Ideal for applications that need to comply with strict CSP requirements
|
|
10954
|
+
*/
|
|
10955
|
+
export function setWorkerUrl(url: string): void;
|
|
10956
|
+
export {};
|
|
10957
|
+
}
|
|
10958
|
+
|
|
10959
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/exporter' {
|
|
10960
|
+
export { ExporterSystem, type GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter/exporter';
|
|
10961
|
+
}
|
|
10962
|
+
|
|
10963
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/html-controls/system' {
|
|
10964
|
+
import type { Map } from '@mappedin/react-sdk/packages/outdoor-context-v4';
|
|
10965
|
+
import '../../styles/html-controls.scss';
|
|
10966
|
+
/**
|
|
10967
|
+
* All possible control anchor positions.
|
|
10968
|
+
*/
|
|
10969
|
+
export const ATTRIBUTION_POSITIONS: readonly ["top-left", "top-right", "bottom-left", "bottom-right"];
|
|
10970
|
+
export type AttributionPosition = (typeof ATTRIBUTION_POSITIONS)[number];
|
|
10971
|
+
export type AttributionControlOptions = {
|
|
10972
|
+
custom?: string[];
|
|
10973
|
+
position?: AttributionPosition;
|
|
10974
|
+
feedback?: boolean;
|
|
10975
|
+
};
|
|
10976
|
+
export class HTMLControlsSystem {
|
|
10977
|
+
controlContainerEl: HTMLDivElement;
|
|
10978
|
+
controlPositions: Record<AttributionPosition, HTMLDivElement>;
|
|
10979
|
+
compact: boolean | undefined;
|
|
10980
|
+
attribContainerEl?: HTMLDetailsElement;
|
|
10981
|
+
attribInnerEl?: HTMLDivElement;
|
|
10982
|
+
attribButtonEl?: HTMLElement;
|
|
10983
|
+
feedbackLinkEl?: HTMLAnchorElement;
|
|
10984
|
+
attribHTML: string;
|
|
10985
|
+
customAttributions: string[];
|
|
10986
|
+
constructor(container: HTMLElement);
|
|
10987
|
+
addAttributionControl(options?: AttributionControlOptions): void;
|
|
10988
|
+
toggleAttribution: (e: MouseEvent) => void;
|
|
10989
|
+
destroyAttributionControl(): void;
|
|
10990
|
+
resize(canvasWidth: number): void;
|
|
9736
10991
|
/**
|
|
9737
|
-
*
|
|
10992
|
+
* This should fire when Maplibre data changes.
|
|
9738
10993
|
*/
|
|
9739
|
-
|
|
9740
|
-
clear(): void;
|
|
10994
|
+
updateData(map: Map): void;
|
|
9741
10995
|
destroy(): void;
|
|
9742
10996
|
}
|
|
9743
10997
|
}
|
|
9744
10998
|
|
|
10999
|
+
declare module '@mappedin/react-sdk/geojson/src/components/styles' {
|
|
11000
|
+
export { StyleComponent, DEFAULT_COLOR, type MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
11001
|
+
export { Text3DStyleComponent, type Text3DStyle, DEFAULT_TEXT_STYLE } from '@mappedin/react-sdk/geojson/src/components/styles/text-style';
|
|
11002
|
+
export { ModelStyleComponnet, type ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles/model-style';
|
|
11003
|
+
export { DEFAULT_ROTATION, DEFAULT_SCALE } from '@mappedin/react-sdk/geojson/src/components/styles/constants';
|
|
11004
|
+
}
|
|
11005
|
+
|
|
9745
11006
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
9746
11007
|
import type { ParsedMVF } from '@mappedin/mvf';
|
|
9747
11008
|
import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
|
|
@@ -9753,12 +11014,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
9753
11014
|
import { type AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
|
|
9754
11015
|
import { StackedMaps } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
9755
11016
|
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
9756
|
-
import type { Path, Shape
|
|
11017
|
+
import type { Path, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
9757
11018
|
import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9758
11019
|
import { Space, Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9759
11020
|
import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
9760
11021
|
import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
|
|
9761
|
-
import { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus';
|
|
9762
11022
|
import type { Text3DState } from '@mappedin/core-sdk/src/components/text3d';
|
|
9763
11023
|
export class GeojsonApiMapObject extends PubSub<{
|
|
9764
11024
|
'floor-change': {
|
|
@@ -9794,7 +11054,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
9794
11054
|
options: TShow3DMapOptions;
|
|
9795
11055
|
styleMap: AggregatedStyleMap;
|
|
9796
11056
|
StackedMaps: StackedMaps;
|
|
9797
|
-
DynamicFocus: DynamicFocus;
|
|
9798
11057
|
get currentFloorStack(): FloorStackObject;
|
|
9799
11058
|
setFloorStack(floorStackId: string, reason?: TFloorChangeReason): void;
|
|
9800
11059
|
get currentFloor(): FloorObject;
|
|
@@ -9817,7 +11076,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
9817
11076
|
removeAll: () => void;
|
|
9818
11077
|
};
|
|
9819
11078
|
Markers: {
|
|
9820
|
-
add: (coordinate: Coordinate, html: string, opts: TAddMarkerOptions
|
|
11079
|
+
add: (coordinate: Coordinate, html: string, opts: TAddMarkerOptions & {
|
|
11080
|
+
attachTo?: string;
|
|
11081
|
+
}) => EntityId<MarkerState>;
|
|
9821
11082
|
remove: (id: string) => void;
|
|
9822
11083
|
getContentEl: (id: string) => HTMLElement | undefined;
|
|
9823
11084
|
removeAll: () => void;
|
|
@@ -9844,14 +11105,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
9844
11105
|
labelOptions?: TAddLabelOptions;
|
|
9845
11106
|
}) => void;
|
|
9846
11107
|
add: (coordinate: Coordinate, text: string, opts?: AddLabelOptions & {
|
|
9847
|
-
|
|
9848
|
-
parentId?: string;
|
|
11108
|
+
attachTo?: string;
|
|
9849
11109
|
verticalOffset?: number;
|
|
9850
11110
|
}) => {
|
|
9851
11111
|
id: string | number;
|
|
9852
11112
|
};
|
|
9853
|
-
remove: ({
|
|
9854
|
-
label: Label;
|
|
11113
|
+
remove: ({ entityId }: {
|
|
9855
11114
|
entityId: string;
|
|
9856
11115
|
}) => void;
|
|
9857
11116
|
removeAll: () => void;
|
|
@@ -10308,7 +11567,44 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
|
10308
11567
|
* @param options Optional settings for the camera animation.
|
|
10309
11568
|
*/
|
|
10310
11569
|
animateElevation(elevation: number, options?: TCameraAnimationOptions): Promise<void>;
|
|
11570
|
+
/**
|
|
11571
|
+
* @internal
|
|
11572
|
+
* @experimental
|
|
11573
|
+
* Force an update of the facades in view.
|
|
11574
|
+
*/
|
|
11575
|
+
updateFacadesInView(): void;
|
|
11576
|
+
}
|
|
11577
|
+
}
|
|
11578
|
+
|
|
11579
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter' {
|
|
11580
|
+
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
11581
|
+
import type { GLTFExportOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
11582
|
+
/**
|
|
11583
|
+
* API to export the scene.
|
|
11584
|
+
*
|
|
11585
|
+
* @hidden
|
|
11586
|
+
*/
|
|
11587
|
+
export class Exporter {
|
|
11588
|
+
#private;
|
|
11589
|
+
/**
|
|
11590
|
+
* @internal
|
|
11591
|
+
*/
|
|
11592
|
+
get currentMap(): GeojsonApiMapObject | undefined;
|
|
11593
|
+
/**
|
|
11594
|
+
* @internal
|
|
11595
|
+
*/
|
|
11596
|
+
constructor({ currentMapGetter }: {
|
|
11597
|
+
currentMapGetter: CurrentMapGetter;
|
|
11598
|
+
});
|
|
11599
|
+
/**
|
|
11600
|
+
* Exports the current scene as a GLTF file.
|
|
11601
|
+
*
|
|
11602
|
+
* @hidden
|
|
11603
|
+
*/
|
|
11604
|
+
getCurrentSceneGLTF(userOptions: GLTFExportOptions): Promise<Blob>;
|
|
10311
11605
|
}
|
|
11606
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
11607
|
+
export {};
|
|
10312
11608
|
}
|
|
10313
11609
|
|
|
10314
11610
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
@@ -10473,6 +11769,80 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
10473
11769
|
export {};
|
|
10474
11770
|
}
|
|
10475
11771
|
|
|
11772
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
|
|
11773
|
+
import type { IAnchorable, TAddImageOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
11774
|
+
import { Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
11775
|
+
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
11776
|
+
/**
|
|
11777
|
+
* Images can enhance the fidelity of an indoor map. They can be used to add custom branding, highlight important features, or provide additional information to users.
|
|
11778
|
+
* Images can be placed on any {@link Door}, {@link Space}, or {@link Coordinate} on the map and given a verticalOffset to control the height at which the image is displayed.
|
|
11779
|
+
*
|
|
11780
|
+
* This class is accessed using {@link MapView.Images}.
|
|
11781
|
+
*
|
|
11782
|
+
* JPEG and PNG images are supported. It's important to consider the size of all unique image files displayed on a map at one time.
|
|
11783
|
+
* Using many unique images may cause instability on mobile devices with limited GPU memory. The Mappedin SDK will cache and reuse images that have the same URL, resulting in reduced memory usage.
|
|
11784
|
+
*
|
|
11785
|
+
* The following calculations illustrates how much memory is used for a given image:
|
|
11786
|
+
*
|
|
11787
|
+
* Formula: `width * height * 4 bytes/pixel = memory used`
|
|
11788
|
+
*
|
|
11789
|
+
* 512 x 512 Pixel Image: `512px * 512px * 4 bytes/pixel = 1MB`
|
|
11790
|
+
*
|
|
11791
|
+
* 4096 x 4096 Pixel Image: `4096px * 4096px * 4 bytes/pixel = 64MB`
|
|
11792
|
+
*
|
|
11793
|
+
* Refer to the [Images Guide](https://developer.mappedin.com/web-sdk/images-textures) for more information and interactive examples.
|
|
11794
|
+
*/
|
|
11795
|
+
export class Images {
|
|
11796
|
+
#private;
|
|
11797
|
+
/**
|
|
11798
|
+
* @internal
|
|
11799
|
+
*/
|
|
11800
|
+
get currentMap(): GeojsonApiMapObject | undefined;
|
|
11801
|
+
/**
|
|
11802
|
+
* @internal
|
|
11803
|
+
*/
|
|
11804
|
+
constructor({ currentMapGetter }: {
|
|
11805
|
+
currentMapGetter: CurrentMapGetter;
|
|
11806
|
+
});
|
|
11807
|
+
/**
|
|
11808
|
+
* @internal
|
|
11809
|
+
*/
|
|
11810
|
+
getById(id: string): {
|
|
11811
|
+
image: Image;
|
|
11812
|
+
entityId: string;
|
|
11813
|
+
} | undefined;
|
|
11814
|
+
/**
|
|
11815
|
+
* Adds an image to the map.
|
|
11816
|
+
*
|
|
11817
|
+
* @param target The target object ({@link IAnchorable}) for the image.
|
|
11818
|
+
* @param url The URL of the image.
|
|
11819
|
+
* @param options Optional additional options for the {@link Image}.
|
|
11820
|
+
* @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
|
|
11821
|
+
* @example
|
|
11822
|
+
* // Add an interactive {@link Image} to the map with custom HTML content.
|
|
11823
|
+
* mapView.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
|
|
11824
|
+
*/
|
|
11825
|
+
add(target: IAnchorable, url: string, options: TAddImageOptions): Image;
|
|
11826
|
+
/**
|
|
11827
|
+
* Removes a image from the map.
|
|
11828
|
+
*
|
|
11829
|
+
* @param image {Image} The {@link Image} which should be removed.
|
|
11830
|
+
* @example
|
|
11831
|
+
* mapView.Images.remove(image);
|
|
11832
|
+
*/
|
|
11833
|
+
remove(image: Image): void;
|
|
11834
|
+
/**
|
|
11835
|
+
* Remove all the images from the map.
|
|
11836
|
+
*
|
|
11837
|
+
* @example
|
|
11838
|
+
* mapView.Images.removeAll();
|
|
11839
|
+
*/
|
|
11840
|
+
removeAll(): Image[];
|
|
11841
|
+
}
|
|
11842
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
11843
|
+
export {};
|
|
11844
|
+
}
|
|
11845
|
+
|
|
10476
11846
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
10477
11847
|
import type { TAddModelOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
10478
11848
|
import { Model } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
@@ -10559,59 +11929,148 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths' {
|
|
|
10559
11929
|
*
|
|
10560
11930
|
* Paths is accessed using {@link MapView.Paths}.
|
|
10561
11931
|
*
|
|
10562
|
-
* Paths can be drawn from one coordinate to another using {@link Paths.add}. If using just two coordinates, the path will be drawn straight between the two points.
|
|
10563
|
-
* This may work for some scenarios, but in most cases an app will need to show the user their walking path, going through doors and avoiding walls and other objects.
|
|
10564
|
-
* Such a path of coordinates can be created by calling the {@link MapData.getDirections} method, passing in a start and end {@link TNavigationTarget}. Note that a Space requires an entrance to be used as a target.
|
|
11932
|
+
* Paths can be drawn from one coordinate to another using {@link Paths.add}. If using just two coordinates, the path will be drawn straight between the two points.
|
|
11933
|
+
* This may work for some scenarios, but in most cases an app will need to show the user their walking path, going through doors and avoiding walls and other objects.
|
|
11934
|
+
* Such a path of coordinates can be created by calling the {@link MapData.getDirections} method, passing in a start and end {@link TNavigationTarget}. Note that a Space requires an entrance to be used as a target.
|
|
11935
|
+
*
|
|
11936
|
+
* The width of the path is set using the {@link TAddPathOptions.nearRadius} and {@link TAddPathOptions.farRadius} parameters. These values are in meters. `nearRadius` is the path width used at the lowest zoom level closest to the ground and `farRadius` is used at the highest zoom level. Additional path styles are outlined later in this guide in the Path Styles section.
|
|
11937
|
+
*
|
|
11938
|
+
* Refer to the [Drawing a Path](https://developer.mappedin.com/web-sdk/wayfinding#drawing-a-path) in the Wayfinding Guide for more information and interactive examples.
|
|
11939
|
+
*/
|
|
11940
|
+
export class Paths {
|
|
11941
|
+
#private;
|
|
11942
|
+
/**
|
|
11943
|
+
* @internal
|
|
11944
|
+
*/
|
|
11945
|
+
get currentMap(): GeojsonApiMapObject | undefined;
|
|
11946
|
+
/**
|
|
11947
|
+
* @internal
|
|
11948
|
+
*/
|
|
11949
|
+
constructor({ currentMapGetter }: {
|
|
11950
|
+
currentMapGetter: CurrentMapGetter;
|
|
11951
|
+
});
|
|
11952
|
+
/**
|
|
11953
|
+
* @internal
|
|
11954
|
+
*/
|
|
11955
|
+
getById(id: string): {
|
|
11956
|
+
path: Path;
|
|
11957
|
+
entityIds: string[];
|
|
11958
|
+
} | undefined;
|
|
11959
|
+
/**
|
|
11960
|
+
* Adds a path ({@link Path}) to the map.
|
|
11961
|
+
* @param coordinate Array of coordinates ({@link Coordinate}) to form the path.
|
|
11962
|
+
* @param options Optional additional option
|
|
11963
|
+
* @example
|
|
11964
|
+
* // Add a red path to the map
|
|
11965
|
+
* mapView.Paths.add(coordinate, { color: '#ff0000' });
|
|
11966
|
+
*/
|
|
11967
|
+
add(coordinate: Coordinate[], options?: TAddPathOptions): Path;
|
|
11968
|
+
/**
|
|
11969
|
+
* Removes a specific path ({@link Path}) from the map.
|
|
11970
|
+
* @param path The path to be removed.
|
|
11971
|
+
* @example
|
|
11972
|
+
* mapView.Paths.remove(path);
|
|
11973
|
+
*/
|
|
11974
|
+
remove(path: Path): void;
|
|
11975
|
+
/**
|
|
11976
|
+
* Removes all paths ({@link Path}) from the map.
|
|
11977
|
+
*
|
|
11978
|
+
* @example
|
|
11979
|
+
* mapView.Paths.removeAll();
|
|
11980
|
+
*/
|
|
11981
|
+
removeAll(): Path[];
|
|
11982
|
+
}
|
|
11983
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
11984
|
+
export {};
|
|
11985
|
+
}
|
|
11986
|
+
|
|
11987
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/style' {
|
|
11988
|
+
import type { StyleCollection } from '@mappedin/mvf';
|
|
11989
|
+
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
11990
|
+
export class Style {
|
|
11991
|
+
#private;
|
|
11992
|
+
/**
|
|
11993
|
+
* @internal
|
|
11994
|
+
*/
|
|
11995
|
+
get currentMap(): GeojsonApiMapObject | undefined;
|
|
11996
|
+
/**
|
|
11997
|
+
* @internal
|
|
11998
|
+
*/
|
|
11999
|
+
constructor({ currentMapGetter }: {
|
|
12000
|
+
currentMapGetter: CurrentMapGetter;
|
|
12001
|
+
});
|
|
12002
|
+
setFromStyleCollection(styleCollection: StyleCollection): void;
|
|
12003
|
+
}
|
|
12004
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
12005
|
+
export {};
|
|
12006
|
+
}
|
|
12007
|
+
|
|
12008
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
12009
|
+
import { type RendererCore } from '@mappedin/core-sdk';
|
|
12010
|
+
import type { BBox } from 'geojson';
|
|
12011
|
+
export type HiddenOutdoorGeometry = [
|
|
12012
|
+
BBox,
|
|
12013
|
+
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
12014
|
+
layers: string[]
|
|
12015
|
+
];
|
|
12016
|
+
/**
|
|
12017
|
+
* The outdoor map shown around the Mappedin indoor map can be manipulated to show or hide additional information. It can be used to add GeoJSON based geometry, images, deck.gl layers and more.
|
|
12018
|
+
*
|
|
12019
|
+
* The outdoor map is accessed using {@link MapView.Outdoor.map}, which returns a maplibregl.Map object.
|
|
12020
|
+
* [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) is a TypeScript library that uses WebGL to render interactive maps from vector tiles in a browser. The Mappedin SDK makes use of it to display the outdoor map.
|
|
12021
|
+
*
|
|
12022
|
+
* By providing access to the MapLibre map used to draw the outdoor map, the Mappedin SDK enables developers to draw on and manipulate the outdoor map.
|
|
12023
|
+
* Developers can use most capabilities of MapLibre GL JS with key exceptions being Interactivity and Camera, which are not available.
|
|
10565
12024
|
*
|
|
10566
|
-
*
|
|
12025
|
+
* User touch and click events are handled by Mappedin JS and are not propagated to the outdoor map layer. Camera movement is also handled by Mappedin JS and cannot be manipulated using MapLibre controls.
|
|
10567
12026
|
*
|
|
10568
|
-
* Refer to the [
|
|
12027
|
+
* Refer to the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map) for more information and interactive examples.
|
|
10569
12028
|
*/
|
|
10570
|
-
export class
|
|
12029
|
+
export default class Outdoor {
|
|
10571
12030
|
#private;
|
|
10572
12031
|
/**
|
|
10573
12032
|
* @internal
|
|
10574
12033
|
*/
|
|
10575
|
-
|
|
12034
|
+
constructor(core: RendererCore, hiddenOutdoorGeometry?: HiddenOutdoorGeometry[]);
|
|
10576
12035
|
/**
|
|
10577
|
-
*
|
|
12036
|
+
* Set the style of the outdoor map. Use one of [Mappedin's predefined styles](https://developer.mappedin.com/web-sdk/outdoor-map#styles) or link to a custom style.
|
|
12037
|
+
* @param style {any}
|
|
10578
12038
|
*/
|
|
10579
|
-
|
|
10580
|
-
currentMapGetter: CurrentMapGetter;
|
|
10581
|
-
});
|
|
12039
|
+
setStyle(style: any): void;
|
|
10582
12040
|
/**
|
|
10583
|
-
*
|
|
12041
|
+
* Returns a Maplibre map for advanced usage.
|
|
12042
|
+
*
|
|
12043
|
+
* @returns {object} Maplibre map instance
|
|
12044
|
+
*
|
|
12045
|
+
* Limitations:
|
|
12046
|
+
* - Maplibre interaction events are not supported, use Mappedin JS interaction events.
|
|
12047
|
+
* - Maplibre markers and labels may overlap as they are not integrated with the Mappedin JS collision engine.
|
|
10584
12048
|
*/
|
|
10585
|
-
|
|
10586
|
-
path: Path;
|
|
10587
|
-
entityIds: string[];
|
|
10588
|
-
} | undefined;
|
|
12049
|
+
get map(): import("@packages/internal/outdoor-context-v4").Map | undefined;
|
|
10589
12050
|
/**
|
|
10590
|
-
*
|
|
10591
|
-
* @param coordinate Array of coordinates ({@link Coordinate}) to form the path.
|
|
10592
|
-
* @param options Optional additional option
|
|
10593
|
-
* @example
|
|
10594
|
-
* // Add a red path to the map
|
|
10595
|
-
* mapView.Paths.add(coordinate, { color: '#ff0000' });
|
|
12051
|
+
* Whether the outdoorView is enabled.
|
|
10596
12052
|
*/
|
|
10597
|
-
|
|
12053
|
+
get enabled(): boolean;
|
|
10598
12054
|
/**
|
|
10599
|
-
*
|
|
10600
|
-
* @param path The path to be removed.
|
|
10601
|
-
* @example
|
|
10602
|
-
* mapView.Paths.remove(path);
|
|
12055
|
+
* Whether the outdoorView is visible.
|
|
10603
12056
|
*/
|
|
10604
|
-
|
|
12057
|
+
get visible(): boolean;
|
|
10605
12058
|
/**
|
|
10606
|
-
*
|
|
10607
|
-
*
|
|
10608
|
-
* @example
|
|
10609
|
-
* mapView.Paths.removeAll();
|
|
12059
|
+
* Show the outdoor map.
|
|
10610
12060
|
*/
|
|
10611
|
-
|
|
12061
|
+
show(): void;
|
|
12062
|
+
/**
|
|
12063
|
+
* Hide the outdoor map.
|
|
12064
|
+
* @param excludedStyleLayerIds {string[]}
|
|
12065
|
+
*/
|
|
12066
|
+
hide(excludedStyleLayerIds?: string[]): void;
|
|
12067
|
+
/**
|
|
12068
|
+
* Set outdoor view opacity.
|
|
12069
|
+
* @param targetOpacity {number | 'initial'}
|
|
12070
|
+
* @param excludedStyleLayerIds {string[]}
|
|
12071
|
+
*/
|
|
12072
|
+
setOpacity(targetOpacity: number | 'initial', excludedStyleLayerIds?: string[]): void;
|
|
10612
12073
|
}
|
|
10613
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
10614
|
-
export {};
|
|
10615
12074
|
}
|
|
10616
12075
|
|
|
10617
12076
|
declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
|
|
@@ -10709,6 +12168,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
|
|
|
10709
12168
|
*/
|
|
10710
12169
|
animateArrowsOnPath?: boolean;
|
|
10711
12170
|
};
|
|
12171
|
+
/**
|
|
12172
|
+
* Controls whether the path drawing is animated across floors.
|
|
12173
|
+
* @default true
|
|
12174
|
+
*/
|
|
12175
|
+
animatePathDrawing?: boolean;
|
|
10712
12176
|
/**
|
|
10713
12177
|
* Options for the path.
|
|
10714
12178
|
*/
|
|
@@ -10831,242 +12295,44 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
|
|
|
10831
12295
|
*/
|
|
10832
12296
|
get activePath(): Path | undefined;
|
|
10833
12297
|
/**
|
|
10834
|
-
* The current list of floor stacks along the navigation paths.
|
|
10835
|
-
*/
|
|
10836
|
-
get floorStacks(): FloorStack[];
|
|
10837
|
-
/**
|
|
10838
|
-
* The current list of floors along the navigation paths.
|
|
10839
|
-
*/
|
|
10840
|
-
get floors(): Floor[];
|
|
10841
|
-
/**
|
|
10842
|
-
* Sets the active path by index.
|
|
10843
|
-
*/
|
|
10844
|
-
setActivePathByIndex(target: number): void;
|
|
10845
|
-
/**
|
|
10846
|
-
* Sets the active path.
|
|
10847
|
-
*/
|
|
10848
|
-
setActivePath(target: Path): void;
|
|
10849
|
-
/**
|
|
10850
|
-
* Sets the active path by directions.
|
|
10851
|
-
*/
|
|
10852
|
-
setActivePathByDirections(target: Directions): void;
|
|
10853
|
-
/**
|
|
10854
|
-
* @internal
|
|
10855
|
-
*/
|
|
10856
|
-
drawSync(directions: Directions | Directions[], options?: TNavigationOptions): void;
|
|
10857
|
-
/**
|
|
10858
|
-
* Draws the specified directions on the map.
|
|
10859
|
-
* @param directions The directions to be drawn.
|
|
10860
|
-
* @param options Optional additional options for the navigation.
|
|
10861
|
-
*/
|
|
10862
|
-
draw(directions: Directions | Directions[], options?: TNavigationOptions): Promise<unknown>;
|
|
10863
|
-
/**
|
|
10864
|
-
* Clears any drawn navigation paths or directions from the map.
|
|
10865
|
-
*/
|
|
10866
|
-
clear(): void;
|
|
10867
|
-
}
|
|
10868
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
10869
|
-
export {};
|
|
10870
|
-
}
|
|
10871
|
-
|
|
10872
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/exporter' {
|
|
10873
|
-
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
10874
|
-
import type { GLTFExportOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
10875
|
-
/**
|
|
10876
|
-
* API to export the scene.
|
|
10877
|
-
*
|
|
10878
|
-
* @hidden
|
|
10879
|
-
*/
|
|
10880
|
-
export class Exporter {
|
|
10881
|
-
#private;
|
|
10882
|
-
/**
|
|
10883
|
-
* @internal
|
|
10884
|
-
*/
|
|
10885
|
-
get currentMap(): GeojsonApiMapObject | undefined;
|
|
10886
|
-
/**
|
|
10887
|
-
* @internal
|
|
10888
|
-
*/
|
|
10889
|
-
constructor({ currentMapGetter }: {
|
|
10890
|
-
currentMapGetter: CurrentMapGetter;
|
|
10891
|
-
});
|
|
10892
|
-
/**
|
|
10893
|
-
* Exports the current scene as a GLTF file.
|
|
10894
|
-
*
|
|
10895
|
-
* @hidden
|
|
10896
|
-
*/
|
|
10897
|
-
getCurrentSceneGLTF(userOptions: GLTFExportOptions): Promise<Blob>;
|
|
10898
|
-
}
|
|
10899
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
10900
|
-
export {};
|
|
10901
|
-
}
|
|
10902
|
-
|
|
10903
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/style' {
|
|
10904
|
-
import type { StyleCollection } from '@mappedin/mvf';
|
|
10905
|
-
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
10906
|
-
export class Style {
|
|
10907
|
-
#private;
|
|
10908
|
-
/**
|
|
10909
|
-
* @internal
|
|
10910
|
-
*/
|
|
10911
|
-
get currentMap(): GeojsonApiMapObject | undefined;
|
|
10912
|
-
/**
|
|
10913
|
-
* @internal
|
|
10914
|
-
*/
|
|
10915
|
-
constructor({ currentMapGetter }: {
|
|
10916
|
-
currentMapGetter: CurrentMapGetter;
|
|
10917
|
-
});
|
|
10918
|
-
setFromStyleCollection(styleCollection: StyleCollection): void;
|
|
10919
|
-
}
|
|
10920
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
10921
|
-
export {};
|
|
10922
|
-
}
|
|
10923
|
-
|
|
10924
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
10925
|
-
import { type RendererCore } from '@mappedin/core-sdk';
|
|
10926
|
-
import type { BBox } from 'geojson';
|
|
10927
|
-
export type HiddenOutdoorGeometry = [
|
|
10928
|
-
BBox,
|
|
10929
|
-
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
10930
|
-
layers: string[]
|
|
10931
|
-
];
|
|
10932
|
-
/**
|
|
10933
|
-
* The outdoor map shown around the Mappedin indoor map can be manipulated to show or hide additional information. It can be used to add GeoJSON based geometry, images, deck.gl layers and more.
|
|
10934
|
-
*
|
|
10935
|
-
* The outdoor map is accessed using {@link MapView.Outdoor.map}, which returns a maplibregl.Map object.
|
|
10936
|
-
* [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) is a TypeScript library that uses WebGL to render interactive maps from vector tiles in a browser. The Mappedin SDK makes use of it to display the outdoor map.
|
|
10937
|
-
*
|
|
10938
|
-
* By providing access to the MapLibre map used to draw the outdoor map, the Mappedin SDK enables developers to draw on and manipulate the outdoor map.
|
|
10939
|
-
* Developers can use most capabilities of MapLibre GL JS with key exceptions being Interactivity and Camera, which are not available.
|
|
10940
|
-
*
|
|
10941
|
-
* User touch and click events are handled by Mappedin JS and are not propagated to the outdoor map layer. Camera movement is also handled by Mappedin JS and cannot be manipulated using MapLibre controls.
|
|
10942
|
-
*
|
|
10943
|
-
* Refer to the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map) for more information and interactive examples.
|
|
10944
|
-
*/
|
|
10945
|
-
export default class Outdoor {
|
|
10946
|
-
#private;
|
|
10947
|
-
/**
|
|
10948
|
-
* @internal
|
|
10949
|
-
*/
|
|
10950
|
-
constructor(core: RendererCore, hiddenOutdoorGeometry?: HiddenOutdoorGeometry[]);
|
|
10951
|
-
/**
|
|
10952
|
-
* Set the style of the outdoor map. Use one of [Mappedin's predefined styles](https://developer.mappedin.com/web-sdk/outdoor-map#styles) or link to a custom style.
|
|
10953
|
-
* @param style {any}
|
|
10954
|
-
*/
|
|
10955
|
-
setStyle(style: any): void;
|
|
10956
|
-
/**
|
|
10957
|
-
* Returns a Maplibre map for advanced usage.
|
|
10958
|
-
*
|
|
10959
|
-
* @returns {object} Maplibre map instance
|
|
10960
|
-
*
|
|
10961
|
-
* Limitations:
|
|
10962
|
-
* - Maplibre interaction events are not supported, use Mappedin JS interaction events.
|
|
10963
|
-
* - Maplibre markers and labels may overlap as they are not integrated with the Mappedin JS collision engine.
|
|
10964
|
-
*/
|
|
10965
|
-
get map(): import("@packages/internal/outdoor-context-v4").Map | undefined;
|
|
10966
|
-
/**
|
|
10967
|
-
* Whether the outdoorView is enabled.
|
|
10968
|
-
*/
|
|
10969
|
-
get enabled(): boolean;
|
|
10970
|
-
/**
|
|
10971
|
-
* Whether the outdoorView is visible.
|
|
10972
|
-
*/
|
|
10973
|
-
get visible(): boolean;
|
|
10974
|
-
/**
|
|
10975
|
-
* Show the outdoor map.
|
|
10976
|
-
*/
|
|
10977
|
-
show(): void;
|
|
10978
|
-
/**
|
|
10979
|
-
* Hide the outdoor map.
|
|
10980
|
-
* @param excludedStyleLayerIds {string[]}
|
|
10981
|
-
*/
|
|
10982
|
-
hide(excludedStyleLayerIds?: string[]): void;
|
|
10983
|
-
/**
|
|
10984
|
-
* Set outdoor view opacity.
|
|
10985
|
-
* @param targetOpacity {number | 'initial'}
|
|
10986
|
-
* @param excludedStyleLayerIds {string[]}
|
|
10987
|
-
*/
|
|
10988
|
-
setOpacity(targetOpacity: number | 'initial', excludedStyleLayerIds?: string[]): void;
|
|
10989
|
-
}
|
|
10990
|
-
}
|
|
10991
|
-
|
|
10992
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
|
|
10993
|
-
import type { IAnchorable, TAddImageOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
10994
|
-
import { Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
10995
|
-
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
10996
|
-
/**
|
|
10997
|
-
* Images can enhance the fidelity of an indoor map. They can be used to add custom branding, highlight important features, or provide additional information to users.
|
|
10998
|
-
* Images can be placed on any {@link Door}, {@link Space}, or {@link Coordinate} on the map and given a verticalOffset to control the height at which the image is displayed.
|
|
10999
|
-
*
|
|
11000
|
-
* This class is accessed using {@link MapView.Images}.
|
|
11001
|
-
*
|
|
11002
|
-
* JPEG and PNG images are supported. It's important to consider the size of all unique image files displayed on a map at one time.
|
|
11003
|
-
* Using many unique images may cause instability on mobile devices with limited GPU memory. The Mappedin SDK will cache and reuse images that have the same URL, resulting in reduced memory usage.
|
|
11004
|
-
*
|
|
11005
|
-
* The following calculations illustrates how much memory is used for a given image:
|
|
11006
|
-
*
|
|
11007
|
-
* Formula: `width * height * 4 bytes/pixel = memory used`
|
|
11008
|
-
*
|
|
11009
|
-
* 512 x 512 Pixel Image: `512px * 512px * 4 bytes/pixel = 1MB`
|
|
11010
|
-
*
|
|
11011
|
-
* 4096 x 4096 Pixel Image: `4096px * 4096px * 4 bytes/pixel = 64MB`
|
|
11012
|
-
*
|
|
11013
|
-
* Refer to the [Images Guide](https://developer.mappedin.com/web-sdk/images-textures) for more information and interactive examples.
|
|
11014
|
-
*/
|
|
11015
|
-
export class Images {
|
|
11016
|
-
#private;
|
|
11017
|
-
/**
|
|
11018
|
-
* @internal
|
|
12298
|
+
* The current list of floor stacks along the navigation paths.
|
|
11019
12299
|
*/
|
|
11020
|
-
get
|
|
12300
|
+
get floorStacks(): FloorStack[];
|
|
11021
12301
|
/**
|
|
11022
|
-
*
|
|
12302
|
+
* The current list of floors along the navigation paths.
|
|
11023
12303
|
*/
|
|
11024
|
-
|
|
11025
|
-
currentMapGetter: CurrentMapGetter;
|
|
11026
|
-
});
|
|
12304
|
+
get floors(): Floor[];
|
|
11027
12305
|
/**
|
|
11028
|
-
*
|
|
12306
|
+
* Sets the active path by index.
|
|
11029
12307
|
*/
|
|
11030
|
-
|
|
11031
|
-
image: Image;
|
|
11032
|
-
entityId: string;
|
|
11033
|
-
} | undefined;
|
|
12308
|
+
setActivePathByIndex(target: number): void;
|
|
11034
12309
|
/**
|
|
11035
|
-
*
|
|
11036
|
-
*
|
|
11037
|
-
* @param target The target object ({@link IAnchorable}) for the image.
|
|
11038
|
-
* @param url The URL of the image.
|
|
11039
|
-
* @param options Optional additional options for the {@link Image}.
|
|
11040
|
-
* @returns {Image | undefined} The created {@link Image}, or undefined if creation failed.
|
|
11041
|
-
* @example
|
|
11042
|
-
* // Add an interactive {@link Image} to the map with custom HTML content.
|
|
11043
|
-
* mapView.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
|
|
12310
|
+
* Sets the active path.
|
|
11044
12311
|
*/
|
|
11045
|
-
|
|
12312
|
+
setActivePath(target: Path): void;
|
|
11046
12313
|
/**
|
|
11047
|
-
*
|
|
11048
|
-
*
|
|
11049
|
-
* @param image {Image} The {@link Image} which should be removed.
|
|
11050
|
-
* @example
|
|
11051
|
-
* mapView.Images.remove(image);
|
|
12314
|
+
* Sets the active path by directions.
|
|
11052
12315
|
*/
|
|
11053
|
-
|
|
12316
|
+
setActivePathByDirections(target: Directions): void;
|
|
11054
12317
|
/**
|
|
11055
|
-
*
|
|
11056
|
-
*
|
|
11057
|
-
* @example
|
|
11058
|
-
* mapView.Images.removeAll();
|
|
12318
|
+
* @internal
|
|
11059
12319
|
*/
|
|
11060
|
-
|
|
12320
|
+
drawSync(directions: Directions | Directions[], options?: TNavigationOptions): void;
|
|
12321
|
+
/**
|
|
12322
|
+
* Draws the specified directions on the map.
|
|
12323
|
+
* @param directions The directions to be drawn.
|
|
12324
|
+
* @param options Optional additional options for the navigation.
|
|
12325
|
+
*/
|
|
12326
|
+
draw(directions: Directions | Directions[], options?: TNavigationOptions): Promise<unknown>;
|
|
12327
|
+
/**
|
|
12328
|
+
* Clears any drawn navigation paths or directions from the map.
|
|
12329
|
+
*/
|
|
12330
|
+
clear(): void;
|
|
11061
12331
|
}
|
|
11062
12332
|
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
11063
12333
|
export {};
|
|
11064
12334
|
}
|
|
11065
12335
|
|
|
11066
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus' {
|
|
11067
|
-
export { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus/dynamic-focus';
|
|
11068
|
-
}
|
|
11069
|
-
|
|
11070
12336
|
declare module '@mappedin/react-sdk/mappedin-js/src/search/internal' {
|
|
11071
12337
|
import type { SearchResult as MiniSearchResult, Suggestion, MatchInfo } from 'minisearch';
|
|
11072
12338
|
import type { Places } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
@@ -11646,6 +12912,60 @@ declare module '@mappedin/react-sdk/mappedin-js/src/analytics/customer' {
|
|
|
11646
12912
|
export {};
|
|
11647
12913
|
}
|
|
11648
12914
|
|
|
12915
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/tokens/access-token' {
|
|
12916
|
+
import { type TGetMapDataWithCredentialsOptions } from '@mappedin/react-sdk/packages/mvf-utils/mvf-utils';
|
|
12917
|
+
export const ACCESS_TOKEN_REFRESH_BUFFER_MINUTES = 60;
|
|
12918
|
+
export const ACCESS_TOKEN_REFRESH_BUFFER_MS: number;
|
|
12919
|
+
export const ACCESS_TOKEN_STORAGE_KEY = "accessTokens";
|
|
12920
|
+
type AccessToken = {
|
|
12921
|
+
accessToken: string;
|
|
12922
|
+
expiresTimestamp: number;
|
|
12923
|
+
};
|
|
12924
|
+
type TGetAccessTokenOptions = Pick<TGetMapDataWithCredentialsOptions, 'baseUri' | 'baseAuthUri' | 'key' | 'secret'>;
|
|
12925
|
+
/**
|
|
12926
|
+
* Get an access token from storage or fetch it from the API using API keys.
|
|
12927
|
+
*/
|
|
12928
|
+
export function getAccessToken(userOptions: TGetAccessTokenOptions, enterprise?: boolean): Promise<AccessToken>;
|
|
12929
|
+
/**
|
|
12930
|
+
* Fetch an access token for enterprise.
|
|
12931
|
+
*/
|
|
12932
|
+
export function fetchAccessTokenEnterprise(userOptions: TGetAccessTokenOptions, currentTimestamp: number): Promise<AccessToken>;
|
|
12933
|
+
export {};
|
|
12934
|
+
}
|
|
12935
|
+
|
|
12936
|
+
declare module '@mappedin/react-sdk/packages/mvf-utils/tokens/sas-token' {
|
|
12937
|
+
export const SAS_TOKEN_REFRESH_BUFFER_MINUTES = 60;
|
|
12938
|
+
export const SAS_TOKEN_REFRESH_BUFFER_MS: number;
|
|
12939
|
+
export const SAS_TOKEN_STORAGE_KEY = "miSasTokens";
|
|
12940
|
+
type SasToken = {
|
|
12941
|
+
token: string;
|
|
12942
|
+
expires: number;
|
|
12943
|
+
};
|
|
12944
|
+
/**
|
|
12945
|
+
* Fetch the SAS Token either from sesion storage or from the API using the access token.
|
|
12946
|
+
* @param userOptions - The user options.
|
|
12947
|
+
* @returns The SAS Token.
|
|
12948
|
+
*/
|
|
12949
|
+
export function getSasToken(userOptions: {
|
|
12950
|
+
mapId: string;
|
|
12951
|
+
baseUri?: string;
|
|
12952
|
+
}, accessToken: string): Promise<SasToken>;
|
|
12953
|
+
/**
|
|
12954
|
+
* Fetch the SAS Token for private images using the access token.
|
|
12955
|
+
* @param userOptions - The user options.
|
|
12956
|
+
* @param accessToken - The access token.
|
|
12957
|
+
* @returns The SAS Token.
|
|
12958
|
+
*/
|
|
12959
|
+
export function fetchSasToken(userOptions: {
|
|
12960
|
+
mapId: string;
|
|
12961
|
+
baseUri?: string;
|
|
12962
|
+
}, accessToken: string): Promise<{
|
|
12963
|
+
token: string;
|
|
12964
|
+
expires: number;
|
|
12965
|
+
}>;
|
|
12966
|
+
export {};
|
|
12967
|
+
}
|
|
12968
|
+
|
|
11649
12969
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object' {
|
|
11650
12970
|
export default abstract class BaseMetaData {
|
|
11651
12971
|
/**
|
|
@@ -11746,90 +13066,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/opening-hou
|
|
|
11746
13066
|
}
|
|
11747
13067
|
}
|
|
11748
13068
|
|
|
11749
|
-
declare module '@mappedin/react-sdk/geojson/src/systems/collisions/system' {
|
|
11750
|
-
import { QuadTree } from '@packages/internal/quad-tree';
|
|
11751
|
-
import '../../styles/collisions.scss';
|
|
11752
|
-
import type { MarkerComponent } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
11753
|
-
import type LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
|
|
11754
|
-
import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
|
|
11755
|
-
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11756
|
-
import type { TSerializedCollider, TSerializedColliderResponse } from '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor';
|
|
11757
|
-
import type { WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
|
|
11758
|
-
export type TMessageEvent = MessageEvent<{
|
|
11759
|
-
msgId: string;
|
|
11760
|
-
colliders: TSerializedColliderResponse[];
|
|
11761
|
-
debug: {
|
|
11762
|
-
x: number;
|
|
11763
|
-
y: number;
|
|
11764
|
-
w: number;
|
|
11765
|
-
h: number;
|
|
11766
|
-
}[];
|
|
11767
|
-
}>;
|
|
11768
|
-
export type TMessage = {
|
|
11769
|
-
msgId: string;
|
|
11770
|
-
totalWidth: number;
|
|
11771
|
-
totalHeight: number;
|
|
11772
|
-
watermarkWidth: number;
|
|
11773
|
-
watermarkHeight: number;
|
|
11774
|
-
watermarkPosition: WatermarkPosition;
|
|
11775
|
-
colliders: TSerializedCollider[];
|
|
11776
|
-
devicePixelRatio: number;
|
|
11777
|
-
};
|
|
11778
|
-
type TCollisionSystemEvent = {
|
|
11779
|
-
'visibility-changed': undefined;
|
|
11780
|
-
};
|
|
11781
|
-
export type PackedBBox = [x: number, y: number, w: number, h: number, index: number];
|
|
11782
|
-
export type PackedBBoxes = PackedBBox[];
|
|
11783
|
-
export type PackedCollider = [
|
|
11784
|
-
bboxes: PackedBBoxes,
|
|
11785
|
-
enabled: 0 | 1,
|
|
11786
|
-
alwaysVisible: 0 | 1,
|
|
11787
|
-
x: number,
|
|
11788
|
-
y: number,
|
|
11789
|
-
shouldCollideWithScreenEdges?: 0 | 1,
|
|
11790
|
-
onlyExposeStrategyIndex?: number
|
|
11791
|
-
];
|
|
11792
|
-
export type PackedMessage = [
|
|
11793
|
-
colliders: PackedCollider[],
|
|
11794
|
-
devicePixelRatio: number,
|
|
11795
|
-
totalHeight: number,
|
|
11796
|
-
totalWidth: number,
|
|
11797
|
-
watermarkWidth: number,
|
|
11798
|
-
watermarkHeight: number,
|
|
11799
|
-
watermarkPosition: WatermarkPosition
|
|
11800
|
-
];
|
|
11801
|
-
export class CollisionSystem extends PubSub<TCollisionSystemEvent, keyof TCollisionSystemEvent> {
|
|
11802
|
-
collidersDirty: boolean;
|
|
11803
|
-
packedMessage: PackedMessage;
|
|
11804
|
-
visibleCollidersQTree: QuadTree<{
|
|
11805
|
-
entityId: string | number;
|
|
11806
|
-
}>;
|
|
11807
|
-
interactiveCollidersQTree: QuadTree<{
|
|
11808
|
-
entityId: string | number;
|
|
11809
|
-
}>;
|
|
11810
|
-
coreState: RendererState;
|
|
11811
|
-
constructor(debugCanvas: HTMLCanvasElement, coreState: RendererState, worker?: Worker);
|
|
11812
|
-
postMessage: () => void;
|
|
11813
|
-
showCollisionBoxes: () => void;
|
|
11814
|
-
hideCollisionBoxes: () => void;
|
|
11815
|
-
currentMsgId: string;
|
|
11816
|
-
working: boolean;
|
|
11817
|
-
componentArray: (MarkerComponent | LabelComponent)[];
|
|
11818
|
-
update: (watermarkWidth: number, watermarkHeight: number, watermarkPosition?: WatermarkPosition, isPanning?: boolean) => void;
|
|
11819
|
-
resize(watermarkWidth: number, watermarkHeight: number, watermarkPosition: WatermarkPosition): void;
|
|
11820
|
-
/**
|
|
11821
|
-
* Resolve collisions
|
|
11822
|
-
*/
|
|
11823
|
-
resolve: (e: MessageEvent<{
|
|
11824
|
-
msgId: string;
|
|
11825
|
-
colliders: TSerializedColliderResponse[];
|
|
11826
|
-
}>) => void;
|
|
11827
|
-
drawDebug: () => void;
|
|
11828
|
-
destroy: () => void;
|
|
11829
|
-
}
|
|
11830
|
-
export {};
|
|
11831
|
-
}
|
|
11832
|
-
|
|
11833
13069
|
declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
11834
13070
|
import { Object3D } from 'three';
|
|
11835
13071
|
import type { Mesh, Object3DEventMap, ShaderMaterial, Texture, TubeGeometry, Color, Vector2, Raycaster } from 'three';
|
|
@@ -11845,10 +13081,12 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
|
11845
13081
|
import { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
11846
13082
|
import type { Text3DComponent } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
11847
13083
|
import type { ModelStyleComponnet, Text3DStyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
13084
|
+
import type { OutlineComponent } from '@mappedin/react-sdk/geojson/src/components/outline';
|
|
11848
13085
|
export enum Geometry3DComponents {
|
|
11849
13086
|
Mesh = 0,
|
|
11850
13087
|
Style = 1,
|
|
11851
|
-
Interaction = 2
|
|
13088
|
+
Interaction = 2,
|
|
13089
|
+
Outline = 3
|
|
11852
13090
|
}
|
|
11853
13091
|
type Geometry3DObjectTypes = 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image' | 'text3d';
|
|
11854
13092
|
export class Geometry3DObject3D extends Object3D {
|
|
@@ -11877,16 +13115,17 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
|
11877
13115
|
}
|
|
11878
13116
|
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | Text3DComponent | ImageComponent;
|
|
11879
13117
|
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;
|
|
11880
|
-
export class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends StyleComponent | Text3DStyleComponent | ModelStyleComponnet = StyleComponent, I extends InteractionComponent = InteractionComponent, T extends MappedComponentType<M> = MappedComponentType<M
|
|
13118
|
+
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> {
|
|
11881
13119
|
id: string | number;
|
|
11882
|
-
components: [M, S, I?];
|
|
13120
|
+
components: [M, S, I?, O?];
|
|
11883
13121
|
get object3d(): M["mesh"];
|
|
11884
13122
|
get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
11885
13123
|
get type(): T;
|
|
11886
13124
|
entities2D: Map<string | number, Geometry2D>;
|
|
11887
13125
|
constructor(meshComponent: M, styleComponent: S);
|
|
11888
|
-
|
|
11889
|
-
|
|
13126
|
+
/** Attaching a 2D entity to the 3D entity so it will follow the style changes */
|
|
13127
|
+
attach(entity: Geometry2D): void;
|
|
13128
|
+
detach(entity: Geometry2D): void;
|
|
11890
13129
|
removeAllEntities(): void;
|
|
11891
13130
|
}
|
|
11892
13131
|
export type TextGeometry3D = Geometry3D<Text3DComponent, Text3DStyleComponent, InteractionComponent, 'text3d'>;
|
|
@@ -11989,27 +13228,29 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
|
|
|
11989
13228
|
import type { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
|
|
11990
13229
|
import { type GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
11991
13230
|
export enum Geometry2DComponents {
|
|
11992
|
-
|
|
11993
|
-
|
|
13231
|
+
UI = 0,
|
|
13232
|
+
Interaction = 1
|
|
11994
13233
|
}
|
|
11995
13234
|
export class Geometry2DObject3D extends Object3D {
|
|
11996
13235
|
}
|
|
11997
13236
|
export class Geometry2D {
|
|
11998
|
-
|
|
11999
|
-
|
|
12000
|
-
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
12004
|
-
|
|
12005
|
-
|
|
12006
|
-
|
|
12007
|
-
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
13237
|
+
id: string | number;
|
|
13238
|
+
get type(): 'label' | 'marker';
|
|
13239
|
+
get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
13240
|
+
/** The geometry3D that this 2D entity is attached to */
|
|
13241
|
+
get attachedTo(): string | number | undefined;
|
|
13242
|
+
verticalOffset: number;
|
|
13243
|
+
/**
|
|
13244
|
+
* When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
|
|
13245
|
+
*/
|
|
13246
|
+
positionDirty: boolean;
|
|
13247
|
+
occluderId?: number;
|
|
13248
|
+
object3d: Geometry2DObject3D;
|
|
13249
|
+
components: [MarkerComponent | LabelComponent, InteractionComponent?];
|
|
13250
|
+
disposed: boolean;
|
|
13251
|
+
constructor(ui: MarkerComponent | LabelComponent, position: Vector3, verticalOffset?: number);
|
|
13252
|
+
get position(): Vector3;
|
|
13253
|
+
setAltitude(z: number): void;
|
|
12013
13254
|
}
|
|
12014
13255
|
}
|
|
12015
13256
|
|
|
@@ -12034,13 +13275,17 @@ declare module '@mappedin/react-sdk/geojson/src/services/text3d/text3d' {
|
|
|
12034
13275
|
import { BatchedText, Text } from 'troika-three-text';
|
|
12035
13276
|
import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
12036
13277
|
import type { Text3DComponent } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
13278
|
+
import { syncText } from '@mappedin/react-sdk/geojson/src/services/text3d/utils';
|
|
13279
|
+
export function configureTroikaTextBuilder({ useWorker }: {
|
|
13280
|
+
useWorker: boolean;
|
|
13281
|
+
}): void;
|
|
12037
13282
|
export function createTroikaTextPoint(entityId: string | number, text3DComponent: Text3DComponent, styleComponent: Text3DStyleComponent, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): Promise<{
|
|
12038
13283
|
text: Text;
|
|
12039
13284
|
}>;
|
|
12040
13285
|
export function createTroikaTextArea(entityId: string | number, text3DComponent: Text3DComponent, styleComponent: Text3DStyleComponent, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): Promise<{
|
|
12041
13286
|
text: Text;
|
|
12042
13287
|
} | undefined>;
|
|
12043
|
-
export { BatchedText, Text };
|
|
13288
|
+
export { BatchedText, Text, syncText };
|
|
12044
13289
|
/**
|
|
12045
13290
|
* Promise caches the base64 font string. Then shared across all needed
|
|
12046
13291
|
*/
|
|
@@ -12058,11 +13303,21 @@ declare module '@mappedin/react-sdk/geojson/src/services/text3d/text3d' {
|
|
|
12058
13303
|
export type ModuleType = {
|
|
12059
13304
|
createTroikaTextPoint: typeof createTroikaTextPoint;
|
|
12060
13305
|
createTroikaTextArea: typeof createTroikaTextArea;
|
|
13306
|
+
configureTroikaTextBuilder: typeof configureTroikaTextBuilder;
|
|
12061
13307
|
preloadFont: typeof preloadFont;
|
|
13308
|
+
syncText: typeof syncText;
|
|
12062
13309
|
BatchedText: typeof BatchedText;
|
|
12063
13310
|
};
|
|
12064
13311
|
}
|
|
12065
13312
|
|
|
13313
|
+
declare module '@mappedin/react-sdk/geojson/src/components/focusable' {
|
|
13314
|
+
import type { Mesh } from 'three';
|
|
13315
|
+
export class FocusableComponent {
|
|
13316
|
+
focusMesh?: Mesh;
|
|
13317
|
+
dirty: boolean;
|
|
13318
|
+
}
|
|
13319
|
+
}
|
|
13320
|
+
|
|
12066
13321
|
declare module '@mappedin/react-sdk/geojson/src/components/geometry-group-style' {
|
|
12067
13322
|
import { type Shading } from '@mappedin/react-sdk/geojson/src/types';
|
|
12068
13323
|
type GeometryGroupStyle = {
|
|
@@ -12446,6 +13701,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimi
|
|
|
12446
13701
|
import { PubSub } from '@packages/internal/common';
|
|
12447
13702
|
import type { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
12448
13703
|
import type { ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
13704
|
+
import { OutlineComponent } from '@mappedin/react-sdk/geojson/src/components/outline';
|
|
12449
13705
|
export class MeshCreationAndOptimizationSystem extends PubSub<{
|
|
12450
13706
|
'model-loaded': void;
|
|
12451
13707
|
'geometry-2d-added': void;
|
|
@@ -12455,7 +13711,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimi
|
|
|
12455
13711
|
loader?: GLTFLoader;
|
|
12456
13712
|
constructor(state: RendererState, convertTo3DMapPosition: any);
|
|
12457
13713
|
getGLTFLoader(): Promise<GLTFLoader>;
|
|
12458
|
-
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry">;
|
|
13714
|
+
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry", OutlineComponent | undefined>;
|
|
12459
13715
|
createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: Partial<ModelStyle>): ModelGeometry3D;
|
|
12460
13716
|
populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry): void;
|
|
12461
13717
|
populateModelGroup(entities: Set<string | number>, url: string, tree: GeometryGroupObject3D): Promise<Geometry3DObject3D>;
|
|
@@ -12813,7 +14069,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/dom-resize/system' {
|
|
|
12813
14069
|
observers: Map<string | number, ResizeObserver>;
|
|
12814
14070
|
constructor(state: RendererState, domTree: Entity2DHTMLDivElementContainer);
|
|
12815
14071
|
setupObserver(): void;
|
|
12816
|
-
updateDimensions: (mutations:
|
|
14072
|
+
updateDimensions: (mutations: ResizeObserverEntry[]) => void;
|
|
12817
14073
|
update(): void;
|
|
12818
14074
|
destroy(): void;
|
|
12819
14075
|
}
|
|
@@ -12855,9 +14111,9 @@ declare module '@mappedin/react-sdk/geojson/src/systems/outline-interpolation/sy
|
|
|
12855
14111
|
export class OutlineInterpolationSystem {
|
|
12856
14112
|
#private;
|
|
12857
14113
|
/**
|
|
12858
|
-
* Set to true when we need to update the outline
|
|
14114
|
+
* Set to true when we need to update the outline opacity of all entities, regardless of zoom level.
|
|
12859
14115
|
*/
|
|
12860
|
-
|
|
14116
|
+
outlineOpacitiesDirty: boolean;
|
|
12861
14117
|
get geometries3DDirty(): boolean;
|
|
12862
14118
|
set geometries3DDirty(value: boolean);
|
|
12863
14119
|
constructor(rendererState: RendererState);
|
|
@@ -12866,7 +14122,8 @@ declare module '@mappedin/react-sdk/geojson/src/systems/outline-interpolation/sy
|
|
|
12866
14122
|
* @param zoomLevel - The current zoom level.
|
|
12867
14123
|
* @param isCameraZoomDirty - Whether the zoom level has changed since the last update. If this is true, the system will update if zoomLevel falls between range.
|
|
12868
14124
|
*/
|
|
12869
|
-
update(zoomLevel: number, isCameraZoomDirty?: boolean):
|
|
14125
|
+
update(zoomLevel: number, isCameraZoomDirty?: boolean): null | undefined;
|
|
14126
|
+
destroy(): void;
|
|
12870
14127
|
}
|
|
12871
14128
|
}
|
|
12872
14129
|
|
|
@@ -12910,6 +14167,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/geometry-in-focus/system
|
|
|
12910
14167
|
resize(): void;
|
|
12911
14168
|
update: (cameraIsMoving?: boolean, cameraStoppedMovingTime?: number) => void;
|
|
12912
14169
|
updateRaf(): void;
|
|
14170
|
+
raycast(): void;
|
|
12913
14171
|
showRaycasters(): void;
|
|
12914
14172
|
hideRaycasters(): void;
|
|
12915
14173
|
destroy(): void;
|
|
@@ -12917,14 +14175,16 @@ declare module '@mappedin/react-sdk/geojson/src/systems/geometry-in-focus/system
|
|
|
12917
14175
|
}
|
|
12918
14176
|
|
|
12919
14177
|
declare module '@mappedin/react-sdk/geojson/src/systems/outdoor-layers/system' {
|
|
12920
|
-
import type { Map } from '@packages/internal/outdoor-context-v4';
|
|
14178
|
+
import type { LegacyFilterSpecification, Map } from '@packages/internal/outdoor-context-v4';
|
|
12921
14179
|
import type { Position } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
12922
14180
|
import { type BBox } from 'geojson';
|
|
12923
14181
|
export class OutdoorLayers {
|
|
14182
|
+
#private;
|
|
12924
14183
|
dirty: boolean;
|
|
12925
14184
|
hideLayersUnderPoint(point: Position, layers: string[]): void;
|
|
12926
14185
|
hideLayersIntersectingPolygons(bbox: BBox, polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[], layers: string[]): void;
|
|
12927
14186
|
constructor(map?: Map);
|
|
14187
|
+
expr: LegacyFilterSpecification[];
|
|
12928
14188
|
destroy(): void;
|
|
12929
14189
|
}
|
|
12930
14190
|
}
|
|
@@ -13008,7 +14268,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles/style' {
|
|
|
13008
14268
|
topColor?: string;
|
|
13009
14269
|
texture?: string;
|
|
13010
14270
|
topTexture?: string;
|
|
13011
|
-
outline: boolean;
|
|
13012
14271
|
showImage: boolean;
|
|
13013
14272
|
flipImageToFaceCamera: boolean;
|
|
13014
14273
|
url?: string;
|
|
@@ -13032,7 +14291,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles/style' {
|
|
|
13032
14291
|
altitude: number;
|
|
13033
14292
|
join: LineStyle['join'];
|
|
13034
14293
|
cap: LineStyle['cap'];
|
|
13035
|
-
outline: boolean;
|
|
13036
14294
|
showImage: boolean;
|
|
13037
14295
|
flipImageToFaceCamera: boolean;
|
|
13038
14296
|
url?: string;
|
|
@@ -13157,6 +14415,35 @@ declare module '@mappedin/react-sdk/geojson/src/entities' {
|
|
|
13157
14415
|
export type { PathMesh, PatMeshContainer, PathMaterial, Geometry3DTypes, ImageGeometry3D, TextGeometry3D, ModelGeometry3D, CustomGeometry3D, MeshGeometry3D, } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
13158
14416
|
}
|
|
13159
14417
|
|
|
14418
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-processor' {
|
|
14419
|
+
import { Rectangle } from '@packages/internal/quad-tree';
|
|
14420
|
+
export type TSerializedCollider = {
|
|
14421
|
+
rank: number;
|
|
14422
|
+
enabledAndVisible: boolean;
|
|
14423
|
+
x: number;
|
|
14424
|
+
y: number;
|
|
14425
|
+
bboxes: {
|
|
14426
|
+
index: number;
|
|
14427
|
+
boundingBox: [number, number, number, number];
|
|
14428
|
+
boundingRect?: Rectangle;
|
|
14429
|
+
}[];
|
|
14430
|
+
shouldCollideWithScreenEdges?: boolean;
|
|
14431
|
+
lockedToStrategyIndex?: number;
|
|
14432
|
+
visible?: boolean;
|
|
14433
|
+
};
|
|
14434
|
+
export type TSerializedColliderResponse = [number, 1 | 0, Rectangle?];
|
|
14435
|
+
export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
|
|
14436
|
+
msgId: string;
|
|
14437
|
+
colliders: TSerializedColliderResponse[];
|
|
14438
|
+
debug: {
|
|
14439
|
+
x: number;
|
|
14440
|
+
y: number;
|
|
14441
|
+
w: number;
|
|
14442
|
+
h: number;
|
|
14443
|
+
}[];
|
|
14444
|
+
};
|
|
14445
|
+
}
|
|
14446
|
+
|
|
13160
14447
|
declare module '@mappedin/react-sdk/geojson/src/systems/exporter/exporter' {
|
|
13161
14448
|
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
13162
14449
|
export type GLTFExportOptions = {
|
|
@@ -13429,12 +14716,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
|
|
|
13429
14716
|
import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
13430
14717
|
class Layer {
|
|
13431
14718
|
containerId: string;
|
|
13432
|
-
labelIds: Set<string>;
|
|
13433
14719
|
layers: Map<string, string>;
|
|
13434
14720
|
renderer: RendererCore;
|
|
13435
14721
|
constructor(renderer: RendererCore, containerId: string, layers?: Map<any, any>);
|
|
13436
|
-
|
|
13437
|
-
|
|
14722
|
+
get visible(): boolean;
|
|
14723
|
+
setVisible(visible: boolean): void;
|
|
13438
14724
|
}
|
|
13439
14725
|
export class FloorObject implements MVFFloor {
|
|
13440
14726
|
#private;
|
|
@@ -13462,18 +14748,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
|
|
|
13462
14748
|
}
|
|
13463
14749
|
|
|
13464
14750
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
13465
|
-
import { Coordinate,
|
|
14751
|
+
import { Coordinate, MapObject, Space, type Floor, type Facade } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
13466
14752
|
import type { EntranceCollection, LineString, Polygon, Point, SpaceProperties, ObstructionProperties, StyleCollection, PolygonStyle, LineStringStyle, Feature, ObstructionCollection, PointStyle } from '@mappedin/mvf';
|
|
13467
14753
|
import type { PolygonFeatureProperties } from '@packages/internal/mvf-utils';
|
|
13468
14754
|
import type { BBox, FeatureCollection, MultiLineString } from 'geojson';
|
|
13469
|
-
import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle, Position,
|
|
13470
|
-
import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/react-sdk/mappedin-js/src';
|
|
13471
|
-
import type {
|
|
14755
|
+
import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle, Position, EntityId, PathState } from '@mappedin/core-sdk';
|
|
14756
|
+
import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model, MapData } from '@mappedin/react-sdk/mappedin-js/src';
|
|
14757
|
+
import type { IAnchorable, TDoorsState, TMarkerState, TWallsState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
13472
14758
|
import type { Image, Path, Shape, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
13473
14759
|
import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
13474
14760
|
import type { Tween } from '@tweenjs/tween.js';
|
|
13475
14761
|
import type { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
13476
|
-
import { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
|
|
14762
|
+
import type { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
|
|
13477
14763
|
export function convertCoordinateToPosition(coord: Coordinate): Position;
|
|
13478
14764
|
export function convertPositionToCoordinate(coord: Position): Coordinate;
|
|
13479
14765
|
export const cutEntrancesFromLineStrings: (lineStrings: ObstructionCollection["features"], entranceCollection: EntranceCollection["features"]) => {
|
|
@@ -13485,7 +14771,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
|
13485
14771
|
export function translateDoorsStateToGeojsonCore(state: Partial<TDoorsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
13486
14772
|
export function translateWallsStateToGeojsonCore(state: Partial<TWallsState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
13487
14773
|
export function translateSpaceStateToGeojsonCore(state: Partial<TGeometryState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
|
|
13488
|
-
export function translateFloorGeometryStateToGeojsonCore(state: TFloorState['geometry']): Partial<GroupContainerState>;
|
|
13489
14774
|
export function differenceBetweenAngles(a: number, b: number): number;
|
|
13490
14775
|
export function getRelativeBearing(relativeBearingAngle: number, threshold: number): TDirectionInstructionAction['bearing'];
|
|
13491
14776
|
export function convertCollisionRankingTeirToNumber(tier: CollisionRankingTier): number;
|
|
@@ -13507,6 +14792,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
|
13507
14792
|
export function expandBbox(bbox: BBox, bboxToExpand: BBox): number[];
|
|
13508
14793
|
export function unique<T>(array: T[]): T[];
|
|
13509
14794
|
export function getTargetFloorObject(coordinate: Coordinate, floorsById: Map<string, FloorObject>, defaultFloor: FloorObject): FloorObject;
|
|
14795
|
+
/** Gets the ID of a geometry that 2D entities can attach to */
|
|
14796
|
+
export function getAttachableGeometryId(target: IAnchorable): string | undefined;
|
|
14797
|
+
export function determineFloorVisibleBasedOnPath(path: EntityId<PathState> & {
|
|
14798
|
+
coordinates: Coordinate[];
|
|
14799
|
+
}, mapData: MapData, api: GeoJsonApi): boolean;
|
|
13510
14800
|
}
|
|
13511
14801
|
|
|
13512
14802
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object' {
|
|
@@ -13534,105 +14824,54 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-obje
|
|
|
13534
14824
|
}
|
|
13535
14825
|
}
|
|
13536
14826
|
|
|
13537
|
-
declare module '@mappedin/react-sdk/
|
|
13538
|
-
import {
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
};
|
|
13553
|
-
/**
|
|
13554
|
-
* @experimental
|
|
13555
|
-
* @internal
|
|
13556
|
-
*/
|
|
13557
|
-
export type TDynamicFocusOptions = {
|
|
13558
|
-
/**
|
|
13559
|
-
* The minimum zoom level at which Dynamic Focus will detect a Facade and reveal the interior spaces.
|
|
13560
|
-
* @default 17
|
|
13561
|
-
*/
|
|
13562
|
-
minZoomLevel?: number;
|
|
14827
|
+
declare module '@mappedin/react-sdk/geojson/src/components/outline' {
|
|
14828
|
+
import type { BufferAttribute, BufferGeometry } from 'three';
|
|
14829
|
+
type Outline = {
|
|
14830
|
+
color: string;
|
|
14831
|
+
dirty: boolean;
|
|
14832
|
+
visible: boolean;
|
|
14833
|
+
edgeColors?: BufferAttribute;
|
|
14834
|
+
ranges?: {
|
|
14835
|
+
start: number;
|
|
14836
|
+
count: number;
|
|
14837
|
+
};
|
|
14838
|
+
geometry?: BufferGeometry;
|
|
14839
|
+
currentOpacity: number;
|
|
14840
|
+
currentColor: [number, number, number];
|
|
14841
|
+
topFaceVerticesIndices?: number[];
|
|
13563
14842
|
};
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
*/
|
|
13579
|
-
enable(options?: TDynamicFocusOptions): void;
|
|
13580
|
-
/**
|
|
13581
|
-
* @experimental
|
|
13582
|
-
* Disables Dynamic Focus and prevents the camera from automatically setting the floor stack when a facade is hovered.
|
|
13583
|
-
*/
|
|
13584
|
-
disable(): void;
|
|
13585
|
-
/**
|
|
13586
|
-
* @experimental
|
|
13587
|
-
* Returns the enabled state of Dynamic Focus.
|
|
13588
|
-
*/
|
|
13589
|
-
get enabled(): boolean;
|
|
13590
|
-
/**
|
|
13591
|
-
* @experimental
|
|
13592
|
-
* Sets the default floor for a floor stack. This is the floor that will be shown when the floor stack is in focus.
|
|
13593
|
-
* See {@link resetDefaultFloorForStack} to reset the default floor.
|
|
13594
|
-
* @param floorStack - The floor stack to set the default floor for.
|
|
13595
|
-
* @param floor - The floor to set as the default floor.
|
|
13596
|
-
*/
|
|
13597
|
-
setDefaultFloorForStack(floorStack: FloorStack, floor: Floor): void;
|
|
13598
|
-
/**
|
|
13599
|
-
* @experimental
|
|
13600
|
-
* Resets the default floor for a floor stack to it's initial value.
|
|
13601
|
-
* @param floorStack - The floor stack to reset the default floor for.
|
|
13602
|
-
*/
|
|
13603
|
-
resetDefaultFloorForStack(floorStack: FloorStack): void;
|
|
14843
|
+
export class OutlineComponent implements Outline {
|
|
14844
|
+
color: string;
|
|
14845
|
+
dirty: boolean;
|
|
14846
|
+
visible: boolean;
|
|
14847
|
+
edgeColors?: BufferAttribute;
|
|
14848
|
+
geometry?: BufferGeometry;
|
|
14849
|
+
ranges?: {
|
|
14850
|
+
start: number;
|
|
14851
|
+
count: number;
|
|
14852
|
+
};
|
|
14853
|
+
topFaceVerticesIndices?: number[];
|
|
14854
|
+
get currentOpacity(): number;
|
|
14855
|
+
get currentColor(): [number, number, number];
|
|
14856
|
+
constructor(color: string);
|
|
13604
14857
|
}
|
|
13605
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
13606
14858
|
export {};
|
|
13607
14859
|
}
|
|
13608
14860
|
|
|
13609
|
-
declare module '@mappedin/react-sdk/geojson/src/
|
|
13610
|
-
import {
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
visible?: boolean;
|
|
13624
|
-
};
|
|
13625
|
-
export type TSerializedColliderResponse = [number, 1 | 0, Rectangle?];
|
|
13626
|
-
export function processColliders(colliders: TSerializedCollider[], totalWidth: any, totalHeight: any, watermarkWidth: any, watermarkHeight: any, watermarkPosition: any, msgId?: string): {
|
|
13627
|
-
msgId: string;
|
|
13628
|
-
colliders: TSerializedColliderResponse[];
|
|
13629
|
-
debug: {
|
|
13630
|
-
x: number;
|
|
13631
|
-
y: number;
|
|
13632
|
-
w: number;
|
|
13633
|
-
h: number;
|
|
13634
|
-
}[];
|
|
13635
|
-
};
|
|
14861
|
+
declare module '@mappedin/react-sdk/geojson/src/services/text3d/utils' {
|
|
14862
|
+
import type { Text } from 'troika-three-text';
|
|
14863
|
+
/**
|
|
14864
|
+
* Load font file and kick off the font processing.
|
|
14865
|
+
* Promise gets resolved when preloadFont finishes.
|
|
14866
|
+
*/
|
|
14867
|
+
export function preloadFont(fontUrl?: string): Promise<string>;
|
|
14868
|
+
/**
|
|
14869
|
+
* Fit text to area with a given max width and height, scaling the font size down if necessary.
|
|
14870
|
+
*/
|
|
14871
|
+
export function fitTextToArea(text: Text, maxWidth: number, maxHeight: number, scaleStep: number): Promise<{
|
|
14872
|
+
size: [width: number, height: number];
|
|
14873
|
+
}>;
|
|
14874
|
+
export function syncText(text: Text): Promise<void>;
|
|
13636
14875
|
}
|
|
13637
14876
|
|
|
13638
14877
|
declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
|