@mapvx/web-js 1.2.2 → 1.2.3-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.
Files changed (65) hide show
  1. package/LICENSE.md +2 -2
  2. package/README.md +10 -9
  3. package/dist/cjs/assets/icons.js +6 -8
  4. package/dist/cjs/assets/icons.js.map +1 -1
  5. package/dist/cjs/domain/models/animation.js +2 -2
  6. package/dist/cjs/domain/models/categories.js +23 -10
  7. package/dist/cjs/domain/models/categories.js.map +1 -1
  8. package/dist/cjs/domain/models/marker.js +86 -80
  9. package/dist/cjs/domain/models/marker.js.map +1 -1
  10. package/dist/cjs/domain/models/routeConfiguration.js +3 -1
  11. package/dist/cjs/domain/models/routeConfiguration.js.map +1 -1
  12. package/dist/cjs/index.js +13 -12
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/logger/logger.js +1 -1
  15. package/dist/cjs/logger/rollbar.js +1 -1
  16. package/dist/cjs/map/map.js +1 -2
  17. package/dist/cjs/map/map.js.map +1 -1
  18. package/dist/cjs/repository/requester.js +48 -65
  19. package/dist/cjs/repository/requester.js.map +1 -1
  20. package/dist/cjs/sdk.js +0 -1
  21. package/dist/cjs/sdk.js.map +1 -1
  22. package/dist/es/assets/icons.d.ts +4 -4
  23. package/dist/es/assets/icons.d.ts.map +1 -1
  24. package/dist/es/assets/icons.js +6 -8
  25. package/dist/es/assets/icons.js.map +1 -1
  26. package/dist/es/domain/models/animation.d.ts +3 -3
  27. package/dist/es/domain/models/animation.js +2 -2
  28. package/dist/es/domain/models/categories.d.ts +34 -10
  29. package/dist/es/domain/models/categories.d.ts.map +1 -1
  30. package/dist/es/domain/models/categories.js +21 -9
  31. package/dist/es/domain/models/categories.js.map +1 -1
  32. package/dist/es/domain/models/marker.d.ts +8 -0
  33. package/dist/es/domain/models/marker.d.ts.map +1 -1
  34. package/dist/es/domain/models/marker.js +86 -80
  35. package/dist/es/domain/models/marker.js.map +1 -1
  36. package/dist/es/domain/models/routeConfiguration.d.ts +47 -0
  37. package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -1
  38. package/dist/es/domain/models/routeConfiguration.js +3 -1
  39. package/dist/es/domain/models/routeConfiguration.js.map +1 -1
  40. package/dist/es/index.d.ts +12 -12
  41. package/dist/es/index.d.ts.map +1 -1
  42. package/dist/es/index.js +6 -6
  43. package/dist/es/index.js.map +1 -1
  44. package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -1
  45. package/dist/es/logger/logger.js +1 -1
  46. package/dist/es/logger/rollbar.js +1 -1
  47. package/dist/es/map/map.d.ts.map +1 -1
  48. package/dist/es/map/map.js +1 -2
  49. package/dist/es/map/map.js.map +1 -1
  50. package/dist/es/repository/requester.d.ts +12 -0
  51. package/dist/es/repository/requester.d.ts.map +1 -1
  52. package/dist/es/repository/requester.js +48 -65
  53. package/dist/es/repository/requester.js.map +1 -1
  54. package/dist/es/sdk.d.ts.map +1 -1
  55. package/dist/es/sdk.js +0 -1
  56. package/dist/es/sdk.js.map +1 -1
  57. package/dist/umd/index.js +496 -413
  58. package/dist/umd/index.js.map +1 -1
  59. package/dist/umd/styles.css +32 -14
  60. package/dist/umd/styles.css.map +1 -1
  61. package/package.json +63 -49
  62. package/dist/cjs/assets/route_animation_icon.svg +0 -15
  63. package/dist/cjs/assets/user-dot-icon.svg +0 -3
  64. package/dist/es/assets/route_animation_icon.svg +0 -15
  65. package/dist/es/assets/user-dot-icon.svg +0 -3
@@ -3,7 +3,7 @@ export const userLocationDataUrl = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%
3
3
  * Generates a data URL for the route animation icon SVG with customizable appearance.
4
4
  *
5
5
  * @param config - Optional configuration for the icon appearance.
6
- * @param config.backgroundColor - The background color of the circle (default: "#0076B6").
6
+ * @param config.backgroundColor - The background color of the circle (default: "#276EF1").
7
7
  * @param config.arrowColor - The color of the arrow (default: "#FFFFFF").
8
8
  * @param config.arrowWidth - The stroke width of the arrow path in pixels (default: 0).
9
9
  * @param config.borderWidth - The border width of the circle in pixels (default: 0).
@@ -35,7 +35,7 @@ export const userLocationDataUrl = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%
35
35
  */
36
36
  export function createRouteAnimationIconDataUrl(config) {
37
37
  var _a, _b, _c, _d, _e, _f;
38
- const backgroundColor = (_a = config === null || config === void 0 ? void 0 : config.backgroundColor) !== null && _a !== void 0 ? _a : "#0076B6";
38
+ const backgroundColor = (_a = config === null || config === void 0 ? void 0 : config.backgroundColor) !== null && _a !== void 0 ? _a : "#276EF1";
39
39
  const arrowColor = (_b = config === null || config === void 0 ? void 0 : config.arrowColor) !== null && _b !== void 0 ? _b : "#FFFFFF";
40
40
  const arrowWidth = (_c = config === null || config === void 0 ? void 0 : config.arrowWidth) !== null && _c !== void 0 ? _c : 0;
41
41
  const borderWidth = (_d = config === null || config === void 0 ? void 0 : config.borderWidth) !== null && _d !== void 0 ? _d : 0;
@@ -55,13 +55,11 @@ export function createRouteAnimationIconDataUrl(config) {
55
55
  const filterAttr = blur > 0 ? `filter="url(#${filterId})"` : "";
56
56
  const svg = `<?xml version="1.0" encoding="utf-8"?>
57
57
  <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
58
- viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
58
+ viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
59
59
  ${filterDef}
60
60
  <g ${filterAttr}>
61
- <circle cx="20" cy="20" r="20" style="${circleStyle}${circleStroke}"/>
62
- <path style="${arrowStyle}${arrowStroke}" d="M12.4,29.7c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4-0.1-0.5-0.3c-0.2-0.1-0.2-0.3-0.3-0.5c0-0.2,0-0.4,0.1-0.6
63
- l8.2-17.8c0.2-0.4,0.5-0.6,0.9-0.6c0.4,0,0.7,0.2,0.9,0.6l7.9,17.9c0.1,0.2,0.1,0.4,0.1,0.6c0,0.2-0.1,0.4-0.3,0.5
64
- c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0-0.4,0-0.6-0.1L20,26.5L12.4,29.7z M13.9,27l6.1-2.6l6.1,2.7l-6-13.8L13.9,27z"/>
61
+ <circle cx="15" cy="15" r="15" style="${circleStyle}${circleStroke}"/>
62
+ <path style="${arrowStyle}${arrowStroke}" d="M16.4471 7.26386C16.2568 6.80696 15.808 6.51052 15.3131 6.51052C14.8181 6.51052 14.3693 6.80696 14.179 7.26386L8.52211 20.7533C8.29366 21.2972 8.48404 21.9227 8.97085 22.2518C9.45767 22.5809 10.1104 22.5156 10.5265 22.0995L15.3131 17.3129L20.0996 22.0995C20.5157 22.5156 21.1657 22.5782 21.6553 22.2518C22.1448 21.9254 22.3325 21.2972 22.104 20.7533L16.4471 7.26386Z"/>
65
63
  </g>
66
64
  </svg>`;
67
65
  // Encode the SVG as a data URL
@@ -69,7 +67,7 @@ ${filterDef}
69
67
  return `data:image/svg+xml,${encodedSvg}`;
70
68
  }
71
69
  /**
72
- * Default route animation icon data URL with blue background (#0076B6) and white arrow (#FFFFFF).
70
+ * Default route animation icon data URL with blue background (#276EF1) and white arrow (#FFFFFF).
73
71
  * This constant is maintained for backward compatibility.
74
72
  *
75
73
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/assets/icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAC9B,mYAAmY,CAAA;AAwCrY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAiC;;IAC/E,MAAM,eAAe,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,mCAAI,SAAS,CAAA;IAC5D,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,SAAS,CAAA;IAClD,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,SAAS,CAAA;IACpD,MAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,CAAC,CAAA;IAE9B,0CAA0C;IAC1C,MAAM,WAAW,GAAG,QAAQ,eAAe,GAAG,CAAA;IAC9C,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,WAAW,iBAAiB,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhG,yCAAyC;IACzC,MAAM,UAAU,GAAG,QAAQ,UAAU,GAAG,CAAA;IACxC,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5F,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,MAAM,SAAS,GACb,IAAI,GAAG,CAAC;QACN,CAAC,CAAC,qBAAqB,QAAQ,sDAAsD,IAAI,qBAAqB;QAC9G,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/D,MAAM,GAAG,GAAG;;;EAGZ,SAAS;KACN,UAAU;yCAC0B,WAAW,GAAG,YAAY;gBACnD,UAAU,GAAG,WAAW;;;;OAIjC,CAAA;IAEL,+BAA+B;IAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC1C,OAAO,sBAAsB,UAAU,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,+BAA+B,EAAE,CAAA"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/assets/icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAC9B,mYAAmY,CAAA;AAwCrY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAiC;;IAC/E,MAAM,eAAe,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,mCAAI,SAAS,CAAA;IAC5D,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,SAAS,CAAA;IAClD,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,SAAS,CAAA;IACpD,MAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,CAAC,CAAA;IAE9B,0CAA0C;IAC1C,MAAM,WAAW,GAAG,QAAQ,eAAe,GAAG,CAAA;IAC9C,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,WAAW,iBAAiB,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhG,yCAAyC;IACzC,MAAM,UAAU,GAAG,QAAQ,UAAU,GAAG,CAAA;IACxC,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5F,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,MAAM,SAAS,GACb,IAAI,GAAG,CAAC;QACN,CAAC,CAAC,qBAAqB,QAAQ,sDAAsD,IAAI,qBAAqB;QAC9G,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/D,MAAM,GAAG,GAAG;;;EAGZ,SAAS;KACN,UAAU;yCAC0B,WAAW,GAAG,YAAY;gBACnD,UAAU,GAAG,WAAW;;OAEjC,CAAA;IAEL,+BAA+B;IAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC1C,OAAO,sBAAsB,UAAU,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,+BAA+B,EAAE,CAAA"}
@@ -126,12 +126,12 @@ export declare class InternalAnimationConfig implements AnimationConfig {
126
126
  export interface AnimationDrawingConfig {
127
127
  /**
128
128
  * The style for the route ahead of the icon representing the user.
129
- * @defaultValue `{ type: "Solid", color: "#757575"}`
129
+ * @defaultValue `{ type: "Solid", color: "#0C0C0C"}`
130
130
  */
131
131
  aheadPathStyle?: RouteStyle;
132
132
  /**
133
133
  * The style for the route behind of the icon representing the user.
134
- * @defaultValue `{ type: "Solid", color: "#0076B6"}`
134
+ * @defaultValue `{ type: "Solid", color: "#276EF1"}`
135
135
  */
136
136
  behindPathStyle?: RouteStyle;
137
137
  /**
@@ -148,7 +148,7 @@ export interface AnimationDrawingConfig {
148
148
  * Configuration for the route animation icon appearance.
149
149
  * If provided, this will be used to generate the icon instead of the default one.
150
150
  * This option is ignored if `routeIcon` is also provided.
151
- * @defaultValue Uses default icon with blue background (#0076B6) and white arrow (#FFFFFF).
151
+ * @defaultValue Uses default icon with blue background (#276EF1) and white arrow (#FFFFFF).
152
152
  */
153
153
  routeIconConfig?: RouteAnimationIconConfig;
154
154
  }
@@ -22,11 +22,11 @@ export class InternalAnimationDrawingConfig {
22
22
  var _a, _b, _c;
23
23
  this.aheadPathStyle = (_a = data.aheadPathStyle) !== null && _a !== void 0 ? _a : {
24
24
  type: "Solid",
25
- color: "#757575",
25
+ color: "#0C0C0C",
26
26
  };
27
27
  this.behindPathStyle = (_b = data.behindPathStyle) !== null && _b !== void 0 ? _b : {
28
28
  type: "Solid",
29
- color: "#0076B6",
29
+ color: "#276EF1",
30
30
  };
31
31
  this.polylineWidth = (_c = data.polylineWidth) !== null && _c !== void 0 ? _c : 10;
32
32
  if (data.routeIcon != null) {
@@ -15,11 +15,17 @@ interface Basic {
15
15
  */
16
16
  export interface BasicWithLogo extends Basic {
17
17
  logo: string;
18
+ }
19
+ /**
20
+ * Represents a category containing a image url.
21
+ * @group Utils
22
+ */
23
+ export interface BasicWithImageUrl extends Basic {
18
24
  /***
19
25
  * Image Url for the category icon.
20
26
  * Optional
21
27
  */
22
- imageUrl?: string;
28
+ imageUrl: string;
23
29
  }
24
30
  /**
25
31
  * Represents a category containing an icon.
@@ -37,10 +43,21 @@ export interface BasicWithIcon extends Basic {
37
43
  iconPrefix?: string;
38
44
  }
39
45
  /**
40
- * Represents a basic category containing a logo or an icon.
46
+ * Holds the basic information of a category: its `id`, `name` and an optional `description`.
47
+ *
48
+ * A category may optionally carry a graphical representation, but it is not required.
49
+ * Depending on the available asset, a `BasicCategory` can be one of:
50
+ *
51
+ * - {@link BasicWithLogo} — the category provides a logo image (URL).
52
+ * - {@link BasicWithIcon} — the category provides a Font Awesome icon name (and optional style).
53
+ * - {@link BasicWithImageUrl} — the category provides an image URL for its icon.
54
+ * - {@link Basic} — the category carries no graphical information at all.
55
+ *
56
+ * Use the {@link isBasicWithLogo}, {@link isBasicWithIcon} and {@link isBasicWithImageUrl}
57
+ * type guards to narrow a `BasicCategory` and safely access its graphical asset.
41
58
  * @group Utils
42
59
  */
43
- export type BasicCategory = BasicWithLogo | BasicWithIcon;
60
+ export type BasicCategory = Basic | BasicWithLogo | BasicWithIcon | BasicWithImageUrl;
44
61
  /**
45
62
  * Union of all category types
46
63
  *
@@ -140,18 +157,25 @@ export type InternalLinkCategory = BasicCategory & {
140
157
  ref: string;
141
158
  };
142
159
  /**
143
- * Checks if the category is a basic with logo.
144
- * @group Utils
145
- * @param category
146
- * @returns
160
+ * Checks if the category carries a logo image.
161
+ * @group Utils
162
+ * @param category - The category to inspect.
163
+ * @returns `true` if the category exposes a non-empty `logo` URL, narrowing it to {@link BasicWithLogo}.
147
164
  */
148
165
  export declare function isBasicWithLogo(category: BasicCategory): category is BasicWithLogo;
149
166
  /**
150
- * Checks if the category is a basic with icon.
167
+ * Checks if the category carries a Font Awesome icon.
151
168
  * @group Utils
152
- * @param category
153
- * @returns
169
+ * @param category - The category to inspect.
170
+ * @returns `true` if the category exposes a non-empty `icon` name, narrowing it to {@link BasicWithIcon}.
154
171
  */
155
172
  export declare function isBasicWithIcon(category: BasicCategory): category is BasicWithIcon;
173
+ /**
174
+ * Checks if the category carries an image URL.
175
+ * @group Utils
176
+ * @param category - The category to inspect.
177
+ * @returns `true` if the category exposes a non-empty `imageUrl`, narrowing it to {@link BasicWithImageUrl}.
178
+ */
179
+ export declare function isBasicWithImageUrl(category: BasicCategory): category is BasicWithImageUrl;
156
180
  export {};
157
181
  //# sourceMappingURL=categories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/categories.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,CAAA;AAEzD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,cAAc,GACd,eAAe,GACf,YAAY,GACZ,WAAW,GACX,aAAa,GACb,oBAAoB,CAAA;AAExB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,IAAI,EAAE,QAAQ,CAAA;IAEd;;OAEG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAA;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IACb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAEhB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AACD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,aAAa,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,aAAa,CAElF"}
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/categories.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,CAAA;AAErF;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,cAAc,GACd,eAAe,GACf,YAAY,GACZ,WAAW,GACX,aAAa,GACb,oBAAoB,CAAA;AAExB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,IAAI,EAAE,QAAQ,CAAA;IAEd;;OAEG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAA;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IACb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAEhB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AACD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,aAAa,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,aAAa,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,iBAAiB,CAG1F"}
@@ -1,20 +1,32 @@
1
1
  // Category.ts
2
2
  /**
3
- * Checks if the category is a basic with logo.
4
- * @group Utils
5
- * @param category
6
- * @returns
3
+ * Checks if the category carries a logo image.
4
+ * @group Utils
5
+ * @param category - The category to inspect.
6
+ * @returns `true` if the category exposes a non-empty `logo` URL, narrowing it to {@link BasicWithLogo}.
7
7
  */
8
8
  export function isBasicWithLogo(category) {
9
- return category.logo !== undefined;
9
+ const input = category;
10
+ return input.logo != null && input.logo !== "";
10
11
  }
11
12
  /**
12
- * Checks if the category is a basic with icon.
13
+ * Checks if the category carries a Font Awesome icon.
13
14
  * @group Utils
14
- * @param category
15
- * @returns
15
+ * @param category - The category to inspect.
16
+ * @returns `true` if the category exposes a non-empty `icon` name, narrowing it to {@link BasicWithIcon}.
16
17
  */
17
18
  export function isBasicWithIcon(category) {
18
- return category.icon !== undefined;
19
+ const input = category;
20
+ return input.icon != null && input.icon !== "";
21
+ }
22
+ /**
23
+ * Checks if the category carries an image URL.
24
+ * @group Utils
25
+ * @param category - The category to inspect.
26
+ * @returns `true` if the category exposes a non-empty `imageUrl`, narrowing it to {@link BasicWithImageUrl}.
27
+ */
28
+ export function isBasicWithImageUrl(category) {
29
+ const input = category;
30
+ return input.imageUrl != null && input.imageUrl !== "";
19
31
  }
20
32
  //# sourceMappingURL=categories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../../src/domain/models/categories.ts"],"names":[],"mappings":"AAAA,cAAc;AAyKd;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,OAAQ,QAA0B,CAAC,IAAI,KAAK,SAAS,CAAA;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,OAAQ,QAA0B,CAAC,IAAI,KAAK,SAAS,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../../src/domain/models/categories.ts"],"names":[],"mappings":"AAAA,cAAc;AA0Ld;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,MAAM,KAAK,GAAG,QAAyB,CAAA;IACvC,OAAO,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAA;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,MAAM,KAAK,GAAG,QAAyB,CAAA;IACvC,OAAO,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAA;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,MAAM,KAAK,GAAG,QAA6B,CAAA;IAC3C,OAAO,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAA;AACxD,CAAC"}
@@ -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":"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"}
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
- // Configure classes and dimensions based on text presence
56
- if (marker.text) {
57
- // If text exists, adjust layout according to position
58
- switch (marker.textPosition) {
59
- case TextPosition.top:
60
- case TextPosition.bottom:
61
- markerContainer.classList.add("text-column");
62
- markerContainer.style.width = `${Math.max(iconWidth, 200)}px`;
63
- markerContainer.style.height = "auto";
64
- break;
65
- case TextPosition.left:
66
- case TextPosition.right:
67
- default:
68
- markerContainer.classList.add("text-row");
69
- markerContainer.style.width = "auto";
70
- markerContainer.style.height = `${iconHeight}px`;
71
- break;
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
- // No text, use fixed icon dimensions as in official example
76
- markerContainer.classList.add("no-text");
77
- markerContainer.style.width = `${iconWidth}px`;
78
- markerContainer.style.height = `${iconHeight}px`;
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
- markerContainer.addEventListener("click", () => {
81
- var _a;
82
- (_a = marker.onClick) === null || _a === void 0 ? void 0 : _a.call(marker);
83
- });
84
- if (marker.element) {
85
- markerContainer.appendChild(marker.element);
86
- return this.setAndCreateText(marker, markerContainer, `${iconHeight}px`, `${iconWidth}px`);
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
- // Create elements in correct order according to textPosition
89
- const iconElement = this.createIconElement(marker, iconWidth, iconHeight);
90
- const textElement = marker.text
91
- ? this.createTextContainer(typeof marker.text === "string"
92
- ? this.createTextElement(marker.text, marker.textProperties)
93
- : marker.text, marker.textPosition)
94
- : null;
95
- // Add elements in correct order
96
- if (marker.textPosition === TextPosition.top || marker.textPosition === TextPosition.left) {
97
- if (textElement)
98
- markerContainer.appendChild(textElement);
99
- markerContainer.appendChild(iconElement);
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
- markerContainer.appendChild(iconElement);
103
- if (textElement)
104
- markerContainer.appendChild(textElement);
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
- return markerContainer;
114
+ if (marker.text) {
115
+ children.push(this.buildTextContainer(marker));
116
+ }
117
+ return children;
107
118
  }
108
119
  /**
109
- * Sets up text positioning and styling for the marker.
120
+ * Builds the positioned label container for a marker.
110
121
  *
111
- * @param markerConfig - Configuration object containing text properties
112
- * @param container - Container element where text will be added
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 setAndCreateText(markerConfig, container, iconHeight, iconWidth) {
118
- if (markerConfig.text) {
119
- const textElement = typeof markerConfig.text === "string"
120
- ? this.createTextElement(markerConfig.text, markerConfig.textProperties)
121
- : markerConfig.text;
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
- * Uses natural block/flex layout without absolute positioning.
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, _b;
321
- if (marker.element) {
322
- this._element.innerHTML = "";
323
- this._element.appendChild(marker.element);
324
- }
325
- else {
326
- const markerElement = MarkerUtils.createMarkerElement(marker);
327
- const oldMarkerContent = this._element.querySelector("div");
328
- const newMarkerContent = markerElement.querySelector("div");
329
- if (newMarkerContent) {
330
- (_a = oldMarkerContent === null || oldMarkerContent === void 0 ? void 0 : oldMarkerContent.parentElement) === null || _a === void 0 ? void 0 : _a.replaceChild(newMarkerContent, oldMarkerContent);
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":"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"}
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;CAChC;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;IAE9B;;;;;;;;OAQG;gBACS,MAAM,EAAE,qBAAqB;CAQ1C;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;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,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"}