@mappedin/react-sdk 6.0.1-beta.6 → 6.0.1-beta.8

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.
@@ -16,6 +16,7 @@
16
16
  // ../react/@packages/internal/quad-tree
17
17
  // ../react/@packages/internal/outdoor-context-v4
18
18
  // ../react/@packages/internal/geojson-navigator
19
+ // ../react/minisearch
19
20
  // ../react/three/addons/loaders/GLTFLoader.js
20
21
  // ../react/@mapbox/point-geometry
21
22
  // ../react/@maplibre/maplibre-gl-style-spec
@@ -520,8 +521,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
520
521
  export type { Label, Marker, Path, Shape, CameraTransform, Model } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
521
522
  export type { Navigation, TNavigationOptions } from '@mappedin/react-sdk/mappedin-js/src/navigation';
522
523
  export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
523
- export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, Location, Category, Venue, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
524
- export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
524
+ export { Coordinate, Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space, Image, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, type Places, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
525
+ export type { Camera, Models, Labels, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
526
+ export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/react-sdk/mappedin-js/src/search';
525
527
  }
526
528
 
527
529
  declare module '@mappedin/react-sdk/react-sdk/src/type-utils' {
@@ -550,12 +552,14 @@ declare module '@mappedin/react-sdk/react-sdk/src' {
550
552
  }
551
553
 
552
554
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
553
- import { PubSub } from '@packages/internal/common';
554
555
  import { Analytics } from '@mappedin/react-sdk/mappedin-js/src/analytics';
556
+ import { PubSub } from '@packages/internal/common';
557
+ import type { TSearchOptions } from '@packages/internal/mvf-utils';
555
558
  import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
556
- import type Category from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
557
- import type Location from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
558
- import type Venue from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue';
559
+ import type EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
560
+ import type EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
561
+ import type EnterpriseVenue from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue';
562
+ import { Search } from '@mappedin/react-sdk/mappedin-js/src/search';
559
563
  /**
560
564
  * A WeakMap to associate {@link MapData} instances with their internal representation.
561
565
  * We need a way to get the internal data object from the API
@@ -575,12 +579,32 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
575
579
  }> {
576
580
  #private;
577
581
  Analytics: Analytics;
582
+ /**
583
+ * Search API for MapData
584
+ *
585
+ * @example
586
+ * // Enable search
587
+ * const mapData = await getMapData({ search: { enabled: true } });
588
+ * // or
589
+ * await mapData.Search.enable();
590
+ *
591
+ * // Perform a search query
592
+ * const results = await mapData.Search.query('Coffee Shop');
593
+ * console.log(results.locations);
594
+ *
595
+ * // Get search suggestions
596
+ * const suggestions = await mapData.Search.suggest('Coff');
597
+ * console.log(suggestions);
598
+ */
599
+ Search: Search;
578
600
  /**
579
601
  * Constructs a new instance of {@link MapData}.
580
602
  *
581
603
  * @internal
582
604
  */
583
- constructor(internal: MapDataInternal);
605
+ constructor(internal: MapDataInternal, { search }?: {
606
+ search?: TSearchOptions;
607
+ });
584
608
  /**
585
609
  * The name of the map.
586
610
  *
@@ -599,10 +623,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
599
623
  * @returns {string} The organization ID of the map.
600
624
  */
601
625
  get organizationId(): string;
602
- /**
603
- * @internal
604
- */
605
- get venue(): Venue | undefined;
606
626
  /**
607
627
  * The token is used to fetch outdoor tiles.
608
628
  *
@@ -661,13 +681,23 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
661
681
  */
662
682
  getByType(type: 'annotation'): Annotation[];
663
683
  /**
664
- * @internal
684
+ * @returns The enterprise locations ({@link EnterpriseLocation}) on the map.
685
+ * @example
686
+ * const enterpriseLocations = mapData.getByType('enterprise-location');
665
687
  */
666
- getByType(type: 'location'): Location[];
688
+ getByType(type: 'enterprise-location'): EnterpriseLocation[];
667
689
  /**
668
- * @internal
690
+ * @returns The enterprise categories ({@link EnterpriseCategory}) on the map.
691
+ * @example
692
+ * const enterpriseCategories = mapData.getByType('enterprise-category');
669
693
  */
670
- getByType(type: 'category'): Category[];
694
+ getByType(type: 'enterprise-category'): EnterpriseCategory[];
695
+ /**
696
+ * @returns The enterprise venue ({@link EnterpriseVenue}) on the map.
697
+ * @example
698
+ * const enterpriseVenue = mapData.getByType('enterprise-venue');
699
+ */
700
+ getByType(type: 'enterprise-venue'): EnterpriseVenue;
671
701
  /**
672
702
  * Retrieves a specific map feature by its type and ID.
673
703
  *
@@ -684,8 +714,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
684
714
  getById(type: 'object', id: string): MapObject | undefined;
685
715
  getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
686
716
  getById(type: 'annotation', id: string): Annotation | undefined;
687
- getById(type: 'location', id: string): Location | undefined;
688
- getById(type: 'category', id: string): Category | undefined;
717
+ getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
718
+ getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
689
719
  getById(type: string, id: string): object | undefined;
690
720
  /**
691
721
  * @internal
@@ -827,13 +857,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
827
857
  import Annotation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation';
828
858
  import Hyperlink from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/hyperlink';
829
859
  import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
830
- import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, Map as MVFMap, EnterpriseLocation, EnterpriseCategory } from '@mappedin/mvf';
831
- import type { MapDataObjects } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
832
- import Location from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
833
- import Category from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
834
- import Venue from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue';
835
- import { PubSub } from '@packages/internal/common';
860
+ import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, Map as MVFMap, EnterpriseLocationId, EnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory } from '@mappedin/mvf';
836
861
  import { AnalyticsInternal } from '@mappedin/react-sdk/mappedin-js/src/analytics';
862
+ import EnterpriseLocation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location';
863
+ import EnterpriseCategory from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category';
864
+ import EnterpriseVenue from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue';
865
+ import { PubSub } from '@packages/internal/common';
866
+ import type { Places } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
837
867
  /**
838
868
  * Internal class representing detailed map data.
839
869
  *
@@ -867,13 +897,32 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
867
897
  * Represents a map of entrance IDs to obstruction IDs.
868
898
  */
869
899
  readonly obstructionIdByEntranceId: Record<string, string>;
870
- readonly venue?: Venue;
900
+ readonly venue?: EnterpriseVenue;
901
+ enterpriseMode: boolean;
902
+ nodesById: Record<string, Node>;
903
+ spacesById: Record<string, Space>;
904
+ floorsById: Record<string, Floor>;
905
+ connectionsById: Record<string, Connection>;
906
+ objectsById: Record<string, MapObject>;
907
+ doorsById: Record<string, Door>;
908
+ pointsOfInterestById: Record<string, PointOfInterest>;
909
+ annotationsById: Record<string, Annotation>;
910
+ locationsById: Record<EnterpriseLocationId, EnterpriseLocation>;
911
+ categoriesById: Record<EnterpriseCategoryId, EnterpriseCategory>;
871
912
  doorsByNodeId: Record<string, Door>;
872
- locationsBySpaceId: Record<string, EnterpriseLocation[]>;
913
+ locationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
914
+ mvfAnnotationsById: Record<string, AnnotationCollection['features'][number]>;
915
+ mvfConnectionsById: Record<string, MVFConnection>;
916
+ mvfConnectionsByNodeId: Record<string, MVFConnection>;
917
+ mvfEntrancesById: Record<string, EntranceCollection['features'][number]>;
918
+ mvfNodesById: Record<string, NodeCollection['features'][number]>;
919
+ mvfObstructionById: Record<string, ObstructionCollection['features'][number]>;
920
+ mvfSpacesById: Record<string, SpaceCollection['features'][number]>;
921
+ mvfMapsById: Record<string, MVFMap>;
873
922
  /**
874
923
  * @internal
875
924
  */
876
- constructor(mvf: ParsedMVF, outdoorViewToken?: string);
925
+ constructor(mvf: ParsedMVF, outdoorViewToken?: string, enterpriseMode?: boolean);
877
926
  /**
878
927
  * Retrieves the map name.
879
928
  *
@@ -932,8 +981,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
932
981
  * @returns {Annotation[]} An array of Annotation objects.
933
982
  */
934
983
  get nodes(): Node[];
935
- get locations(): Location[];
936
- get categories(): Category[];
984
+ get locations(): EnterpriseLocation[];
985
+ get categories(): EnterpriseCategory[];
937
986
  /**
938
987
  * Retrieves an object by its type and ID.
939
988
  *
@@ -949,9 +998,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
949
998
  getById(type: 'object', id: string): MapObject | undefined;
950
999
  getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
951
1000
  getById(type: 'annotation', id: string): Annotation | undefined;
952
- getById(type: 'location', id: string): Location | undefined;
953
- getById(type: 'category', id: string): Category | undefined;
954
- getMapDataById(id: string): MapDataObjects | undefined;
1001
+ getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
1002
+ getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
1003
+ getMapDataById(id: string): Places | undefined;
955
1004
  /**
956
1005
  * Retrieves a feature by its type and ID from the Mappedin Venue Format (MVF) data.
957
1006
  *
@@ -978,14 +1027,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
978
1027
  languagePacks: {
979
1028
  [key: string]: {
980
1029
  location: {
981
- [key: string]: Partial<EnterpriseLocation>;
1030
+ [key: string]: Partial<MVFEnterpriseLocation>;
982
1031
  };
983
1032
  category: {
984
- [key: string]: Partial<EnterpriseCategory>;
1033
+ [key: string]: Partial<MVFEnterpriseCategory>;
985
1034
  };
986
1035
  };
987
1036
  };
988
- getPropTranslation(type: 'location' | 'category', prop: string, id: string, fallback: EnterpriseLocation[keyof EnterpriseLocation] | EnterpriseCategory[keyof EnterpriseCategory]): unknown;
1037
+ getPropTranslation(type: 'enterprise-location' | 'enterprise-category', prop: string, id: string, fallback: MVFEnterpriseLocation[keyof MVFEnterpriseLocation] | MVFEnterpriseCategory[keyof MVFEnterpriseCategory]): unknown;
989
1038
  changeLanguage(languageCode: string): Promise<void>;
990
1039
  /**
991
1040
  * Cleans up resources used by the instance.
@@ -994,9 +1043,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
994
1043
  */
995
1044
  destroy(): void;
996
1045
  }
997
- export { MapDataInternal, Space, Floor, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, Location, Category, Venue, };
1046
+ export { MapDataInternal, Space, Floor, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
998
1047
  export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
999
- export type { MapDataObjects };
1048
+ export type { Places };
1000
1049
  }
1001
1050
 
1002
1051
  declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
@@ -1299,7 +1348,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
1299
1348
 
1300
1349
  declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1301
1350
  import type { Feature, MultiPolygon, Polygon } from 'geojson';
1302
- import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1351
+ import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1303
1352
  import type { Label, Marker, Model, Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1304
1353
  import type { EasingCurve } from '@mappedin/core-sdk/src/camera';
1305
1354
  export type DeepRequired<T> = Required<{
@@ -1626,7 +1675,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1626
1675
  /**
1627
1676
  * Defines the target for navigation operations.
1628
1677
  */
1629
- export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection;
1678
+ export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation;
1630
1679
  /**
1631
1680
  * Defines the special zone for navigation operations.
1632
1681
  */
@@ -2231,29 +2280,35 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson' {
2231
2280
  export { Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/images';
2232
2281
  }
2233
2282
 
2283
+ declare module '@mappedin/react-sdk/mappedin-js/src/search' {
2284
+ export type { SearchResult, SearchResultItem, SearchOptions, Suggestion, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, MatchInfo, } from '@mappedin/react-sdk/mappedin-js/src/search/internal';
2285
+ export type { SearchState } from '@mappedin/react-sdk/mappedin-js/src/search/external';
2286
+ export { Search } from '@mappedin/react-sdk/mappedin-js/src/search/external';
2287
+ }
2288
+
2234
2289
  declare module '@mappedin/react-sdk/mappedin-js/src/analytics' {
2235
2290
  export { Analytics, AnalyticsInternal } from '@mappedin/react-sdk/mappedin-js/src/analytics/customer';
2236
2291
  export type { AnalyticsUpdateOptions } from '@mappedin/react-sdk/mappedin-js/src/analytics/customer';
2237
2292
  }
2238
2293
 
2239
2294
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
2240
- import type { EnterpriseCategory } from '@mappedin/mvf';
2241
- import type { MapDataInternal, Location } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2295
+ import type { EnterpriseCategory as MVFEnterpriseCategory } from '@mappedin/mvf';
2296
+ import type { MapDataInternal, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2242
2297
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
2243
2298
  /**
2244
- * A Category is a collection of similar Locations.
2299
+ * An EnterpriseCategory is a collection of similar EnterpriseLocations.
2245
2300
  *
2246
2301
  */
2247
- class Category extends BaseMapData implements Omit<EnterpriseCategory, 'children' | 'locations'> {
2302
+ class EnterpriseCategory extends BaseMapData implements Omit<MVFEnterpriseCategory, 'children' | 'locations'> {
2248
2303
  #private;
2249
2304
  /**
2250
2305
  * @internal
2251
2306
  */
2252
- static readonly __type = "category";
2307
+ static readonly __type = "enterprise-category";
2253
2308
  /**
2254
2309
  * @internal
2255
2310
  */
2256
- readonly __type = "category";
2311
+ readonly __type = "enterprise-category";
2257
2312
  name: string;
2258
2313
  color?: string | undefined;
2259
2314
  externalId: string;
@@ -2262,24 +2317,24 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
2262
2317
  iconFromDefaultList?: string | null | undefined;
2263
2318
  sortOrder: number;
2264
2319
  /**
2265
- * Checks if the provided instance is of type Category.
2320
+ * Checks if the provided instance is of type EnterpriseCategory.
2266
2321
  *
2267
2322
  * @param instance The instance to check.
2268
- * @returns {boolean} True if the instance is a Category, false otherwise.
2323
+ * @returns {boolean} True if the instance is a EnterpriseCategory, false otherwise.
2269
2324
  */
2270
- static is(instance: object): instance is Category;
2325
+ static is(instance: object): instance is EnterpriseCategory;
2271
2326
  /**
2272
2327
  * @internal
2273
2328
  */
2274
2329
  constructor(data: MapDataInternal, options: {
2275
- mvfData: EnterpriseCategory;
2330
+ mvfData: MVFEnterpriseCategory;
2276
2331
  });
2277
- get children(): Category[];
2278
- get locations(): Location[];
2332
+ get children(): EnterpriseCategory[];
2333
+ get locations(): EnterpriseLocation[];
2279
2334
  /**
2280
- * Serializes the category data to JSON.
2335
+ * Serializes the EnterpriseCategory data to JSON.
2281
2336
  *
2282
- * @returns An object representing the category.
2337
+ * @returns An object representing the EnterpriseCategory.
2283
2338
  */
2284
2339
  toJSON(): {
2285
2340
  id: string;
@@ -2292,29 +2347,29 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
2292
2347
  */
2293
2348
  destroy(): void;
2294
2349
  }
2295
- export default Category;
2350
+ export default EnterpriseCategory;
2296
2351
  }
2297
2352
 
2298
2353
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
2299
- import type { EnterpriseLocation, LocationState, OperationHours, SiblingGroup } from '@mappedin/mvf';
2354
+ import type { EnterpriseLocation as MVFEnterpriseLocation, LocationState, OperationHours, SiblingGroup } from '@mappedin/mvf';
2300
2355
  import type { Coordinate, MapDataInternal, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2301
2356
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
2302
2357
  import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
2303
2358
  /**
2304
- * A class representing location data within the map.
2359
+ * A class representing enterprise location data within the map.
2305
2360
  *
2306
- * A Location is something like a store, or a washroom on a map.
2361
+ * An EnterpriseLocation is something like a store, or a washroom on a map.
2307
2362
  */
2308
- class Location extends BaseMapData implements Omit<EnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
2363
+ class EnterpriseLocation extends BaseMapData implements Omit<MVFEnterpriseLocation, 'polygons' | 'nodes' | 'links'> {
2309
2364
  #private;
2310
2365
  /**
2311
2366
  * @internal
2312
2367
  */
2313
- static readonly __type = "location";
2368
+ static readonly __type = "enterprise-location";
2314
2369
  /**
2315
2370
  * @internal
2316
2371
  */
2317
- readonly __type = "location";
2372
+ readonly __type = "enterprise-location";
2318
2373
  description?: string | undefined;
2319
2374
  name: string;
2320
2375
  amenity?: string | undefined;
@@ -2347,25 +2402,25 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
2347
2402
  tags?: string[] | undefined;
2348
2403
  type: string;
2349
2404
  /**
2350
- * Checks if the provided instance is of type Location.
2405
+ * Checks if the provided instance is of type EnterpriseLocation.
2351
2406
  *
2352
2407
  * @param instance The instance to check.
2353
- * @returns {boolean} True if the instance is a Location, false otherwise.
2408
+ * @returns {boolean} True if the instance is a EnterpriseLocation, false otherwise.
2354
2409
  */
2355
- static is(instance: object): instance is Location;
2410
+ static is(instance: object): instance is EnterpriseLocation;
2356
2411
  /**
2357
2412
  * @internal
2358
2413
  */
2359
2414
  constructor(data: MapDataInternal, options: {
2360
- mvfData: EnterpriseLocation;
2415
+ mvfData: MVFEnterpriseLocation;
2361
2416
  });
2362
2417
  get coordinates(): Coordinate[];
2363
2418
  get nodes(): Node[];
2364
2419
  get spaces(): Space[];
2365
2420
  /**
2366
- * Serializes the location data to JSON.
2421
+ * Serializes the EnterpriseLocation data to JSON.
2367
2422
  *
2368
- * @returns An object representing the location.
2423
+ * @returns An object representing the EnterpriseLocation.
2369
2424
  */
2370
2425
  toJSON(): {
2371
2426
  id: string;
@@ -2378,26 +2433,26 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location' {
2378
2433
  */
2379
2434
  destroy(): void;
2380
2435
  }
2381
- export default Location;
2436
+ export default EnterpriseLocation;
2382
2437
  }
2383
2438
 
2384
2439
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
2385
- import type { EnterpriseVenue, Language } from '@mappedin/mvf';
2440
+ import type { EnterpriseVenue as MVFEnterpriseVenue, Language } from '@mappedin/mvf';
2386
2441
  import type { Hyperlink, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2387
2442
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
2388
2443
  /**
2389
- * A Venue is a specific place (like a mall, office building, or stadium) with one or more Floors
2444
+ * An EnterpriseVenue is a specific place (like a mall, office building, or stadium) with one or more Floors
2390
2445
  */
2391
- class Venue extends BaseMapData implements EnterpriseVenue {
2446
+ class EnterpriseVenue extends BaseMapData implements MVFEnterpriseVenue {
2392
2447
  #private;
2393
2448
  /**
2394
2449
  * @internal
2395
2450
  */
2396
- static readonly __type = "venue";
2451
+ static readonly __type = "enterprise-venue";
2397
2452
  /**
2398
2453
  * @internal
2399
2454
  */
2400
- readonly __type = "venue";
2455
+ readonly __type = "enterprise-venue";
2401
2456
  countrycode?: string | undefined;
2402
2457
  externalId: string;
2403
2458
  defaultLanguage: Language;
@@ -2412,28 +2467,28 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
2412
2467
  topLocations?: string[] | undefined;
2413
2468
  tzid?: string | undefined;
2414
2469
  /**
2415
- * Checks if the provided instance is of type Venue.
2470
+ * Checks if the provided instance is of type EnterpriseVenue.
2416
2471
  *
2417
2472
  * @param instance The instance to check.
2418
- * @returns {boolean} True if the instance is a Venue, false otherwise.
2473
+ * @returns {boolean} True if the instance is a EnterpriseVenue, false otherwise.
2419
2474
  */
2420
- static is(instance: object): instance is Venue;
2475
+ static is(instance: object): instance is EnterpriseVenue;
2421
2476
  /**
2422
2477
  * @internal
2423
2478
  */
2424
2479
  constructor(_data: MapDataInternal, options: {
2425
- mvfData: EnterpriseVenue;
2480
+ mvfData: MVFEnterpriseVenue;
2426
2481
  });
2427
2482
  /**
2428
- * Gets the name of the venue.
2483
+ * Gets the name of the EnterpriseVenue.
2429
2484
  *
2430
- * @returns {string} The name of the venue.
2485
+ * @returns {string} The name of the EnterpriseVenue.
2431
2486
  */
2432
2487
  get name(): string;
2433
2488
  /**
2434
- * Serializes the venue data to JSON.
2489
+ * Serializes the EnterpriseVenue data to JSON.
2435
2490
  *
2436
- * @returns An object representing the venue.
2491
+ * @returns An object representing the EnterpriseVenue.
2437
2492
  */
2438
2493
  toJSON(): {
2439
2494
  id: string;
@@ -2446,7 +2501,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
2446
2501
  */
2447
2502
  destroy(): void;
2448
2503
  }
2449
- export default Venue;
2504
+ export default EnterpriseVenue;
2450
2505
  }
2451
2506
 
2452
2507
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps' {
@@ -2685,10 +2740,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
2685
2740
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
2686
2741
  import type { Image, SpaceCollection } from '@mappedin/mvf';
2687
2742
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
2688
- import type { Location, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2743
+ import type { EnterpriseLocation, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2689
2744
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
2690
2745
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
2691
- import Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
2746
+ import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
2692
2747
  /**
2693
2748
  * Represents the various types of spaces that can be defined within a map.
2694
2749
  * - 'room': A standard room or enclosed area.
@@ -2746,7 +2801,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
2746
2801
  /**
2747
2802
  * @internal
2748
2803
  */
2749
- get locations(): Location[];
2804
+ get locations(): EnterpriseLocation[];
2750
2805
  /**
2751
2806
  * Gets the {@link Floor} object associated with the space.
2752
2807
  *
@@ -3441,13 +3496,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image' {
3441
3496
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
3442
3497
  import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
3443
3498
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3444
- import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
3445
3499
  import type Space from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
3446
3500
  import type PointOfInterest from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi';
3447
3501
  import type Annotation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation';
3448
3502
  import type Connection from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection';
3449
3503
  import type MapObject from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object';
3450
- export type MapDataObjects = Space | Floor | Node | Door | Connection | MapObject | PointOfInterest | Annotation;
3504
+ /**
3505
+ * Places are the main objects that can be searched for.
3506
+ */
3507
+ export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation;
3451
3508
  }
3452
3509
 
3453
3510
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
@@ -3678,10 +3735,18 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
3678
3735
  }
3679
3736
 
3680
3737
  declare module '@mappedin/react-sdk/geojson/src/components/path' {
3681
- import { type Mesh, type ShaderMaterial, type BufferGeometry, Vector3 } from 'three';
3682
- import type { Position } from '@mappedin/react-sdk/geojson/src/types';
3738
+ import { Vector3 } from 'three';
3739
+ import type { Mesh, ShaderMaterial, BufferGeometry } from 'three';
3740
+ import type { EntityId, Position } from '@mappedin/react-sdk/geojson/src/types';
3683
3741
  import { Geometry3DObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
3684
3742
  import type { FeatureCollection, Point } from 'geojson';
3743
+ import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
3744
+ export type PathProperties = {
3745
+ /**
3746
+ * The parentId of the point. The point will be anchored to the altitude of this parent group container.
3747
+ */
3748
+ parentId?: EntityId<GroupContainerState> | string | null;
3749
+ };
3685
3750
  /**
3686
3751
  * State representing a Path
3687
3752
  */
@@ -3753,7 +3818,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
3753
3818
  material?: ShaderMaterial;
3754
3819
  geometry?: BufferGeometry;
3755
3820
  outline?: Mesh;
3756
- feature: FeatureCollection<Point>;
3821
+ feature: FeatureCollection<Point, PathProperties>;
3757
3822
  options: AddPathOptions;
3758
3823
  nearRadius: number;
3759
3824
  farRadius: number;
@@ -3762,8 +3827,12 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
3762
3827
  altitudeAdjustment: number;
3763
3828
  displayArrowsOnPath: boolean;
3764
3829
  animateArrowsOnPath: boolean;
3830
+ /**
3831
+ * If the path is vertical it will be rebuilt whenever altitudeDirty = true. This will be set during the first render of the path.
3832
+ */
3833
+ isVertical: boolean;
3765
3834
  dirty: boolean;
3766
- constructor(feature: FeatureCollection<Point, any>, options?: AddPathOptions);
3835
+ constructor(feature: FeatureCollection<Point, PathProperties>, options?: AddPathOptions);
3767
3836
  setColor(): void;
3768
3837
  setOpacity(): void;
3769
3838
  set completeFraction(value: number);
@@ -5138,6 +5207,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
5138
5207
  import './utils/object-this-polyfill';
5139
5208
  import { Vector3, Raycaster, Camera as ThreeCamera } from 'three';
5140
5209
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
5210
+ import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
5141
5211
  import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
5142
5212
  import { CollisionSystem } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
5143
5213
  import { InteractionSystem } from '@mappedin/react-sdk/geojson/src/systems/interactions';
@@ -5155,7 +5225,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
5155
5225
  import { TwoDVisibilitySystem } from '@mappedin/react-sdk/geojson/src/systems/2d-visibility/system';
5156
5226
  import { RenderSystem } from '@mappedin/react-sdk/geojson/src/systems/render/system';
5157
5227
  import type { Position as GeoJsonPosition, FeatureCollection, LineString, MultiPolygon, Polygon, Point, Feature } from 'geojson';
5158
- import type { AddPathOptions, PathState } from '@mappedin/react-sdk/geojson/src/components/path';
5228
+ import type { AddPathOptions, PathProperties, PathState } from '@mappedin/react-sdk/geojson/src/components/path';
5159
5229
  import { StackSystem } from '@mappedin/react-sdk/geojson/src/systems/stack/system';
5160
5230
  import { CameraSystem } from '@mappedin/react-sdk/geojson/src/systems/camera';
5161
5231
  import { DOMDrawSystem } from '@mappedin/react-sdk/geojson/src/systems/dom-draw/system';
@@ -5268,6 +5338,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
5268
5338
  id: string;
5269
5339
  type: string;
5270
5340
  };
5341
+ getParentContainer: (parent?: EntityId<GroupContainerState> | string | number | null, defaultToScene?: boolean) => GroupContainerObject3D | undefined;
5271
5342
  /**
5272
5343
  * Add a custom THREE.js entity to the map. The geometry is placed at the GeoJSON coordinate and includes a `setup` and `update` methods.
5273
5344
  * Setup is called when the first time the geometry visible, and update is called every render frame.
@@ -5296,21 +5367,13 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
5296
5367
  /**
5297
5368
  * Add a Path along a set of GeoJSON coordinates that can be animated.
5298
5369
  */
5299
- addPath(geometry: FeatureCollection<Point, any>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState>;
5370
+ addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState>;
5300
5371
  /**
5301
5372
  * Updates the watermark on the map.
5302
5373
  *
5303
5374
  * @param options {WatermarkOptions}
5304
5375
  */
5305
5376
  updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
5306
- /**
5307
- * @deprecated
5308
- * @TODO: remove this method and do this in setstate instead
5309
- */
5310
- updateStackState(container: EntityId<GroupContainerState> | string | number, opts: {
5311
- expandedFactor?: number;
5312
- activeId?: string;
5313
- }): void;
5314
5377
  /**
5315
5378
  * Remove an entity from the renderer and release associated resources.
5316
5379
  */
@@ -6856,6 +6919,339 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
6856
6919
  export {};
6857
6920
  }
6858
6921
 
6922
+ declare module '@mappedin/react-sdk/mappedin-js/src/search/internal' {
6923
+ import type { SearchResult as MiniSearchResult, Suggestion, MatchInfo } from 'minisearch';
6924
+ import type { EnterpriseLocation, EnterpriseCategory, Places } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
6925
+ import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
6926
+ import { z } from 'zod';
6927
+ export class InternalSearch {
6928
+ constructor(mapData: MapData);
6929
+ /**
6930
+ * Populates the search indexes with the map data.
6931
+ * @returns A promise that resolves when the indexes are populated.
6932
+ */
6933
+ populate(): Promise<any[]>;
6934
+ search(term: string, options?: SearchOptions): Promise<SearchResult>;
6935
+ suggest(term: string, options?: SuggestOptions): Promise<Suggestion[]>;
6936
+ }
6937
+ export type SearchResultItem<T extends Places | EnterpriseLocation | EnterpriseCategory> = {
6938
+ type: T['__type'];
6939
+ match: MiniSearchResult['match'];
6940
+ score: number;
6941
+ item: T;
6942
+ };
6943
+ /**
6944
+ * @interface
6945
+ */
6946
+ export type SearchResultEnterpriseCategory = SearchResultItem<EnterpriseCategory>;
6947
+ /**
6948
+ * @interface
6949
+ */
6950
+ export type SearchResultEnterpriseLocations = SearchResultItem<EnterpriseLocation>;
6951
+ /**
6952
+ * @interface
6953
+ */
6954
+ export type SearchResultPlaces = SearchResultItem<Places>;
6955
+ /**
6956
+ * Search results
6957
+ */
6958
+ export type SearchResult = {
6959
+ /**
6960
+ * Places search results
6961
+ */
6962
+ places: SearchResultPlaces[];
6963
+ /**
6964
+ * Enterprise Locations search results
6965
+ */
6966
+ enterpriseLocations?: SearchResultEnterpriseLocations[];
6967
+ /**
6968
+ * Enterprise Categories search results
6969
+ */
6970
+ enterpriseCategories?: SearchResultEnterpriseCategory[];
6971
+ };
6972
+ export function removeAccents(it: string): string;
6973
+ const searchOptionsSchema: z.ZodObject<{
6974
+ /**
6975
+ * Options for searching places.
6976
+ * @property {Object} [fields] - Fields to search in places.
6977
+ * @property {boolean} [name] - Whether to search in the name field of places.
6978
+ * @property {boolean} [description] - Whether to search in the description field of places.
6979
+ * @property {number} [limit] - Maximum number of place results to return.
6980
+ */
6981
+ places: z.ZodOptional<z.ZodObject<{
6982
+ /**
6983
+ * Fields to search in places.
6984
+ * @property {boolean} [name] - Whether to search in the name field of places.
6985
+ * @property {boolean} [description] - Whether to search in the description field of places.
6986
+ */
6987
+ fields: z.ZodOptional<z.ZodObject<{
6988
+ /** Enable searching by place name */
6989
+ name: z.ZodOptional<z.ZodBoolean>;
6990
+ /** Enable searching by place description */
6991
+ description: z.ZodOptional<z.ZodBoolean>;
6992
+ }, "strip", z.ZodTypeAny, {
6993
+ name?: boolean | undefined;
6994
+ description?: boolean | undefined;
6995
+ }, {
6996
+ name?: boolean | undefined;
6997
+ description?: boolean | undefined;
6998
+ }>>;
6999
+ /** Maximum number of place results to return */
7000
+ limit: z.ZodOptional<z.ZodNumber>;
7001
+ }, "strip", z.ZodTypeAny, {
7002
+ limit?: number | undefined;
7003
+ fields?: {
7004
+ name?: boolean | undefined;
7005
+ description?: boolean | undefined;
7006
+ } | undefined;
7007
+ }, {
7008
+ limit?: number | undefined;
7009
+ fields?: {
7010
+ name?: boolean | undefined;
7011
+ description?: boolean | undefined;
7012
+ } | undefined;
7013
+ }>>;
7014
+ /**
7015
+ * Options for searching categories.
7016
+ * @property {Object} [fields] - Fields to search in categories.
7017
+ * @property {boolean} [name] - Whether to search in the name field of categories.
7018
+ * @property {boolean} [description] - Whether to search in the description field of categories.
7019
+ * @property {boolean} ['locations.name'] - Whether to search in the locations' names of categories.
7020
+ * @property {number} [limit] - Maximum number of category results to return.
7021
+ */
7022
+ enterpriseCategories: z.ZodOptional<z.ZodObject<{
7023
+ /**
7024
+ * Fields to search in categories.
7025
+ * @property {boolean} [name] - Whether to search in the name field of categories.
7026
+ * @property {boolean} [description] - Whether to search in the description field of categories.
7027
+ * @property {boolean} ['locations.name'] - Whether to search in the locations' names of categories.
7028
+ */
7029
+ fields: z.ZodOptional<z.ZodObject<{
7030
+ /** Enable searching by category name */
7031
+ name: z.ZodOptional<z.ZodBoolean>;
7032
+ /** Enable searching by category description */
7033
+ description: z.ZodOptional<z.ZodBoolean>;
7034
+ /** Enable searching by names of locations within the category */
7035
+ 'locations.name': z.ZodOptional<z.ZodBoolean>;
7036
+ }, "strip", z.ZodTypeAny, {
7037
+ name?: boolean | undefined;
7038
+ description?: boolean | undefined;
7039
+ 'locations.name'?: boolean | undefined;
7040
+ }, {
7041
+ name?: boolean | undefined;
7042
+ description?: boolean | undefined;
7043
+ 'locations.name'?: boolean | undefined;
7044
+ }>>;
7045
+ /** Maximum number of category results to return */
7046
+ limit: z.ZodOptional<z.ZodNumber>;
7047
+ }, "strip", z.ZodTypeAny, {
7048
+ limit?: number | undefined;
7049
+ fields?: {
7050
+ name?: boolean | undefined;
7051
+ description?: boolean | undefined;
7052
+ 'locations.name'?: boolean | undefined;
7053
+ } | undefined;
7054
+ }, {
7055
+ limit?: number | undefined;
7056
+ fields?: {
7057
+ name?: boolean | undefined;
7058
+ description?: boolean | undefined;
7059
+ 'locations.name'?: boolean | undefined;
7060
+ } | undefined;
7061
+ }>>;
7062
+ /**
7063
+ * Options for searching locations.
7064
+ * @property {Object} [fields] - Fields to search in locations.
7065
+ * @property {boolean} [name] - Whether to search in the name field of locations.
7066
+ * @property {boolean} [tags] - Whether to search in the tags field of locations.
7067
+ * @property {boolean} [description] - Whether to search in the description field of locations.
7068
+ * @property {number} [limit] - Maximum number of location results to return.
7069
+ */
7070
+ enterpriseLocations: z.ZodOptional<z.ZodObject<{
7071
+ /**
7072
+ * Fields to search in locations.
7073
+ * @property {boolean} [name] - Whether to search in the name field of locations.
7074
+ * @property {boolean} [tags] - Whether to search in the tags field of locations.
7075
+ * @property {boolean} [description] - Whether to search in the description field of locations.
7076
+ */
7077
+ fields: z.ZodOptional<z.ZodObject<{
7078
+ /** Enable searching by location name */
7079
+ name: z.ZodOptional<z.ZodBoolean>;
7080
+ /** Enable searching by location tags */
7081
+ tags: z.ZodOptional<z.ZodBoolean>;
7082
+ /** Enable searching by location description */
7083
+ description: z.ZodOptional<z.ZodBoolean>;
7084
+ }, "strip", z.ZodTypeAny, {
7085
+ name?: boolean | undefined;
7086
+ description?: boolean | undefined;
7087
+ tags?: boolean | undefined;
7088
+ }, {
7089
+ name?: boolean | undefined;
7090
+ description?: boolean | undefined;
7091
+ tags?: boolean | undefined;
7092
+ }>>;
7093
+ /** Maximum number of location results to return */
7094
+ limit: z.ZodOptional<z.ZodNumber>;
7095
+ }, "strip", z.ZodTypeAny, {
7096
+ limit?: number | undefined;
7097
+ fields?: {
7098
+ name?: boolean | undefined;
7099
+ description?: boolean | undefined;
7100
+ tags?: boolean | undefined;
7101
+ } | undefined;
7102
+ }, {
7103
+ limit?: number | undefined;
7104
+ fields?: {
7105
+ name?: boolean | undefined;
7106
+ description?: boolean | undefined;
7107
+ tags?: boolean | undefined;
7108
+ } | undefined;
7109
+ }>>;
7110
+ }, "strip", z.ZodTypeAny, {
7111
+ enterpriseLocations?: {
7112
+ limit?: number | undefined;
7113
+ fields?: {
7114
+ name?: boolean | undefined;
7115
+ description?: boolean | undefined;
7116
+ tags?: boolean | undefined;
7117
+ } | undefined;
7118
+ } | undefined;
7119
+ enterpriseCategories?: {
7120
+ limit?: number | undefined;
7121
+ fields?: {
7122
+ name?: boolean | undefined;
7123
+ description?: boolean | undefined;
7124
+ 'locations.name'?: boolean | undefined;
7125
+ } | undefined;
7126
+ } | undefined;
7127
+ places?: {
7128
+ limit?: number | undefined;
7129
+ fields?: {
7130
+ name?: boolean | undefined;
7131
+ description?: boolean | undefined;
7132
+ } | undefined;
7133
+ } | undefined;
7134
+ }, {
7135
+ enterpriseLocations?: {
7136
+ limit?: number | undefined;
7137
+ fields?: {
7138
+ name?: boolean | undefined;
7139
+ description?: boolean | undefined;
7140
+ tags?: boolean | undefined;
7141
+ } | undefined;
7142
+ } | undefined;
7143
+ enterpriseCategories?: {
7144
+ limit?: number | undefined;
7145
+ fields?: {
7146
+ name?: boolean | undefined;
7147
+ description?: boolean | undefined;
7148
+ 'locations.name'?: boolean | undefined;
7149
+ } | undefined;
7150
+ } | undefined;
7151
+ places?: {
7152
+ limit?: number | undefined;
7153
+ fields?: {
7154
+ name?: boolean | undefined;
7155
+ description?: boolean | undefined;
7156
+ } | undefined;
7157
+ } | undefined;
7158
+ }>;
7159
+ const suggestOptionsSchema: z.ZodObject<{
7160
+ /**
7161
+ * Options for searching places.
7162
+ * @property {boolean} [enabled] - Whether to search in places.
7163
+ */
7164
+ places: z.ZodOptional<z.ZodObject<{
7165
+ /** Enable searching by place name */
7166
+ enabled: z.ZodOptional<z.ZodBoolean>;
7167
+ }, "strip", z.ZodTypeAny, {
7168
+ enabled?: boolean | undefined;
7169
+ }, {
7170
+ enabled?: boolean | undefined;
7171
+ }>>;
7172
+ /**
7173
+ * Options for searching locations.
7174
+ * @property {boolean} [enabled] - Whether to search in locations.
7175
+ */
7176
+ enterpriseLocations: z.ZodOptional<z.ZodObject<{
7177
+ /** Enable searching by location name */
7178
+ enabled: z.ZodOptional<z.ZodBoolean>;
7179
+ }, "strip", z.ZodTypeAny, {
7180
+ enabled?: boolean | undefined;
7181
+ }, {
7182
+ enabled?: boolean | undefined;
7183
+ }>>;
7184
+ }, "strip", z.ZodTypeAny, {
7185
+ enterpriseLocations?: {
7186
+ enabled?: boolean | undefined;
7187
+ } | undefined;
7188
+ places?: {
7189
+ enabled?: boolean | undefined;
7190
+ } | undefined;
7191
+ }, {
7192
+ enterpriseLocations?: {
7193
+ enabled?: boolean | undefined;
7194
+ } | undefined;
7195
+ places?: {
7196
+ enabled?: boolean | undefined;
7197
+ } | undefined;
7198
+ }>;
7199
+ export type SearchOptions = z.infer<typeof searchOptionsSchema>;
7200
+ export type SuggestOptions = z.infer<typeof suggestOptionsSchema>;
7201
+ export { Suggestion, MatchInfo };
7202
+ }
7203
+
7204
+ declare module '@mappedin/react-sdk/mappedin-js/src/search/external' {
7205
+ import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
7206
+ import type { InternalSearch, SearchOptions, SuggestOptions } from '@mappedin/react-sdk/mappedin-js/src/search/internal';
7207
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
7208
+ export class Search {
7209
+ #private;
7210
+ /**
7211
+ * Whether the search is enabled.
7212
+ * @default false
7213
+ */
7214
+ enabled: boolean;
7215
+ constructor(mapData: MapData, mapDataInternal: MapDataInternal, { enabled }?: {
7216
+ enabled?: boolean;
7217
+ });
7218
+ /**
7219
+ * Searches for places, locations, and categories.
7220
+ * @param term - The search term.
7221
+ * @param options - The search options.
7222
+ * @returns The search results.
7223
+ * @example
7224
+ * ```ts
7225
+ * const results = await search.query('Coffee Shop');
7226
+ * console.log(results.locations);
7227
+ * ```
7228
+ */
7229
+ query(term: string, options?: SearchOptions): ReturnType<typeof InternalSearch.prototype.search>;
7230
+ /**
7231
+ * Suggests the names of places, locations, and categories.
7232
+ * @param term - The search term.
7233
+ * @param options - The suggest options.
7234
+ * @returns The search suggestions.
7235
+ * @example
7236
+ * ```ts
7237
+ * const suggestions = await search.suggest('Coffee');
7238
+ * console.log(suggestions);
7239
+ * ```
7240
+ */
7241
+ suggest(term: string, options?: SuggestOptions): Promise<import("minisearch").Suggestion[]>;
7242
+ /**
7243
+ * Enables the search.
7244
+ */
7245
+ enable(): Promise<void>;
7246
+ }
7247
+ export type SearchState = {
7248
+ /**
7249
+ * Whether the search is enabled.
7250
+ */
7251
+ enabled: boolean;
7252
+ };
7253
+ }
7254
+
6859
7255
  declare module '@mappedin/react-sdk/mappedin-js/src/analytics/customer' {
6860
7256
  /**
6861
7257
  * Valid track-analytics API contexts. These should match the expected values of that endpoint or the requests will fail.
@@ -8241,7 +8637,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
8241
8637
  export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
8242
8638
  export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
8243
8639
  export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
8244
- export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): void;
8640
+ export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): boolean;
8245
8641
  export function updateOutline(entity: Geometry3DTypes, update?: boolean): boolean;
8246
8642
  }
8247
8643
 
@@ -16824,8 +17220,10 @@ declare module '@mappedin/react-sdk/geojson/src/systems/path/system' {
16824
17220
  export class PathSystem extends PubSub<{
16825
17221
  'animate:path': undefined;
16826
17222
  }> {
17223
+ altitudeDirty: boolean;
16827
17224
  convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'];
16828
- constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
17225
+ getParentContainer: RendererCore['getParentContainer'];
17226
+ constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], getParentContainer: RendererCore['getParentContainer']);
16829
17227
  update(minZoomAltitude: number, maxZoomAltitude: number, currentZoomAltitude: number): void;
16830
17228
  }
16831
17229
  }