@mappedin/mappedin-js 6.0.1-alpha.22 → 6.0.1-alpha.24

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.
@@ -1,15 +1,13 @@
1
1
  // Generated by dts-bundle v0.7.3
2
2
  // Dependencies for this module:
3
3
  // ../maker/@mappedin/mvf
4
- // ../maker/geojson
5
- // ../maker/three
6
4
  // ../maker/@mappedin/core-sdk
5
+ // ../maker/geojson
7
6
  // ../maker/@mappedin/core-sdk/src/camera
7
+ // ../maker/three
8
8
  // ../maker/minisearch
9
9
  // ../maker/@turf/turf
10
10
  // ../maker/@tweenjs/tween.js
11
- // ../maker/lil-gui
12
- // ../maker/@packages/internal/common
13
11
  // ../maker/n8ao
14
12
  // ../maker/postprocessing
15
13
 
@@ -23,6 +21,7 @@ declare module '@mappedin/mappedin-js' {
23
21
  import type { ParsedMVF as TMVF } from '@mappedin/mvf';
24
22
  import { TShowWatermarkOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/WatermarkController';
25
23
  import { MapViewGeoJson } from '@mappedin/mappedin-js/maker/src/map-view-geojson';
24
+ import { enableTestMode } from '@mappedin/core-sdk';
26
25
  /**
27
26
  * Represents all the available antialiasing options.
28
27
  */
@@ -132,10 +131,33 @@ declare module '@mappedin/mappedin-js' {
132
131
  * @experimental
133
132
  */
134
133
  type TShow3DMapOptions = {
134
+ /**
135
+ * The outdoor view options.
136
+ */
137
+ outdoorView?: {
138
+ /**
139
+ * The token is used to fetch outdoor tiles, which will then be rendered.
140
+ */
141
+ token?: string;
142
+ /**
143
+ * A url to a style specification conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/).
144
+ */
145
+ style?: string;
146
+ };
135
147
  /**
136
148
  * The token is used to fetch outdoor tiles, which will then be rendered.
149
+ *
150
+ * @deprecated Use `outdoorView.token` instead.
151
+ * @hidden
137
152
  */
138
153
  outdoorViewToken?: string;
154
+ /**
155
+ * A url to a style specification conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/).
156
+ *
157
+ * @deprecated Use `outdoorView.style` instead.
158
+ * @hidden
159
+ */
160
+ outdoorViewStyle?: string;
139
161
  /**
140
162
  * Whether or not to automatically add labels and interactivity to the map. Set to
141
163
  * false if you need finer control over what is labelled or interactive.
@@ -187,6 +209,18 @@ declare module '@mappedin/mappedin-js' {
187
209
  * @hidden
188
210
  */
189
211
  watermark?: TShowWatermarkOptions;
212
+ /**
213
+ * Options for the attribution control.
214
+ *
215
+ * @hidden
216
+ */
217
+ attribution?: {
218
+ /**
219
+ * Attribution position.
220
+ * @default 'bottom-right'
221
+ */
222
+ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
223
+ };
190
224
  /**
191
225
  * First floor to be rendered.
192
226
  * By default, floor with the elevation that's closest to 0 is rendered. All floors will be sorted by elevation in ascending order.
@@ -228,12 +262,12 @@ declare module '@mappedin/mappedin-js' {
228
262
  * const map = await show3dMap(mapContainer, mapData, { auto: true });
229
263
  */
230
264
  export const show3dMapCms: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
231
- export const show3dMapGeojson: (el: HTMLElement, mapData: MapData) => Promise<MapViewGeoJson>;
265
+ export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapViewGeoJson>;
232
266
  export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
233
- export { parseMVF, unzipMVF };
267
+ export { parseMVF, unzipMVF, enableTestMode };
234
268
  export type { MapView, MapData, TEvents, TShow3DMapOptions, TGetMapDataOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, };
235
- export type { ILabels, IPaths, IMarkers, ICamera, TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TDrawNavigationOptions, TGetDirectionsOptions, TNavigationConnection, TCollisionRankingTier, TMarkerAnchor, } from '@mappedin/mappedin-js/maker/src/map-view-interface';
236
- export type { Directions, Label, Marker, Path, TDirectionInstruction, TDirectionInstructionAction, CameraTransform, } from '@mappedin/mappedin-js/maker/src/map-view-objects';
269
+ export type { ILabels, IPaths, IMarkers, ICamera, TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TDrawNavigationOptions, TGetDirectionsOptions, TNavigationConnection, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, Directions, } from '@mappedin/mappedin-js/maker/src/map-view-interface';
270
+ export type { Label, Marker, Path, CameraTransform } from '@mappedin/mappedin-js/maker/src/map-view-objects';
237
271
  export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/maker/src/navigation';
238
272
  export type { TSpaceType } from '@mappedin/mappedin-js/maker/src/map-data-objects';
239
273
  export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, } from '@mappedin/mappedin-js/maker/src/map-data-objects';
@@ -245,8 +279,8 @@ declare module '@mappedin/mappedin-js/maker/src/map-view' {
245
279
  import { TEvents } from '@mappedin/mappedin-js/maker/src/events';
246
280
  import { Coordinate, Floor, MapObject, Space } from '@mappedin/mappedin-js/maker/src/map-data-objects';
247
281
  import MapData from '@mappedin/mappedin-js/maker/src/map-data';
248
- import { ICamera, ILabels, IMapView, IMarkers, IPaths, TUpdateState, TNavigationTarget, TGetDirectionsOptions, INavigation } from '@mappedin/mappedin-js/maker/src/map-view-interface';
249
- import { Directions, Label } from '@mappedin/mappedin-js/maker/src/map-view-objects';
282
+ import { ICamera, ILabels, IMapView, IMarkers, IPaths, TUpdateState, TNavigationTarget, TGetDirectionsOptions, INavigation, Directions } from '@mappedin/mappedin-js/maker/src/map-view-interface';
283
+ import { Label } from '@mappedin/mappedin-js/maker/src/map-view-objects';
250
284
  import { Exporter } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Exporter';
251
285
  /**
252
286
  * Represents a map with all the interactive features, controls, and actions.
@@ -967,7 +1001,6 @@ declare module '@mappedin/mappedin-js/maker/src/map-data-objects' {
967
1001
 
968
1002
  declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/WatermarkController' {
969
1003
  import { ICore } from '@mappedin/mappedin-js/packages/legacy-renderer/private/Core.interface';
970
- import { Sprite } from 'three';
971
1004
  type TPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center' | 'top' | 'bottom' | 'left' | 'right';
972
1005
  export type TShowWatermarkOptions = {
973
1006
  /**
@@ -1023,7 +1056,16 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controlle
1023
1056
  #private;
1024
1057
  static ENABLED: boolean;
1025
1058
  static OPTIONS: Required<TShowWatermarkOptions>;
1026
- object?: Sprite;
1059
+ /**
1060
+ * The current calculated position and size of the watermark on the screen. It is updated every resize.
1061
+ * This is public so it can be used in event system.
1062
+ */
1063
+ position: {
1064
+ x: number;
1065
+ y: number;
1066
+ width: number;
1067
+ height: number;
1068
+ };
1027
1069
  constructor(core: ICore);
1028
1070
  show: () => void;
1029
1071
  hide: () => void;
@@ -1035,13 +1077,21 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controlle
1035
1077
  declare module '@mappedin/mappedin-js/maker/src/map-view-geojson' {
1036
1078
  import { PubSub } from '@mappedin/mappedin-js/packages/legacy-renderer/internal';
1037
1079
  import { GeoJSONTEvents as TEvents } from '@mappedin/mappedin-js/maker/src/events';
1038
- import { Floor, MapObject, Space } from '@mappedin/mappedin-js/maker/src/map-data-objects';
1080
+ import { Coordinate, Floor, MapObject, Space } from '@mappedin/mappedin-js/maker/src/map-data-objects';
1039
1081
  import MapData from '@mappedin/mappedin-js/maker/src/map-data';
1040
- import { ICamera, IMapView, IMarkers, IPaths, TUpdateState, INavigation, TNavigationTarget, TGetDirectionsOptions, TGeometryState, TLabelState, TMarkerState } from '@mappedin/mappedin-js/maker/src/map-view-interface';
1041
- import { Directions, Label, Marker } from '@mappedin/mappedin-js/maker/src/map-view-objects';
1082
+ import { Directions, ICamera, IMapView, IMarkers, IPaths, TUpdateState, INavigation, TNavigationTarget, TGetDirectionsOptions, TGeometryState, TLabelState, TMarkerState } from '@mappedin/mappedin-js/maker/src/map-view-interface';
1083
+ import { Label, Marker } from '@mappedin/mappedin-js/maker/src/map-view-objects';
1042
1084
  import type { RendererCore } from '@mappedin/core-sdk';
1043
1085
  import { LabelsApi } from '@mappedin/mappedin-js/maker/src/api-geojson/labels';
1044
- import { Inspector } from '@mappedin/mappedin-js/maker/src/api-geojson';
1086
+ import { ExporterApi } from '@mappedin/mappedin-js/maker/src/api-geojson/exporter';
1087
+ class Inspector {
1088
+ constructor(_a: any, _b: any);
1089
+ enable(): void;
1090
+ disable(): void;
1091
+ enabled: boolean;
1092
+ setMapData(_a: any): void;
1093
+ storeState(_a: any, _b: any): void;
1094
+ }
1045
1095
  /**
1046
1096
  * Represents a map with all the interactive features, controls, and actions.
1047
1097
  */
@@ -1071,6 +1121,10 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-geojson' {
1071
1121
  * @type {INavigation}
1072
1122
  */
1073
1123
  Navigation: INavigation;
1124
+ /**
1125
+ * Export controller for the map.
1126
+ */
1127
+ Exporter: ExporterApi;
1074
1128
  Inspector: Inspector;
1075
1129
  /**
1076
1130
  * Constructs a {@link MapView} instance
@@ -1080,6 +1134,11 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-geojson' {
1080
1134
  * @internal
1081
1135
  */
1082
1136
  constructor(rendererCore: RendererCore);
1137
+ /**
1138
+ * @internal
1139
+ * TODO: revive core
1140
+ */
1141
+ auto: () => void;
1083
1142
  /**
1084
1143
  * @internal - unused until we use GeoJSON API underneath
1085
1144
  */
@@ -1103,9 +1162,22 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-geojson' {
1103
1162
  */
1104
1163
  updateState<T extends Space | MapObject | Label | Marker | string>(target: T, state: TUpdateState<T>): void;
1105
1164
  setHoverColor(c: string): void;
1106
- getHoverColor(): any;
1165
+ getHoverColor(): string | undefined;
1107
1166
  getState(id: string): TGeometryState | TLabelState | undefined;
1108
1167
  getState(target: Space | Label | Marker | MapObject): TGeometryState | TLabelState | TMarkerState;
1168
+ /**
1169
+ * Creates a {@link Coordinate} on the map.
1170
+ *
1171
+ * @param latitude The latitude of the coordinate.
1172
+ * @param longitude The longitude of the coordinate.
1173
+ * @param floor Optional floor information if applicable.
1174
+ * @returns The created coordinate object.
1175
+ * @example
1176
+ * // Create a coordinate at the CN Tower.
1177
+ * const coord = map.createCoordinate(43.642567, -79.387054);
1178
+ */
1179
+ createCoordinate(latitude: number, longitude: number, floor?: Floor | undefined): Coordinate;
1180
+ createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor | undefined): Coordinate | undefined;
1109
1181
  /**
1110
1182
  * Retrieves the current floor of the map.
1111
1183
  *
@@ -1139,13 +1211,18 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-geojson' {
1139
1211
  setStyle: (style: any) => void;
1140
1212
  };
1141
1213
  }
1214
+ export {};
1142
1215
  }
1143
1216
 
1144
1217
  declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1145
1218
  import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection } from '@mappedin/mappedin-js/maker/src/map-data-objects';
1146
- import { Label, Marker, Path, Directions } from '@mappedin/mappedin-js/maker/src/map-view-objects';
1219
+ import { Label, Marker, Path } from '@mappedin/mappedin-js/maker/src/map-view-objects';
1147
1220
  import type { MapData, TNavigationOptions } from '@mappedin/mappedin-js/maker/src';
1148
1221
  import { EasingCurve } from '@mappedin/core-sdk/src/camera';
1222
+ /**
1223
+ * @hidden
1224
+ */
1225
+ export type { GLTFExportOptions } from '@mappedin/core-sdk';
1149
1226
  /**
1150
1227
  * Interface defining the controls and actions for a label on the map.
1151
1228
  */
@@ -1174,6 +1251,79 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1174
1251
  */
1175
1252
  readonly __type: 'Marker';
1176
1253
  }
1254
+ /**
1255
+ * Represents an action within a direction instruction.
1256
+ */
1257
+ export type TDirectionInstructionAction = {
1258
+ /**
1259
+ * Type of action required at this step (e.g., 'Departure', 'Arrival', 'Turn').
1260
+ */
1261
+ type: 'Departure' | 'TakeConnection' | 'ExitConnection' | 'Turn' | 'Arrival';
1262
+ /**
1263
+ * Bearing direction for this action (e.g., 'Straight', 'Right', 'Left').
1264
+ */
1265
+ bearing?: 'Straight' | 'Right' | 'SlightRight' | 'Left' | 'SlightLeft';
1266
+ /**
1267
+ * A reference position for the action.
1268
+ *
1269
+ * @internal
1270
+ */
1271
+ referencePosition?: string;
1272
+ /**
1273
+ * The {@link Floor} from which this action starts.
1274
+ */
1275
+ fromFloor?: Floor;
1276
+ /**
1277
+ * The target {@link Floor} for this action.
1278
+ */
1279
+ toFloor?: Floor;
1280
+ connection?: Connection;
1281
+ /**
1282
+ * The direction of the connection (e.g., 'up', 'down').
1283
+ */
1284
+ direction?: 'up' | 'down' | 'none';
1285
+ /**
1286
+ * The type of the connection (e.g., 'elevator', 'escalator').
1287
+ */
1288
+ connectionType?: string;
1289
+ };
1290
+ /**
1291
+ * Represents a single instruction in a set of directions between two points.
1292
+ */
1293
+ export type TDirectionInstruction = {
1294
+ /**
1295
+ * The action ({@link TDirectionInstructionAction}) to be taken for this instruction.
1296
+ */
1297
+ action: TDirectionInstructionAction;
1298
+ /**
1299
+ * Distance in meters covered in this instruction step.
1300
+ */
1301
+ distance: number;
1302
+ /**
1303
+ * The {@link Coordinate} at which this instruction applies.
1304
+ */
1305
+ coordinate: Coordinate;
1306
+ };
1307
+ /**
1308
+ * Represents a set of directions between two points.
1309
+ *
1310
+ * Directions are used to represent the path between two points on the map,
1311
+ * as well as the instructions to follow the path.
1312
+ */
1313
+ export interface Directions {
1314
+ /**
1315
+ * All the coordinates ({@link Coordinate}) of the path.
1316
+ */
1317
+ coordinates: Coordinate[];
1318
+ /**
1319
+ * The total distance of the path in meters.
1320
+ */
1321
+ distance: number;
1322
+ /**
1323
+ * The array of instructions ({@link TDirectionInstruction}).
1324
+ */
1325
+ instructions: TDirectionInstruction[];
1326
+ }
1177
1327
  /**
1178
1328
  * Interface defining the controls and actions for labels ({@link Label}) on the map.
1179
1329
  */
@@ -1247,6 +1397,25 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1247
1397
  * map.Markers.removeAll();
1248
1398
  */
1249
1399
  removeAll: () => Marker[];
1400
+ /**
1401
+ * Update the position of a marker.
1402
+ * @param marker The {@link Marker} which should be removed.
1403
+ * @param target The new target object ({@link Space}, {@link Door}, or {@link Coordinate}) for the marker.
1404
+ * @example
1405
+ * const marker = map.Markers.add(coordinate, '<div>Marker Content</div>');
1406
+ * mapView.Markers.setPosition(marker, newCoordinate);
1407
+ */
1408
+ setPosition: (marker: Marker, target: Space | Door | Coordinate) => void;
1409
+ /**
1410
+ * Update the position of a marker with an animation.
1411
+ * @param marker The {@link Marker} which should be removed.
1412
+ * @param target The new target object ({@link Space}, {@link Door}, or {@link Coordinate}) for the marker.
1413
+ * @returns {Promise<void>} A promise that resolves when the animation is complete.
1414
+ * @example
1415
+ * const marker = map.Markers.add(coordinate, '<div>Marker Content</div>');
1416
+ * mapView.Markers.animateTo(marker, newCoordinate, { duration: 1000 });
1417
+ */
1418
+ animateTo: (marker: Marker, target: Space | Door | Coordinate, options?: TAnimationOptions) => Promise<void>;
1250
1419
  }
1251
1420
  /**
1252
1421
  * Interface defining the controls and actions for paths ({@link Path}) on the map.
@@ -1303,8 +1472,15 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1303
1472
  /**
1304
1473
  * Priority level of the label, used for determining display order.
1305
1474
  */
1306
- priority: number | 'initial';
1475
+ rank: number | 'initial' | TCollisionRankingTier;
1476
+ /**
1477
+ * Whether the label is interactive.
1478
+ */
1307
1479
  interactive: boolean;
1480
+ /**
1481
+ * Whether the label is enabled.
1482
+ */
1483
+ enabled: boolean;
1308
1484
  };
1309
1485
  export type TMarkerState = {
1310
1486
  type: 'marker';
@@ -1315,8 +1491,19 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1315
1491
  /**
1316
1492
  * Priority level of the marker, used for determining display order.
1317
1493
  */
1318
- priority: number | 'initial';
1494
+ rank: number | 'initial' | TCollisionRankingTier;
1495
+ /**
1496
+ * Whether the marker is interactive.
1497
+ */
1319
1498
  interactive: boolean;
1499
+ /**
1500
+ * Whether the marker is enabled.
1501
+ */
1502
+ enabled: boolean;
1503
+ /**
1504
+ * The current coordinate of the marker.
1505
+ */
1506
+ coordinate: Coordinate;
1320
1507
  };
1321
1508
  /**
1322
1509
  * Defines the state for geometry elements like {@link Space} when updated.
@@ -1330,7 +1517,7 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1330
1517
  /**
1331
1518
  * Color of the geometry element when hovered over. Color can be set using CSS colors names `DarkGoldenRod`, as Hex strings `#0000FF` or the rgb values `rgb(255,0,0)`.
1332
1519
  */
1333
- hoverColor: string | 'initial';
1520
+ hoverColor?: string | 'initial';
1334
1521
  /**
1335
1522
  * Indicates if the geometry element is interactive. Color can be set using CSS colors names `DarkGoldenRod`, as Hex strings `#0000FF` or the rgb values `rgb(255,0,0)`.
1336
1523
  */
@@ -1354,6 +1541,21 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1354
1541
  */
1355
1542
  easing?: EasingCurve;
1356
1543
  };
1544
+ /**
1545
+ * Options for controlling animations on the map.
1546
+ */
1547
+ export type TAnimationOptions = {
1548
+ /**
1549
+ * Duration of the animation in milliseconds.
1550
+ * @default 1000
1551
+ */
1552
+ duration?: number;
1553
+ /**
1554
+ * Easing function to use for the animation.
1555
+ * @default 'ease-in-out'
1556
+ */
1557
+ easing?: EasingCurve;
1558
+ };
1357
1559
  /**
1358
1560
  * Types of easing for animations.
1359
1561
  *
@@ -1550,7 +1752,7 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1550
1752
  * const coord = map.createCoordinate(43.642567, -79.387054);
1551
1753
  */
1552
1754
  createCoordinate: (latitude: number, longitude: number, floor?: Floor) => Coordinate;
1553
- createCoordinateFromScreenCoordinate: (x: number, y: number, floor?: Floor) => Coordinate;
1755
+ createCoordinateFromScreenCoordinate: (x: number, y: number, floor?: Floor) => Coordinate | undefined;
1554
1756
  /**
1555
1757
  * Updates the state {@link TUpdateState} of a given target on the map.
1556
1758
  *
@@ -1890,6 +2092,10 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
1890
2092
  * @internal
1891
2093
  */
1892
2094
  id?: string;
2095
+ /**
2096
+ * Dynamic resize of the marker. If set to true, the marker will resize based on the content.
2097
+ */
2098
+ dynamicResize?: boolean;
1893
2099
  };
1894
2100
  /**
1895
2101
  * Options for creating a new {@link Label} with {@link ILabels.add}.
@@ -2005,15 +2211,14 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-interface' {
2005
2211
  declare module '@mappedin/mappedin-js/maker/src/map-view-objects' {
2006
2212
  export { Label } from '@mappedin/mappedin-js/maker/src/map-view-objects/label';
2007
2213
  export { Marker } from '@mappedin/mappedin-js/maker/src/map-view-objects/marker';
2008
- export { Directions } from '@mappedin/mappedin-js/maker/src/map-view-objects/directions';
2009
2214
  export { Path } from '@mappedin/mappedin-js/maker/src/map-view-objects/path';
2010
2215
  export { CameraTransform } from '@mappedin/mappedin-js/maker/src/map-view-objects/camera-transform';
2011
- export type { TDirectionInstruction, TDirectionInstructionAction } from '@mappedin/mappedin-js/maker/src/map-view-objects/directions';
2012
2216
  }
2013
2217
 
2014
2218
  declare module '@mappedin/mappedin-js/maker/src/navigation' {
2015
- import type { MapView, Directions } from '@mappedin/mappedin-js/maker/src';
2219
+ import { MapView, Directions } from '@mappedin/mappedin-js/maker/src';
2016
2220
  import { INavigation } from '@mappedin/mappedin-js/maker/src/map-view-interface';
2221
+ import { MapViewGeoJson } from '@mappedin/mappedin-js/maker/src/map-view-geojson';
2017
2222
  const defaultOptions: {
2018
2223
  createMarkers: {
2019
2224
  departure: boolean;
@@ -2054,7 +2259,7 @@ declare module '@mappedin/mappedin-js/maker/src/navigation' {
2054
2259
  departure: string;
2055
2260
  };
2056
2261
  };
2057
- constructor(mapView: MapView);
2262
+ constructor(mapView: MapView | MapViewGeoJson);
2058
2263
  draw: INavigation['draw'];
2059
2264
  clear: () => void;
2060
2265
  }
@@ -2071,6 +2276,7 @@ declare module '@mappedin/mappedin-js/maker/src' {
2071
2276
  import type { ParsedMVF as TMVF } from '@mappedin/mvf';
2072
2277
  import { TShowWatermarkOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/WatermarkController';
2073
2278
  import { MapViewGeoJson } from '@mappedin/mappedin-js/maker/src/map-view-geojson';
2279
+ import { enableTestMode } from '@mappedin/core-sdk';
2074
2280
  /**
2075
2281
  * Represents all the available antialiasing options.
2076
2282
  */
@@ -2180,10 +2386,33 @@ declare module '@mappedin/mappedin-js/maker/src' {
2180
2386
  * @experimental
2181
2387
  */
2182
2388
  type TShow3DMapOptions = {
2389
+ /**
2390
+ * The outdoor view options.
2391
+ */
2392
+ outdoorView?: {
2393
+ /**
2394
+ * The token is used to fetch outdoor tiles, which will then be rendered.
2395
+ */
2396
+ token?: string;
2397
+ /**
2398
+ * A url to a style specification conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/).
2399
+ */
2400
+ style?: string;
2401
+ };
2183
2402
  /**
2184
2403
  * The token is used to fetch outdoor tiles, which will then be rendered.
2404
+ *
2405
+ * @deprecated Use `outdoorView.token` instead.
2406
+ * @hidden
2185
2407
  */
2186
2408
  outdoorViewToken?: string;
2409
+ /**
2410
+ * A url to a style specification conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/).
2411
+ *
2412
+ * @deprecated Use `outdoorView.style` instead.
2413
+ * @hidden
2414
+ */
2415
+ outdoorViewStyle?: string;
2187
2416
  /**
2188
2417
  * Whether or not to automatically add labels and interactivity to the map. Set to
2189
2418
  * false if you need finer control over what is labelled or interactive.
@@ -2235,6 +2464,18 @@ declare module '@mappedin/mappedin-js/maker/src' {
2235
2464
  * @hidden
2236
2465
  */
2237
2466
  watermark?: TShowWatermarkOptions;
2467
+ /**
2468
+ * Options for the attribution control.
2469
+ *
2470
+ * @hidden
2471
+ */
2472
+ attribution?: {
2473
+ /**
2474
+ * Attribution position.
2475
+ * @default 'bottom-right'
2476
+ */
2477
+ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
2478
+ };
2238
2479
  /**
2239
2480
  * First floor to be rendered.
2240
2481
  * By default, floor with the elevation that's closest to 0 is rendered. All floors will be sorted by elevation in ascending order.
@@ -2276,12 +2517,12 @@ declare module '@mappedin/mappedin-js/maker/src' {
2276
2517
  * const map = await show3dMap(mapContainer, mapData, { auto: true });
2277
2518
  */
2278
2519
  export const show3dMapCms: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
2279
- export const show3dMapGeojson: (el: HTMLElement, mapData: MapData) => Promise<MapViewGeoJson>;
2520
+ export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapViewGeoJson>;
2280
2521
  export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
2281
- export { parseMVF, unzipMVF };
2522
+ export { parseMVF, unzipMVF, enableTestMode };
2282
2523
  export type { MapView, MapData, TEvents, TShow3DMapOptions, TGetMapDataOptions, TAmbientOcclusionOptions, TAntialiasingOptions, TMVF, };
2283
- export type { ILabels, IPaths, IMarkers, ICamera, TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TDrawNavigationOptions, TGetDirectionsOptions, TNavigationConnection, TCollisionRankingTier, TMarkerAnchor, } from '@mappedin/mappedin-js/maker/src/map-view-interface';
2284
- export type { Directions, Label, Marker, Path, TDirectionInstruction, TDirectionInstructionAction, CameraTransform, } from '@mappedin/mappedin-js/maker/src/map-view-objects';
2524
+ export type { ILabels, IPaths, IMarkers, ICamera, TUpdateState, TLabelState, TGeometryState, TCameraAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TCameraFocusOnTarget, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TDrawNavigationOptions, TGetDirectionsOptions, TNavigationConnection, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, Directions, } from '@mappedin/mappedin-js/maker/src/map-view-interface';
2525
+ export type { Label, Marker, Path, CameraTransform } from '@mappedin/mappedin-js/maker/src/map-view-objects';
2285
2526
  export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/maker/src/navigation';
2286
2527
  export type { TSpaceType } from '@mappedin/mappedin-js/maker/src/map-data-objects';
2287
2528
  export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, } from '@mappedin/mappedin-js/maker/src/map-data-objects';
@@ -2483,6 +2724,7 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Export
2483
2724
  onlyVisible?: boolean;
2484
2725
  binary?: boolean;
2485
2726
  scale?: number;
2727
+ light?: boolean;
2486
2728
  };
2487
2729
  /**
2488
2730
  * API to export the scene.
@@ -5319,10 +5561,28 @@ declare module '@mappedin/mappedin-js/maker/src/api-geojson/labels' {
5319
5561
  export {};
5320
5562
  }
5321
5563
 
5322
- declare module '@mappedin/mappedin-js/maker/src/api-geojson' {
5323
- export { GeoJsonApi } from '@mappedin/mappedin-js/maker/src/api-geojson/api';
5324
- export { convertPriorityToCollisionTier } from '@mappedin/mappedin-js/maker/src/api-geojson/utils';
5325
- export { Inspector } from '@mappedin/mappedin-js/maker/src/api-geojson/inspector';
5564
+ declare module '@mappedin/mappedin-js/maker/src/api-geojson/exporter' {
5565
+ import { GeojsonApiMapObject } from '@mappedin/mappedin-js/maker/src/api-geojson/map-object';
5566
+ import { GLTFExportOptions } from '@mappedin/mappedin-js/maker/src/map-view-interface';
5567
+ /**
5568
+ * API to export the scene.
5569
+ *
5570
+ * @hidden
5571
+ */
5572
+ export class ExporterApi {
5573
+ get currentMap(): GeojsonApiMapObject | undefined;
5574
+ constructor({ currentMapGetter }: {
5575
+ currentMapGetter: CurrentMapGetter;
5576
+ });
5577
+ /**
5578
+ * Exports the current scene as a GLTF file.
5579
+ *
5580
+ * @hidden
5581
+ */
5582
+ getCurrentSceneGLTF(userOptions: GLTFExportOptions): Promise<Blob>;
5583
+ }
5584
+ type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
5585
+ export {};
5326
5586
  }
5327
5587
 
5328
5588
  declare module '@mappedin/mappedin-js/maker/src/map-view-objects/label' {
@@ -5378,7 +5638,7 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-objects/marker' {
5378
5638
  */
5379
5639
  readonly contentEl: HTMLElement;
5380
5640
  /**
5381
- * Updates the marker's position on the map.
5641
+ * Forces the marker to update its collider.
5382
5642
  */
5383
5643
  readonly update: () => void;
5384
5644
  /**
@@ -5395,98 +5655,6 @@ declare module '@mappedin/mappedin-js/maker/src/map-view-objects/marker' {
5395
5655
  }
5396
5656
  }
5397
5657
 
5398
- declare module '@mappedin/mappedin-js/maker/src/map-view-objects/directions' {
5399
- import { IDirectionsResult } from '@mappedin/mappedin-js/packages/get-venue';
5400
- import { CMSAPI } from '@mappedin/mappedin-js/maker/src/api-cms/api-cms';
5401
- import { Connection, Coordinate, Floor } from '@mappedin/mappedin-js/maker/src/map-data-objects';
5402
- /**
5403
- * Represents an action within a direction instruction.
5404
- */
5405
- export type TDirectionInstructionAction = {
5406
- /**
5407
- * Type of action required at this step (e.g., 'Departure', 'Arrival', 'Turn').
5408
- */
5409
- type: 'Departure' | 'TakeConnection' | 'ExitConnection' | 'Turn' | 'Arrival';
5410
- /**
5411
- * Bearing direction for this action (e.g., 'Straight', 'Right', 'Left').
5412
- */
5413
- bearing?: 'Straight' | 'Right' | 'SlightRight' | 'Left' | 'SlightLeft';
5414
- /**
5415
- * A reference position for the action.
5416
- *
5417
- * @internal
5418
- */
5419
- referencePosition?: string;
5420
- /**
5421
- * The {@link Floor} from which this action starts.
5422
- */
5423
- fromFloor?: Floor;
5424
- /**
5425
- * The target {@link Floor} for this action.
5426
- */
5427
- toFloor?: Floor;
5428
- connection?: Connection;
5429
- /**
5430
- * The direction of the connection (e.g., 'up', 'down').
5431
- */
5432
- direction?: 'up' | 'down';
5433
- /**
5434
- * The type of the connection (e.g., 'elevator', 'escalator').
5435
- */
5436
- connectionType?: string;
5437
- };
5438
- /**
5439
- * Represents a single instruction in a set of directions between two points.
5440
- */
5441
- export type TDirectionInstruction = {
5442
- /**
5443
- * The action ({@link TDirectionInstructionAction}) to be taken for this instruction.
5444
- */
5445
- action: TDirectionInstructionAction;
5446
- /**
5447
- * Distance in meters covered in this instruction step.
5448
- */
5449
- distance: number;
5450
- /**
5451
- * The {@link Coordinate} at which this instruction applies.
5452
- */
5453
- coordinate: Coordinate;
5454
- };
5455
- /**
5456
- * Represents a set of directions between two points on the {@link MapView}.
5457
- *
5458
- * Directions are used to represent the path between two points on the map,
5459
- * as well as the instructions to follow the path.
5460
- */
5461
- export class Directions {
5462
- #private;
5463
- /**
5464
- * @internal
5465
- */
5466
- constructor(core: CMSAPI, directions: IDirectionsResult);
5467
- /**
5468
- * Gets all the coordinates ({@link Coordinate}) of the path.
5469
- *
5470
- * @returns Array of Coordinates.
5471
- */
5472
- get coordinates(): Coordinate[];
5473
- /**
5474
- * Gets the total distance of the path.
5475
- *
5476
- * This property returns the total distance of the path in meters.
5477
- *
5478
- * @returns {number} Total distance in meters.
5479
- */
5480
- get distance(): number;
5481
- /**
5482
- * Gets the array of instructions ({@link TDirectionInstruction}).
5483
- *
5484
- * @returns Array of instructions.
5485
- */
5486
- get instructions(): TDirectionInstruction[];
5487
- }
5488
- }
5489
-
5490
5658
  declare module '@mappedin/mappedin-js/maker/src/map-view-objects/path' {
5491
5659
  /**
5492
5660
  * Class representing a path on the {@link MapView}.
@@ -9581,7 +9749,7 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controlle
9581
9749
  touchCount: number;
9582
9750
  zoomOut(): void;
9583
9751
  zoomIn(event: any): void;
9584
- onPointerMove: (event: any) => void;
9752
+ onPointerMove: (event: PointerEvent) => void;
9585
9753
  onPointerUp: (event: any) => void;
9586
9754
  /**
9587
9755
  * We've confirmed that a map click has occured, so handle that here
@@ -9622,7 +9790,7 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controlle
9622
9790
  detectCollidersUnderMouse: () => Collider[];
9623
9791
  detectPolygonsUnderMouse: () => string[];
9624
9792
  detectPathsUnderMouse: () => Path[];
9625
- detectWatermarkUnderMouse: () => boolean;
9793
+ detectWatermarkUnderMouse: (event: PointerEvent) => boolean;
9626
9794
  detectMapsUnderMouse: () => (import("../../internal").MappedinMap | null)[];
9627
9795
  /**
9628
9796
  * Gets mouse click position in x y map coordinates
@@ -9632,7 +9800,7 @@ declare module '@mappedin/mappedin-js/packages/legacy-renderer/private/controlle
9632
9800
  y: number;
9633
9801
  };
9634
9802
  checkMouseIntersectsBlueDot: () => boolean;
9635
- doHoverEffect: () => void;
9803
+ doHoverEffect: (event: PointerEvent) => void;
9636
9804
  onPolygonHoverOut: (polygonId: string) => false | undefined;
9637
9805
  onPolygonHoverOver: (polygon: MappedinPolygon | string) => false | undefined;
9638
9806
  setHoverColor: (color: string) => void;
@@ -13079,8 +13247,11 @@ declare module '@mappedin/mappedin-js/maker/src/api-geojson/map-object' {
13079
13247
  import { ParsedMVF } from '@mappedin/mvf';
13080
13248
  import { FloorObject } from '@mappedin/mappedin-js/maker/src/api-geojson/floor-object';
13081
13249
  import { Position } from '@mappedin/core-sdk';
13082
- import { TAddMarkerOptions } from '@mappedin/mappedin-js/maker/src';
13083
- import { AddLabelOptions, Geometry2D, RendererCore } from '@mappedin/core-sdk';
13250
+ import { Coordinate, TAddMarkerOptions, TAddPathOptions } from '@mappedin/mappedin-js/maker/src';
13251
+ import { AddLabelOptions, RendererCore } from '@mappedin/core-sdk';
13252
+ import { GLTFExportOptions, TAnimationOptions } from '@mappedin/mappedin-js/maker/src/map-view-interface';
13253
+ import { AggregatedStyleMap } from '@mappedin/mappedin-js/maker/src/api-geojson/utils';
13254
+ import { MarkerState } from '@mappedin/core-sdk';
13084
13255
  export class GeojsonApiMapObject {
13085
13256
  floors: FloorObject[];
13086
13257
  currentFloorId: string;
@@ -13091,13 +13262,15 @@ declare module '@mappedin/mappedin-js/maker/src/api-geojson/map-object' {
13091
13262
  Markers: {
13092
13263
  add: (coordinate: Position, html: string, opts?: TAddMarkerOptions & {
13093
13264
  floorId?: string;
13094
- }) => import("@mappedin/core-sdk").Marker;
13265
+ }) => import("@mappedin/core-sdk").EntityId<MarkerState>;
13095
13266
  remove: (_id: string) => void;
13096
- getContentEl: (id: string) => any;
13267
+ getContentEl: (id: string) => HTMLElement | undefined;
13097
13268
  removeAll: () => void;
13098
- all({ onCreate }: {
13099
- onCreate: (entity: Geometry2D) => void;
13100
- }): void;
13269
+ setPosition: (id: string, coordinate: Position, targetFloorId: string) => void;
13270
+ animateTo: (id: string, coordinate: Position, targetFloorId: string, options?: TAnimationOptions) => Promise<void>;
13271
+ };
13272
+ Exporter: {
13273
+ getCurrentSceneGLTF: (options: GLTFExportOptions) => Promise<Blob>;
13101
13274
  };
13102
13275
  Labels: {
13103
13276
  all: ({ onCreate }: {
@@ -13107,151 +13280,17 @@ declare module '@mappedin/mappedin-js/maker/src/api-geojson/map-object' {
13107
13280
  floorId?: string;
13108
13281
  }) => {
13109
13282
  id: string | number;
13110
- type: 'label';
13111
13283
  };
13112
13284
  remove: (targetId: string) => void;
13113
13285
  removeAll: () => void;
13114
13286
  };
13115
13287
  Paths: {
13116
- add: (coordinates: {
13117
- floor: string;
13118
- longitude: number;
13119
- latitude: number;
13120
- }[]) => void;
13121
- };
13122
- constructor(id: string, mvf: any, renderer: RendererCore);
13123
- }
13124
- }
13125
-
13126
- declare module '@mappedin/mappedin-js/maker/src/api-geojson/api' {
13127
- /**
13128
- * integrating V6 api
13129
- * Note:
13130
- * - We are not handling multi-building yet
13131
- */
13132
- import MapData from '@mappedin/mappedin-js/maker/src/map-data';
13133
- import { Coordinate, Floor, MapDataInternal, Space, MapObject } from '@mappedin/mappedin-js/maker/src/map-data-objects';
13134
- import { ICamera, IMapView, INavigation, TGetState, TUpdateState } from '@mappedin/mappedin-js/maker/src/map-view-interface';
13135
- import { CameraTransform, Label, Marker, Path } from '@mappedin/mappedin-js/maker/src/map-view-objects';
13136
- import { RendererCore, InteractionPayload } from '@mappedin/core-sdk';
13137
- import { GeojsonApiMapObject } from '@mappedin/mappedin-js/maker/src/api-geojson/map-object';
13138
- import GUI from 'lil-gui';
13139
- import { PubSub } from '@packages/internal/common';
13140
- import { LabelsApi } from '@mappedin/mappedin-js/maker/src/api-geojson/labels';
13141
- import { MarkersApi } from '@mappedin/mappedin-js/maker/src/api-geojson/markers';
13142
- export class GeoJsonApi extends PubSub<{
13143
- 'camera-change': CameraTransform;
13144
- hover: InteractionPayload;
13145
- click: InteractionPayload;
13146
- }> implements IMapView {
13147
- #private;
13148
- outdoors: GeojsonApiMapObject;
13149
- id: string;
13150
- mapDataExternal: {
13151
- [key in string]: MapData;
13152
- };
13153
- currentMap?: GeojsonApiMapObject;
13154
- Camera: ICamera;
13155
- Labels: LabelsApi;
13156
- Markers: MarkersApi;
13157
- constructor(rendererCore: RendererCore, _options?: any);
13158
- updateStackState: RendererCore['updateStackState'];
13159
- updateState<T extends Space | MapObject | Label | Marker | string>(target: T, state: TUpdateState<T>): void;
13160
- update: () => void;
13161
- getMapData(): MapDataInternal | undefined;
13162
- addMap(mapData: MapData): Promise<MapData>;
13163
- setFloor(floor: Floor | string): void;
13164
- get currentFloor(): Floor;
13165
- Paths: {
13166
- add: (_coordinates: Coordinate[]) => Path;
13167
- remove: (_label: any) => void;
13168
- removeAll: () => void;
13169
- };
13170
- getState<T extends Space | MapObject | Label | Marker | string>(target: T): TGetState<T> | undefined;
13171
- setHoverColor(c: string): void;
13172
- getHoverColor(): any;
13173
- getDirections: IMapView['getDirections'];
13174
- Navigation: INavigation;
13175
- createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
13176
- createCoordinateFromScreenCoordinate(): Coordinate;
13177
- auto(): void;
13178
- Outdoor: {
13179
- setStyle: (style: any) => void;
13180
- };
13181
- debug(gui: GUI): void;
13182
- /**
13183
- * @internal
13184
- */
13185
- get __core(): RendererCore;
13186
- }
13187
- }
13188
-
13189
- declare module '@mappedin/mappedin-js/maker/src/api-geojson/utils' {
13190
- import { Coordinate } from '@mappedin/mappedin-js/maker/src/map-data-objects';
13191
- import type { Position, EntranceCollection, LineString, ObstructionProperties } from '@mappedin/mvf';
13192
- import { FeatureCollection } from '@turf/turf';
13193
- import { Feature, MultiLineString } from 'geojson';
13194
- import { CollisionRankingTier, LabelState, MarkerState } from '@mappedin/core-sdk';
13195
- import { TGeometryState, TLabelState } from '@mappedin/mappedin-js/maker/src';
13196
- import { GeometryState } from '@mappedin/core-sdk';
13197
- import { TMarkerState } from '@mappedin/mappedin-js/maker/src/map-view-interface';
13198
- export function convertCoordinateToPosition(coord: Coordinate): Position;
13199
- export function convertPositionToCoordinate(coord: Position): Coordinate;
13200
- export const cutEntracesFromLineStrings: (lineStrings: FeatureCollection<LineString, ObstructionProperties>['features'], entranceCollection: EntranceCollection['features']) => Feature<MultiLineString, any>;
13201
- export function convertPriorityToCollisionTier(priority: TLabelState['priority']): CollisionRankingTier;
13202
- export function translateLabelStateToGeojsonCore(state: Partial<TLabelState>): Partial<LabelState>;
13203
- export function translateMarkerStateToGeojsonCore(state: Partial<TMarkerState>): Partial<MarkerState>;
13204
- export function translateSpaceStateToGeojsonCore(state: Partial<TGeometryState>): Partial<GeometryState>;
13205
- }
13206
-
13207
- declare module '@mappedin/mappedin-js/maker/src/api-geojson/inspector' {
13208
- export { Inspector } from '@mappedin/mappedin-js/maker/src/api-geojson/inspector/debug';
13209
- }
13210
-
13211
- declare module '@mappedin/mappedin-js/maker/src/api-cms/api-cms' {
13212
- import { MapData, TShow3DMapOptions } from '@mappedin/mappedin-js/maker/src';
13213
- import { IDirectionsResult, MappedinMap } from '@mappedin/mappedin-js/packages/get-venue';
13214
- import { FloatingLabel, Marker as LegacyMarker } from '@mappedin/mappedin-js/cms/src';
13215
- import { ExportController, JourneyController } from '@mappedin/mappedin-js/packages/legacy-renderer/internal';
13216
- import Core from '@mappedin/mappedin-js/packages/legacy-renderer/private/Core';
13217
- import { Coordinate, Floor, MapDataInternal, MapObject, Space } from '@mappedin/mappedin-js/maker/src/map-data-objects';
13218
- import { MapView } from '@mappedin/mappedin-js/maker/src/map-view';
13219
- import { IMapView, ILabels, TUpdateState, IMarkers, ICamera, TNavigationTarget, IPaths, TGetDirectionsOptions } from '@mappedin/mappedin-js/maker/src/map-view-interface';
13220
- import { Marker, Directions, Label } from '@mappedin/mappedin-js/maker/src/map-view-objects';
13221
- import { DefaultTheme } from '@mappedin/mappedin-js/maker/src/themes/default';
13222
- import { Navigation } from '@mappedin/mappedin-js/maker/src/navigation';
13223
- export function getMappedinCoordinate(coordinate: Coordinate, mvCore: Core): import("@packages/internal/get-venue/MappedinCoordinate").MappedinCoordinate;
13224
- export class CMSAPI implements IMapView {
13225
- mvCore: Core;
13226
- el: HTMLElement;
13227
- mapData: MapDataInternal;
13228
- mapDataExternal: {
13229
- [key in string]: MapData;
13288
+ add: (coordinates: Coordinate[], options?: TAddPathOptions) => {
13289
+ id: string | number;
13290
+ }[];
13291
+ remove: (entityIds: string[]) => void;
13230
13292
  };
13231
- mapView: MapView;
13232
- optionsWithDefaults: TShow3DMapOptions;
13233
- labels: Map<string, [FloatingLabel, Label]>;
13234
- markers: Map<string, [LegacyMarker, Marker]>;
13235
- directions: WeakMap<Directions, IDirectionsResult>;
13236
- journey?: JourneyController;
13237
- Navigation: Navigation;
13238
- auto: DefaultTheme['auto'];
13239
- exportController?: ExportController;
13240
- constructor(el: HTMLElement, mapView: MapView, optionsWithDefaults: TShow3DMapOptions);
13241
- get currentFloor(): Floor;
13242
- setFloor(floor: Floor | string): void;
13243
- addMap(mapData: MapData): Promise<MapData>;
13244
- Labels: ILabels;
13245
- Markers: IMarkers;
13246
- Paths: IPaths;
13247
- Camera: ICamera;
13248
- createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
13249
- createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor | undefined): Coordinate;
13250
- convertMappedinXYToCoordinate(x: number, y: number, map: MappedinMap | string): Coordinate;
13251
- updateState<T extends Space | MapObject | Label>(object: T, state: TUpdateState<T>): void;
13252
- getNearestNodeToCoordinate(coordinate: Coordinate): import("@packages/internal/get-venue/MappedinNode").MappedinNode;
13253
- getDestinationNodesFromTarget: (target: TNavigationTarget) => string[];
13254
- getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | TNavigationTarget[], options?: TGetDirectionsOptions) => Directions | undefined;
13293
+ constructor(id: string, mvf: any, styleMap: AggregatedStyleMap, renderer: RendererCore);
13255
13294
  }
13256
13295
  }
13257
13296
 
@@ -15278,186 +15317,41 @@ declare module '@mappedin/mappedin-js/packages/navigator/interfaces/IPolygon' {
15278
15317
  }
15279
15318
 
15280
15319
  declare module '@mappedin/mappedin-js/maker/src/api-geojson/floor-object' {
15281
- import type { ParsedMVF, StyleCollection } from '@mappedin/mvf';
15320
+ import type { ParsedMVF } from '@mappedin/mvf';
15282
15321
  import { RendererCore } from '@mappedin/core-sdk';
15322
+ import { AggregatedStyleMap } from '@mappedin/mappedin-js/maker/src/api-geojson/utils';
15283
15323
  export class FloorObject {
15284
15324
  id: string;
15285
15325
  name: string;
15286
15326
  elevation: number;
15287
15327
  containerId: string;
15288
15328
  layers: Map<string, string>;
15289
- constructor(parentId: string, floor: ParsedMVF['map.geojson'][0], renderer: RendererCore, mvf?: ParsedMVF, styles?: StyleCollection);
15329
+ constructor(parentId: string, floor: ParsedMVF['map.geojson'][0], renderer: RendererCore, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
15290
15330
  load: () => this;
15291
15331
  }
15292
15332
  }
15293
15333
 
15294
- declare module '@mappedin/mappedin-js/maker/src/api-geojson/markers' {
15295
- import { TAddMarkerOptions } from '@mappedin/mappedin-js/maker/src/map-view-interface';
15296
- import { Marker } from '@mappedin/mappedin-js/maker/src/map-view-objects';
15297
- import { GeojsonApiMapObject } from '@mappedin/mappedin-js/maker/src/api-geojson/map-object';
15298
- import { IMarkers } from '@mappedin/mappedin-js/maker/src';
15299
- import { Space, Door, Coordinate } from '@mappedin/mappedin-js/maker/src/map-data-objects';
15300
- export class MarkersApi implements IMarkers {
15301
- get currentMap(): GeojsonApiMapObject | undefined;
15302
- constructor({ currentMapGetter }: {
15303
- currentMapGetter: CurremtMapGetter;
15304
- });
15305
- /**
15306
- * internal
15307
- */
15308
- getById(id: string): {
15309
- marker: Marker;
15310
- entityId: string;
15311
- } | undefined;
15312
- add(target: Space | Door | Coordinate, html: string, options?: TAddMarkerOptions): Marker;
15313
- all(): Marker[];
15314
- remove(target: Marker): void;
15315
- removeAll(): Marker[];
15316
- }
15317
- type CurremtMapGetter = () => GeojsonApiMapObject | undefined;
15318
- export {};
15319
- }
15320
-
15321
- declare module '@mappedin/mappedin-js/maker/src/api-geojson/inspector/debug' {
15322
- import MapData from '@mappedin/mappedin-js/maker/src/map-data';
15323
- import { MapViewGeoJson } from '@mappedin/mappedin-js/maker/src/map-view-geojson';
15324
- import { GeoJsonApi } from '@mappedin/mappedin-js/maker/src/api-geojson/api';
15325
- export class Inspector {
15326
- storeStateToLocalStorageEnabled: boolean;
15327
- constructor(mv: MapViewGeoJson, api: GeoJsonApi);
15328
- setMapData(data: MapData): void;
15329
- enable(): Promise<void>;
15330
- get enabled(): boolean;
15331
- storeState(id: string, state: any): void;
15332
- }
15333
- }
15334
-
15335
- declare module '@mappedin/mappedin-js/cms/src' {
15336
- import { MapView } from '@mappedin/mappedin-js/packages/legacy-renderer/public/MapView';
15337
- import { getVenue, getVenueMVF, getVenueBundle, getVenueMaker, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions, hydrateVenue, GET_VENUE_EVENT } from '@mappedin/mappedin-js/packages/get-venue';
15338
- import { PositionUpdater } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
15339
- import type { TMapViewOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/MapView.types';
15340
- export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/packages/common/Mappedin.Logger';
15341
- export type { Marker } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/MarkersController';
15342
- export type { Path } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/PathsController';
15343
- export type { FloatingLabel } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/FloatingLabelsController';
15344
- export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/mappedin-js/packages/navigator';
15345
- export type { IDirectionsResult, TSimplifyDirectionsOptions, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES, } from '@mappedin/mappedin-js/packages/navigator';
15346
- /**
15347
- * APIs for TypeDoc
15348
- */
15349
- export type { IFlatLabels, FlatLabels } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/FlatLabels';
15350
- export type { IFloatingLabels, FloatingLabels } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/FloatingLabels';
15351
- export type { Camera } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Camera';
15352
- export type { BlueDot } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/BlueDot';
15353
- export type { Markers } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Markers';
15354
- export type { Paths } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Paths';
15355
- export type { StackedMaps } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/StackedMaps';
15356
- export type { OutdoorView } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/OutdoorView';
15357
- export type { DynamicFocus } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/DynamicFocus';
15358
- export type { Layers } from '@mappedin/mappedin-js/packages/legacy-renderer/public/api/Layers';
15359
- export type { TOOLTIP_ANCHOR } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/Mappedin.SmartTooltip';
15360
- export type TMappedinInitializeOutput = {
15361
- mapView: MapView;
15362
- venue: Mappedin;
15363
- };
15364
- type _TGetVenueOptions = TGetVenueOptions & {
15365
- useVenueBundle?: false | undefined;
15366
- };
15367
- type _TGetVenueBundleOptions = TGetVenueBundleOptions & {
15368
- useVenueBundle: true;
15369
- };
15370
- type TMappedinInitializeOptions = {
15371
- mapView?: TMapViewOptions;
15372
- venue: _TGetVenueOptions | _TGetVenueBundleOptions;
15373
- firstMapSelector?: (venue: Mappedin) => MappedinMap | MappedinMap['id'];
15374
- };
15375
- /**
15376
- *
15377
- * @param el HTML Element where the mapView should be placed
15378
- * @param venue Venue Object returned by {@link getVenue}
15379
- * @param options MapView Options
15380
- * @returns
15381
- */
15382
- function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
15383
- export { COLLISION_RANKING_TIERS, STATE, E_SDK_EVENT, E_BLUEDOT_STATE_REASON, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_EVENT, E_BLUEDOT_STATE, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE, STACKED_MAPS_STATE, MARKER_ANCHOR, GEOLOCATION_STATUS, E_MAP_CHANGED_REASON, } from '@mappedin/mappedin-js/packages/legacy-renderer/MapView.enums';
15384
- export { getVenue, getVenueMVF, getVenueBundle, getVenueMaker, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, hydrateVenue, PositionUpdater, MappedinDestinationSet, GET_VENUE_EVENT, };
15385
- import DefaultAssetManager from '@mappedin/mappedin-js/packages/legacy-renderer/internal/Mappedin.AssetManager';
15386
- import { TTileManagerOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/outdoor-context/Mappedin.TileManager';
15387
- import { TShowWatermarkOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/WatermarkController';
15388
- export { setAssetManager } from '@mappedin/mappedin-js/packages/legacy-renderer/internal';
15389
- export { DefaultAssetManager as AssetManager };
15390
- export type { TMappedinDirective, IAction, IActionArrival, IActionDeparture, IActionExitVortex, IActionTakeVortex, IActionTurn, } from '@mappedin/mappedin-js/packages/get-venue/MappedinDirections';
15391
- export type { TMappedinInitializeOptions };
15392
- export * from '@mappedin/mappedin-js/packages/legacy-renderer/MapView.types';
15393
- export type { MapView } from '@mappedin/mappedin-js/packages/legacy-renderer/public/MapView';
15394
- export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraInteractionsSetOptions, TCameraAnimationOptions, default as CameraController, } from '@mappedin/mappedin-js/packages/legacy-renderer/private/controllers/CameraController';
15395
- export type { TGetVenueOptions, TGetVenueBundleOptions, TGetVenueMVFOptions, TGetVenueMakerOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions, TDirectionToOptions, TPicture, TImage, TColor, TGalleryImage, TOpeningHours, TPhone, TSiblingGroup, TSocial, TState, TGeoReference, TPolygonRanking, TOperationHoursMap, TAccessors, } from '@mappedin/mappedin-js/packages/get-venue';
15396
- export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE, setFetchFn, MappedinCollectionType, MappedinLocationState, } from '@mappedin/mappedin-js/packages/get-venue';
15397
- /**
15398
- * Export this only so our internal pre-built products can use it. We don't want to document it for external developers.
15399
- */
15400
- export { CustomerAnalytics } from '@mappedin/mappedin-js/packages/get-venue';
15401
- /**
15402
- * Exported but marked as @internal.
15403
- */
15404
- export { BundleAssetManager } from '@mappedin/mappedin-js/packages/legacy-renderer/bundle-asset-manager';
15405
- /**
15406
- * @deprecated Use {@link OutdoorView} instead.
15407
- * Enable Tile Manager to render outdoor tiles around the venue. Must be called before {@link showVenue}.
15408
- *
15409
- * @example
15410
- * ```ts
15411
- * __enableTileManager({
15412
- * provider: new AzureOutdoorContextProvider(
15413
- * venue.options.language,
15414
- * 256,
15415
- * "Your Azure API Key",
15416
- * undefined //Omitted when using API Key.
15417
- * )
15418
- * });
15419
- * ```
15420
- */
15421
- export function __enableTileManager(options?: TTileManagerOptions): void;
15422
- /**
15423
- * @hidden
15424
- * @internal
15425
- *
15426
- * Show a Mappedin logo in the 3D scene. Must be called before {@link showVenue}.
15427
- */
15428
- export function __showWatermark(options?: TShowWatermarkOptions): void;
15429
- export type { TTileManagerOptions } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/outdoor-context/Mappedin.TileManager';
15430
- export { TILE_RENDER_MODES } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/outdoor-context/Mappedin.TileManager';
15431
- export { AzureOutdoorContextProvider, OpenStreetMapOutdoorContext, } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/outdoor-context/Outdoor-Context.provider';
15432
- export type { IOutdoorContextProvider } from '@mappedin/mappedin-js/packages/legacy-renderer/internal/outdoor-context/Outdoor-Context.provider';
15433
- }
15434
-
15435
- declare module '@mappedin/mappedin-js/maker/src/themes/default' {
15436
- import type { MapData, MapView } from '@mappedin/mappedin-js/maker/src';
15437
- import { Labels } from '@mappedin/mappedin-js/maker/src/themes/default/labels';
15438
- export class DefaultTheme {
15439
- Labels: Labels;
15440
- constructor(mapView: MapView, mapData: {
15441
- [key in string]: MapData;
15442
- });
15443
- auto: () => void;
15444
- }
15445
- }
15446
-
15447
- declare module '@mappedin/mappedin-js/maker/src/themes/default/labels' {
15448
- import type { MapData, MapView } from '@mappedin/mappedin-js/maker/src';
15449
- export class Labels {
15450
- #private;
15451
- colors: {
15452
- default: string;
15453
- connection: string;
15454
- washroom: string;
15455
- point: string;
15456
- };
15457
- constructor(mapView: MapView, mapData: {
15458
- [key in string]: MapData;
15459
- });
15460
- auto(): void;
15461
- }
15334
+ declare module '@mappedin/mappedin-js/maker/src/api-geojson/utils' {
15335
+ import { Coordinate } from '@mappedin/mappedin-js/maker/src/map-data-objects';
15336
+ import type { Position, EntranceCollection, LineString, Polygon, Point, SpaceProperties, ObstructionProperties, StyleCollection, PolygonStyle, LineStringStyle, Feature, ObstructionCollection, PointStyle } from '@mappedin/mvf';
15337
+ import type { MultiLineString } from 'geojson';
15338
+ import { LabelState, MarkerState } from '@mappedin/core-sdk';
15339
+ import { TGeometryState, TLabelState, TDirectionInstructionAction } from '@mappedin/mappedin-js/maker/src';
15340
+ import type { GeometryState, CollisionRankingTier } from '@mappedin/core-sdk';
15341
+ import { TMarkerState } from '@mappedin/mappedin-js/maker/src/map-view-interface';
15342
+ export function convertCoordinateToPosition(coord: Coordinate): Position;
15343
+ export function convertPositionToCoordinate(coord: Position): Coordinate;
15344
+ export const cutEntracesFromLineStrings: (lineStrings: ObstructionCollection['features'], entranceCollection: EntranceCollection['features']) => Feature<MultiLineString, any>;
15345
+ export function translateLabelStateToGeojsonCore(state: Partial<TLabelState>, currentState: Partial<LabelState>): Partial<LabelState>;
15346
+ export function translateMarkerStateToGeojsonCore(state: Partial<TMarkerState>, currentState: Partial<MarkerState>): Partial<MarkerState>;
15347
+ export function translateSpaceStateToGeojsonCore(state: Partial<TGeometryState>, currentState: Partial<GeometryState>): Partial<GeometryState>;
15348
+ export function differenceBetweenAngles(a: number, b: number): number;
15349
+ export function getRelativeBearing(relativeBearingAngle: number, threshold: number): TDirectionInstructionAction['bearing'];
15350
+ export function convertCollisionRankingTeirToNumber(tier: CollisionRankingTier): number;
15351
+ export type AggregatedStyleMap = {
15352
+ [id: string]: StyleCollection[keyof StyleCollection];
15353
+ };
15354
+ export function extractStyleMap(styles: StyleCollection): AggregatedStyleMap;
15355
+ export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<PolygonStyle | LineStringStyle | PointStyle, Feature<Point | LineString | Polygon, ObstructionProperties | SpaceProperties>[]>;
15462
15356
  }
15463
15357