@mapvx/web-js 1.1.1 → 1.1.2-dev.1
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.md +2 -2
- package/README.md +12 -9
- package/dist/cjs/assets/icons.js +6 -8
- package/dist/cjs/assets/icons.js.map +1 -1
- package/dist/cjs/controllers/routeController.js +19 -19
- package/dist/cjs/controllers/routeController.js.map +1 -1
- package/dist/cjs/domain/models/animation.js +2 -2
- package/dist/cjs/domain/models/categories.js +23 -10
- package/dist/cjs/domain/models/categories.js.map +1 -1
- package/dist/cjs/domain/models/circle.js +253 -0
- package/dist/cjs/domain/models/circle.js.map +1 -0
- package/dist/cjs/domain/models/mapConfig.js +10 -1
- package/dist/cjs/domain/models/mapConfig.js.map +1 -1
- package/dist/cjs/domain/models/marker.js +86 -80
- package/dist/cjs/domain/models/marker.js.map +1 -1
- package/dist/cjs/domain/models/routeConfiguration.js +3 -1
- package/dist/cjs/domain/models/routeConfiguration.js.map +1 -1
- package/dist/cjs/index.js +21 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logger/logger.js +13 -8
- package/dist/cjs/logger/logger.js.map +1 -1
- package/dist/cjs/logger/rollbar.js +11 -6
- package/dist/cjs/logger/rollbar.js.map +1 -1
- package/dist/cjs/map/map.js +446 -28
- package/dist/cjs/map/map.js.map +1 -1
- package/dist/cjs/map/mapInteractionOptions.js +56 -0
- package/dist/cjs/map/mapInteractionOptions.js.map +1 -0
- package/dist/cjs/repository/repository.js +25 -26
- package/dist/cjs/repository/repository.js.map +1 -1
- package/dist/cjs/repository/requester.js +71 -91
- package/dist/cjs/repository/requester.js.map +1 -1
- package/dist/cjs/sdk.js +18 -1
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/utils/semaphore.js +143 -0
- package/dist/cjs/utils/semaphore.js.map +1 -0
- package/dist/es/assets/icons.d.ts +4 -4
- package/dist/es/assets/icons.d.ts.map +1 -1
- package/dist/es/assets/icons.js +6 -8
- package/dist/es/assets/icons.js.map +1 -1
- package/dist/es/controllers/routeController.d.ts.map +1 -1
- package/dist/es/controllers/routeController.js +19 -19
- package/dist/es/controllers/routeController.js.map +1 -1
- package/dist/es/domain/models/animation.d.ts +3 -3
- package/dist/es/domain/models/animation.js +2 -2
- package/dist/es/domain/models/categories.d.ts +34 -10
- package/dist/es/domain/models/categories.d.ts.map +1 -1
- package/dist/es/domain/models/categories.js +21 -9
- package/dist/es/domain/models/categories.js.map +1 -1
- package/dist/es/domain/models/circle.d.ts +222 -0
- package/dist/es/domain/models/circle.d.ts.map +1 -0
- package/dist/es/domain/models/circle.js +246 -0
- package/dist/es/domain/models/circle.js.map +1 -0
- package/dist/es/domain/models/configuration.d.ts +8 -0
- package/dist/es/domain/models/configuration.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.d.ts +118 -3
- package/dist/es/domain/models/mapConfig.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.js +9 -0
- package/dist/es/domain/models/mapConfig.js.map +1 -1
- package/dist/es/domain/models/marker.d.ts +8 -0
- package/dist/es/domain/models/marker.d.ts.map +1 -1
- package/dist/es/domain/models/marker.js +86 -80
- package/dist/es/domain/models/marker.js.map +1 -1
- package/dist/es/domain/models/routeConfiguration.d.ts +47 -0
- package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -1
- package/dist/es/domain/models/routeConfiguration.js +3 -1
- package/dist/es/domain/models/routeConfiguration.js.map +1 -1
- package/dist/es/index.d.ts +14 -11
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +9 -5
- package/dist/es/index.js.map +1 -1
- package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -1
- package/dist/es/logger/logger.d.ts.map +1 -1
- package/dist/es/logger/logger.js +13 -8
- package/dist/es/logger/logger.js.map +1 -1
- package/dist/es/logger/rollbar.d.ts.map +1 -1
- package/dist/es/logger/rollbar.js +11 -6
- package/dist/es/logger/rollbar.js.map +1 -1
- package/dist/es/map/map.d.ts +298 -0
- package/dist/es/map/map.d.ts.map +1 -1
- package/dist/es/map/map.js +447 -29
- package/dist/es/map/map.js.map +1 -1
- package/dist/es/map/mapInteractionOptions.d.ts +37 -0
- package/dist/es/map/mapInteractionOptions.d.ts.map +1 -0
- package/dist/es/map/mapInteractionOptions.js +51 -0
- package/dist/es/map/mapInteractionOptions.js.map +1 -0
- package/dist/es/repository/repository.d.ts +0 -1
- package/dist/es/repository/repository.d.ts.map +1 -1
- package/dist/es/repository/repository.js +25 -26
- package/dist/es/repository/repository.js.map +1 -1
- package/dist/es/repository/requester.d.ts +12 -2
- package/dist/es/repository/requester.d.ts.map +1 -1
- package/dist/es/repository/requester.js +71 -91
- package/dist/es/repository/requester.js.map +1 -1
- package/dist/es/sdk.d.ts +2 -0
- package/dist/es/sdk.d.ts.map +1 -1
- package/dist/es/sdk.js +18 -1
- package/dist/es/sdk.js.map +1 -1
- package/dist/es/utils/semaphore.d.ts +70 -0
- package/dist/es/utils/semaphore.d.ts.map +1 -0
- package/dist/es/utils/semaphore.js +139 -0
- package/dist/es/utils/semaphore.js.map +1 -0
- package/dist/umd/index.js +1792 -657
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/styles.css +32 -14
- package/dist/umd/styles.css.map +1 -1
- package/package.json +63 -49
- package/dist/cjs/assets/route_animation_icon.svg +0 -15
- package/dist/cjs/assets/user-dot-icon.svg +0 -3
- package/dist/es/assets/route_animation_icon.svg +0 -15
- package/dist/es/assets/user-dot-icon.svg +0 -3
|
@@ -11,7 +11,8 @@ import type { LatLng } from "./latLng";
|
|
|
11
11
|
* maxTiles: 500,
|
|
12
12
|
* ttlMs: 60 * 60 * 1000, // 1 hour
|
|
13
13
|
* persistToServiceWorker: true,
|
|
14
|
-
* preloadAdjacentZooms: false
|
|
14
|
+
* preloadAdjacentZooms: false,
|
|
15
|
+
* maxConcurrentTileFetches: 6
|
|
15
16
|
* };
|
|
16
17
|
* ```
|
|
17
18
|
*
|
|
@@ -26,7 +27,9 @@ export interface MapTileCacheConfig {
|
|
|
26
27
|
enabled?: boolean;
|
|
27
28
|
/**
|
|
28
29
|
* Maximum number of tiles to keep in MapLibre's memory cache
|
|
29
|
-
* Higher values use more memory but improve performance for panning/zooming
|
|
30
|
+
* Higher values use more memory but improve performance for panning/zooming.
|
|
31
|
+
* Values above an internal hard cap are clamped to protect memory and to avoid
|
|
32
|
+
* extreme tile retention that can amplify traffic to the tile CDN.
|
|
30
33
|
* @default 400
|
|
31
34
|
*/
|
|
32
35
|
maxTiles?: number;
|
|
@@ -44,16 +47,32 @@ export interface MapTileCacheConfig {
|
|
|
44
47
|
persistToServiceWorker?: boolean;
|
|
45
48
|
/**
|
|
46
49
|
* Preload tiles for adjacent zoom levels
|
|
47
|
-
* Improves zoom transitions but increases initial load time and bandwidth
|
|
50
|
+
* Improves zoom transitions but increases initial load time and bandwidth.
|
|
51
|
+
* Reserved for future MapLibre integration; currently does not change runtime behavior.
|
|
48
52
|
* @default false
|
|
49
53
|
*/
|
|
50
54
|
preloadAdjacentZooms?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Max concurrent HTTP requests for vector tiles when `persistToServiceWorker` is true
|
|
57
|
+
* (custom `cached-tile://` protocol). Lower values reduce burst traffic to the tile CDN,
|
|
58
|
+
* which helps with WAF / rate limiting on shared hosting.
|
|
59
|
+
* @default 6
|
|
60
|
+
*/
|
|
61
|
+
maxConcurrentTileFetches?: number;
|
|
51
62
|
}
|
|
52
63
|
/**
|
|
53
64
|
* Default values for tile cache configuration
|
|
54
65
|
* @internal
|
|
55
66
|
*/
|
|
56
67
|
export declare const DEFAULT_TILE_CACHE_CONFIG: Required<MapTileCacheConfig>;
|
|
68
|
+
/**
|
|
69
|
+
* Hard cap for {@link MapTileCacheConfig.maxTiles}.
|
|
70
|
+
* Configurations above this (e.g. millions) are clamped to avoid memory pressure
|
|
71
|
+
* and excessive interaction with the tile CDN / service worker.
|
|
72
|
+
*
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
export declare const MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
|
|
57
76
|
/**
|
|
58
77
|
* Basic configuration for the map.
|
|
59
78
|
* Provides essential settings for initializing and customizing map behavior.
|
|
@@ -91,6 +110,14 @@ export declare const DEFAULT_TILE_CACHE_CONFIG: Required<MapTileCacheConfig>;
|
|
|
91
110
|
* @property showZoom - (Optional) Whether to display the zoom control.
|
|
92
111
|
* @property navigationPosition - (Optional) Position of the navigation controls on the map.
|
|
93
112
|
* @property bearingSnap - (Optional) The bearing snap threshold in degrees.
|
|
113
|
+
* @property bearing - (Optional) Initial bearing (rotation) of the map in degrees, clockwise from north.
|
|
114
|
+
* @property interactive - (Optional) Master switch for all user interaction (pan/zoom/rotate).
|
|
115
|
+
* @property rotateEnabled - (Optional) Whether the user can rotate the map; keeps pinch-zoom when disabled.
|
|
116
|
+
* @property dragPan - (Optional) Whether the user can pan by dragging/swiping.
|
|
117
|
+
* @property scrollZoom - (Optional) Whether the scroll wheel/trackpad can zoom the map.
|
|
118
|
+
* @property doubleClickZoom - (Optional) Whether double-click/double-tap zooms the map.
|
|
119
|
+
* @property touchZoomRotate - (Optional) Whether pinch gestures can zoom the map on touch devices.
|
|
120
|
+
* @property keyboard - (Optional) Whether keyboard shortcuts can pan/zoom/rotate the map.
|
|
94
121
|
* @property institutionId - (Optional) The institution identifier for map context. Required for loading map related data from Portal.
|
|
95
122
|
* @property authToken - (Optional) Authentication token for accessing protected map resources. Required for loading map related data from Portal.
|
|
96
123
|
* @property apiUrl - (Optional) Injected by SDK when creating map; base API URL for map requests.
|
|
@@ -216,6 +243,94 @@ export interface MapConfig {
|
|
|
216
243
|
* ```
|
|
217
244
|
*/
|
|
218
245
|
bearingSnap?: number;
|
|
246
|
+
/**
|
|
247
|
+
* Initial bearing (rotation) of the map in degrees, measured clockwise from
|
|
248
|
+
* north. A bearing of `0` keeps north up, `90` puts east up, `180` south, etc.
|
|
249
|
+
*
|
|
250
|
+
* Useful to align an indoor map with a fixed physical installation — for
|
|
251
|
+
* example a totem/kiosk that always faces a known direction, so "up" on the
|
|
252
|
+
* screen matches "forward" for the person standing in front of it.
|
|
253
|
+
*
|
|
254
|
+
* @defaultValue `0`
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* // Orient the map so the totem's forward direction points up
|
|
259
|
+
* const mapConfig: MapConfig = { zoom: 19, center, bearing: 135 };
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
bearing?: number;
|
|
263
|
+
/**
|
|
264
|
+
* Master switch for user interaction. When `false` the map cannot be panned,
|
|
265
|
+
* zoomed, or rotated by the user (it can still be driven programmatically).
|
|
266
|
+
* Mirrors MapLibre's `interactive` option.
|
|
267
|
+
*
|
|
268
|
+
* Prefer the granular flags below ({@link MapConfig.rotateEnabled},
|
|
269
|
+
* {@link MapConfig.dragPan}, {@link MapConfig.scrollZoom}, …) when you only
|
|
270
|
+
* need to restrict some gestures.
|
|
271
|
+
*
|
|
272
|
+
* @defaultValue `true`
|
|
273
|
+
*/
|
|
274
|
+
interactive?: boolean;
|
|
275
|
+
/**
|
|
276
|
+
* Whether the user can rotate (and tilt by rotating) the map.
|
|
277
|
+
*
|
|
278
|
+
* When `false`, drag-to-rotate, two-finger touch rotation and pitch-with-rotate
|
|
279
|
+
* are disabled while pinch-to-zoom is preserved. This is the recommended way to
|
|
280
|
+
* keep a fixed installation locked to its {@link MapConfig.bearing} while still
|
|
281
|
+
* letting visitors zoom in and out.
|
|
282
|
+
*
|
|
283
|
+
* @defaultValue `true`
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* // Lock the map to a fixed orientation but keep zoom available
|
|
288
|
+
* const mapConfig: MapConfig = {
|
|
289
|
+
* zoom: 19,
|
|
290
|
+
* center,
|
|
291
|
+
* bearing: 135,
|
|
292
|
+
* rotateEnabled: false,
|
|
293
|
+
* };
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
rotateEnabled?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Whether the user can pan the map by dragging or swiping. Mirrors MapLibre's
|
|
299
|
+
* `dragPan`. Combine `dragPan: false` with `rotateEnabled: false` for a static
|
|
300
|
+
* screen where only zoom in/out is allowed.
|
|
301
|
+
*
|
|
302
|
+
* @defaultValue `true`
|
|
303
|
+
*/
|
|
304
|
+
dragPan?: boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Whether the scroll wheel / trackpad can zoom the map. Mirrors MapLibre's
|
|
307
|
+
* `scrollZoom`.
|
|
308
|
+
*
|
|
309
|
+
* @defaultValue `true`
|
|
310
|
+
*/
|
|
311
|
+
scrollZoom?: boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Whether double-click / double-tap zooms the map. Mirrors MapLibre's
|
|
314
|
+
* `doubleClickZoom`.
|
|
315
|
+
*
|
|
316
|
+
* @defaultValue `true`
|
|
317
|
+
*/
|
|
318
|
+
doubleClickZoom?: boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Whether pinch gestures can zoom the map on touch devices. Mirrors MapLibre's
|
|
321
|
+
* `touchZoomRotate`. Note that rotation via this gesture additionally requires
|
|
322
|
+
* {@link MapConfig.rotateEnabled} to be enabled.
|
|
323
|
+
*
|
|
324
|
+
* @defaultValue `true`
|
|
325
|
+
*/
|
|
326
|
+
touchZoomRotate?: boolean;
|
|
327
|
+
/**
|
|
328
|
+
* Whether keyboard shortcuts can pan/zoom/rotate the map. Mirrors MapLibre's
|
|
329
|
+
* `keyboard`.
|
|
330
|
+
*
|
|
331
|
+
* @defaultValue `true`
|
|
332
|
+
*/
|
|
333
|
+
keyboard?: boolean;
|
|
219
334
|
institutionId?: string;
|
|
220
335
|
authToken?: string;
|
|
221
336
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapConfig.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC
|
|
1
|
+
{"version":3,"file":"mapConfig.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,14 @@ export const DEFAULT_TILE_CACHE_CONFIG = {
|
|
|
8
8
|
ttlMs: 30 * 60 * 1000,
|
|
9
9
|
persistToServiceWorker: true,
|
|
10
10
|
preloadAdjacentZooms: false,
|
|
11
|
+
maxConcurrentTileFetches: 6,
|
|
11
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Hard cap for {@link MapTileCacheConfig.maxTiles}.
|
|
15
|
+
* Configurations above this (e.g. millions) are clamped to avoid memory pressure
|
|
16
|
+
* and excessive interaction with the tile CDN / service worker.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export const MAPLIBRE_MAX_TILE_CACHE_HARD_CAP = 100000;
|
|
12
21
|
//# sourceMappingURL=mapConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/domain/models/mapConfig.ts"],"names":[],"mappings":"AAqEA;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAiC;IACrE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAO,CAAA"}
|
|
@@ -121,6 +121,8 @@ export interface MarkerConfig {
|
|
|
121
121
|
/**
|
|
122
122
|
* A string indicating the part of the Marker that should be positioned closest to the coordinate set via {@link coordinate}.
|
|
123
123
|
* Options are `'center'`, `'top'`, `'bottom'`, `'left'`, `'right'`, `'top-left'`, `'top-right'`, `'bottom-left'`, and `'bottom-right'`.
|
|
124
|
+
* The anchor applies to the marker icon; a {@link text} label is laid out
|
|
125
|
+
* around the icon and never shifts the icon off the coordinate.
|
|
124
126
|
* @defaultValue 'center'
|
|
125
127
|
*/
|
|
126
128
|
anchor?: PositionAnchor;
|
|
@@ -215,6 +217,12 @@ export declare class MarkerAttribute extends Marker {
|
|
|
215
217
|
* Used for indoor navigation and floor-specific marker management.
|
|
216
218
|
*/
|
|
217
219
|
floorId?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Current click handler for the marker. Stored on the instance (rather than
|
|
222
|
+
* captured in the DOM listener's closure) so {@link updateIcon} can swap it
|
|
223
|
+
* without leaving the original handler attached to MapLibre's element.
|
|
224
|
+
*/
|
|
225
|
+
private _userOnClick?;
|
|
218
226
|
/**
|
|
219
227
|
* Constructs a new `MarkerAttribute` object with the specified properties.
|
|
220
228
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC;;;;;;;;;;;;;;GAcG;AACH,oBAAY,YAAY;IACtB,8CAA8C;IAC9C,IAAI,IAAA;IACJ,+CAA+C;IAC/C,KAAK,IAAA;IACL,qCAAqC;IACrC,GAAG,IAAA;IACH,qCAAqC;IACrC,MAAM,IAAA;CACP;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAE3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAA;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB
|
|
1
|
+
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,84 +45,88 @@ class MarkerUtils {
|
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
47
|
static createMarkerElement(marker) {
|
|
48
|
-
var _a, _b, _c, _d;
|
|
49
48
|
const markerContainer = document.createElement("div");
|
|
50
|
-
// Configure specific marker dimensions
|
|
51
|
-
const iconWidth = (_b = (_a = marker.iconProperties) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 40;
|
|
52
|
-
const iconHeight = (_d = (_c = marker.iconProperties) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 40;
|
|
53
|
-
// Apply base class
|
|
54
49
|
markerContainer.className = "mapvx-marker";
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
50
|
+
this.applyContainerLayout(markerContainer, marker);
|
|
51
|
+
for (const child of this.createMarkerChildren(marker)) {
|
|
52
|
+
markerContainer.appendChild(child);
|
|
53
|
+
}
|
|
54
|
+
return markerContainer;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Applies the marker container's own classes and box size from a config.
|
|
58
|
+
* Shared by {@link createMarkerElement} and {@link MarkerAttribute.updateIcon}
|
|
59
|
+
* so create and update stay in sync (single source of truth for which state
|
|
60
|
+
* classes exist and how the anchored box is sized). It is idempotent, so it
|
|
61
|
+
* also resets stale state when reused to update an existing element.
|
|
62
|
+
*
|
|
63
|
+
* @param container - The `.mapvx-marker` element to configure
|
|
64
|
+
* @param marker - Marker configuration
|
|
65
|
+
*/
|
|
66
|
+
static applyContainerLayout(container, marker) {
|
|
67
|
+
var _a, _b, _c, _d;
|
|
68
|
+
// Reset the state classes we own (no-op on a fresh element).
|
|
69
|
+
container.classList.remove("no-text", "interactive");
|
|
70
|
+
// The container box equals the icon box so the out-of-flow label never
|
|
71
|
+
// displaces the icon from the coordinate MapLibre anchors. A caller-
|
|
72
|
+
// provided `element` owns its own size, so we let the box size to it.
|
|
73
|
+
if (marker.element) {
|
|
74
|
+
container.style.width = "";
|
|
75
|
+
container.style.height = "";
|
|
73
76
|
}
|
|
74
77
|
else {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
const iconWidth = (_b = (_a = marker.iconProperties) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 40;
|
|
79
|
+
const iconHeight = (_d = (_c = marker.iconProperties) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 40;
|
|
80
|
+
container.style.width = `${iconWidth}px`;
|
|
81
|
+
container.style.height = `${iconHeight}px`;
|
|
79
82
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
if (!marker.text) {
|
|
84
|
+
container.classList.add("no-text");
|
|
85
|
+
}
|
|
86
|
+
// Only flag the marker interactive when it actually handles clicks: this
|
|
87
|
+
// flips the out-of-flow label's pointer-events to auto (see styles.css)
|
|
88
|
+
// so the label is hit-testable, while non-clickable labels stay
|
|
89
|
+
// click-through and never block the map.
|
|
90
|
+
if (marker.onClick) {
|
|
91
|
+
container.classList.add("interactive");
|
|
87
92
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Builds the in-order children for a marker container: the icon (or the
|
|
96
|
+
* caller-provided element) followed by the optional out-of-flow label. DOM
|
|
97
|
+
* order is irrelevant for placement — the .text-container position classes
|
|
98
|
+
* (top/bottom/left/right) lay the label out around the icon.
|
|
99
|
+
*
|
|
100
|
+
* @param marker - Marker configuration
|
|
101
|
+
* @returns The child elements to append to the container
|
|
102
|
+
*/
|
|
103
|
+
static createMarkerChildren(marker) {
|
|
104
|
+
var _a, _b, _c, _d;
|
|
105
|
+
const children = [];
|
|
106
|
+
if (marker.element) {
|
|
107
|
+
children.push(marker.element);
|
|
100
108
|
}
|
|
101
109
|
else {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
110
|
+
const iconWidth = (_b = (_a = marker.iconProperties) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 40;
|
|
111
|
+
const iconHeight = (_d = (_c = marker.iconProperties) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 40;
|
|
112
|
+
children.push(this.createIconElement(marker, iconWidth, iconHeight));
|
|
105
113
|
}
|
|
106
|
-
|
|
114
|
+
if (marker.text) {
|
|
115
|
+
children.push(this.buildTextContainer(marker));
|
|
116
|
+
}
|
|
117
|
+
return children;
|
|
107
118
|
}
|
|
108
119
|
/**
|
|
109
|
-
*
|
|
120
|
+
* Builds the positioned label container for a marker.
|
|
110
121
|
*
|
|
111
|
-
* @param
|
|
112
|
-
* @
|
|
113
|
-
* @param iconHeight - Height of the icon for positioning calculations
|
|
114
|
-
* @param iconWidth - Width of the icon for positioning calculations
|
|
115
|
-
* @returns Container element with properly positioned text
|
|
122
|
+
* @param marker - Marker configuration; `text` is assumed to be set
|
|
123
|
+
* @returns The `.text-container` element ready to append
|
|
116
124
|
*/
|
|
117
|
-
static
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const textContainer = this.createTextContainer(textElement, markerConfig.textPosition);
|
|
123
|
-
container.appendChild(textContainer);
|
|
124
|
-
}
|
|
125
|
-
return container;
|
|
125
|
+
static buildTextContainer(marker) {
|
|
126
|
+
const textElement = typeof marker.text === "string"
|
|
127
|
+
? this.createTextElement(marker.text, marker.textProperties)
|
|
128
|
+
: marker.text;
|
|
129
|
+
return this.createTextContainer(textElement, marker.textPosition);
|
|
126
130
|
}
|
|
127
131
|
/**
|
|
128
132
|
* Creates an icon element with proper styling.
|
|
@@ -155,7 +159,8 @@ class MarkerUtils {
|
|
|
155
159
|
}
|
|
156
160
|
/**
|
|
157
161
|
* Creates a text container with proper positioning using CSS classes.
|
|
158
|
-
*
|
|
162
|
+
* The container is absolutely positioned (out of flow) so the label
|
|
163
|
+
* never grows the marker's anchored box.
|
|
159
164
|
*
|
|
160
165
|
* @param textElement - The text element to contain
|
|
161
166
|
* @param textPosition - Desired position relative to the icon
|
|
@@ -277,6 +282,10 @@ export class MarkerAttribute extends Marker {
|
|
|
277
282
|
anchor: (_a = markerConfig.anchor) !== null && _a !== void 0 ? _a : "center",
|
|
278
283
|
offset: [0, 0],
|
|
279
284
|
});
|
|
285
|
+
// Route clicks through an instance-level handler so the latest onClick is
|
|
286
|
+
// always invoked, even after updateIcon replaces the marker content.
|
|
287
|
+
this._userOnClick = markerConfig.onClick;
|
|
288
|
+
this._element.addEventListener("click", () => { var _a; return (_a = this._userOnClick) === null || _a === void 0 ? void 0 : _a.call(this); });
|
|
280
289
|
this.setLngLat([markerConfig.coordinate.lng, markerConfig.coordinate.lat]);
|
|
281
290
|
this.setRotationAlignment((_b = markerConfig.rotationAlignment) !== null && _b !== void 0 ? _b : "viewport");
|
|
282
291
|
this.setPitchAlignment("viewport");
|
|
@@ -317,20 +326,17 @@ export class MarkerAttribute extends Marker {
|
|
|
317
326
|
* ```
|
|
318
327
|
*/
|
|
319
328
|
updateIcon(marker) {
|
|
320
|
-
var _a
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
this.setRotationAlignment((_b = marker.rotationAlignment) !== null && _b !== void 0 ? _b : "viewport");
|
|
329
|
+
var _a;
|
|
330
|
+
// Reconfigure the element MapLibre already holds in place, rather than
|
|
331
|
+
// building a throwaway element and grafting pieces of it. MapLibre owns the
|
|
332
|
+
// element's other classes and inline styles (transform, position), which
|
|
333
|
+
// must survive the update; we only reset our own classes/size and swap the
|
|
334
|
+
// children. Both create and update go through the same MarkerUtils helpers,
|
|
335
|
+
// so they cannot drift apart.
|
|
336
|
+
MarkerUtils.applyContainerLayout(this._element, marker);
|
|
337
|
+
this._element.replaceChildren(...MarkerUtils.createMarkerChildren(marker));
|
|
338
|
+
this._userOnClick = marker.onClick;
|
|
339
|
+
this.setRotationAlignment((_a = marker.rotationAlignment) !== null && _a !== void 0 ? _a : "viewport");
|
|
334
340
|
this.setPitchAlignment("viewport");
|
|
335
341
|
if (typeof marker.rotation === "number") {
|
|
336
342
|
this.setRotation(marker.rotation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../../src/domain/models/marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiC,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,8CAA8C;IAC9C,+CAAI,CAAA;IACJ,+CAA+C;IAC/C,iDAAK,CAAA;IACL,qCAAqC;IACrC,6CAAG,CAAA;IACH,qCAAqC;IACrC,mDAAM,CAAA;AACR,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;
|
|
1
|
+
{"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../../src/domain/models/marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,13 @@ export interface GetRouteConfiguration {
|
|
|
61
61
|
* Default to `RELATIVE`.
|
|
62
62
|
*/
|
|
63
63
|
announceFormat?: AnnounceFormat;
|
|
64
|
+
/**
|
|
65
|
+
* The user's heading, in degrees clockwise from north (0–360), used as the
|
|
66
|
+
* reference direction when announcing turns (e.g. with `RELATIVE`
|
|
67
|
+
* {@link GetRouteConfiguration.announceFormat}).
|
|
68
|
+
* Default to `0`.
|
|
69
|
+
*/
|
|
70
|
+
userBearing?: number;
|
|
64
71
|
}
|
|
65
72
|
/**
|
|
66
73
|
* Class representing the configuration of a route.
|
|
@@ -73,6 +80,7 @@ export declare class InternalGetRouteConfiguration implements GetRouteConfigurat
|
|
|
73
80
|
language: string;
|
|
74
81
|
unitSystem: UnitSystem;
|
|
75
82
|
announceFormat: AnnounceFormat;
|
|
83
|
+
userBearing: number;
|
|
76
84
|
/**
|
|
77
85
|
* Create a new route configuration.
|
|
78
86
|
* @param initialLocation The initial location for the route.
|
|
@@ -81,6 +89,7 @@ export declare class InternalGetRouteConfiguration implements GetRouteConfigurat
|
|
|
81
89
|
* @param language The language for the instructions.
|
|
82
90
|
* @param unitSystem The unit system used for the distance.
|
|
83
91
|
* @param announceFormat The format used to announce directions in the instructions.
|
|
92
|
+
* @param userBearing The user's heading in degrees used as the reference direction for announcing turns.
|
|
84
93
|
*/
|
|
85
94
|
constructor(config: GetRouteConfiguration);
|
|
86
95
|
}
|
|
@@ -118,17 +127,55 @@ export declare class InternalDrawRouteConfiguration implements DrawRouteConfigur
|
|
|
118
127
|
/**
|
|
119
128
|
* Interface that represent a place with their id.
|
|
120
129
|
* @group Routes
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* // Resolve an internal alias that is reused across several malls by
|
|
133
|
+
* // pinning the building (and, optionally, the floor) it belongs to.
|
|
134
|
+
* const origin: IdLocation = {
|
|
135
|
+
* id: "store-204", // integrator alias, may repeat across buildings
|
|
136
|
+
* buildingId: "mall-santiago",
|
|
137
|
+
* floorId: "level-2", // takes precedence over `level`
|
|
138
|
+
* }
|
|
139
|
+
* ```
|
|
121
140
|
*/
|
|
122
141
|
export interface IdLocation {
|
|
123
142
|
/**
|
|
124
143
|
* The ID of the place.
|
|
144
|
+
*
|
|
145
|
+
* This can be an internal alias defined by the integrator. Because aliases are
|
|
146
|
+
* not guaranteed to be globally unique (the same alias may be reused across
|
|
147
|
+
* different buildings/venues), provide {@link IdLocation.buildingId} to
|
|
148
|
+
* disambiguate which building this place belongs to.
|
|
125
149
|
*/
|
|
126
150
|
id: string;
|
|
151
|
+
/**
|
|
152
|
+
* The ID of the building (parent venue) that contains the place referenced by {@link IdLocation.id}.
|
|
153
|
+
*
|
|
154
|
+
* Use this when {@link IdLocation.id} is an internal alias that may be repeated
|
|
155
|
+
* across multiple buildings (e.g. the same store alias present in several shopping
|
|
156
|
+
* malls). Providing the building ID resolves the alias to the correct venue.
|
|
157
|
+
*
|
|
158
|
+
* If omitted, the alias is resolved without building context, which may be
|
|
159
|
+
* ambiguous when the alias is shared by more than one building.
|
|
160
|
+
*/
|
|
161
|
+
buildingId?: string;
|
|
162
|
+
/**
|
|
163
|
+
* The ID of the floor (within {@link IdLocation.buildingId}) where the place is found.
|
|
164
|
+
*
|
|
165
|
+
* This is only necessary if the place represented by the ID exists on multiple floors.
|
|
166
|
+
* Takes precedence over {@link IdLocation.level} when both are provided.
|
|
167
|
+
* If both are omitted and the place ID represents a place found on multiple floors,
|
|
168
|
+
* the first floor where this place is present will be used.
|
|
169
|
+
*/
|
|
170
|
+
floorId?: string;
|
|
127
171
|
/**
|
|
128
172
|
* The level of the floor in the parent place where the place is found.
|
|
129
173
|
* This is only necessary if the place represented by the ID exists on multiple floors.
|
|
130
174
|
* If omitted and the place ID represents a place found on multiple floors,
|
|
131
175
|
* the first floor where this place is present will be used.
|
|
176
|
+
*
|
|
177
|
+
* Prefer {@link IdLocation.floorId} when you have the floor ID; `floorId` takes
|
|
178
|
+
* precedence over `level` when both are provided.
|
|
132
179
|
*/
|
|
133
180
|
level?: number;
|
|
134
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/routeConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;;GAGG;AACH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,eAAe,EAAE,aAAa,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"routeConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/routeConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;;GAGG;AACH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,eAAe,EAAE,aAAa,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AACD;;;GAGG;AACH,qBAAa,6BAA8B,YAAW,qBAAqB;IACzE,eAAe,EAAE,aAAa,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,qBAAqB,EAAE,OAAO,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;OASG;gBACS,MAAM,EAAE,qBAAqB;CAS1C;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;GAGG;AACH,qBAAa,8BAA+B,YAAW,sBAAsB;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;IACtB;;;;OAIG;gBACS,MAAM,EAAE,sBAAsB;CAO3C;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,CAAA"}
|
|
@@ -42,15 +42,17 @@ export class InternalGetRouteConfiguration {
|
|
|
42
42
|
* @param language The language for the instructions.
|
|
43
43
|
* @param unitSystem The unit system used for the distance.
|
|
44
44
|
* @param announceFormat The format used to announce directions in the instructions.
|
|
45
|
+
* @param userBearing The user's heading in degrees used as the reference direction for announcing turns.
|
|
45
46
|
*/
|
|
46
47
|
constructor(config) {
|
|
47
|
-
var _a, _b, _c, _d;
|
|
48
|
+
var _a, _b, _c, _d, _e;
|
|
48
49
|
this.initialLocation = config.initialLocation;
|
|
49
50
|
this.finalLocation = config.finalLocation;
|
|
50
51
|
this.preferAccessibleRoute = (_a = config.preferAccessibleRoute) !== null && _a !== void 0 ? _a : false;
|
|
51
52
|
this.language = (_b = config.language) !== null && _b !== void 0 ? _b : "en";
|
|
52
53
|
this.unitSystem = (_c = config.unitSystem) !== null && _c !== void 0 ? _c : UnitSystem.metric;
|
|
53
54
|
this.announceFormat = (_d = config.announceFormat) !== null && _d !== void 0 ? _d : AnnounceFormat.relative;
|
|
55
|
+
this.userBearing = (_e = config.userBearing) !== null && _e !== void 0 ? _e : 0;
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeConfiguration.js","sourceRoot":"","sources":["../../../../src/domain/models/routeConfiguration.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;IACf,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;AACjB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;
|
|
1
|
+
{"version":3,"file":"routeConfiguration.js","sourceRoot":"","sources":["../../../../src/domain/models/routeConfiguration.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;IACf,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;AACjB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAiDD;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IASxC;;;;;;;;;OASG;IACH,YAAY,MAA6B;;QACvC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,qBAAqB,GAAG,MAAA,MAAM,CAAC,qBAAqB,mCAAI,KAAK,CAAA;QAClE,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,UAAU,CAAC,MAAM,CAAA;QACxD,IAAI,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,cAAc,CAAC,QAAQ,CAAA;QACtE,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,CAAC,CAAA;IAC5C,CAAC;CACF;AAqBD;;;GAGG;AACH,MAAM,OAAO,8BAA8B;IAGzC;;;;OAIG;IACH,YAAY,MAA8B;;QACxC,IAAI,CAAC,aAAa,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI;YACrC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS;SACjB,CAAA;IACH,CAAC;CACF"}
|