@mapvx/web-components-ssr 1.0.0-rc.0
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/LICENSE +17 -0
- package/README.md +1065 -0
- package/dist/browser/main.js +1532 -0
- package/dist/browser/styles.css +1 -0
- package/dist/types/public-api.d.ts +1132 -0
- package/package.json +84 -0
|
@@ -0,0 +1,1132 @@
|
|
|
1
|
+
declare enum AnimationState {
|
|
2
|
+
NotStarted = 0,
|
|
3
|
+
Playing = 1,
|
|
4
|
+
Paused = 2,
|
|
5
|
+
Finished = 3
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface CategoryFiltersData {
|
|
9
|
+
name: string;
|
|
10
|
+
placeData: string[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Note: as of the RFC 7946 version of GeoJSON, Coordinate Reference Systems
|
|
14
|
+
// are no longer supported. (See https://tools.ietf.org/html/rfc7946#appendix-B)}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A Position is an array of coordinates.
|
|
20
|
+
* https://tools.ietf.org/html/rfc7946#section-3.1.1
|
|
21
|
+
* Array should contain between two and three elements.
|
|
22
|
+
* The previous GeoJSON specification allowed more elements (e.g., which could be used to represent M values),
|
|
23
|
+
* but the current specification only allows X, Y, and (optionally) Z to be defined.
|
|
24
|
+
*
|
|
25
|
+
* Note: the type will not be narrowed down to `[number, number] | [number, number, number]` due to
|
|
26
|
+
* marginal benefits and the large impact of breaking change.
|
|
27
|
+
*
|
|
28
|
+
* See previous discussions on the type narrowing:
|
|
29
|
+
* - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/pull/21590|Nov 2017}
|
|
30
|
+
* - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/67773|Dec 2023}
|
|
31
|
+
* - {@link https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/71441| Dec 2024}
|
|
32
|
+
*
|
|
33
|
+
* One can use a
|
|
34
|
+
* {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates|user-defined type guard that returns a type predicate}
|
|
35
|
+
* to determine if a position is a 2D or 3D position.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* import type { Position } from 'geojson';
|
|
39
|
+
*
|
|
40
|
+
* type StrictPosition = [x: number, y: number] | [x: number, y: number, z: number]
|
|
41
|
+
*
|
|
42
|
+
* function isStrictPosition(position: Position): position is StrictPosition {
|
|
43
|
+
* return position.length === 2 || position.length === 3
|
|
44
|
+
* };
|
|
45
|
+
*
|
|
46
|
+
* let position: Position = [-116.91, 45.54];
|
|
47
|
+
*
|
|
48
|
+
* let x: number;
|
|
49
|
+
* let y: number;
|
|
50
|
+
* let z: number | undefined;
|
|
51
|
+
*
|
|
52
|
+
* if (isStrictPosition(position)) {
|
|
53
|
+
* // `tsc` would throw an error if we tried to destructure a fourth parameter
|
|
54
|
+
* [x, y, z] = position;
|
|
55
|
+
* } else {
|
|
56
|
+
* throw new TypeError("Position is not a 2D or 3D point");
|
|
57
|
+
* }
|
|
58
|
+
*/
|
|
59
|
+
type Position = number[];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* basic latitude and longitude model
|
|
63
|
+
* @group Places & Locations
|
|
64
|
+
*/
|
|
65
|
+
interface LatLng {
|
|
66
|
+
lat: number;
|
|
67
|
+
lng: number;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface RouteResponse {
|
|
71
|
+
legs: RouteLegResponse[];
|
|
72
|
+
}
|
|
73
|
+
interface RouteLegResponse {
|
|
74
|
+
distance: {
|
|
75
|
+
value: number;
|
|
76
|
+
};
|
|
77
|
+
duration: {
|
|
78
|
+
value: number;
|
|
79
|
+
};
|
|
80
|
+
start_location: LatLng;
|
|
81
|
+
end_location: LatLng;
|
|
82
|
+
steps: RouteStepResponse[];
|
|
83
|
+
}
|
|
84
|
+
interface RouteStepResponse {
|
|
85
|
+
distance: {
|
|
86
|
+
value: number;
|
|
87
|
+
};
|
|
88
|
+
duration: {
|
|
89
|
+
value: number;
|
|
90
|
+
};
|
|
91
|
+
start_location: LatLng;
|
|
92
|
+
start_inside_floor?: string;
|
|
93
|
+
start_inside_place?: string;
|
|
94
|
+
end_location: LatLng;
|
|
95
|
+
end_inside_floor?: string;
|
|
96
|
+
end_inside_place?: string;
|
|
97
|
+
html_instructions: string;
|
|
98
|
+
plain_instructions: string;
|
|
99
|
+
maneuver: string;
|
|
100
|
+
elevator_step: boolean;
|
|
101
|
+
show_popup?: boolean;
|
|
102
|
+
icon_prefix?: string;
|
|
103
|
+
polyline: RoutePolylineResponse;
|
|
104
|
+
}
|
|
105
|
+
interface RoutePolylineResponse {
|
|
106
|
+
points: string;
|
|
107
|
+
points_lat_lng?: LatLng[];
|
|
108
|
+
overview_points?: LatLng[];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Represents a complete route in MapVX that can contain multiple legs.
|
|
113
|
+
* Each route is composed of a series of legs that connect different points.
|
|
114
|
+
* @group Routes
|
|
115
|
+
*/
|
|
116
|
+
declare class MVXRoute {
|
|
117
|
+
/**
|
|
118
|
+
* Unique identifier for the route generated automatically
|
|
119
|
+
*/
|
|
120
|
+
id: string;
|
|
121
|
+
/**
|
|
122
|
+
* List of legs that compose the complete route
|
|
123
|
+
*/
|
|
124
|
+
legs: MVXRouteLeg[];
|
|
125
|
+
/**
|
|
126
|
+
* Creates a new route instance from API response data
|
|
127
|
+
* @hidden
|
|
128
|
+
* @param data API response data containing route information
|
|
129
|
+
*/
|
|
130
|
+
constructor(data: RouteResponse);
|
|
131
|
+
/**
|
|
132
|
+
* Gets all steps of the route by combining steps from all legs
|
|
133
|
+
* @returns Array with all route steps
|
|
134
|
+
*/
|
|
135
|
+
get steps(): MVXRouteStep[];
|
|
136
|
+
/**
|
|
137
|
+
* Gets the total duration of the route.
|
|
138
|
+
* This property calculates the sum of the duration of all legs in the route.
|
|
139
|
+
*
|
|
140
|
+
* @returns {number} The total duration of the route, in seconds.
|
|
141
|
+
*/
|
|
142
|
+
get duration(): number;
|
|
143
|
+
/**
|
|
144
|
+
* Gets the total length of the route.
|
|
145
|
+
* This property calculates the sum of the length of all legs in the route.
|
|
146
|
+
*
|
|
147
|
+
* @returns {number} The total length of the route, in meters.
|
|
148
|
+
*/
|
|
149
|
+
get length(): number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Represents a route leg that connects two specific points.
|
|
153
|
+
* Each leg contains information about distance, duration, and detailed steps.
|
|
154
|
+
* @group Routes
|
|
155
|
+
*/
|
|
156
|
+
declare class MVXRouteLeg {
|
|
157
|
+
/**
|
|
158
|
+
* Total distance of the leg in meters
|
|
159
|
+
*/
|
|
160
|
+
distance: number;
|
|
161
|
+
/**
|
|
162
|
+
* Estimated duration of the leg in seconds
|
|
163
|
+
*/
|
|
164
|
+
duration: number;
|
|
165
|
+
/**
|
|
166
|
+
* Starting location of the leg
|
|
167
|
+
*/
|
|
168
|
+
startLocation: LatLng;
|
|
169
|
+
/**
|
|
170
|
+
* Ending location of the leg
|
|
171
|
+
*/
|
|
172
|
+
endLocation: LatLng;
|
|
173
|
+
/**
|
|
174
|
+
* List of detailed steps that compose this leg
|
|
175
|
+
*/
|
|
176
|
+
steps: MVXRouteStep[];
|
|
177
|
+
/**
|
|
178
|
+
* Creates a new route leg instance from response data
|
|
179
|
+
* @hidden
|
|
180
|
+
* @param data API response data containing leg information
|
|
181
|
+
*/
|
|
182
|
+
constructor(data: RouteLegResponse);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Represents an individual step within a route leg.
|
|
186
|
+
* Each step contains specific instructions and coordinates for navigation.
|
|
187
|
+
* @group Routes
|
|
188
|
+
*/
|
|
189
|
+
declare class MVXRouteStep {
|
|
190
|
+
/**
|
|
191
|
+
* Distance of the step in meters
|
|
192
|
+
*/
|
|
193
|
+
distance: number;
|
|
194
|
+
/**
|
|
195
|
+
* Estimated duration of the step in seconds
|
|
196
|
+
*/
|
|
197
|
+
duration: number;
|
|
198
|
+
/**
|
|
199
|
+
* Starting location of the step
|
|
200
|
+
*/
|
|
201
|
+
startLocation: LatLng;
|
|
202
|
+
/**
|
|
203
|
+
* Identifier of the floor where the step begins (if applicable)
|
|
204
|
+
*/
|
|
205
|
+
startInsideFloor?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Identifier of the place where the step begins (if applicable)
|
|
208
|
+
*/
|
|
209
|
+
startInsidePlace?: string;
|
|
210
|
+
/**
|
|
211
|
+
* Ending location of the step
|
|
212
|
+
*/
|
|
213
|
+
endLocation: LatLng;
|
|
214
|
+
/**
|
|
215
|
+
* Identifier of the floor where the step ends (if applicable)
|
|
216
|
+
*/
|
|
217
|
+
endInsideFloor?: string;
|
|
218
|
+
/**
|
|
219
|
+
* Identifier of the place where the step ends (if applicable)
|
|
220
|
+
*/
|
|
221
|
+
endInsidePlace?: string;
|
|
222
|
+
/**
|
|
223
|
+
* HTML formatted instructions to display to the user
|
|
224
|
+
*/
|
|
225
|
+
htmlInstruction: string;
|
|
226
|
+
/**
|
|
227
|
+
* Plain text instructions to display to the user
|
|
228
|
+
*/
|
|
229
|
+
plainInstruction: string;
|
|
230
|
+
/**
|
|
231
|
+
* Type of maneuver the user should perform (e.g., "turn-left", "straight")
|
|
232
|
+
*/
|
|
233
|
+
maneuver: string;
|
|
234
|
+
/**
|
|
235
|
+
* Indicates if a popup with additional information should be shown
|
|
236
|
+
*/
|
|
237
|
+
showPopup?: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Icon prefix to display for this step
|
|
240
|
+
*/
|
|
241
|
+
iconPrefix?: string;
|
|
242
|
+
/**
|
|
243
|
+
* Indicates if this step involves using an elevator
|
|
244
|
+
*/
|
|
245
|
+
elevatorStep: boolean;
|
|
246
|
+
/**
|
|
247
|
+
* Object containing the polyline information for the step
|
|
248
|
+
* @hidden
|
|
249
|
+
*/
|
|
250
|
+
polyline: Polyline;
|
|
251
|
+
/**
|
|
252
|
+
* Creates a new route step instance from response data
|
|
253
|
+
* @hidden
|
|
254
|
+
* @param data API response data containing step information
|
|
255
|
+
*/
|
|
256
|
+
constructor(data: RouteStepResponse);
|
|
257
|
+
/**
|
|
258
|
+
* Gets the polyline coordinates in GeoJSON format
|
|
259
|
+
* @returns Array of coordinates in [longitude, latitude] format
|
|
260
|
+
*/
|
|
261
|
+
get geoJsonCoordinates(): Position[];
|
|
262
|
+
/**
|
|
263
|
+
* Gets the polyline coordinates in LatLng format
|
|
264
|
+
* @returns Array of LatLng coordinates
|
|
265
|
+
*/
|
|
266
|
+
get coordinates(): LatLng[];
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Internal class that handles polyline decoding and management.
|
|
270
|
+
* A polyline is an encoded representation of a series of coordinates.
|
|
271
|
+
*/
|
|
272
|
+
declare class Polyline {
|
|
273
|
+
/**
|
|
274
|
+
* Encoded string of polyline points
|
|
275
|
+
*/
|
|
276
|
+
points: string;
|
|
277
|
+
/**
|
|
278
|
+
* Polyline points in LatLng format (optional)
|
|
279
|
+
*/
|
|
280
|
+
pointsLatLng?: LatLng[];
|
|
281
|
+
/**
|
|
282
|
+
* Overview points of the polyline (optional)
|
|
283
|
+
*/
|
|
284
|
+
overviewPoints?: LatLng[];
|
|
285
|
+
/**
|
|
286
|
+
* Decoded points of the polyline
|
|
287
|
+
*/
|
|
288
|
+
private decodedPoints;
|
|
289
|
+
/**
|
|
290
|
+
* Creates a new polyline instance from response data
|
|
291
|
+
* @param data Response data containing polyline information
|
|
292
|
+
*/
|
|
293
|
+
constructor(data: RoutePolylineResponse);
|
|
294
|
+
/**
|
|
295
|
+
* Gets coordinates in GeoJSON format
|
|
296
|
+
* @returns Array of coordinates in [longitude, latitude] format
|
|
297
|
+
*/
|
|
298
|
+
get geoJsonCoordinates(): Position[];
|
|
299
|
+
/**
|
|
300
|
+
* Gets coordinates in LatLng format
|
|
301
|
+
* @returns Array of LatLng coordinates
|
|
302
|
+
*/
|
|
303
|
+
get coordinates(): LatLng[];
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Represents a location on the map.
|
|
308
|
+
* @group Places & Locations
|
|
309
|
+
*/
|
|
310
|
+
interface MVXLocation extends LatLng {
|
|
311
|
+
floorId?: string;
|
|
312
|
+
placeId?: string;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Model parameters of each floor for locations
|
|
317
|
+
* Represents the configuration and properties of individual floors within a building
|
|
318
|
+
* @group Places & Locations
|
|
319
|
+
*/
|
|
320
|
+
interface InnerFloor {
|
|
321
|
+
/**
|
|
322
|
+
* Unique identifier for the floor
|
|
323
|
+
*/
|
|
324
|
+
key: string;
|
|
325
|
+
/**
|
|
326
|
+
* Numerical index representing the floor's position in the building
|
|
327
|
+
* Lower numbers typically represent lower floors
|
|
328
|
+
*/
|
|
329
|
+
index: number;
|
|
330
|
+
/**
|
|
331
|
+
* Floor level number (can be negative for basement floors)
|
|
332
|
+
*/
|
|
333
|
+
level: number;
|
|
334
|
+
/**
|
|
335
|
+
* Full name of the floor (e.g., "Ground Floor", "First Floor")
|
|
336
|
+
*/
|
|
337
|
+
name: string;
|
|
338
|
+
/**
|
|
339
|
+
* Abbreviated name of the floor (e.g., "G", "1F", "B1")
|
|
340
|
+
*/
|
|
341
|
+
shortName?: string;
|
|
342
|
+
/**
|
|
343
|
+
* Indicates if this is the default floor to display when entering the building
|
|
344
|
+
*/
|
|
345
|
+
defaultFloor: boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Reference to the base floor identifier (used for relative positioning)
|
|
348
|
+
*/
|
|
349
|
+
baseFloor?: string;
|
|
350
|
+
/**
|
|
351
|
+
* Indicates if this floor can be reached using GPS positioning
|
|
352
|
+
* Useful for outdoor areas or floors with GPS accessibility
|
|
353
|
+
*/
|
|
354
|
+
reachableFromGPS?: boolean;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
interface Metadata {
|
|
358
|
+
category?: string[];
|
|
359
|
+
image?: string;
|
|
360
|
+
logo?: string;
|
|
361
|
+
tags?: string[];
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Interface that represents the API response for banners.
|
|
366
|
+
* Contains the data structure as it comes from the server.
|
|
367
|
+
* @group Places & Locations
|
|
368
|
+
*/
|
|
369
|
+
interface BannerResponse {
|
|
370
|
+
/**
|
|
371
|
+
* URL of the banner image
|
|
372
|
+
*/
|
|
373
|
+
url: string;
|
|
374
|
+
/**
|
|
375
|
+
* List of tags associated with the banner for filtering
|
|
376
|
+
*/
|
|
377
|
+
tags?: string[];
|
|
378
|
+
/**
|
|
379
|
+
* Action URL to redirect to when clicking on the banner
|
|
380
|
+
*/
|
|
381
|
+
url_action: string;
|
|
382
|
+
/**
|
|
383
|
+
* Indicates if the banner should open in the same window or a new one
|
|
384
|
+
*/
|
|
385
|
+
sameLink: boolean;
|
|
386
|
+
/**
|
|
387
|
+
* A description of the banner.
|
|
388
|
+
*
|
|
389
|
+
* Can contain html tags.
|
|
390
|
+
*/
|
|
391
|
+
description?: string;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Class that represents a banner in MapVX.
|
|
395
|
+
* Contains information about the image, tags, and banner behavior.
|
|
396
|
+
* @group Places & Locations
|
|
397
|
+
*/
|
|
398
|
+
declare class Banner {
|
|
399
|
+
/**
|
|
400
|
+
* URL of the banner image
|
|
401
|
+
*/
|
|
402
|
+
url: string;
|
|
403
|
+
/**
|
|
404
|
+
* List of tags associated with the banner for filtering
|
|
405
|
+
*/
|
|
406
|
+
tags: string[];
|
|
407
|
+
/**
|
|
408
|
+
* Action URL to redirect to when clicking on the banner
|
|
409
|
+
*/
|
|
410
|
+
urlAction: string;
|
|
411
|
+
/**
|
|
412
|
+
* Indicates if the banner should open in the same window or a new one
|
|
413
|
+
*/
|
|
414
|
+
sameLink: boolean;
|
|
415
|
+
/**
|
|
416
|
+
* A description of the banner.
|
|
417
|
+
*
|
|
418
|
+
* Can contain html tags.
|
|
419
|
+
*/
|
|
420
|
+
description?: string;
|
|
421
|
+
/**
|
|
422
|
+
* Creates a new banner instance from API response data
|
|
423
|
+
* @param rawBanner API response data containing banner information
|
|
424
|
+
*/
|
|
425
|
+
constructor(rawBanner: BannerResponse);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Two-characters string indicator for each day of the week
|
|
430
|
+
* Represents the standard format for identifying days in the week
|
|
431
|
+
* @group Places & Locations
|
|
432
|
+
*/
|
|
433
|
+
type DaysOfTheWeek = "mo" | "tu" | "we" | "th" | "fr" | "sa" | "su";
|
|
434
|
+
/**
|
|
435
|
+
* Object model for indicating a single period of opening time
|
|
436
|
+
* Represents a time range when a place is open
|
|
437
|
+
* @group Places & Locations
|
|
438
|
+
*/
|
|
439
|
+
interface OpeningTime {
|
|
440
|
+
/**
|
|
441
|
+
* Opening time in 24-hour format (e.g., "09:00")
|
|
442
|
+
*/
|
|
443
|
+
open: string;
|
|
444
|
+
/**
|
|
445
|
+
* Closing time in 24-hour format (e.g., "18:00")
|
|
446
|
+
*/
|
|
447
|
+
close: string;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Object model for indicating multiple opening times periods for different days of the week
|
|
451
|
+
* Maps each day of the week to an array of opening time periods
|
|
452
|
+
* @group Places & Locations
|
|
453
|
+
*/
|
|
454
|
+
type OpeningHours = {
|
|
455
|
+
[day in DaysOfTheWeek]: OpeningTime[];
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Base interface for all property types that a place can have.
|
|
460
|
+
* Defines the common fields that all properties must have.
|
|
461
|
+
* @group Places & Locations
|
|
462
|
+
*/
|
|
463
|
+
interface Property {
|
|
464
|
+
/**
|
|
465
|
+
* Title of the property
|
|
466
|
+
*/
|
|
467
|
+
title: string;
|
|
468
|
+
/**
|
|
469
|
+
* Subtitle or description of the property
|
|
470
|
+
*/
|
|
471
|
+
subtitle: string;
|
|
472
|
+
/**
|
|
473
|
+
* URL of the icon associated with the property (optional)
|
|
474
|
+
*/
|
|
475
|
+
icon?: string;
|
|
476
|
+
/**
|
|
477
|
+
* Image URL for the property icon (optional)
|
|
478
|
+
*/
|
|
479
|
+
imageUrl?: string;
|
|
480
|
+
/**
|
|
481
|
+
* Type of property to identify its category
|
|
482
|
+
*/
|
|
483
|
+
type?: string;
|
|
484
|
+
/**
|
|
485
|
+
* Identifier of the parent place of the property (optional)
|
|
486
|
+
*/
|
|
487
|
+
childParentPlace?: string;
|
|
488
|
+
/**
|
|
489
|
+
* URL associated with the property (optional)
|
|
490
|
+
*/
|
|
491
|
+
url?: string;
|
|
492
|
+
/**
|
|
493
|
+
* Icon prefix (defaults to "fas" for Font Awesome)
|
|
494
|
+
*/
|
|
495
|
+
iconPrefix?: string;
|
|
496
|
+
/**
|
|
497
|
+
* Order of the property (optional)
|
|
498
|
+
*/
|
|
499
|
+
sortChildrenBy?: string;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Interface that represents the API response for properties.
|
|
503
|
+
* Contains the data structure as it comes from the server.
|
|
504
|
+
* @group Places & Locations
|
|
505
|
+
*/
|
|
506
|
+
interface PropertyResponse {
|
|
507
|
+
/**
|
|
508
|
+
* Identifying key of the property
|
|
509
|
+
*/
|
|
510
|
+
key: string;
|
|
511
|
+
/**
|
|
512
|
+
* Descriptive text of the property
|
|
513
|
+
*/
|
|
514
|
+
text: string;
|
|
515
|
+
/**
|
|
516
|
+
* URL of the associated icon (optional)
|
|
517
|
+
*/
|
|
518
|
+
icon?: string;
|
|
519
|
+
/**
|
|
520
|
+
* Image URL for the property icon (optional)
|
|
521
|
+
*/
|
|
522
|
+
imageUrl?: string;
|
|
523
|
+
/**
|
|
524
|
+
* Type of property
|
|
525
|
+
*/
|
|
526
|
+
type?: string;
|
|
527
|
+
/**
|
|
528
|
+
* URL associated with the property (optional)
|
|
529
|
+
*/
|
|
530
|
+
url?: string;
|
|
531
|
+
/**
|
|
532
|
+
* List of child places associated with this property
|
|
533
|
+
*/
|
|
534
|
+
child_places?: PlaceResponse[] | string[];
|
|
535
|
+
/**
|
|
536
|
+
* List of nested child properties
|
|
537
|
+
*/
|
|
538
|
+
child_properties: PropertyResponse[];
|
|
539
|
+
/**
|
|
540
|
+
* Identifier of the parent place of the children
|
|
541
|
+
*/
|
|
542
|
+
child_parent_place?: string;
|
|
543
|
+
/**
|
|
544
|
+
* Icon prefix
|
|
545
|
+
*/
|
|
546
|
+
iconPrefix?: string;
|
|
547
|
+
/**
|
|
548
|
+
* Order of properties should be sorted by
|
|
549
|
+
*/
|
|
550
|
+
sortChildrenBy?: string;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Interface that represents a transport service associated with a place.
|
|
554
|
+
* Extends the Property interface with transport-specific fields.
|
|
555
|
+
* @group Places & Locations
|
|
556
|
+
*/
|
|
557
|
+
interface TransportLine extends Property {
|
|
558
|
+
/**
|
|
559
|
+
* Fixed type that identifies this property as a transport line
|
|
560
|
+
*/
|
|
561
|
+
type: "transport_line";
|
|
562
|
+
/**
|
|
563
|
+
* List of available transport lines
|
|
564
|
+
*/
|
|
565
|
+
lines: string[];
|
|
566
|
+
/**
|
|
567
|
+
* Source or provider of the transport service
|
|
568
|
+
*/
|
|
569
|
+
source: string[] | string;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
interface InnerFloorResponse {
|
|
573
|
+
defaultFloor: boolean;
|
|
574
|
+
index: number;
|
|
575
|
+
level: number;
|
|
576
|
+
name: string;
|
|
577
|
+
shortName?: string;
|
|
578
|
+
vectorTile: boolean;
|
|
579
|
+
reachableFromGPS?: boolean;
|
|
580
|
+
baseFloor?: string;
|
|
581
|
+
}
|
|
582
|
+
type RawLogo = string | {
|
|
583
|
+
light: string;
|
|
584
|
+
dark: string;
|
|
585
|
+
};
|
|
586
|
+
interface PlaceResponse {
|
|
587
|
+
id: string;
|
|
588
|
+
title: string;
|
|
589
|
+
description?: string;
|
|
590
|
+
shortDescription?: string;
|
|
591
|
+
lat: number;
|
|
592
|
+
lng: number;
|
|
593
|
+
address?: string;
|
|
594
|
+
category: string;
|
|
595
|
+
general_category: string;
|
|
596
|
+
localizedCategory?: string;
|
|
597
|
+
parent_institution: string;
|
|
598
|
+
externalId?: string;
|
|
599
|
+
alias?: string;
|
|
600
|
+
innerFloors?: {
|
|
601
|
+
[key: string]: InnerFloorResponse;
|
|
602
|
+
};
|
|
603
|
+
inFloor?: string[];
|
|
604
|
+
hasBeacons: boolean;
|
|
605
|
+
opening_hours: OpeningHours;
|
|
606
|
+
properties?: PropertyResponse[];
|
|
607
|
+
logo?: RawLogo;
|
|
608
|
+
images?: string[];
|
|
609
|
+
keywords?: string[];
|
|
610
|
+
tags?: string[];
|
|
611
|
+
banners?: BannerResponse[];
|
|
612
|
+
parent_id: string;
|
|
613
|
+
parent_type: string;
|
|
614
|
+
metadata?: Metadata;
|
|
615
|
+
visibility?: "public" | "protected" | "hidden";
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* MapVX place object, is a custom object containing data of a specific real place.
|
|
620
|
+
* Represents a physical location with all its associated metadata and properties.
|
|
621
|
+
*
|
|
622
|
+
* @example
|
|
623
|
+
* ```typescript
|
|
624
|
+
* const place = new MVXPlace(placeResponse);
|
|
625
|
+
* console.log(place.title); // "Coffee Shop"
|
|
626
|
+
* console.log(place.position); // { lat: 40.7128, lng: -74.0060 }
|
|
627
|
+
* ```
|
|
628
|
+
*
|
|
629
|
+
* @group Places & Locations
|
|
630
|
+
*/
|
|
631
|
+
declare class MVXPlace {
|
|
632
|
+
/**
|
|
633
|
+
* Unique identifier to reference the place in MapVX system
|
|
634
|
+
*/
|
|
635
|
+
mapvxId: string;
|
|
636
|
+
/**
|
|
637
|
+
* Client-side identifier for the place (optional)
|
|
638
|
+
* Used for custom identification in client applications
|
|
639
|
+
*/
|
|
640
|
+
clientId?: string;
|
|
641
|
+
/**
|
|
642
|
+
* Title text for the place (localized based on client language)
|
|
643
|
+
*/
|
|
644
|
+
title: string;
|
|
645
|
+
/**
|
|
646
|
+
* Detailed description text for the place (localized based on client language)
|
|
647
|
+
*/
|
|
648
|
+
description?: string;
|
|
649
|
+
/**
|
|
650
|
+
* Short description text for the place (localized based on client language)
|
|
651
|
+
*/
|
|
652
|
+
shortDescription?: string;
|
|
653
|
+
/**
|
|
654
|
+
* Central position coordinates for the place
|
|
655
|
+
* @see {@link LatLng} for coordinate structure
|
|
656
|
+
*/
|
|
657
|
+
position: LatLng;
|
|
658
|
+
/**
|
|
659
|
+
* Flag to control visibility of the place in search results
|
|
660
|
+
*/
|
|
661
|
+
hidePlace: boolean;
|
|
662
|
+
/**
|
|
663
|
+
* Category identifier for the place
|
|
664
|
+
*/
|
|
665
|
+
category: string;
|
|
666
|
+
/**
|
|
667
|
+
* Localized category name for the place (based on client language)
|
|
668
|
+
*/
|
|
669
|
+
localizedCategory?: string;
|
|
670
|
+
/**
|
|
671
|
+
* General purpose category string for the place (localized)
|
|
672
|
+
*/
|
|
673
|
+
generalCategory: string;
|
|
674
|
+
/**
|
|
675
|
+
* Floors available in the parent place. If this exists, the place is indoor.
|
|
676
|
+
* Otherwise, the place is considered outdoor.
|
|
677
|
+
* @see {@link InnerFloor} for floor structure
|
|
678
|
+
*/
|
|
679
|
+
innerFloors: InnerFloor[];
|
|
680
|
+
/**
|
|
681
|
+
* Specific floor identifiers where this place exists (for indoor locations)
|
|
682
|
+
*/
|
|
683
|
+
inFloors?: string[];
|
|
684
|
+
/**
|
|
685
|
+
* Unique identifier of the institution to which this place belongs
|
|
686
|
+
*/
|
|
687
|
+
parentInstitutionId: string;
|
|
688
|
+
/**
|
|
689
|
+
* Business hours when the place is open
|
|
690
|
+
* @see {@link OpeningHours} for schedule structure
|
|
691
|
+
*/
|
|
692
|
+
openingHours?: OpeningHours;
|
|
693
|
+
/**
|
|
694
|
+
* Physical address of the place in plain text (if provided)
|
|
695
|
+
*/
|
|
696
|
+
address?: string;
|
|
697
|
+
/**
|
|
698
|
+
* Transport services associated with this place
|
|
699
|
+
* @see {@link TransportLine} for transport service structure
|
|
700
|
+
*/
|
|
701
|
+
transportLine?: TransportLine[];
|
|
702
|
+
/**
|
|
703
|
+
* URL of the place's logo image
|
|
704
|
+
*/
|
|
705
|
+
logo?: string;
|
|
706
|
+
/**
|
|
707
|
+
* List of available image URLs for the place
|
|
708
|
+
*/
|
|
709
|
+
images: string[];
|
|
710
|
+
/**
|
|
711
|
+
* List of available banner images for the place
|
|
712
|
+
* @see {@link Banner} for banner structure
|
|
713
|
+
*/
|
|
714
|
+
banners: Banner[];
|
|
715
|
+
/**
|
|
716
|
+
* List of properties connected to the place
|
|
717
|
+
* @see {@link Property} for property structure
|
|
718
|
+
*/
|
|
719
|
+
properties?: Property[];
|
|
720
|
+
/**
|
|
721
|
+
* Unique identifier of the parent place or object
|
|
722
|
+
*/
|
|
723
|
+
parentId: string;
|
|
724
|
+
/**
|
|
725
|
+
* Type of the object being referenced by {@link parentId}
|
|
726
|
+
*/
|
|
727
|
+
parentType: string;
|
|
728
|
+
/**
|
|
729
|
+
* Tags associated with the place for categorization and filtering
|
|
730
|
+
*/
|
|
731
|
+
tags: string[];
|
|
732
|
+
/**
|
|
733
|
+
* Metadata of the place.
|
|
734
|
+
*/
|
|
735
|
+
metadata?: Metadata;
|
|
736
|
+
/**
|
|
737
|
+
* Visibility of the place
|
|
738
|
+
*/
|
|
739
|
+
visibility: "public" | "protected" | "hidden";
|
|
740
|
+
/**
|
|
741
|
+
* Creates a new place instance with the parameters specified in the data.
|
|
742
|
+
*
|
|
743
|
+
* @param rawPlace - JSON configuration parameters for the place from API response
|
|
744
|
+
* @returns A new instance of MVXPlace
|
|
745
|
+
*
|
|
746
|
+
* @example
|
|
747
|
+
* ```typescript
|
|
748
|
+
* const placeResponse = await fetchPlaceData(placeId);
|
|
749
|
+
* const place = new MVXPlace(placeResponse);
|
|
750
|
+
* ```
|
|
751
|
+
*/
|
|
752
|
+
constructor(rawPlace: PlaceResponse);
|
|
753
|
+
/**
|
|
754
|
+
* Returns the floor in which the place exists as an InnerFloor object.
|
|
755
|
+
* If no matching available floor is found or if the place is not indoor,
|
|
756
|
+
* an undefined value will be returned.
|
|
757
|
+
*
|
|
758
|
+
* @param parentPlaceFloors - Array of existing parent place floors to search in
|
|
759
|
+
* @returns The matching InnerFloor object or undefined if not found
|
|
760
|
+
*
|
|
761
|
+
* @example
|
|
762
|
+
* ```typescript
|
|
763
|
+
* const buildingFloors = getBuildingFloors();
|
|
764
|
+
* const placeFloor = place.inFloor(buildingFloors);
|
|
765
|
+
* if (placeFloor) {
|
|
766
|
+
* console.log(`Place is on floor: ${placeFloor.name}`);
|
|
767
|
+
* }
|
|
768
|
+
* ```
|
|
769
|
+
*/
|
|
770
|
+
inFloor(parentPlaceFloors: InnerFloor[]): InnerFloor | undefined;
|
|
771
|
+
/**
|
|
772
|
+
* Returns a string representation of the place
|
|
773
|
+
* @returns String in format "MVXPlace {mapvxId}"
|
|
774
|
+
*/
|
|
775
|
+
toString(): string;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
interface InstitutionCityFilterOption {
|
|
779
|
+
institutionId: string;
|
|
780
|
+
filterId: string;
|
|
781
|
+
name: string;
|
|
782
|
+
type: "institution";
|
|
783
|
+
}
|
|
784
|
+
interface ParentPlaceCityFilterOption {
|
|
785
|
+
parentPlaceId: string;
|
|
786
|
+
filterId: string;
|
|
787
|
+
name: string;
|
|
788
|
+
type: "parent-place";
|
|
789
|
+
institutionId: string;
|
|
790
|
+
}
|
|
791
|
+
type CityFilterOption = InstitutionCityFilterOption | ParentPlaceCityFilterOption;
|
|
792
|
+
|
|
793
|
+
interface InstitutionResponse {
|
|
794
|
+
id: string;
|
|
795
|
+
title: string;
|
|
796
|
+
category: string;
|
|
797
|
+
description?: string;
|
|
798
|
+
hasPlaces: boolean;
|
|
799
|
+
icon?: string;
|
|
800
|
+
country: string;
|
|
801
|
+
properties?: PropertyResponse[];
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* MapVX Institution object, is a custom object containing data of conglomerate of places (enterprise or subdivision).
|
|
806
|
+
* Represents a collection of related places that form a larger organizational unit.
|
|
807
|
+
*
|
|
808
|
+
* @example
|
|
809
|
+
* ```typescript
|
|
810
|
+
* const institution = new Institution(institutionResponse);
|
|
811
|
+
* console.log(institution.title); // "Shopping Mall"
|
|
812
|
+
* console.log(institution.hasPlaces); // true
|
|
813
|
+
* ```
|
|
814
|
+
*
|
|
815
|
+
* @group Places & Locations
|
|
816
|
+
*/
|
|
817
|
+
declare class Institution {
|
|
818
|
+
/**
|
|
819
|
+
* Unique identifier for the institution in MapVX system
|
|
820
|
+
*/
|
|
821
|
+
mapvxId: string;
|
|
822
|
+
/**
|
|
823
|
+
* Title or name of the institution
|
|
824
|
+
*/
|
|
825
|
+
title: string;
|
|
826
|
+
/**
|
|
827
|
+
* Detailed description of the institution (optional)
|
|
828
|
+
*/
|
|
829
|
+
description?: string;
|
|
830
|
+
/**
|
|
831
|
+
* Country where the institution is located
|
|
832
|
+
*/
|
|
833
|
+
country: string;
|
|
834
|
+
/**
|
|
835
|
+
* Category or type of the institution
|
|
836
|
+
*/
|
|
837
|
+
category: string;
|
|
838
|
+
/**
|
|
839
|
+
* Flag indicating if the institution contains places
|
|
840
|
+
*/
|
|
841
|
+
hasPlaces: boolean;
|
|
842
|
+
/**
|
|
843
|
+
* List of properties associated with the institution
|
|
844
|
+
* @see {@link Property} for property structure
|
|
845
|
+
*/
|
|
846
|
+
properties?: Property[];
|
|
847
|
+
/**
|
|
848
|
+
* URL of the institution's icon or logo
|
|
849
|
+
*/
|
|
850
|
+
icon?: string;
|
|
851
|
+
/**
|
|
852
|
+
* Creates a new instance of an Institution object with the rawInstitution arguments.
|
|
853
|
+
*
|
|
854
|
+
* @param rawInstitution - JSON configuration parameters for the institution from API response
|
|
855
|
+
* @returns A new instance of Institution
|
|
856
|
+
*
|
|
857
|
+
* @example
|
|
858
|
+
* ```typescript
|
|
859
|
+
* const institutionResponse = await fetchInstitutionData(institutionId);
|
|
860
|
+
* const institution = new Institution(institutionResponse);
|
|
861
|
+
* ```
|
|
862
|
+
*/
|
|
863
|
+
constructor(rawInstitution: InstitutionResponse);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* Multilanguage object model for different languages
|
|
868
|
+
* Represents text content that can be displayed in multiple languages
|
|
869
|
+
* @group Places & Locations
|
|
870
|
+
*/
|
|
871
|
+
interface MultiLanguage {
|
|
872
|
+
/**
|
|
873
|
+
* Default language text that will be used if the requested language is not available
|
|
874
|
+
*/
|
|
875
|
+
default: string;
|
|
876
|
+
/**
|
|
877
|
+
* Language-specific text content indexed by language code
|
|
878
|
+
* Example: { "en": "Hello", "es": "Hola", "default": "Hello" }
|
|
879
|
+
*/
|
|
880
|
+
[language: string]: string;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
/**
|
|
884
|
+
* Interface that represents the API response for transport services.
|
|
885
|
+
* Contains both real-time schedules and regular schedules.
|
|
886
|
+
*/
|
|
887
|
+
interface TransportResponse {
|
|
888
|
+
/**
|
|
889
|
+
* List of real-time schedules for transport services
|
|
890
|
+
*/
|
|
891
|
+
realtimeSchedules: RealtimeSchedule[];
|
|
892
|
+
/**
|
|
893
|
+
* List of regular schedules for transport services
|
|
894
|
+
*/
|
|
895
|
+
schedules: Schedule[];
|
|
896
|
+
}
|
|
897
|
+
/**
|
|
898
|
+
* Interface that represents a real-time schedule of a transport service.
|
|
899
|
+
* Contains detailed information about a specific route in real-time.
|
|
900
|
+
* @group Places & Locations
|
|
901
|
+
*/
|
|
902
|
+
interface RealtimeSchedule {
|
|
903
|
+
/**
|
|
904
|
+
* Name of the transport route
|
|
905
|
+
*/
|
|
906
|
+
routeName: string;
|
|
907
|
+
/**
|
|
908
|
+
* Informative message about the service status
|
|
909
|
+
*/
|
|
910
|
+
message: string;
|
|
911
|
+
/**
|
|
912
|
+
* Opening hours of the service (optional)
|
|
913
|
+
*/
|
|
914
|
+
opening_hours?: [];
|
|
915
|
+
/**
|
|
916
|
+
* Additional properties of the service (optional)
|
|
917
|
+
*/
|
|
918
|
+
properties?: [];
|
|
919
|
+
/**
|
|
920
|
+
* Name of the current stop
|
|
921
|
+
*/
|
|
922
|
+
stopName: string;
|
|
923
|
+
/**
|
|
924
|
+
* Final destination of the route
|
|
925
|
+
*/
|
|
926
|
+
finalDestination: string;
|
|
927
|
+
/**
|
|
928
|
+
* Origin or source of the service
|
|
929
|
+
*/
|
|
930
|
+
source: string;
|
|
931
|
+
/**
|
|
932
|
+
* URL of the icon associated with the service (optional)
|
|
933
|
+
*/
|
|
934
|
+
icon?: string;
|
|
935
|
+
/**
|
|
936
|
+
* Unique identifier of the vehicle
|
|
937
|
+
*/
|
|
938
|
+
vehicleId: string;
|
|
939
|
+
/**
|
|
940
|
+
* Distance from the current stop in meters
|
|
941
|
+
*/
|
|
942
|
+
distance: number;
|
|
943
|
+
/**
|
|
944
|
+
* Estimated arrival time in text format
|
|
945
|
+
*/
|
|
946
|
+
estimatedTime: string;
|
|
947
|
+
/**
|
|
948
|
+
* Remaining time until arrival in text format
|
|
949
|
+
*/
|
|
950
|
+
remainingTime: string;
|
|
951
|
+
/**
|
|
952
|
+
* Service title in multiple languages
|
|
953
|
+
*/
|
|
954
|
+
title: MultiLanguage;
|
|
955
|
+
/**
|
|
956
|
+
* Indicates if the service is delayed
|
|
957
|
+
*/
|
|
958
|
+
delayed: boolean;
|
|
959
|
+
/**
|
|
960
|
+
* Route direction (outbound or inbound)
|
|
961
|
+
*/
|
|
962
|
+
routeDirection: string;
|
|
963
|
+
/**
|
|
964
|
+
* Route identifier
|
|
965
|
+
*/
|
|
966
|
+
route: string;
|
|
967
|
+
/**
|
|
968
|
+
* Latitude of the vehicle's current location
|
|
969
|
+
*/
|
|
970
|
+
latitude: number;
|
|
971
|
+
/**
|
|
972
|
+
* Longitude of the vehicle's current location
|
|
973
|
+
*/
|
|
974
|
+
longitude: number;
|
|
975
|
+
/**
|
|
976
|
+
* Stop identifier
|
|
977
|
+
*/
|
|
978
|
+
stopId: string;
|
|
979
|
+
/**
|
|
980
|
+
* List of stops associated with this route (optional)
|
|
981
|
+
*/
|
|
982
|
+
stops?: MVXPlace[];
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Interface that represents a regular schedule of a transport service.
|
|
986
|
+
* Contains information about fixed schedules of a transport line.
|
|
987
|
+
* @group Places & Locations
|
|
988
|
+
*/
|
|
989
|
+
interface Schedule {
|
|
990
|
+
/**
|
|
991
|
+
* Identifier of the transport line
|
|
992
|
+
*/
|
|
993
|
+
line: string;
|
|
994
|
+
/**
|
|
995
|
+
* Route direction (outbound or inbound)
|
|
996
|
+
*/
|
|
997
|
+
routeDirection: string;
|
|
998
|
+
/**
|
|
999
|
+
* Schedules organized by days of the week
|
|
1000
|
+
*/
|
|
1001
|
+
schedule: DaysAndTimes[];
|
|
1002
|
+
/**
|
|
1003
|
+
* Origin or source of the service
|
|
1004
|
+
*/
|
|
1005
|
+
source: string;
|
|
1006
|
+
/**
|
|
1007
|
+
* Service title in multiple languages
|
|
1008
|
+
*/
|
|
1009
|
+
title: MultiLanguage;
|
|
1010
|
+
/**
|
|
1011
|
+
* Today's schedule in text format
|
|
1012
|
+
*/
|
|
1013
|
+
today_schedule: string;
|
|
1014
|
+
/**
|
|
1015
|
+
* Next schedule in text format
|
|
1016
|
+
*/
|
|
1017
|
+
next_schedule: string;
|
|
1018
|
+
}
|
|
1019
|
+
/**
|
|
1020
|
+
* Interface that represents schedules for specific days of the week.
|
|
1021
|
+
* Defines which days and at what times the service operates.
|
|
1022
|
+
* @group Places & Locations
|
|
1023
|
+
*/
|
|
1024
|
+
interface DaysAndTimes {
|
|
1025
|
+
/**
|
|
1026
|
+
* List of days of the week in abbreviated format (e.g., ["mo", "tu", "we"])
|
|
1027
|
+
*/
|
|
1028
|
+
days: string[];
|
|
1029
|
+
/**
|
|
1030
|
+
* List of schedules in text format (e.g., ["08:00", "12:00", "18:00"])
|
|
1031
|
+
*/
|
|
1032
|
+
times: string[];
|
|
1033
|
+
}
|
|
1034
|
+
/**
|
|
1035
|
+
* Class that represents a transport object in MapVX.
|
|
1036
|
+
* Contains both regular schedules and real-time information.
|
|
1037
|
+
* @group Others
|
|
1038
|
+
*/
|
|
1039
|
+
declare class MVXTransport {
|
|
1040
|
+
/**
|
|
1041
|
+
* List of regular schedules for transport services
|
|
1042
|
+
*/
|
|
1043
|
+
schedule: Schedule[];
|
|
1044
|
+
/**
|
|
1045
|
+
* List of real-time routes for transport services
|
|
1046
|
+
*/
|
|
1047
|
+
routes: RealtimeSchedule[];
|
|
1048
|
+
/**
|
|
1049
|
+
* Creates a new transport instance with the parameters specified in the response of the endpoint.
|
|
1050
|
+
* @hidden
|
|
1051
|
+
* @param data json parameters for the transport object.
|
|
1052
|
+
* @returns A new instance of MVXTransport is returned.
|
|
1053
|
+
*/
|
|
1054
|
+
constructor(data: TransportResponse);
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
interface InitialData {
|
|
1058
|
+
availablePlaces: PlaceResponse[] | null;
|
|
1059
|
+
institutions: InstitutionResponse[] | null;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
interface CurrentLocation {
|
|
1063
|
+
type: 'current-location';
|
|
1064
|
+
title: 'Current location';
|
|
1065
|
+
position: LatLng;
|
|
1066
|
+
}
|
|
1067
|
+
declare function toCurrentLocation(position: GeolocationPosition): CurrentLocation;
|
|
1068
|
+
declare function isCurrentLocation(point: RoutePoint | null): point is CurrentLocation;
|
|
1069
|
+
declare function isPlace(point: RoutePoint | null): point is MVXPlace;
|
|
1070
|
+
type RoutePoint = MVXPlace | CurrentLocation;
|
|
1071
|
+
|
|
1072
|
+
interface FormattedSchedule {
|
|
1073
|
+
day: string;
|
|
1074
|
+
schedule: string[];
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
interface SearchData {
|
|
1078
|
+
term: string;
|
|
1079
|
+
results: MVXPlace[];
|
|
1080
|
+
}
|
|
1081
|
+
declare const EMPTY_SEARCH_DATA: SearchData;
|
|
1082
|
+
|
|
1083
|
+
interface SelectFilterAction {
|
|
1084
|
+
type: 'select-filter';
|
|
1085
|
+
data: {
|
|
1086
|
+
filter: string;
|
|
1087
|
+
};
|
|
1088
|
+
}
|
|
1089
|
+
interface ShowPlaceAction {
|
|
1090
|
+
type: 'show-place';
|
|
1091
|
+
data: {
|
|
1092
|
+
placeId: string;
|
|
1093
|
+
alias: string | undefined;
|
|
1094
|
+
};
|
|
1095
|
+
}
|
|
1096
|
+
interface SelectDestinationAction {
|
|
1097
|
+
type: 'select-destination';
|
|
1098
|
+
data: {
|
|
1099
|
+
destinationId: string;
|
|
1100
|
+
alias: string | undefined;
|
|
1101
|
+
};
|
|
1102
|
+
}
|
|
1103
|
+
interface SearchAction {
|
|
1104
|
+
type: 'search';
|
|
1105
|
+
data: {
|
|
1106
|
+
searchTerm: string;
|
|
1107
|
+
};
|
|
1108
|
+
}
|
|
1109
|
+
interface ReturnToHomeAction {
|
|
1110
|
+
type: 'return-to-home';
|
|
1111
|
+
data: {
|
|
1112
|
+
filter: string;
|
|
1113
|
+
};
|
|
1114
|
+
}
|
|
1115
|
+
type UserAction = SelectFilterAction | ShowPlaceAction | SelectDestinationAction | SearchAction | ReturnToHomeAction;
|
|
1116
|
+
|
|
1117
|
+
declare function isDealOrEventBanner(banner: Banner): boolean;
|
|
1118
|
+
declare function extractBannerColor(description: string): string;
|
|
1119
|
+
|
|
1120
|
+
declare const FALLBACK_IMAGE_URL = "https://images.ctfassets.net/37yx0l0lf3yk/6eJ4fYG9hQxJ8ayujcebhe/8cf968e7d66df9a8bc75b72b7e7d6432/00002167_BedrockWebsite_TenantCOmingSoon_PlaceholderImage_3840x3840_V2-web.jpg?q=80&fm=webp&w=1920";
|
|
1121
|
+
declare const MEASUREMENT_ID = "G-9KB6BB1J7M";
|
|
1122
|
+
|
|
1123
|
+
/**
|
|
1124
|
+
* Get the currentschedule of the store as a string.
|
|
1125
|
+
* @param openingHours Opening hours of the store.
|
|
1126
|
+
* @returns The schedule of the store.
|
|
1127
|
+
*/
|
|
1128
|
+
declare function getSchedule(openingHours: OpeningHours): string;
|
|
1129
|
+
declare function prepareAllSchedules(openingHours: OpeningHours): FormattedSchedule[];
|
|
1130
|
+
|
|
1131
|
+
export { AnimationState, Banner, EMPTY_SEARCH_DATA, FALLBACK_IMAGE_URL, Institution, MEASUREMENT_ID, MVXPlace, MVXRoute, MVXRouteLeg, MVXRouteStep, MVXTransport, extractBannerColor, getSchedule, isCurrentLocation, isDealOrEventBanner, isPlace, prepareAllSchedules, toCurrentLocation };
|
|
1132
|
+
export type { CategoryFiltersData, CityFilterOption, CurrentLocation, DaysOfTheWeek, FormattedSchedule, InitialData, InnerFloor, InstitutionResponse, LatLng, MVXLocation, OpeningHours, OpeningTime, PlaceResponse, Property, ReturnToHomeAction, RoutePoint, SearchAction, SearchData, SelectDestinationAction, SelectFilterAction, ShowPlaceAction, UserAction };
|