venue-js 1.4.0-next.1 → 1.4.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,13 +1,14 @@
1
1
  import { QueryClient, QueryObserver, EnsureQueryDataOptions } from '@tanstack/query-core';
2
2
  export { QueryObserver } from '@tanstack/query-core';
3
3
  import * as geojson from 'geojson';
4
- import { Position, Geometry, GeoJsonProperties, Feature, Point, Polygon, MultiPolygon, LineString, GeometryCollection } from 'geojson';
4
+ import { Position, Geometry, GeometryCollection, GeoJsonProperties, Point, Polygon, MultiPolygon, LineString, MultiLineString, Feature } from 'geojson';
5
+ import { FuseResult } from 'fuse.js';
5
6
  import * as maptalks_dist_core_Class from 'maptalks/dist/core/Class';
6
7
  import * as maptalks$1 from 'maptalks-gl';
7
8
  import { Map, Coordinate as Coordinate$1 } from 'maptalks-gl';
8
9
  import { BaseObject, ThreeLayer } from 'maptalks.three';
9
10
  import * as maptalks from 'maptalks';
10
- import { Coordinate, Extent, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString } from 'maptalks';
11
+ import { Coordinate, Extent, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString as MultiLineString$1 } from 'maptalks';
11
12
  import { BaseObjectOptionType, BarOptionType, ExtrudePolygonOptionType, ExtrudeLineOptionType } from 'maptalks.three/dist/type';
12
13
  import { PolygonOptionsType } from 'maptalks/dist/geometry/Polygon';
13
14
  import { LineStringOptionsType } from 'maptalks/dist/geometry/LineString';
@@ -74,9 +75,10 @@ type SymbolProperties = {
74
75
  polygonPatternFile?: string;
75
76
  };
76
77
  type TransalatableString = Record<string, string>;
77
- type ImdfFeature<G extends Geometry | null = Geometry, P = GeoJsonProperties> = Feature<G, P> & {
78
+ type SingleGeometry = Exclude<Geometry, GeometryCollection>;
79
+ type ImdfFeature<G extends SingleGeometry | null = SingleGeometry, P = GeoJsonProperties, T extends string = FeatureType | string> = Feature<G, P> & {
78
80
  id: Id;
79
- feature_type: string;
81
+ feature_type: T;
80
82
  };
81
83
  type AnchorGeometry = Point;
82
84
  type AnchorProperties = EntityTimestamps & {
@@ -84,7 +86,7 @@ type AnchorProperties = EntityTimestamps & {
84
86
  unit_id: Id;
85
87
  locale: string;
86
88
  };
87
- type AnchorFeature = ImdfFeature<AnchorGeometry, AnchorProperties>;
89
+ type AnchorFeature = ImdfFeature<AnchorGeometry, AnchorProperties, "anchor">;
88
90
  type AmenityGeometry = Point;
89
91
  type AmenityProperties = EntityTimestamps & {
90
92
  amenity_logo: Media | null;
@@ -100,17 +102,16 @@ type AmenityProperties = EntityTimestamps & {
100
102
  style: unknown;
101
103
  unit_ids: Id[];
102
104
  venue_id: Id;
105
+ hours: string | null;
103
106
  };
104
- type AmenityFeature = ImdfFeature<AmenityGeometry, AmenityProperties> & {
105
- feature_type: "amenity";
106
- };
107
+ type AmenityFeature = ImdfFeature<AmenityGeometry, AmenityProperties, "amenity">;
107
108
  type DetailGeometry = Point;
108
109
  type DetailProperties = {
109
110
  level_id: Id;
110
111
  [k: string]: any;
111
112
  };
112
113
  type DetailFeature = ImdfFeature<DetailGeometry, DetailProperties>;
113
- type FixtureGeometry = Point;
114
+ type FixtureGeometry = Polygon | MultiPolygon | LineString | MultiLineString;
114
115
  type FixtureProperties = EntityTimestamps & {
115
116
  anchor_id: Id | null;
116
117
  category: string;
@@ -123,7 +124,7 @@ type FixtureProperties = EntityTimestamps & {
123
124
  venue_id: Id;
124
125
  [k: string]: any;
125
126
  };
126
- type FixtureFeature = ImdfFeature<FixtureGeometry, FixtureProperties>;
127
+ type FixtureFeature = ImdfFeature<FixtureGeometry, FixtureProperties, "fixture">;
127
128
  type KioskGeometry = Polygon | MultiPolygon;
128
129
  type KioskProperties = EntityTimestamps & {
129
130
  alt_name: string;
@@ -136,7 +137,7 @@ type KioskProperties = EntityTimestamps & {
136
137
  style: SymbolProperties;
137
138
  venue_id: Id;
138
139
  };
139
- type KioskFeature = ImdfFeature<KioskGeometry, KioskProperties>;
140
+ type KioskFeature = ImdfFeature<KioskGeometry, KioskProperties, "fixture">;
140
141
  type LevelGeometry = Polygon | MultiPolygon;
141
142
  type LevelProperties = EntityTimestamps & {
142
143
  alt_name: string | null;
@@ -146,7 +147,13 @@ type LevelProperties = EntityTimestamps & {
146
147
  properties: unknown;
147
148
  venue_id: Id;
148
149
  };
149
- type LevelFeature = ImdfFeature<LevelGeometry, LevelProperties>;
150
+ type LevelFeature = ImdfFeature<LevelGeometry, LevelProperties, "level">;
151
+ type ExternalLink = {
152
+ id: number;
153
+ link?: string;
154
+ ios_link?: string;
155
+ android_link?: string;
156
+ };
150
157
  type OccupantGeometry = null;
151
158
  type OccupantProperties = EntityTimestamps & {
152
159
  anchor_id: Id;
@@ -186,12 +193,18 @@ type OccupantProperties = EntityTimestamps & {
186
193
  unit_ids: Id[];
187
194
  website_link: string | null;
188
195
  show_name_on_all_units: boolean;
196
+ reservations?: ExternalLink[];
197
+ can_reserve?: boolean;
198
+ display_settings?: {
199
+ card_style?: string | null;
200
+ };
189
201
  };
190
- type OccupantFeature = ImdfFeature<OccupantGeometry, OccupantProperties>;
202
+ type OccupantFeature = ImdfFeature<OccupantGeometry, OccupantProperties, "occupant">;
203
+ type OpeningCategories = "automobile" | "bicycle" | "emergencyexit" | "pedestrian" | "pedestrian.principal" | "pedestrian.transit" | "service" | string;
191
204
  type OpeningGeometry = LineString;
192
205
  type OpeningProperties = EntityTimestamps & {
193
206
  alt_name: string;
194
- category: string;
207
+ category: OpeningCategories;
195
208
  door: {
196
209
  type: string;
197
210
  };
@@ -200,15 +213,17 @@ type OpeningProperties = EntityTimestamps & {
200
213
  style: SymbolProperties;
201
214
  venue_id: Id;
202
215
  };
203
- type OpeningFeature = ImdfFeature<OpeningGeometry, OpeningProperties>;
204
- type RelationshipGeometry = Geometry | null;
205
- type RelationshipProperties = EntityTimestamps & {
206
- category: string;
216
+ type OpeningFeature = ImdfFeature<OpeningGeometry, OpeningProperties, "opening">;
217
+ type RelationshipCategories = "elevator" | "escalator" | "movingwalkway" | "ramp" | "stairs" | "stairs.emergencyexit" | "traversal" | "traversal.path" | string;
218
+ type RelationshipDirectionTypes = "directed" | "undirected";
219
+ type RelationshipGeometry = SingleGeometry | null;
220
+ type RelationshipProperties<T extends RelationshipCategories = RelationshipCategories> = EntityTimestamps & {
221
+ category: RelationshipCategories;
207
222
  destination: {
208
223
  id: Id;
209
224
  feature_type: FeatureType;
210
225
  };
211
- direction: string;
226
+ direction: RelationshipDirectionTypes;
212
227
  hours: string | null;
213
228
  intermediary: {
214
229
  id: Id;
@@ -230,9 +245,15 @@ type SectionProperties = EntityTimestamps & {
230
245
  category: string;
231
246
  ordinal: number;
232
247
  imdf_category: string;
248
+ local_category_ids: string[];
249
+ feature_image: Media | null;
250
+ cover_image: Media | null;
251
+ gallery: Media[] | null;
252
+ is_featured: boolean;
253
+ hours: string | null;
233
254
  [k: string]: any;
234
255
  };
235
- type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties>;
256
+ type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties, "section">;
236
257
  type UnitGeometry = Polygon | MultiPolygon;
237
258
  type UnitProperties = EntityTimestamps & {
238
259
  alt_name: string | null;
@@ -245,7 +266,7 @@ type UnitProperties = EntityTimestamps & {
245
266
  style: SymbolProperties;
246
267
  venue_id: Id;
247
268
  };
248
- type UnitFeature = ImdfFeature<UnitGeometry, UnitProperties>;
269
+ type UnitFeature = ImdfFeature<UnitGeometry, UnitProperties, "unit">;
249
270
  type VenueGeometry = Polygon | MultiPolygon;
250
271
  type VenueProperties = EntityTimestamps & {
251
272
  address: string;
@@ -269,7 +290,7 @@ type VenueProperties = EntityTimestamps & {
269
290
  theme_color: string;
270
291
  zoom: string | null;
271
292
  };
272
- type VenueFeature = ImdfFeature<VenueGeometry, VenueProperties>;
293
+ type VenueFeature = ImdfFeature<VenueGeometry, VenueProperties, "venue">;
273
294
  /**
274
295
  * Non-IMDF
275
296
  *********************** */
@@ -343,7 +364,7 @@ type ElementProperties = EntityTimestamps & {
343
364
  geometries: Array<{
344
365
  type: string;
345
366
  id: Id;
346
- geometry: Exclude<Geometry, GeometryCollection>;
367
+ geometry: SingleGeometry;
347
368
  options: Record<string, unknown>;
348
369
  properties: {
349
370
  additionalField: string;
@@ -396,18 +417,16 @@ type Page = {
396
417
  };
397
418
  type Model3dGeometry = null;
398
419
  type Model3dProperties = {
399
- name: {
400
- en: string;
401
- };
420
+ name: TransalatableString;
402
421
  model: string;
403
- level_id: null;
404
- project_id: string;
422
+ level_id: Id;
423
+ project_id: Id;
405
424
  rotation_x: number;
406
425
  rotation_y: number;
407
426
  rotation_z: number;
408
427
  center: number[];
409
428
  scale: number;
410
- altitude: 0;
429
+ bottom_height: number;
411
430
  translation_x: number;
412
431
  translation_y: number;
413
432
  translation_z: number;
@@ -454,9 +473,13 @@ type AmenityFeaturePopulated = AmenityFeature & {
454
473
  */
455
474
  units: UnitFeaturePopulated[];
456
475
  /**
457
- * [venue.in.th] Venue that kiosk is in
476
+ * [venue.in.th] Venue that amenity is in
458
477
  */
459
478
  venue: VenueFeaturePopulated;
479
+ /**
480
+ * [IMDF] Level that amenity is on
481
+ */
482
+ level: LevelFeaturePopulated;
460
483
  /**
461
484
  * [Derived] From units[0] --> level's ordinal
462
485
  * This is added during feature enrichment and not part of the original IMDF dataset.
@@ -489,11 +512,19 @@ type AnchorFeaturePopulated = AnchorFeature & {
489
512
  * [IMDF] Level that kiosk is on
490
513
  */
491
514
  level: LevelFeaturePopulated;
515
+ /**
516
+ * [venue.in.th] Venue that anchor is in
517
+ */
518
+ venue: VenueFeaturePopulated;
492
519
  /**
493
520
  * [Derived] The section this anchor is on.
494
521
  * This is added during feature enrichment and not part of the original IMDF dataset.
495
522
  */
496
523
  section?: SectionFeaturePopulated;
524
+ /**
525
+ * [Derived] Level's ordinal that anchor is on
526
+ */
527
+ ordinal: number;
497
528
  };
498
529
  };
499
530
  type FixtureFeaturePopulated = FixtureFeature & {
@@ -510,6 +541,10 @@ type FixtureFeaturePopulated = FixtureFeature & {
510
541
  * [IMDF] Venue that kiosk is in
511
542
  */
512
543
  venue?: VenueFeaturePopulated;
544
+ /**
545
+ * [Derived] Level's ordinal that fixture is on
546
+ */
547
+ ordinal: number;
513
548
  };
514
549
  };
515
550
  type KioskFeaturePopulated = KioskFeature & {
@@ -536,6 +571,10 @@ type KioskFeaturePopulated = KioskFeature & {
536
571
  * This is added during feature enrichment and not part of the original IMDF dataset.
537
572
  */
538
573
  section?: SectionFeaturePopulated;
574
+ /**
575
+ * [Derived] Level's ordinal that fixture is on
576
+ */
577
+ ordinal: number;
539
578
  };
540
579
  };
541
580
  type LevelFeaturePopulated = LevelFeature & {
@@ -552,6 +591,9 @@ type OccupantFeaturePopulated = OccupantFeature & {
552
591
  * [IMDF] Occupant's position
553
592
  */
554
593
  anchor: AnchorFeaturePopulated;
594
+ /**
595
+ * [Derived] Level's ordinal that occupant is on
596
+ */
555
597
  ordinal: number;
556
598
  /**
557
599
  * [venue.in.th] Occupant's category
@@ -643,6 +685,14 @@ type TaxonomyFeaturePopulated = TaxonomyFeature & {
643
685
  venue: VenueFeaturePopulated;
644
686
  };
645
687
  };
688
+ type Model3dPopulated = Model3dFeature & {
689
+ properties: Model3dFeature["properties"] & {
690
+ /**
691
+ * [IMDF] Level that model 3D is on
692
+ */
693
+ level: LevelFeaturePopulated;
694
+ };
695
+ };
646
696
  type FeaturePopulatedResponseMap = {
647
697
  address: ImdfFeature;
648
698
  amenity: AmenityFeaturePopulated;
@@ -666,7 +716,7 @@ type FeaturePopulatedResponseMap = {
666
716
  promotion: PromotionFeature;
667
717
  label: LabelFeature;
668
718
  element: ImdfFeature;
669
- model3d: Model3dFeature;
719
+ model3d: Model3dPopulated;
670
720
  "sponsored-content": SponsoredContentFeature;
671
721
  page: Page;
672
722
  };
@@ -707,6 +757,9 @@ interface FeatureQueryOptions {
707
757
  }
708
758
  type InternalFindById = <T extends FeatureType>(id: Id) => Promise<FeatureResponseMap[T]>;
709
759
  type InternalFilterByType = <T extends FeatureType>(featureType: T) => Promise<FeatureResponseMap[T][]>;
760
+ type SearchClient = {
761
+ search: (txt: string) => FuseResult<ImdfFeature>[];
762
+ };
710
763
  interface VenueDataClient {
711
764
  projectId: string;
712
765
  queryClient: QueryClient;
@@ -717,6 +770,7 @@ interface VenueDataClient {
717
770
  createFindByIdQueryOptions: <T extends FeatureType = FeatureType>(featureType: T, id: string, params: FindParams, options: FeatureQueryOptions) => EnsureQueryDataOptions<FeatureResponseMap[T] | FeaturePopulatedResponseMap[T]>;
718
771
  filterByType: <T extends FeatureType>(featureType: T, params?: FilterParams) => Promise<FeatureResponseMap[T][] | FeaturePopulatedResponseMap[T][]>;
719
772
  findById: <T extends FeatureType>(featureType: T, id: string, params?: FindParams) => Promise<FeatureResponseMap[T] | FeaturePopulatedResponseMap[T]>;
773
+ search: (txt: string) => Promise<FuseResult<ImdfFeature>[]>;
720
774
  }
721
775
 
722
776
  declare const DEFAULT_BASE_URL = "https://service.venue.in.th/api";
@@ -1195,7 +1249,7 @@ declare function styledFeatureGenerator(mapTheme: any): {
1195
1249
  createFixture: (feature: any) => any;
1196
1250
  createLineStringFromGeometries: (geometries: any) => LineString$1;
1197
1251
  create3DStepPath: (feature: any, threeLayer: any, option?: {}) => NavigationPath;
1198
- createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString;
1252
+ createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString$1;
1199
1253
  create3DBillboard: (billboard: any, threeLayer: any) => Billboard;
1200
1254
  create3DAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
1201
1255
  create3DOccupantAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
@@ -1288,4 +1342,4 @@ declare const VENUE_EVENTS: {
1288
1342
  VENUE_MOVEINTOVIEW: string;
1289
1343
  };
1290
1344
 
1291
- export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_LOCALE, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, type IAllVenuesViewConfig, type IExtrudeConfig, type IGraphFeatureOptions, type IGraphOptions, type IHighlightOptions, IMDF_FEATURE_TYPES, type IMapAnimation, type IMapConfig, type IMapExtrudeConfig, type ISetHighlight2DElementIdsOptions, type IUnitDistanceModifier, type IVerticalGraphOptions, type Id, type ImdfFeature, IndoorMap, type IndoorMapOptions, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dProperties, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type SymbolSet, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TextMarkerOptions, TextSpriteMarker, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchDeliveryApi, fetchPreviewApi, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, isValidCoordinate, isValidLineString, isValidLineStringCoordinates, isValidMultiPolygon, isValidMultiPolygonCoordinates, isValidPoint, isValidPolygon, isValidPolygonCoordinates, matchFilter, matchFilters, safeFetchFeature, styledFeatureGenerator };
1345
+ export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_LOCALE, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, type IAllVenuesViewConfig, type IExtrudeConfig, type IGraphFeatureOptions, type IGraphOptions, type IHighlightOptions, IMDF_FEATURE_TYPES, type IMapAnimation, type IMapConfig, type IMapExtrudeConfig, type ISetHighlight2DElementIdsOptions, type IUnitDistanceModifier, type IVerticalGraphOptions, type Id, type ImdfFeature, IndoorMap, type IndoorMapOptions, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type SymbolSet, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TextMarkerOptions, TextSpriteMarker, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchDeliveryApi, fetchPreviewApi, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, isValidCoordinate, isValidLineString, isValidLineStringCoordinates, isValidMultiPolygon, isValidMultiPolygonCoordinates, isValidPoint, isValidPolygon, isValidPolygonCoordinates, matchFilter, matchFilters, safeFetchFeature, styledFeatureGenerator };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  import { QueryClient, QueryObserver, EnsureQueryDataOptions } from '@tanstack/query-core';
2
2
  export { QueryObserver } from '@tanstack/query-core';
3
3
  import * as geojson from 'geojson';
4
- import { Position, Geometry, GeoJsonProperties, Feature, Point, Polygon, MultiPolygon, LineString, GeometryCollection } from 'geojson';
4
+ import { Position, Geometry, GeometryCollection, GeoJsonProperties, Point, Polygon, MultiPolygon, LineString, MultiLineString, Feature } from 'geojson';
5
+ import { FuseResult } from 'fuse.js';
5
6
  import * as maptalks_dist_core_Class from 'maptalks/dist/core/Class';
6
7
  import * as maptalks$1 from 'maptalks-gl';
7
8
  import { Map, Coordinate as Coordinate$1 } from 'maptalks-gl';
8
9
  import { BaseObject, ThreeLayer } from 'maptalks.three';
9
10
  import * as maptalks from 'maptalks';
10
- import { Coordinate, Extent, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString } from 'maptalks';
11
+ import { Coordinate, Extent, Marker, ui, LineString as LineString$1, Polygon as Polygon$1, MultiPolygon as MultiPolygon$1, MultiLineString as MultiLineString$1 } from 'maptalks';
11
12
  import { BaseObjectOptionType, BarOptionType, ExtrudePolygonOptionType, ExtrudeLineOptionType } from 'maptalks.three/dist/type';
12
13
  import { PolygonOptionsType } from 'maptalks/dist/geometry/Polygon';
13
14
  import { LineStringOptionsType } from 'maptalks/dist/geometry/LineString';
@@ -74,9 +75,10 @@ type SymbolProperties = {
74
75
  polygonPatternFile?: string;
75
76
  };
76
77
  type TransalatableString = Record<string, string>;
77
- type ImdfFeature<G extends Geometry | null = Geometry, P = GeoJsonProperties> = Feature<G, P> & {
78
+ type SingleGeometry = Exclude<Geometry, GeometryCollection>;
79
+ type ImdfFeature<G extends SingleGeometry | null = SingleGeometry, P = GeoJsonProperties, T extends string = FeatureType | string> = Feature<G, P> & {
78
80
  id: Id;
79
- feature_type: string;
81
+ feature_type: T;
80
82
  };
81
83
  type AnchorGeometry = Point;
82
84
  type AnchorProperties = EntityTimestamps & {
@@ -84,7 +86,7 @@ type AnchorProperties = EntityTimestamps & {
84
86
  unit_id: Id;
85
87
  locale: string;
86
88
  };
87
- type AnchorFeature = ImdfFeature<AnchorGeometry, AnchorProperties>;
89
+ type AnchorFeature = ImdfFeature<AnchorGeometry, AnchorProperties, "anchor">;
88
90
  type AmenityGeometry = Point;
89
91
  type AmenityProperties = EntityTimestamps & {
90
92
  amenity_logo: Media | null;
@@ -100,17 +102,16 @@ type AmenityProperties = EntityTimestamps & {
100
102
  style: unknown;
101
103
  unit_ids: Id[];
102
104
  venue_id: Id;
105
+ hours: string | null;
103
106
  };
104
- type AmenityFeature = ImdfFeature<AmenityGeometry, AmenityProperties> & {
105
- feature_type: "amenity";
106
- };
107
+ type AmenityFeature = ImdfFeature<AmenityGeometry, AmenityProperties, "amenity">;
107
108
  type DetailGeometry = Point;
108
109
  type DetailProperties = {
109
110
  level_id: Id;
110
111
  [k: string]: any;
111
112
  };
112
113
  type DetailFeature = ImdfFeature<DetailGeometry, DetailProperties>;
113
- type FixtureGeometry = Point;
114
+ type FixtureGeometry = Polygon | MultiPolygon | LineString | MultiLineString;
114
115
  type FixtureProperties = EntityTimestamps & {
115
116
  anchor_id: Id | null;
116
117
  category: string;
@@ -123,7 +124,7 @@ type FixtureProperties = EntityTimestamps & {
123
124
  venue_id: Id;
124
125
  [k: string]: any;
125
126
  };
126
- type FixtureFeature = ImdfFeature<FixtureGeometry, FixtureProperties>;
127
+ type FixtureFeature = ImdfFeature<FixtureGeometry, FixtureProperties, "fixture">;
127
128
  type KioskGeometry = Polygon | MultiPolygon;
128
129
  type KioskProperties = EntityTimestamps & {
129
130
  alt_name: string;
@@ -136,7 +137,7 @@ type KioskProperties = EntityTimestamps & {
136
137
  style: SymbolProperties;
137
138
  venue_id: Id;
138
139
  };
139
- type KioskFeature = ImdfFeature<KioskGeometry, KioskProperties>;
140
+ type KioskFeature = ImdfFeature<KioskGeometry, KioskProperties, "fixture">;
140
141
  type LevelGeometry = Polygon | MultiPolygon;
141
142
  type LevelProperties = EntityTimestamps & {
142
143
  alt_name: string | null;
@@ -146,7 +147,13 @@ type LevelProperties = EntityTimestamps & {
146
147
  properties: unknown;
147
148
  venue_id: Id;
148
149
  };
149
- type LevelFeature = ImdfFeature<LevelGeometry, LevelProperties>;
150
+ type LevelFeature = ImdfFeature<LevelGeometry, LevelProperties, "level">;
151
+ type ExternalLink = {
152
+ id: number;
153
+ link?: string;
154
+ ios_link?: string;
155
+ android_link?: string;
156
+ };
150
157
  type OccupantGeometry = null;
151
158
  type OccupantProperties = EntityTimestamps & {
152
159
  anchor_id: Id;
@@ -186,12 +193,18 @@ type OccupantProperties = EntityTimestamps & {
186
193
  unit_ids: Id[];
187
194
  website_link: string | null;
188
195
  show_name_on_all_units: boolean;
196
+ reservations?: ExternalLink[];
197
+ can_reserve?: boolean;
198
+ display_settings?: {
199
+ card_style?: string | null;
200
+ };
189
201
  };
190
- type OccupantFeature = ImdfFeature<OccupantGeometry, OccupantProperties>;
202
+ type OccupantFeature = ImdfFeature<OccupantGeometry, OccupantProperties, "occupant">;
203
+ type OpeningCategories = "automobile" | "bicycle" | "emergencyexit" | "pedestrian" | "pedestrian.principal" | "pedestrian.transit" | "service" | string;
191
204
  type OpeningGeometry = LineString;
192
205
  type OpeningProperties = EntityTimestamps & {
193
206
  alt_name: string;
194
- category: string;
207
+ category: OpeningCategories;
195
208
  door: {
196
209
  type: string;
197
210
  };
@@ -200,15 +213,17 @@ type OpeningProperties = EntityTimestamps & {
200
213
  style: SymbolProperties;
201
214
  venue_id: Id;
202
215
  };
203
- type OpeningFeature = ImdfFeature<OpeningGeometry, OpeningProperties>;
204
- type RelationshipGeometry = Geometry | null;
205
- type RelationshipProperties = EntityTimestamps & {
206
- category: string;
216
+ type OpeningFeature = ImdfFeature<OpeningGeometry, OpeningProperties, "opening">;
217
+ type RelationshipCategories = "elevator" | "escalator" | "movingwalkway" | "ramp" | "stairs" | "stairs.emergencyexit" | "traversal" | "traversal.path" | string;
218
+ type RelationshipDirectionTypes = "directed" | "undirected";
219
+ type RelationshipGeometry = SingleGeometry | null;
220
+ type RelationshipProperties<T extends RelationshipCategories = RelationshipCategories> = EntityTimestamps & {
221
+ category: RelationshipCategories;
207
222
  destination: {
208
223
  id: Id;
209
224
  feature_type: FeatureType;
210
225
  };
211
- direction: string;
226
+ direction: RelationshipDirectionTypes;
212
227
  hours: string | null;
213
228
  intermediary: {
214
229
  id: Id;
@@ -230,9 +245,15 @@ type SectionProperties = EntityTimestamps & {
230
245
  category: string;
231
246
  ordinal: number;
232
247
  imdf_category: string;
248
+ local_category_ids: string[];
249
+ feature_image: Media | null;
250
+ cover_image: Media | null;
251
+ gallery: Media[] | null;
252
+ is_featured: boolean;
253
+ hours: string | null;
233
254
  [k: string]: any;
234
255
  };
235
- type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties>;
256
+ type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties, "section">;
236
257
  type UnitGeometry = Polygon | MultiPolygon;
237
258
  type UnitProperties = EntityTimestamps & {
238
259
  alt_name: string | null;
@@ -245,7 +266,7 @@ type UnitProperties = EntityTimestamps & {
245
266
  style: SymbolProperties;
246
267
  venue_id: Id;
247
268
  };
248
- type UnitFeature = ImdfFeature<UnitGeometry, UnitProperties>;
269
+ type UnitFeature = ImdfFeature<UnitGeometry, UnitProperties, "unit">;
249
270
  type VenueGeometry = Polygon | MultiPolygon;
250
271
  type VenueProperties = EntityTimestamps & {
251
272
  address: string;
@@ -269,7 +290,7 @@ type VenueProperties = EntityTimestamps & {
269
290
  theme_color: string;
270
291
  zoom: string | null;
271
292
  };
272
- type VenueFeature = ImdfFeature<VenueGeometry, VenueProperties>;
293
+ type VenueFeature = ImdfFeature<VenueGeometry, VenueProperties, "venue">;
273
294
  /**
274
295
  * Non-IMDF
275
296
  *********************** */
@@ -343,7 +364,7 @@ type ElementProperties = EntityTimestamps & {
343
364
  geometries: Array<{
344
365
  type: string;
345
366
  id: Id;
346
- geometry: Exclude<Geometry, GeometryCollection>;
367
+ geometry: SingleGeometry;
347
368
  options: Record<string, unknown>;
348
369
  properties: {
349
370
  additionalField: string;
@@ -396,18 +417,16 @@ type Page = {
396
417
  };
397
418
  type Model3dGeometry = null;
398
419
  type Model3dProperties = {
399
- name: {
400
- en: string;
401
- };
420
+ name: TransalatableString;
402
421
  model: string;
403
- level_id: null;
404
- project_id: string;
422
+ level_id: Id;
423
+ project_id: Id;
405
424
  rotation_x: number;
406
425
  rotation_y: number;
407
426
  rotation_z: number;
408
427
  center: number[];
409
428
  scale: number;
410
- altitude: 0;
429
+ bottom_height: number;
411
430
  translation_x: number;
412
431
  translation_y: number;
413
432
  translation_z: number;
@@ -454,9 +473,13 @@ type AmenityFeaturePopulated = AmenityFeature & {
454
473
  */
455
474
  units: UnitFeaturePopulated[];
456
475
  /**
457
- * [venue.in.th] Venue that kiosk is in
476
+ * [venue.in.th] Venue that amenity is in
458
477
  */
459
478
  venue: VenueFeaturePopulated;
479
+ /**
480
+ * [IMDF] Level that amenity is on
481
+ */
482
+ level: LevelFeaturePopulated;
460
483
  /**
461
484
  * [Derived] From units[0] --> level's ordinal
462
485
  * This is added during feature enrichment and not part of the original IMDF dataset.
@@ -489,11 +512,19 @@ type AnchorFeaturePopulated = AnchorFeature & {
489
512
  * [IMDF] Level that kiosk is on
490
513
  */
491
514
  level: LevelFeaturePopulated;
515
+ /**
516
+ * [venue.in.th] Venue that anchor is in
517
+ */
518
+ venue: VenueFeaturePopulated;
492
519
  /**
493
520
  * [Derived] The section this anchor is on.
494
521
  * This is added during feature enrichment and not part of the original IMDF dataset.
495
522
  */
496
523
  section?: SectionFeaturePopulated;
524
+ /**
525
+ * [Derived] Level's ordinal that anchor is on
526
+ */
527
+ ordinal: number;
497
528
  };
498
529
  };
499
530
  type FixtureFeaturePopulated = FixtureFeature & {
@@ -510,6 +541,10 @@ type FixtureFeaturePopulated = FixtureFeature & {
510
541
  * [IMDF] Venue that kiosk is in
511
542
  */
512
543
  venue?: VenueFeaturePopulated;
544
+ /**
545
+ * [Derived] Level's ordinal that fixture is on
546
+ */
547
+ ordinal: number;
513
548
  };
514
549
  };
515
550
  type KioskFeaturePopulated = KioskFeature & {
@@ -536,6 +571,10 @@ type KioskFeaturePopulated = KioskFeature & {
536
571
  * This is added during feature enrichment and not part of the original IMDF dataset.
537
572
  */
538
573
  section?: SectionFeaturePopulated;
574
+ /**
575
+ * [Derived] Level's ordinal that fixture is on
576
+ */
577
+ ordinal: number;
539
578
  };
540
579
  };
541
580
  type LevelFeaturePopulated = LevelFeature & {
@@ -552,6 +591,9 @@ type OccupantFeaturePopulated = OccupantFeature & {
552
591
  * [IMDF] Occupant's position
553
592
  */
554
593
  anchor: AnchorFeaturePopulated;
594
+ /**
595
+ * [Derived] Level's ordinal that occupant is on
596
+ */
555
597
  ordinal: number;
556
598
  /**
557
599
  * [venue.in.th] Occupant's category
@@ -643,6 +685,14 @@ type TaxonomyFeaturePopulated = TaxonomyFeature & {
643
685
  venue: VenueFeaturePopulated;
644
686
  };
645
687
  };
688
+ type Model3dPopulated = Model3dFeature & {
689
+ properties: Model3dFeature["properties"] & {
690
+ /**
691
+ * [IMDF] Level that model 3D is on
692
+ */
693
+ level: LevelFeaturePopulated;
694
+ };
695
+ };
646
696
  type FeaturePopulatedResponseMap = {
647
697
  address: ImdfFeature;
648
698
  amenity: AmenityFeaturePopulated;
@@ -666,7 +716,7 @@ type FeaturePopulatedResponseMap = {
666
716
  promotion: PromotionFeature;
667
717
  label: LabelFeature;
668
718
  element: ImdfFeature;
669
- model3d: Model3dFeature;
719
+ model3d: Model3dPopulated;
670
720
  "sponsored-content": SponsoredContentFeature;
671
721
  page: Page;
672
722
  };
@@ -707,6 +757,9 @@ interface FeatureQueryOptions {
707
757
  }
708
758
  type InternalFindById = <T extends FeatureType>(id: Id) => Promise<FeatureResponseMap[T]>;
709
759
  type InternalFilterByType = <T extends FeatureType>(featureType: T) => Promise<FeatureResponseMap[T][]>;
760
+ type SearchClient = {
761
+ search: (txt: string) => FuseResult<ImdfFeature>[];
762
+ };
710
763
  interface VenueDataClient {
711
764
  projectId: string;
712
765
  queryClient: QueryClient;
@@ -717,6 +770,7 @@ interface VenueDataClient {
717
770
  createFindByIdQueryOptions: <T extends FeatureType = FeatureType>(featureType: T, id: string, params: FindParams, options: FeatureQueryOptions) => EnsureQueryDataOptions<FeatureResponseMap[T] | FeaturePopulatedResponseMap[T]>;
718
771
  filterByType: <T extends FeatureType>(featureType: T, params?: FilterParams) => Promise<FeatureResponseMap[T][] | FeaturePopulatedResponseMap[T][]>;
719
772
  findById: <T extends FeatureType>(featureType: T, id: string, params?: FindParams) => Promise<FeatureResponseMap[T] | FeaturePopulatedResponseMap[T]>;
773
+ search: (txt: string) => Promise<FuseResult<ImdfFeature>[]>;
720
774
  }
721
775
 
722
776
  declare const DEFAULT_BASE_URL = "https://service.venue.in.th/api";
@@ -1195,7 +1249,7 @@ declare function styledFeatureGenerator(mapTheme: any): {
1195
1249
  createFixture: (feature: any) => any;
1196
1250
  createLineStringFromGeometries: (geometries: any) => LineString$1;
1197
1251
  create3DStepPath: (feature: any, threeLayer: any, option?: {}) => NavigationPath;
1198
- createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString;
1252
+ createDecoration: (decoration: any, options: any) => LineString$1 | Polygon$1 | MultiPolygon$1 | MultiLineString$1;
1199
1253
  create3DBillboard: (billboard: any, threeLayer: any) => Billboard;
1200
1254
  create3DAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
1201
1255
  create3DOccupantAmenityMarker: (feature: any, threeLayer: any, config: any) => SpriteMarker;
@@ -1288,4 +1342,4 @@ declare const VENUE_EVENTS: {
1288
1342
  VENUE_MOVEINTOVIEW: string;
1289
1343
  };
1290
1344
 
1291
- export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_LOCALE, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, type IAllVenuesViewConfig, type IExtrudeConfig, type IGraphFeatureOptions, type IGraphOptions, type IHighlightOptions, IMDF_FEATURE_TYPES, type IMapAnimation, type IMapConfig, type IMapExtrudeConfig, type ISetHighlight2DElementIdsOptions, type IUnitDistanceModifier, type IVerticalGraphOptions, type Id, type ImdfFeature, IndoorMap, type IndoorMapOptions, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dProperties, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type SymbolSet, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TextMarkerOptions, TextSpriteMarker, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchDeliveryApi, fetchPreviewApi, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, isValidCoordinate, isValidLineString, isValidLineStringCoordinates, isValidMultiPolygon, isValidMultiPolygonCoordinates, isValidPoint, isValidPolygon, isValidPolygonCoordinates, matchFilter, matchFilters, safeFetchFeature, styledFeatureGenerator };
1345
+ export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, BASE_LAYER_NAME, DEFAULT_BASE_URL, DEFAULT_LOCALE, DESTINATION_MARKER_ID, type DetailFeature, type DetailGeometry, type DetailProperties, type ElementFeature, type ElementGeometry, type ElementProperties, type EventFeature, type EventGeometry, type EventProperties, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindParams, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, HIGHLIGHT_LAYER_NAME, type IAllVenuesViewConfig, type IExtrudeConfig, type IGraphFeatureOptions, type IGraphOptions, type IHighlightOptions, IMDF_FEATURE_TYPES, type IMapAnimation, type IMapConfig, type IMapExtrudeConfig, type ISetHighlight2DElementIdsOptions, type IUnitDistanceModifier, type IVerticalGraphOptions, type Id, type ImdfFeature, IndoorMap, type IndoorMapOptions, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, LAST_USER_LOCATION_ELEMENT_ID_PREFIX, LAYERS, LAYER_FEATURE_TYPE_OBJ, LAYER_OPTIONS, LOCALE_SYMBOL_KEY, type LabelFeature, type LabelGeometry, type LabelProperties, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, MARKER_LAYER_NAME, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, ORIGIN_MARKER_ID, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, POI_MARKER_LAYER_NAME, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RelationshipFeature, type RelationshipGeometry, type RelationshipProperties, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type SymbolSet, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TextMarkerOptions, TextSpriteMarker, USER_LOCATION_ELEMENT_ID, USER_LOCATION_LAYER_NAME, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitProperties, VENUE_EVENTS, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, createPolygonFromLineString, createSpriteMaterialByLabelSymbol, createStyledUIMarkerElement, defaultFeatureQueryOptionsMap, fetchDeliveryApi, fetchPreviewApi, getBearingBetweenPoints, getCenterFromGeometry, getDataClient, getExtrudeConfigByFeature, getFeatureByLocationId, getLocationByAmenity, getLocationByFeature, getLocationByOccupant, getLocationIdByFeature, getOrdinalByLocationId, getRelatedLocationIdsByFeature, getRelatedLocationsByAmenity, getRelatedLocationsByFeature, getRelatedLocationsByOccupant, getSuitablyValueBetweenBearings, isClickableFeature, isValidCoordinate, isValidLineString, isValidLineStringCoordinates, isValidMultiPolygon, isValidMultiPolygonCoordinates, isValidPoint, isValidPolygon, isValidPolygonCoordinates, matchFilter, matchFilters, safeFetchFeature, styledFeatureGenerator };