@wemap/core 14.8.0-beta.0 → 14.8.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -168,36 +168,65 @@ function o(e, t) {
168
168
  return e[0] <= t[2] && e[2] >= t[0] && e[1] <= t[3] && e[3] >= t[1];
169
169
  }
170
170
  //#endregion
171
- //#region src/utils/validators.ts
172
- var s = (e) => typeof e == "string", c = (e) => typeof e == "number", l = (e) => e != null, u = (e) => typeof e == "object" && !!e, d = new e(new t(85, 170), new t(-85, -170)), f = 5, p = (n) => {
171
+ //#region src/services/WallService.ts
172
+ var s = class e {
173
+ static PAGE_SIZE = 200;
174
+ http;
175
+ emmid;
176
+ constructor(e, t) {
177
+ this.http = new r({ baseUrl: e }), this.emmid = String(t);
178
+ }
179
+ async searchWalls(t) {
180
+ let n = [], r = 0, i = 0;
181
+ do {
182
+ let { data: a } = await this.http.get("/geofeatures/search", { params: {
183
+ indoor: "wall",
184
+ venue: t,
185
+ livemap: this.emmid,
186
+ limit: e.PAGE_SIZE,
187
+ offset: i
188
+ } });
189
+ r ||= a.count;
190
+ for (let e of a.results) {
191
+ let t = Number(e.level);
192
+ Number.isFinite(t) && n.push({
193
+ level: t,
194
+ geometry: e.geometry
195
+ });
196
+ }
197
+ i += e.PAGE_SIZE;
198
+ } while (i < r);
199
+ return n;
200
+ }
201
+ }, c = (e) => typeof e == "string", l = (e) => typeof e == "number", u = (e) => e != null, d = (e) => typeof e == "object" && !!e, f = new e(new t(85, 170), new t(-85, -170)), p = 5, m = (n) => {
173
202
  let r = n.getSouthWest(), i = n.getNorthEast(), a = r.lat, o = r.lng, s = i.lat, c = i.lng;
174
203
  o > c && (o = -(180 - o + 180));
175
204
  let l = new t(0, 0);
176
205
  l.autoWrap = !1, l.lat = s, l.lng = c;
177
206
  let u = new t(0, 0);
178
207
  return u.autoWrap = !1, u.lat = a, u.lng = o, new e(l, u);
179
- }, m = (n) => {
180
- if (!n) return d;
208
+ }, h = (n) => {
209
+ if (!n) return f;
181
210
  let r = new t(Number(n.latitude) - Number(n.latitude_delta), Number(n.longitude) - Number(n.longitude_delta));
182
- return p(new e(new t(Number(n.latitude) + Number(n.latitude_delta), Number(n.longitude) + Number(n.longitude_delta)), r));
183
- }, h = (e) => {
184
- let t, n, r, i, a = f;
211
+ return m(new e(new t(Number(n.latitude) + Number(n.latitude_delta), Number(n.longitude) + Number(n.longitude_delta)), r));
212
+ }, g = (e) => {
213
+ let t, n, r, i, a = p;
185
214
  return t = Math.max(e.center.lat, -180), t = Math.min(t, 180).toFixed(a), n = Math.max(e.center.lng, -180), n = Math.min(n, 180).toFixed(a), r = Math.abs(e.getNorth() - e.getSouth()), r /= 2, r = Math.min(r, 90).toFixed(a), i = Math.abs(e.getEast() - e.getWest()), i /= 2, i = Math.min(i, 180).toFixed(a), {
186
215
  center_latitude: parseFloat(t),
187
216
  center_longitude: parseFloat(n),
188
217
  latitude_delta: parseFloat(r),
189
218
  longitude_delta: parseFloat(i)
190
219
  };
191
- }, g = (e) => {
220
+ }, _ = (e) => {
192
221
  if (e instanceof t) return e;
193
222
  if (Array.isArray(e)) {
194
223
  let [n, r, i] = e;
195
224
  return new t(n, r, null, i);
196
225
  }
197
226
  let n = "lat" in e ? e.lat : e.latitude, r = "lng" in e ? e.lng : e.longitude, i = "level" in e ? e.level : null, a = "alt" in e ? e.alt : null;
198
- if ("altitude" in e && (a = e.altitude), !c(n) || !c(r)) throw Error("Cannot parse lat/lng in" + JSON.stringify(e));
199
- return new t(n, r, c(a) ? a : null, c(i) ? i : null);
200
- }, _ = class e {
227
+ if ("altitude" in e && (a = e.altitude), !l(n) || !l(r)) throw Error("Cannot parse lat/lng in" + JSON.stringify(e));
228
+ return new t(n, r, l(a) ? a : null, l(i) ? i : null);
229
+ }, v = class e {
201
230
  static PAGE_SIZE = 400;
202
231
  http;
203
232
  emmid;
@@ -208,7 +237,7 @@ var s = (e) => typeof e == "string", c = (e) => typeof e == "number", l = (e) =>
208
237
  let t = this.buildSearchParams(e), { data: n } = await this.http.get("/pinpoints/search", { params: t });
209
238
  return {
210
239
  count: n.count,
211
- items: n.results.map(v),
240
+ items: n.results.map(y),
212
241
  next: n.next,
213
242
  previous: n.previous,
214
243
  query: t
@@ -216,7 +245,7 @@ var s = (e) => typeof e == "string", c = (e) => typeof e == "number", l = (e) =>
216
245
  }
217
246
  async getById(e) {
218
247
  let { data: t } = await this.http.get(`/pinpoints/${e}`);
219
- return v(t);
248
+ return y(t);
220
249
  }
221
250
  async getAll() {
222
251
  let t = [], n = 0, r = 0;
@@ -226,7 +255,7 @@ var s = (e) => typeof e == "string", c = (e) => typeof e == "number", l = (e) =>
226
255
  limit: e.PAGE_SIZE,
227
256
  offset: r
228
257
  } });
229
- n ||= i.count, t.push(...i.results.map(v)), r += e.PAGE_SIZE;
258
+ n ||= i.count, t.push(...i.results.map(y)), r += e.PAGE_SIZE;
230
259
  } while (r < n);
231
260
  return t;
232
261
  }
@@ -242,7 +271,7 @@ var s = (e) => typeof e == "string", c = (e) => typeof e == "number", l = (e) =>
242
271
  return e.query && (t.query = e.query), e.tags !== void 0 && (t.tags = Array.isArray(e.tags) ? e.tags.join(",") : e.tags), e.levels === void 0 ? e.level !== void 0 && (t.levels = `null,${e.level}`) : t.levels = e.levels, e.limit !== void 0 && (t.limit = e.limit), e.offset !== void 0 && (t.offset = e.offset), t;
243
272
  }
244
273
  };
245
- function v(e) {
274
+ function y(e) {
246
275
  return {
247
276
  id: e.id,
248
277
  name: e.name,
@@ -261,7 +290,7 @@ function v(e) {
261
290
  }
262
291
  //#endregion
263
292
  //#region src/services/PinpointCache.ts
264
- var y = class e {
293
+ var b = class e {
265
294
  static MIN_BBOX_SIZE = 3e3;
266
295
  static PAGE_SIZE = 400;
267
296
  static instances = /* @__PURE__ */ new Map();
@@ -276,7 +305,7 @@ var y = class e {
276
305
  let r = `${t}:${n}`;
277
306
  e.refCounts.set(r, (e.refCounts.get(r) ?? 0) + 1);
278
307
  let i = e.instances.get(r);
279
- return i || (i = new e(new _(t, n)), e.instances.set(r, i)), i;
308
+ return i || (i = new e(new v(t, n)), e.instances.set(r, i)), i;
280
309
  }
281
310
  static release(t, n) {
282
311
  let r = `${t}:${n}`, i = (e.refCounts.get(r) ?? 1) - 1;
@@ -316,7 +345,7 @@ var y = class e {
316
345
  let r = n ?? null, i = this.cachedBboxByLevel.get(r);
317
346
  if (i?.contains(t.getNorthWest()) && i?.contains(t.getSouthEast())) return;
318
347
  let a = e.MIN_BBOX_SIZE / 2, o = t.extend(t.center.destinationPoint(a, 0)).extend(t.center.destinationPoint(a, Math.PI / 2)).extend(t.center.destinationPoint(a, Math.PI)).extend(t.center.destinationPoint(a, 3 * Math.PI / 2)), s = {
319
- ...h(o),
348
+ ...g(o),
320
349
  ...n == null ? {} : { level: n }
321
350
  }, c = 0, l = 0;
322
351
  do {
@@ -329,12 +358,12 @@ var y = class e {
329
358
  } while (c < l);
330
359
  this.cachedBboxByLevel.set(r, o);
331
360
  }
332
- }, b = class {
361
+ }, x = class {
333
362
  cache;
334
363
  baseUrl;
335
364
  emmid;
336
365
  constructor(e, t) {
337
- this.baseUrl = e, this.emmid = t, this.cache = y.forLivemap(e, t);
366
+ this.baseUrl = e, this.emmid = t, this.cache = b.forLivemap(e, t);
338
367
  }
339
368
  async search(e) {
340
369
  let t = await this.cache.search(e);
@@ -356,13 +385,13 @@ var y = class e {
356
385
  return this.cache.getCachedBbox();
357
386
  }
358
387
  release() {
359
- y.release(this.baseUrl, this.emmid);
388
+ b.release(this.baseUrl, this.emmid);
360
389
  }
361
- }, x = "https://geocoding.getwemap.workers.dev", S = class {
390
+ }, S = "https://geocoding.getwemap.workers.dev", C = class {
362
391
  http;
363
392
  defaults;
364
393
  constructor(e = {}) {
365
- let { baseUrl: t = x, language: n, region: i, bbox: a } = e;
394
+ let { baseUrl: t = S, language: n, region: i, bbox: a } = e;
366
395
  this.http = new r({ baseUrl: t }), this.defaults = {
367
396
  ...n === void 0 ? {} : { language: n },
368
397
  ...i === void 0 ? {} : { region: i },
@@ -371,10 +400,10 @@ var y = class e {
371
400
  }
372
401
  async search(e, t) {
373
402
  let n = await this.fetchFeatures(this.buildSearchParams(e, t));
374
- return n.length > 0 ? C(n[0]) : null;
403
+ return n.length > 0 ? w(n[0]) : null;
375
404
  }
376
405
  async searchMultiple(e, t) {
377
- return (await this.fetchFeatures(this.buildSearchParams(e, t))).map(C);
406
+ return (await this.fetchFeatures(this.buildSearchParams(e, t))).map(w);
378
407
  }
379
408
  async reverseGeocode(e, t, n) {
380
409
  let r = {
@@ -383,7 +412,7 @@ var y = class e {
383
412
  }, i = n?.language ?? this.defaults.language;
384
413
  i !== void 0 && (r.language = i);
385
414
  let a = await this.fetchFeatures(r);
386
- return a.length > 0 ? C(a[0]) : null;
415
+ return a.length > 0 ? w(a[0]) : null;
387
416
  }
388
417
  buildSearchParams(e, t) {
389
418
  let n = t?.language ?? this.defaults.language, r = t?.region ?? this.defaults.region, i = t?.bbox ?? this.defaults.bbox, a = { query: e };
@@ -394,7 +423,7 @@ var y = class e {
394
423
  return t.features ?? [];
395
424
  }
396
425
  };
397
- function C(e) {
426
+ function w(e) {
398
427
  let [t, n] = e.center;
399
428
  return {
400
429
  id: e.id,
@@ -408,30 +437,30 @@ function C(e) {
408
437
  ...e.bbox === void 0 ? {} : { bbox: e.bbox }
409
438
  };
410
439
  }
411
- var w = {
412
- properties: /* @__PURE__ */ JSON.parse("{\"actionbuttons\":{\"default\":{\"withlabel\":false},\"description\":\"Configuration relative to the action buttons\",\"properties\":{\"withlabel\":{\"default\":false,\"description\":\"Enable label on action buttons\",\"type\":\"boolean\"}},\"type\":\"object\"},\"analytics\":{\"default\":null,\"description\":\"Parameters relative to analytics\",\"type\":[\"object\",\"null\"],\"properties\":{\"gtagIDs\":{\"default\":[],\"description\":\"Gtag IDs to configure\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"arnavigationdata\":{\"default\":{\"arRadius\":1000,\"audio\":false,\"maxDistanceNavigation\":10000,\"default\":\"outdoor\",\"cursorVisible\":true,\"cursorTimeout\":1000,\"mapFooter\":false,\"indoor\":{\"accuracyThreshold\":8,\"end\":{\"geofence\":5,\"visibleDistance\":200},\"instructions\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"outdoor\":{\"accuracyThreshold\":25,\"end\":{\"geofence\":15,\"visibleDistance\":200},\"instructions\":{\"geofence\":10,\"maxDistance\":40,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"providers\":{\"blacklist\":[],\"degradedWalkingDistanceMeters\":50,\"gnssWifi\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"noPositioningWalkingDistanceMeters\":100,\"polestarkey\":null,\"straightLineDetector\":{\"stepsConsideredForStraightLine\":2},\"stepDetector\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"useMapMatching\":true,\"usePositionSmoother\":true,\"useAllAbsolutePositions\":false,\"vps\":null,\"whitelist\":[]},\"visibleTags\":[]},\"description\":\"Configuration relative to the AR navigation \",\"properties\":{\"arRadius\":{\"default\":1000,\"description\":\"Maximum distance for the displayed pinpoints in AR view (in meters)\",\"type\":\"integer\"},\"default\":{\"default\":\"outdoor\",\"description\":\"The default value for the ar navigation parameters\",\"type\":\"string\"},\"audio\":{\"default\":false,\"description\":\"If the user should be guided with audio\",\"type\":\"boolean\"},\"cursorVisible\":{\"default\":true,\"description\":\"If the cursor should be visible\",\"type\":\"boolean\"},\"cursorTimeout\":{\"default\":1000,\"description\":\"The timeout to open a pinpoint with the cursor\",\"type\":\"number\"},\"maxDistanceNavigation\":{\"default\":10000,\"description\":\"The max distance where the navigation is started directly\",\"type\":\"number\"},\"mapFooter\":{\"default\":false,\"description\":\"If the map should be shown at footer on navigation\",\"type\":\"boolean\"},\"indoor\":{\"default\":{\"accuracyThreshold\":8,\"end\":{\"geofence\":5,\"visibleDistance\":200},\"instructions\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"properties\":{\"accuracyThreshold\":{\"default\":8,\"type\":\"integer\"},\"end\":{\"default\":{\"geofence\":5,\"visibleDistance\":200},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":5},\"visibleDistance\":{\"type\":\"integer\",\"default\":200}}},\"instructions\":{\"default\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":3},\"maxDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the instruction will be display instead of banner with meters\",\"default\":10},\"minAlt\":{\"type\":\"integer\",\"default\":1},\"opacityDistanceStart\":{\"type\":\"integer\",\"default\":10},\"realSizeScale\":{\"type\":\"integer\",\"default\":1},\"scale\":{\"type\":\"number\",\"default\":0.06},\"audioDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the audio will be triggered between 2 steps\",\"default\":10}}},\"itinerary\":{\"default\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"type\":\"object\",\"properties\":{\"sampling\":{\"type\":\"number\",\"default\":1.6},\"opacityDistanceEnd\":{\"type\":\"integer\",\"default\":15},\"arrowTargetDistance\":{\"type\":\"integer\",\"default\":5}}},\"mapmatching\":{\"default\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"type\":\"object\",\"properties\":{\"network\":{\"type\":[\"string\",\"null\"],\"description\":\"Network to use outside a navigation\",\"default\":null},\"maxAngleBearing\":{\"type\":\"integer\",\"default\":30},\"maxDistance\":{\"type\":\"integer\",\"default\":15},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"useItineraryStartAsPosition\":{\"type\":\"boolean\",\"default\":false},\"useOrientationMatching\":{\"type\":\"boolean\",\"default\":false},\"useStrict\":{\"type\":\"boolean\",\"default\":false},\"hugeJumpDistance\":{\"type\":\"number\",\"default\":3},\"minStepsBetweenOrientationMatching\":{\"type\":\"number\",\"default\":3},\"minStepsForOrientationMatching\":{\"type\":\"number\",\"default\":5},\"lastProjectionsWindowSize\":{\"type\":\"number\",\"default\":3},\"lastProjectionsEdgeAngleThreshold\":{\"type\":\"number\",\"default\":3},\"disableMMCloseToATurnDistance\":{\"type\":\"number\",\"default\":2}}},\"multilevel\":{\"default\":{\"geofenceDisableNav\":3},\"type\":\"object\",\"properties\":{\"geofenceDisableNav\":{\"type\":\"integer\",\"default\":3}}},\"pinpoints\":{\"default\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true},\"type\":\"object\",\"properties\":{\"scale\":{\"type\":\"number\",\"default\":0.09},\"updateDistance\":{\"type\":\"integer\",\"default\":30},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"overlap\":{\"default\":false,\"description\":\"If pinpoint shape in AR should overlap between each other\",\"type\":\"boolean\"},\"label\":{\"default\":true,\"description\":\"If pinpoint shape in AR should have label\",\"type\":\"boolean\"}}}},\"description\":\"The indoor set of parameters\",\"type\":\"object\"},\"outdoor\":{\"default\":{\"accuracyThreshold\":25,\"end\":{\"geofence\":15,\"visibleDistance\":200},\"instructions\":{\"maxDistance\":40,\"geofence\":10,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"properties\":{\"accuracyThreshold\":{\"default\":25,\"type\":\"integer\"},\"end\":{\"default\":{\"geofence\":15,\"visibleDistance\":200},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":15},\"visibleDistance\":{\"type\":\"integer\",\"default\":200}}},\"instructions\":{\"default\":{\"geofence\":10,\"maxDistance\":40,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":10},\"maxDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the instruction will be display instead of banner with meters\",\"default\":40},\"minAlt\":{\"type\":\"number\",\"default\":1.5},\"opacityDistanceStart\":{\"type\":\"integer\",\"default\":20},\"realSizeScale\":{\"type\":\"integer\",\"default\":3},\"scale\":{\"type\":\"number\",\"default\":0.03},\"audioDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the audio will be triggered between 2 instructions\",\"default\":30}}},\"itinerary\":{\"default\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"type\":\"object\",\"properties\":{\"sampling\":{\"type\":\"number\",\"default\":1.6},\"opacityDistanceEnd\":{\"type\":\"integer\",\"default\":30},\"arrowTargetDistance\":{\"type\":\"integer\",\"default\":10}}},\"mapmatching\":{\"default\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"type\":\"object\",\"properties\":{\"useItineraryStartAsPosition\":{\"type\":\"boolean\",\"default\":false},\"network\":{\"type\":[\"string\",\"null\"],\"description\":\"Network to use outside a navigation\",\"default\":null},\"maxAngleBearing\":{\"type\":\"number\",\"default\":30},\"maxDistance\":{\"type\":\"integer\",\"default\":50},\"minDistance\":{\"type\":\"integer\",\"default\":0},\"useOrientationMatching\":{\"type\":\"boolean\",\"default\":false},\"useStrict\":{\"type\":\"boolean\",\"default\":false},\"hugeJumpDistance\":{\"type\":\"number\",\"default\":3},\"minStepsBetweenOrientationMatching\":{\"type\":\"number\",\"default\":3},\"minStepsForOrientationMatching\":{\"type\":\"number\",\"default\":5},\"lastProjectionsWindowSize\":{\"type\":\"number\",\"default\":3},\"lastProjectionsEdgeAngleThreshold\":{\"type\":\"number\",\"default\":3},\"disableMMCloseToATurnDistance\":{\"type\":\"number\",\"default\":2}}},\"multilevel\":{\"default\":{\"geofenceDisableNav\":3},\"type\":\"object\",\"properties\":{\"geofenceDisableNav\":{\"type\":\"integer\",\"default\":3}}},\"pinpoints\":{\"default\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true},\"type\":\"object\",\"properties\":{\"scale\":{\"type\":\"number\",\"default\":0.09},\"updateDistance\":{\"type\":\"integer\",\"default\":30},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"overlap\":{\"default\":false,\"description\":\"If pinpoint shape in AR should overlap between each other\",\"type\":\"boolean\"},\"label\":{\"default\":true,\"description\":\"If pinpoint shape in AR should have label\",\"type\":\"boolean\"}}}},\"description\":\"The outdoor set of parameters\",\"type\":\"object\"},\"providers\":{\"default\":{\"blacklist\":[],\"degradedWalkingDistanceMeters\":50,\"gnssWifi\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"noPositioningWalkingDistanceMeters\":100,\"polestarkey\":null,\"straightLineDetector\":{\"stepsConsideredForStraightLine\":2},\"stepDetector\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"useMapMatching\":true,\"usePositionSmoother\":true,\"useAllAbsolutePositions\":false,\"vps\":null,\"whitelist\":[]},\"properties\":{\"blacklist\":{\"default\":[],\"type\":\"array\"},\"degradedWalkingDistanceMeters\":{\"default\":50,\"description\":\"Walking distance in meters since last scan success before triggering degraded positioning\",\"type\":\"number\"},\"gnssWifi\":{\"default\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"properties\":{\"discardPositionsAbove\":{\"default\":50,\"type\":\"number\"},\"enableHighAccuracy\":{\"default\":true,\"type\":\"boolean\"}}},\"noPositioningWalkingDistanceMeters\":{\"default\":100,\"description\":\"Walking distance in meters since last scan success before triggering no positioning\",\"type\":\"number\"},\"polestarkey\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"straightLineDetector\":{\"default\":{\"stepsConsideredForStraightLine\":2},\"properties\":{\"stepsConsideredForStraightLine\":{\"default\":2,\"type\":\"number\"}},\"type\":\"object\"},\"stepDetector\":{\"default\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"properties\":{\"algorithm\":{\"default\":\"minMaxPeaks2\",\"enum\":[\"ladetto\",\"minMaxPeaks\",\"minMaxPeaks2\",\"minMaxPeaks3\"],\"type\":\"string\"},\"stepSizeMultiplier\":{\"default\":1,\"type\":\"number\"},\"minMaxPeaks2\":{\"default\":null,\"properties\":{\"windowTime\":{\"default\":0.3,\"type\":\"number\"},\"minTimeBetweenSteps\":{\"default\":0.4,\"type\":\"number\"},\"maxFrequency\":{\"default\":4,\"type\":\"number\"},\"minFrequency\":{\"default\":1,\"type\":\"number\"},\"verticalAccPositivePeakThreshold\":{\"default\":0.75,\"type\":\"number\"},\"verticalAccNegativePeakThreshold\":{\"default\":-0.3,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]},\"minMaxPeaks3\":{\"default\":null,\"properties\":{\"windowTime\":{\"default\":0.6,\"type\":\"number\"},\"minTimeBetweenSteps\":{\"default\":0.6,\"type\":\"number\"},\"maxFrequency\":{\"default\":4,\"type\":\"number\"},\"minFrequency\":{\"default\":1,\"type\":\"number\"},\"verticalAccPositivePeakThreshold\":{\"default\":0.2,\"type\":\"number\"},\"verticalAccNegativePeakThreshold\":{\"default\":-0.1,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]}},\"type\":\"object\"},\"useMapMatching\":{\"default\":true,\"type\":\"boolean\"},\"usePositionSmoother\":{\"default\":true,\"type\":\"boolean\"},\"useAllAbsolutePositions\":{\"default\":false,\"type\":\"boolean\"},\"vps\":{\"default\":null,\"properties\":{\"endpoint\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"minInclinationForRequest\":{\"default\":60,\"type\":\"number\"},\"useInclination\":{\"default\":true,\"type\":\"boolean\"},\"requestInterval\":{\"default\":null,\"type\":[\"number\",\"null\"]},\"useCoarsePose\":{\"default\":true,\"type\":\"boolean\"},\"waitTimeMinInclinationForRequest\":{\"default\":200,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]},\"whitelist\":{\"default\":[],\"type\":\"array\"}},\"description\":\"Providers to use or not\",\"type\":\"object\"},\"visibleTags\":{\"default\":[],\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"type\":\"object\"},\"addcid\":{\"default\":false,\"description\":\"Double Click Publisher ID\",\"type\":[\"string\",\"boolean\"]},\"addcslot\":{\"default\":false,\"description\":\"Double Click Ad Slot\",\"type\":[\"string\",\"boolean\"]},\"addcsize\":{\"default\":false,\"description\":\"Double Click Size\",\"items\":{\"items\":{\"type\":\"integer\"},\"maxItems\":2,\"minItems\":2,\"type\":\"array\"},\"type\":[\"array\",\"boolean\"]},\"addctarget\":{\"default\":false,\"description\":\"Double Click Target\",\"items\":{\"items\":{\"type\":\"string\"},\"maxItems\":2,\"minItems\":2,\"type\":\"array\"},\"type\":[\"array\",\"boolean\"]},\"adheight\":{\"default\":false,\"description\":\"Ad display height options.\",\"type\":[\"string\",\"boolean\"]},\"adsenseid\":{\"default\":false,\"description\":\"Adsense\",\"type\":[\"integer\",\"boolean\"]},\"adsenseslot\":{\"default\":false,\"description\":\"Adsense\",\"type\":[\"integer\",\"boolean\"]},\"adwidth\":{\"default\":false,\"description\":\"Ad display width options.\",\"type\":[\"string\",\"boolean\"]},\"aroundme\":{\"default\":true,\"description\":\"Show around button in livemap.\",\"type\":\"boolean\"},\"arviewenabled\":{\"default\":false,\"description\":\"Enable the Wemap-AR view on compatible mobile devices.\",\"type\":\"boolean\"},\"arviewsearchradius\":{\"default\":1000,\"description\":\"Maximum distance for the displayed pinpoints in AR view (in meters)\",\"type\":\"integer\"},\"arswitcherbutton\":{\"default\":false,\"description\":\"Use button instead of device inclination for switching AR/map\",\"type\":\"boolean\"},\"autocenter\":{\"default\":0,\"description\":\"Automatic centering on landing area when idle (in milliseconds).\",\"type\":\"integer\"},\"autologin\":{\"default\":true,\"description\":\"Use localStorage to login.\",\"type\":\"boolean\"},\"autoplay\":{\"default\":false,\"description\":\"Slideshow of pinpoints when map is idle.\",\"type\":[\"boolean\",\"object\"]},\"autoplayoverlay\":{\"default\":false,\"description\":\"If true, the autoplay will be locked with an overlay and no interaction will be available\",\"type\":\"boolean\"},\"autoplaytimeout\":{\"default\":5000,\"description\":\"How long until considering the map as idle (in milliseconds).\",\"type\":\"integer\"},\"bodyfullscreen\":{\"default\":false,\"description\":\"If body parent to livemap should be showned in fullscreen mode instead of livemap's container.\",\"type\":\"boolean\"},\"calendarfilterenabled\":{\"default\":false,\"description\":\"Force to enable calendar filter even if useevents is false.\",\"type\":\"boolean\"},\"calendarfiltermindate\":{\"default\":\"\",\"description\":\"Min date at ISO format for calendar filter (filters view & welcome card)\",\"type\":\"string\"},\"calendarfiltermaxdate\":{\"default\":\"\",\"description\":\"Max date at ISO format for calendar filter (filters view & welcome card)\",\"type\":\"string\"},\"cancomment\":{\"default\":true,\"description\":\"Ability to comment/contribute on pinpoints.\",\"type\":\"boolean\"},\"canopenpinpoint\":{\"default\":true,\"description\":\"Ability to open a marker on click.\",\"type\":\"boolean\"},\"clicktofullscreen\":{\"default\":false,\"description\":\"Click on the map to unlock and go fullscreen.\",\"type\":\"boolean\"},\"clicktofullscreendevices\":{\"default\":\"mobile\",\"description\":\"Click on the map to unlock and go fullscreen. Only for specified devices.\",\"enum\":[\"all\",\"mobile\"],\"type\":\"string\"},\"clicktonavigate\":{\"default\":false,\"description\":\"Click on the map to navigate to coordinates\",\"type\":\"boolean\"},\"clientname\":{\"default\":\"\",\"description\":\"Add an additional css class wemap-livemap-<clientname> to the main livemap's container Value can also describe a sub-client: client:sub-client. Eg: allow mcc components customization\",\"type\":\"string\"},\"clustercircle\":{\"default\":false,\"description\":\"Displays a simple circle instead of a cluster icon.\",\"type\":\"boolean\"},\"clustercolor\":{\"default\":\"#015697\",\"description\":\"Clusters icons color (requires clustercircle).\",\"type\":\"string\"},\"clustericon\":{\"default\":null,\"description\":\"Cluster icon image (ignored if clustercircle is set).\",\"type\":[\"string\",\"null\"]},\"clustering\":{\"default\":true,\"description\":\"Enables front-end side clustering of pinpoints.\",\"type\":\"boolean\"},\"clustermethod\":{\"default\":\"supercluster\",\"description\":\"Algorithm used to group pinpoints into clusters.\",\"enum\":[\"hierarchy\",\"supercluster\"],\"type\":\"string\"},\"clusterplussign\":{\"default\":false,\"description\":\"Replaces the cluster count by a plus sign (requires clustercircle).\",\"type\":\"boolean\"},\"clusterradius\":{\"default\":80,\"description\":\"Configure the radius of the clustering algorithm (and multipoint search area).\",\"type\":\"integer\"},\"custompetals\":{\"type\":\"array\",\"description\":\"List of custom petals that will replace the classic ones.\",\"items\":{\"type\":\"object\",\"description\":\"A custom petal.\",\"properties\":{\"position\":{\"type\":\"integer\",\"description\":\"The position of the custom petal (between 1 and 5).\"},\"iconurl\":{\"type\":\"string\",\"description\":\"The url of the petal icon.\"},\"text\":{\"type\":\"string\",\"description\":\"The text that will be displayed when the petal is hovered.\"},\"actionname\":{\"type\":\"string\",\"description\":\"The action realized when the petal is clicked. The available actions are described in the documentation.\"},\"actionparameters\":{\"type\":\"object\",\"default\":{}}}},\"default\":[]},\"customshareurl\":{\"default\":null,\"description\":\"Custom url for pinpoint sharing.\",\"type\":[\"string\",\"null\"]},\"dateonly\":{\"default\":false,\"description\":\"Do not display event hours\",\"type\":\"boolean\"},\"deeplinkingenabled\":{\"description\":\"Enable the update of the url hash when navigate through the application\",\"type\":\"boolean\",\"default\":true},\"disable_analytics\":{\"default\":false,\"description\":\"Disable analytics for the map\",\"type\":[\"boolean\",\"object\"],\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"properties\":{\"ga\":{\"type\":\"boolean\"},\"wemap\":{\"type\":\"boolean\"}}}]},\"displaypoorevent\":{\"default\":true,\"description\":\"Display event as poor event if they don't have description\",\"type\":\"boolean\"},\"dragging\":{\"default\":true,\"description\":\"Enable map dragging with mouse/touch.\",\"type\":\"boolean\"},\"enabledcontrols\":{\"default\":true,\"description\":\"Enable map controls.\",\"type\":\"boolean\"},\"enableembedshare\":{\"default\":true,\"description\":\"Enable/Disable EMBED share on the livemap.\",\"type\":\"boolean\"},\"enablelogin\":{\"default\":true,\"description\":\"Are users allowed to login.\",\"type\":\"boolean\"},\"enablepetals\":{\"default\":true,\"description\":\"Enable/Disable petals components on the livemap.\",\"type\":\"boolean\"},\"enablesidebar\":{\"default\":true,\"description\":\"Enable/Disable sidebar on the livemap.\",\"type\":\"boolean\"},\"expanddescription\":{\"default\":false,\"description\":\"Shows a Read more button at the bottom of pinpoint description.\",\"type\":\"boolean\"},\"externalcontent\":{\"default\":false,\"description\":\"Add HTML content to main container, permits to user to customize its map.\",\"items\":{\"type\":\"string\"},\"type\":[\"array\",\"boolean\"]},\"externalscripts\":{\"default\":false,\"description\":\"External JavaScript defined by user, added as script tags into livemap's document header\",\"items\":{\"properties\":{\"content\":{\"description\":\"JavaScript code.\",\"type\":\"string\"},\"url\":{\"description\":\"The URL from which to fetch the JavaScript code.\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"externalstyles\":{\"default\":false,\"description\":\"External stylesheets defined by user, added as style tags into livemap's document header. Could be used to override existent css rule\",\"items\":{\"properties\":{\"content\":{\"description\":\"CSS code.\",\"type\":[\"object\",\"string\"]},\"url\":{\"description\":\"The URL from which to fetch the CSS code.\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"featuredlists\":{\"default\":false,\"description\":\"Add a new button with the livemap's title, on click it will open the right sidebar containing all the lists for this map.\",\"type\":\"boolean\"},\"featuretilesenabled\":{\"default\":false,\"description\":\"Enables server-side clustering.\",\"type\":\"boolean\"},\"floors\":{\"default\":[],\"description\":\"Floors for multi-levels maps.\",\"items\":{\"properties\":{\"maxaltitude\":{\"description\":\"The maximum altitude for the floor (exclusive).\",\"title\":\"Maximum altitude\",\"type\":\"number\"},\"minaltitude\":{\"description\":\"The minimum altitude for the floor (inclusive).\",\"title\":\"Minimum altitude\",\"type\":\"number\"},\"name\":{\"title\":\"Name\",\"type\":\"string\"}},\"required\":[\"name\",\"minaltitude\",\"maxaltitude\"],\"type\":\"object\"},\"type\":\"array\"},\"floorsminzoom\":{\"default\":null,\"description\":\"Min zoom to display the floors switcher\",\"type\":[\"number\",\"null\"]},\"forcelittlescreenview\":{\"default\":false,\"description\":\"Force to use the 'little screen' display mode if not in mobile view.\",\"type\":\"boolean\"},\"forcemobileview\":{\"default\":false,\"description\":\"Force to add class 'mobile-view' to livemap container and add a class forced-mobileview to livemap container it will also force livemap state.\",\"type\":\"boolean\"},\"fullscreencontrol\":{\"default\":false,\"description\":\"Show/Hide burger menu item 'Goto Fullscreen'.\",\"type\":\"boolean\"},\"geoentities\":{\"default\":{\"hideOthersOnSelect\":true,\"strokeHighlightScale\":1.5},\"properties\":{\"hideOthersOnSelect\":{\"default\":true,\"description\":\"Hide other geoentities when one is selected.\",\"type\":\"boolean\"},\"strokeHighlightScale\":{\"default\":1.5,\"description\":\"Scale factor of stroke width on highlight\",\"type\":\"number\"}},\"description\":\"Enable/Disable geoentities components on the livemap.\",\"type\":\"object\"},\"hereandnowcontrol\":{\"default\":false,\"description\":\"Replace geolocate button by a button 'here and now' which also filter on current day.\",\"type\":\"boolean\"},\"homecontrol\":{\"default\":true,\"description\":\"Show/Hide menu item 'Back to first view'.\",\"type\":\"boolean\"},\"howtocontrol\":{\"default\":false,\"description\":\"Show/Hide menu item 'How to use this map'.\",\"type\":\"boolean\"},\"indoor\":{\"default\":{\"enable\":false,\"usePinpoints\":false,\"useLevelSearch\":false,\"limitOutdoorAtLevel\":null,\"highlightEnabled\":true,\"highlightColor\":null,\"highlightOnSearch\":true,\"minZoom\":17,\"enableInteraction\":true},\"properties\":{\"enable\":{\"default\":false,\"description\":\"Enable indoor mode.\",\"type\":\"boolean\"},\"enableInteraction\":{\"default\":true,\"description\":\"Enable/disable interaction with indoor features (hover, click)\",\"type\":\"boolean\"},\"highlightColor\":{\"default\":null,\"description\":\"Color for highlight feature\",\"type\":[\"string\",\"null\"]},\"selectedColor\":{\"default\":null,\"description\":\"Color for selected feature\",\"type\":[\"string\",\"null\"]},\"hoveredColor\":{\"default\":null,\"description\":\"Color for hovered feature\",\"type\":[\"string\",\"null\"]},\"highlightEnabled\":{\"default\":true,\"description\":\"Enable/disable highlight feature on click\",\"type\":\"boolean\"},\"highlightOnSearch\":{\"default\":true,\"description\":\"Enable/disable highlight feature on search\",\"type\":\"boolean\"},\"limitOutdoorAtLevel\":{\"default\":null,\"description\":\"Define which level should show outdoor pinpoint. If null all levels will show outdoor pinpoint.\",\"type\":[\"number\",\"null\"]},\"minZoom\":{\"default\":17,\"description\":\"Define the zoom level at which indoor mode will be enabled\",\"type\":\"number\"},\"usePinpoints\":{\"default\":false,\"description\":\"If pinpoint are linked to indoor feature. It will automatically open pinpoint on feature click and highlight feature on pinpoint open.\",\"type\":\"boolean\"},\"useLevelSearch\":{\"default\":false,\"description\":\"If pinpoint search is made on the current level. If not, it will search on all levels.\",\"type\":\"boolean\"}},\"description\":\"Configuration relative to indoor\",\"type\":\"object\"},\"initialbearing\":{\"default\":0,\"description\":\"Initial bearing of the map.\",\"type\":\"number\"},\"introcard\":{\"default\":null,\"description\":\"Shows an information popin on map load.\",\"properties\":{\"active\":{\"default\":true,\"description\":\"If not true, the welcomeCard won't be displayed.\",\"title\":\"Active\",\"type\":\"boolean\"},\"avatar\":{\"description\":\"Custom user's avatar image.\",\"title\":\"Avatar URL\",\"type\":\"string\"},\"background\":{\"description\":\"URL background image shown behind the user's avatar, default is user's background image.\",\"title\":\"Background URL\",\"type\":\"string\"},\"class\":{\"description\":\"Custom classnames for the popin.\",\"title\":\"CSS classname\",\"type\":\"string\"},\"enableAroundMe\":{\"default\":false,\"description\":\"Display the 'around me' button on welcome card.\",\"title\":\"Display 'Around me' button\",\"type\":\"boolean\"},\"aroundMeTitle\":{\"title\":\"Title of the around me filter.\",\"description\":\"Title of the around me filter.\",\"type\":\"string\"},\"aroundMeSubtitle\":{\"title\":\"Subtitle of the around me filter.\",\"description\":\"Subtitle of the around me filter.\",\"type\":\"string\"},\"filters\":{\"description\":\"Enable filters on WelcomeCard.\",\"items\":{\"properties\":{\"type\":{\"description\":\"Type of filter.\",\"enum\":[\"tag\",\"when\",\"where\"],\"title\":\"Type of filter\",\"type\":\"string\"},\"title\":{\"description\":\"Title of the filter.\",\"title\":\"Title of the filter.\",\"type\":\"string\"},\"subtitle\":{\"description\":\"Subtitle of the filter.\",\"title\":\"Subtitle of the filter.\",\"type\":\"string\"}},\"type\":\"object\"},\"required\":[\"type\"],\"type\":\"array\"},\"noBackground\":{\"default\":false,\"description\":\"Hide the user's background image.\",\"title\":\"Hide Backround\",\"type\":\"boolean\"},\"permanent\":{\"default\":true,\"description\":\"Show WelcomeCard everytime.\",\"title\":\"Permanent WelcomeCard\",\"type\":\"boolean\"},\"text\":{\"description\":\"Displayed under the title as HTML.\",\"title\":\"HTML Text\",\"type\":\"string\"},\"title\":{\"description\":\"Displayed under the user's avatar with bold font.\",\"title\":\"Title\",\"type\":\"string\"}},\"type\":[\"object\",\"null\"]},\"iscontributive\":{\"default\":false,\"description\":\"Tell if the map is contributive or not.\",\"type\":\"boolean\"},\"kiosk\":{\"default\":null,\"description\":\"Kiosk parameters like the photosphere image or position\",\"properties\":{\"list\":{\"type\":\"array\",\"default\":[],\"items\":{\"type\":\"object\",\"default\":null,\"properties\":{\"photosphere\":{\"type\":[\"object\",\"null\"],\"default\":null,\"properties\":{\"day\":{\"type\":\"string\"},\"night\":{\"type\":\"string\"}}},\"kioskid\":{\"type\":\"string\",\"default\":\"\"},\"accessibleheight\":{\"type\":[\"number\",\"string\"],\"description\":\"Kiosk mode has a max height for interactive button for accessibility purpose\",\"default\":50},\"heading\":{\"description\":\"Heading is used to orient the photosphere according to the map (in degrees)\",\"type\":\"number\",\"default\":0},\"initialorientation\":{\"description\":\"Initial orientation of the view (in degrees)\",\"type\":\"number\",\"default\":0},\"position\":{\"properties\":{\"lat\":{\"description\":\"Latitude of position for photosphere.\",\"title\":\"Latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of position for photosphere.\",\"title\":\"Longitude\",\"type\":\"number\"},\"alt\":{\"description\":\"Altitude of position for photosphere.\",\"title\":\"Altitude\",\"type\":\"number\"},\"level\":{\"description\":\"Level of position for photosphere.\",\"title\":\"Level\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"rotationduration\":{\"description\":\"Rotation of sphere. Number of seconds for a complete loop\",\"type\":\"number\",\"default\":35}}}},\"screensavertype\":{\"type\":[\"string\",\"null\"],\"enum\":[\"auto\",null],\"default\":\"auto\"},\"timeoutscreensaver\":{\"type\":\"number\",\"default\":30000},\"type\":{\"type\":\"string\",\"default\":\"default\",\"enum\":[\"default\",\"desktop\"]},\"intro\":{\"type\":[\"object\",\"null\"],\"default\":null,\"properties\":{\"text\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"}}}},\"type\":[\"object\",\"null\"]},\"kioskid\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"kiosk_viewer\":{\"default\":null,\"description\":\"Id of kiosk viewer map\",\"type\":[\"string\",\"null\"]},\"kioskvieweroptions\":{\"type\":\"object\",\"default\":{\"status\":\"public\",\"features\":[\"measurement\",\"object-search\"]},\"properties\":{\"status\":{\"type\":\"string\",\"enum\":[\"public\",\"private\"],\"default\":\"public\"},\"features\":{\"type\":\"array\",\"default\":[\"measurement\",\"object-search\"],\"items\":{\"type\":\"string\",\"enum\":[\"measurement\",\"object-search\"]}}}},\"itinerariesoptions\":{\"type\":\"object\",\"default\":{\"importantStepsOnly\":false,\"centerOn\":\"user\",\"centerOnUserZoom\":18},\"properties\":{\"importantStepsOnly\":{\"type\":\"boolean\",\"default\":false},\"centerOn\":{\"type\":\"string\",\"description\":\"What to center the map on when navigation starts.\",\"enum\":[\"itinerary\",\"user\"],\"default\":\"user\"},\"centerOnUserZoom\":{\"type\":\"number\",\"description\":\"Zoom level when centerOn is user.\",\"default\":18},\"buttons\":{\"type\":\"array\",\"description\":\"Ordered buttons shown in the direction sidebar. When omitted in multi routing mode, default travel mode buttons are used.\",\"items\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"const\":\"travelMode\"},\"mode\":{\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\",\"VTC\"]},\"icon\":{\"description\":\"Optional Font-Awesome icon override.\",\"type\":\"string\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"disableWhenPmr\":{\"description\":\"Disable this button when PMR access is active.\",\"type\":\"boolean\",\"default\":false},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"type\",\"mode\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"const\":\"rules\"},\"icon\":{\"description\":\"Font-Awesome icon name.\",\"type\":\"string\"},\"rules\":{\"description\":\"Itinerary rules applied when this button is selected.\",\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"travelMode\":{\"description\":\"Travel mode used for the routing request.\",\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\"],\"default\":\"WALK\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"type\",\"icon\",\"rules\"]},{\"type\":\"object\",\"description\":\"A composite itinerary assembled from several independently-routed legs (e.g. walk to the nearest stop, then ride the custom graph to the destination).\",\"properties\":{\"type\":{\"const\":\"composite\"},\"icon\":{\"description\":\"Font-Awesome icon name.\",\"type\":\"string\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"waypoints\":{\"description\":\"Ordered points bounding the legs. Length must be segments.length + 1.\",\"type\":\"array\",\"minItems\":2,\"items\":{\"oneOf\":[{\"description\":\"An endpoint of the direction.\",\"type\":\"string\",\"enum\":[\"origin\",\"destination\"]},{\"description\":\"The nearest pinpoint carrying the given tag, measured from the anchor.\",\"type\":\"object\",\"properties\":{\"nearestTag\":{\"description\":\"Tag marking candidate stops.\",\"type\":\"string\"},\"anchor\":{\"description\":\"Point the nearest stop is measured from. Defaults to the previous waypoint.\",\"type\":\"string\",\"enum\":[\"origin\",\"destination\",\"previous\"],\"default\":\"previous\"}},\"required\":[\"nearestTag\"]}]}},\"segments\":{\"description\":\"Per-leg routing configuration. One entry per leg, in order.\",\"type\":\"array\",\"minItems\":1,\"items\":{\"type\":\"object\",\"properties\":{\"travelMode\":{\"description\":\"Travel mode used for this leg's routing request.\",\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\"]},\"rules\":{\"description\":\"Itinerary rules applied to this leg.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"travelMode\"]}}},\"required\":[\"type\",\"icon\",\"waypoints\",\"segments\"]}]}}}},\"layers\":{\"default\":[],\"description\":\"Additional feature layers.\",\"items\":{\"properties\":{\"altitude\":{\"description\":\"The altitude (in meters) of this layer, for multi-floor maps.\",\"title\":\"Altitude\",\"type\":\"number\"},\"clustering\":{\"default\":false,\"description\":\"Use this layer for front-end hierarchy clustering.\",\"title\":\"Clustering\",\"type\":\"boolean\"},\"coordinates\":{\"default\":null,\"description\":\"Coordinates of each corner of the image. It can only be used with layer type image. Represented by an array of coordinates array [lng, lat]\",\"items\":{\"items\":{\"type\":\"number\"},\"type\":\"array\"},\"type\":[\"array\",\"null\"]},\"maxzoom\":{\"default\":18,\"description\":\"The maximum zoom at which the layer is visible (exclusive).\",\"minimum\":0,\"title\":\"Maximum zoom\",\"type\":\"integer\"},\"minzoom\":{\"default\":2,\"description\":\"The minimum zoom at which the layer is visible (inclusive).\",\"minimum\":0,\"title\":\"Minimum zoom\",\"type\":\"integer\"},\"onclick\":{\"default\":\"zoom\",\"enum\":[\"ignore\",\"popup\",\"tooltip\",\"zoom\"],\"title\":\"Action on click\",\"type\":\"string\"},\"onhover\":{\"default\":\"highlight\",\"enum\":[\"ignore\",\"highlight\"],\"title\":\"Action on hover\",\"type\":\"string\"},\"type\":{\"description\":\"The type of layer format (GeoJSON, vector tiles or image).\",\"enum\":[\"geojson\",\"image\",\"vector\"],\"title\":\"Type\",\"type\":\"string\"},\"url\":{\"description\":\"The URL from which to fetch the layer's data.\",\"title\":\"URL\",\"type\":\"string\"}},\"required\":[\"type\",\"url\"],\"type\":\"object\"},\"type\":\"array\"},\"limitperpage\":{\"default\":10,\"description\":\"Number of items per page in the livebar.\",\"type\":\"integer\"},\"linksenabled\":{\"default\":true,\"description\":\"Enable clicking on links (in pinpoint description or comments).\",\"type\":\"boolean\"},\"littlescreenthresholdwidth\":{\"default\":1030,\"description\":\"Max width before going to littleScreen mode.\",\"type\":\"integer\"},\"locked\":{\"default\":false,\"description\":\"Lock map, need to click it to unlock and use (no hover).\",\"type\":\"boolean\"},\"mapviewenabled\":{\"default\":true,\"description\":\"If false, hide the map and keep only the UI.\",\"type\":\"boolean\"},\"markersize\":{\"default\":100,\"type\":\"integer\",\"description\":\"Size of the map markers.\"},\"maxbounds\":{\"default\":null,\"description\":\"Restricts the map view to the given bounds.\",\"properties\":{\"_northEast\":{\"properties\":{\"lat\":{\"description\":\"Latitude of upper-right's corner (northEast).\",\"title\":\"NorthEast latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of upper-right's corner (northEast).\",\"title\":\"NorthEast longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"_southWest\":{\"properties\":{\"lat\":{\"description\":\"Latitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"}},\"required\":[\"_northEast\",\"_southWest\"],\"type\":[\"object\",\"null\"]},\"maximagewidth\":{\"default\":500,\"description\":\"Sets the maximum image width in sidebar. (in px)\",\"type\":\"integer\"},\"maxzoom\":{\"default\":18,\"description\":\"Maximum zoom level of the map.\",\"maximum\":24,\"minimum\":0,\"type\":\"integer\"},\"maxzoomcluster\":{\"default\":null,\"description\":\"Maximum zoom for clustering. Default will be maxzoom\",\"maximum\":24,\"minimum\":0,\"type\":[\"integer\",\"null\"]},\"menuextensions\":{\"default\":false,\"description\":\"Add options to the livemap menu.\",\"items\":{\"properties\":{\"icon\":{\"description\":\"Name of Font-Awesome Icon.\",\"title\":\"Icon\",\"type\":\"string\"},\"text\":{\"description\":\"Label for custom button.\",\"title\":\"Button's Label\",\"type\":\"string\"},\"url\":{\"description\":\"URL to redirect from.\",\"title\":\"URL\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"metarouterurl\":{\"default\":null,\"description\":\"The meta router url to use\",\"type\":[\"string\",\"null\"]},\"minzoom\":{\"default\":2,\"description\":\"Minimum zoom level of the map.\",\"maximum\":24,\"minimum\":0,\"type\":\"integer\"},\"mobilethresholdwidth\":{\"default\":630,\"description\":\"When to consider the map as small/mobile. (main application container will be prefixed by 'mobile-view' class)\",\"type\":\"integer\"},\"mode\":{\"default\":\"default\",\"description\":\"Define the mode of the livemap if it should be with AR, for navigation or kiosk. This will change the UI and features\",\"enum\":[\"default\",\"kiosk_map\",\"kiosk_viewer\",\"kiosk_screensaver_map\"],\"type\":\"string\"},\"models\":{\"default\":null,\"description\":\"Define the URL of the 3d models to load in the map.\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"visible\":{\"default\":\"always\",\"type\":\"string\",\"enum\":[\"always\",\"3d\"]},\"url\":{\"type\":\"string\"},\"minzoom\":{\"default\":0,\"type\":\"number\"},\"maxzoom\":{\"default\":24,\"type\":\"number\"}}}},\"navigatefromposition\":{\"default\":true,\"description\":\"If it should use user location for itineraries\",\"type\":\"boolean\"},\"offline\":{\"default\":{\"blacklist\":[],\"enable\":false,\"tiles\":null},\"description\":\"Configuration relative to the offline.\",\"properties\":{\"blacklist\":{\"default\":[],\"description\":\"Array of list to not use for offline\",\"type\":\"array\"},\"enable\":{\"default\":false,\"description\":\"Enable the offline feature\",\"type\":\"boolean\"},\"tiles\":{\"default\":null,\"description\":\"Mbtiles file to load for offline tiles\",\"type\":[\"string\",\"null\"]}},\"type\":\"object\"},\"openedsearch\":{\"default\":false,\"description\":\"Open search bar at startup (if not opened at startup it can opened on click on search button).\",\"type\":\"boolean\"},\"openeventinpinpoint\":{\"default\":false,\"description\":\"Open event inside the pinpoint view instead of opening new view\",\"type\":\"boolean\"},\"imageoperation\":{\"default\":{\"thumbnail\":\"fit\",\"sidebar\":\"fit\"},\"description\":\"Operation applied to the image by the backend\",\"properties\":{\"thumbnail\":{\"default\":\"fit\",\"description\":\"operation applied for images used in map thumbnails\",\"type\":\"string\",\"enum\":[\"contain\",\"fit\"]},\"sidebar\":{\"default\":\"fit\",\"description\":\"operation applied for images used in sidebar\",\"type\":\"string\",\"enum\":[\"contain\",\"fit\"]}},\"type\":\"object\"},\"openedsidebar\":{\"description\":\"Open sidebar by default on featured list or sources ('featured' or 'sources').\",\"enum\":[\"\",\"featured\",\"sources\"],\"default\":\"\",\"type\":\"string\"},\"outdoorpackdatabbox\":{\"default\":null,\"description\":\"Force outdoor bbox in packdata when livemap use landing_area\",\"type\":[\"string\",\"null\"]},\"pinpointopentype\":{\"description\":\"Defined how the pinpoint should be opened, if it opens from the sidebar or with a popin\",\"default\":\"sidebar\",\"enum\":[\"sidebar\",\"popin\"],\"type\":\"string\"},\"pitchenabled\":{\"description\":\"Allow user to pitching and bearing map\",\"type\":\"boolean\",\"default\":false},\"pitchstart\":{\"description\":\"initial pitch (tilt) of the map, measured in degrees away from the plane of the screen (0-60)\",\"type\":\"integer\",\"default\":0},\"pitchswitcherbutton\":{\"description\":\"Show a button to switch pitch\",\"type\":\"boolean\",\"default\":false},\"providersenabled\":{\"description\":\"Use providers to locate the user\",\"type\":\"boolean\",\"default\":true},\"routingtype\":{\"default\":\"google\",\"description\":\"The provider to use for routing.\",\"enum\":[\"google\",\"deutsche-bahn\",\"osrm\",\"otp\",\"cityway\",\"idfm\",\"navitia\",\"tictactrip\"],\"type\":\"string\"},\"routingurl\":{\"default\":\"https://routing-osrm.getwemap.com\",\"description\":\"The root URL for the OSRM routing server.\",\"type\":\"string\"},\"routingmode\":{\"default\":\"driving\",\"description\":\"Mode of routing.\",\"enum\":[\"driving\",\"walking\",\"bike\",\"bus\",\"multi\"],\"type\":\"string\"},\"samewindow\":{\"default\":false,\"description\":\"Open links (from pinpoints descriptions or comments) in the same page.\",\"type\":\"boolean\"},\"scaninstructions\":{\"default\":\"\",\"description\":\"Instruction message displayed when the scan view is open.\",\"type\":\"string\"},\"scrollwheelzoom\":{\"default\":true,\"description\":\"Enable zoom using the scrollwheel.\",\"type\":\"boolean\"},\"searchcontrol\":{\"default\":true,\"description\":\"Show/hide search button.\",\"type\":\"boolean\"},\"searchparameters\":{\"default\":{\"geocoding\":true,\"region\":null,\"multilevel\":false,\"boundingbox\":null,\"extended\":false,\"sortbyname\":null,\"query_fields\":null,\"sortbydistance\":false},\"description\":\"Configuration relative to the search engine\",\"properties\":{\"extended\":{\"default\":false,\"description\":\"Extend search will search on bigger bounds even if results not empty\",\"type\":\"boolean\"},\"geocoding\":{\"default\":true,\"description\":\"Enable geocoding for search\",\"type\":\"boolean\"},\"multilevel\":{\"default\":false,\"description\":\"Enable search on all level instead of current level\",\"type\":\"boolean\"},\"region\":{\"default\":null,\"description\":\"Specify the region (country) in which the geocoding search should be done\",\"type\":[\"string\",\"null\"]},\"sortbyname\":{\"default\":null,\"description\":\"Specify the sorting results method\",\"type\":[\"string\",\"null\"],\"enum\":[\"ASC\",\"DESC\",null]},\"query_fields\":{\"default\":null,\"description\":\"Specify fields to search on\",\"type\":[\"string\",\"null\"]},\"sortbydistance\":{\"default\":false,\"description\":\"Specify the sorting results by distance\",\"type\":\"boolean\"},\"boundingbox\":{\"default\":null,\"description\":\"Limit results to only those contained within the supplied bounding box.\",\"properties\":{\"_northEast\":{\"properties\":{\"lat\":{\"description\":\"Latitude of upper-right's corner (northEast).\",\"title\":\"NorthEast latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of upper-right's corner (northEast).\",\"title\":\"NorthEast longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"_southWest\":{\"properties\":{\"lat\":{\"description\":\"Latitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"}},\"required\":[\"_northEast\",\"_southWest\"],\"type\":[\"object\",\"null\"]}},\"type\":\"object\"},\"searchplaceholder\":{\"default\":null,\"description\":\"Override search input placeholder.\",\"type\":[\"object\",\"null\"]},\"searchclustertiles\":{\"default\":false,\"description\":\"If the search request should return clusters\",\"type\":\"boolean\"},\"seo\":{\"default\":null,\"description\":\"Configuration relative to the SEO.\",\"properties\":{\"bindPageTitleToOpenedEntity\":{\"default\":true,\"description\":\"Replace the page title by the name of the opened entity.\",\"type\":\"boolean\"},\"pageTitleBindingPrefix\":{\"default\":\"\",\"description\":\"When the page title is binded to the content, you can configure the base of the title with this parameter. The final page title will be the concatenation of this parameter and the opened entity name.\",\"type\":\"string\"},\"baseUrl\":{\"default\":\"\",\"description\":\"Base url for the SEO.\",\"type\":\"string\"},\"bindPageDescriptionToOpenedEntity\":{\"default\":true,\"description\":\"Replace the page description by the description of the opened entity.\",\"type\":\"boolean\"},\"bindSchemaToOpenedEntity\":{\"default\":true,\"description\":\"Generate the schema.org structure based on the opened content.\",\"type\":\"boolean\"}},\"type\":[\"object\",\"null\"]},\"services\":{\"default\":{\"g7\":false,\"uber\":false,\"velib\":false},\"description\":\"Configuration relative to the external services.\",\"properties\":{\"g7\":{\"default\":false,\"description\":\"Use G7 services\",\"type\":\"boolean\"},\"uber\":{\"default\":false,\"description\":\"Use Uber services\",\"type\":\"boolean\"},\"velib\":{\"default\":false,\"description\":\"Use velib services\",\"type\":\"boolean\"}},\"type\":\"object\"},\"sharesnippet\":{\"default\":false,\"description\":\"Enables the sharing of livemaps (shows a button).\",\"type\":\"boolean\"},\"showaddress\":{\"default\":true,\"description\":\"Show pinpoint's address.\",\"type\":\"boolean\"},\"showauthor\":{\"default\":true,\"description\":\"Show pinpoint's author.\",\"type\":\"boolean\"},\"showfinishedeventscontrol\":{\"default\":true,\"description\":\"Display a checkbox to hide/show the finished events.\",\"type\":\"boolean\"},\"showmediainresults\":{\"default\":false,\"description\":\"Show/hide media in result list\",\"type\":\"boolean\"},\"showlikes\":{\"default\":false,\"description\":\"Show/hide likes in pinpoint lists and headers.\",\"type\":\"boolean\"},\"showmultilevel\":{\"default\":{\"position\":false,\"itinerary\":false},\"description\":\"Show/hide element depending on current floor for a multilevel map\",\"properties\":{\"position\":{\"type\":\"boolean\",\"default\":false},\"itinerary\":{\"type\":\"boolean\",\"default\":false}},\"type\":\"object\"},\"showpinpointmedia\":{\"default\":true,\"description\":\"Show/hide media (picture or video) in pinpoint detailed description\",\"type\":\"boolean\"},\"showrelatedlists\":{\"default\":true,\"description\":\"Show the lists pinpoints belong to.\",\"type\":\"boolean\"},\"showrelativedate\":{\"default\":false,\"description\":\"Show pinpoint's relative creation date.\",\"type\":\"boolean\"},\"signupenable\":{\"default\":false,\"description\":\"Enable the sign up button in the sign-in popin.\",\"type\":\"boolean\"},\"sidebarsforceopen\":{\"default\":[\"navigation\",\"direction\"],\"description\":\"Force sidebar to be opened even if parameter enablesidebar is set to false\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"pinpoint\",\"event\",\"lists\",\"multipoint\",\"sources\",\"navigation\",\"direction\",\"navigation-menu\",\"velib\",\"object-search\",\"annotate\"]}},\"stillswitch\":{\"default\":false,\"description\":\"Should the map stay still (in location) when switching emm ?\",\"type\":\"boolean\"},\"switcher\":{\"default\":null,\"description\":\"Switch between livemaps via theirs emmid.\",\"properties\":{\"direction\":{\"type\":\"string\"},\"items\":{\"items\":{\"properties\":{\"action\":{\"properties\":{\"type\":{\"emmid\":\"string\"}},\"type\":\"object\"},\"icon\":{\"properties\":{\"content\":{\"type\":\"string\"},\"place\":{\"type\":\"string\"},\"style\":{\"type\":\"object\"},\"type\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"type\":\"array\"},\"itemsStyle\":{\"type\":\"object\"},\"itemsStyleActive\":{\"type\":\"object\"},\"itemsStyleHover\":{\"type\":\"object\"},\"style\":{\"type\":\"object\"}},\"type\":[\"object\",\"null\"]},\"tagsoverlap\":{\"default\":false,\"description\":\"Enable/disable OR/AND logic for tags filtering\",\"type\":\"boolean\"},\"tilesstyle\":{\"default\":\"https://tiles.getwemap.com/styles/wemap-v2-en/style.json\",\"description\":\"URL for the vector tiles style.\",\"type\":\"string\"},\"tilesstyle_asset_id\":{\"default\":null,\"description\":\"Asset ID for the vector tiles style.\",\"type\":[\"integer\",\"null\"]},\"tilestoken\":{\"default\":null,\"description\":\"Token for the vector tiles style. (ex : using Mapbox Terrain, or Mapbox Satellite)\",\"type\":[\"string\",\"null\"]},\"timecircle\":{\"default\":null,\"description\":\"Circle of distance to go in given time\",\"properties\":{\"type\":{\"type\":\"string\",\"default\":\"walk\"},\"time\":{\"type\":\"integer\",\"default\":300}},\"type\":[\"object\",\"null\"]},\"uber\":{\"default\":false,\"description\":\"Add Uber to pinpoint petals.\",\"type\":\"boolean\"},\"usecalendar\":{\"default\":true,\"description\":\"Deprecated property.\",\"type\":\"boolean\"},\"useevents\":{\"default\":false,\"description\":\"Current map should use entities events or not.\",\"type\":\"boolean\"},\"uselivedatawithoutwebsocket\":{\"default\":false,\"description\":\"[Elections] feed map's color from remote without be notified by WebSocket\",\"type\":\"boolean\"},\"usertour\":{\"type\":[\"object\",\"null\"],\"default\":null,\"description\":\"Display a user tour at first start if enabled.\",\"properties\":{\"active\":{\"type\":\"boolean\",\"default\":true,\"description\":\"Enable or disable the user tour.\"},\"steps\":{\"type\":\"array\",\"default\":[],\"description\":\"Steps of the user tour.\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"Type of the step\",\"enum\":[\"filterButton\",\"menuButton\",\"livebarButton\",\"pinpointPetals\",\"shareViewButton\",\"custom\"]},\"body\":{\"type\":\"string\",\"description\":\"Text of the step\"},\"selector\":{\"type\":\"string\",\"description\":\"Selector to get the element to point with this step.\"},\"routename\":{\"type\":\"string\",\"description\":\"Name of the route to navigate before displaying the step tooltip.\"},\"routeparams\":{\"type\":\"object\",\"description\":\"Parameters of the route to navigate before displaying the step tooltip.\",\"default\":{}},\"routequery\":{\"type\":\"object\",\"description\":\"Query of the route to navigate before displaying the step tooltip.\",\"default\":{}},\"maskstyle\":{\"type\":\"object\",\"description\":\"Inline CSS style to apply to the user tour mask when displaying this step.\"},\"visibility\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"mobile\",\"desktop\",\"littlescreen\"]},\"default\":[\"mobile\",\"desktop\",\"littlescreen\"]}},\"required\":[\"type\"]}}}},\"tagrules\":{\"default\":[],\"description\":\"Rules to apply for tags\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"description\":\"Type of rule\",\"enum\":[\"restricted-search\",\"search\",\"size\",\"featured-direction\"],\"type\":\"string\"},\"tags\":{\"description\":\"List of tags to apply the rule\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"filteringLogic\":{\"description\":\"Logic to apply when filtering tags (OR or AND)\",\"type\":\"string\",\"enum\":[\"OR\",\"AND\"],\"default\":\"AND\"},\"minzoom\":{\"default\":null,\"description\":\"Min zoom to apply the rule\",\"type\":[\"number\",\"null\"]},\"scale\":{\"default\":null,\"description\":\"Scale of pinpoint marker, use it with type 'size'\",\"type\":[\"number\",\"null\"]},\"maxzoom\":{\"default\":null,\"description\":\"Max zoom to apply the rule\",\"type\":[\"number\",\"null\"]}}},\"type\":\"array\"},\"usetags\":{\"anyOf\":[{\"type\":\"boolean\"},{\"properties\":{\"active\":{\"type\":\"boolean\"},\"filteringLogic\":{\"type\":\"string\",\"default\":\"DEFAULT\",\"enum\":[\"AND\",\"OR\",\"DEFAULT\"]},\"categories\":{\"items\":{\"properties\":{\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"}},\"required\":[\"name\",\"slug\"],\"type\":\"object\"},\"type\":\"array\"},\"clickable\":{\"type\":\"boolean\"},\"tags\":{\"items\":{\"properties\":{\"category\":{\"type\":[\"boolean\",\"string\"]},\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"},\"visibility\":{\"type\":\"string\"}},\"required\":[\"name\",\"slug\"],\"type\":\"object\"},\"type\":\"array\"}},\"type\":\"object\"}],\"description\":\"Show tags button in search bar, enable search by tags.\",\"type\":[\"object\",\"boolean\"],\"default\":false},\"webgl\":{\"default\":true,\"description\":\"Force WEBGL livemap's rendering.\",\"type\":\"boolean\"},\"websocketenabled\":{\"default\":false,\"description\":\"Enable websocket communication between livemap and wss://ws.getwemap.com/{channel}\",\"type\":\"boolean\"},\"websocketurl\":{\"default\":null,\"description\":\"WebSocket URL for live updates.\",\"type\":[\"string\",\"null\"]},\"webworkerclustering\":{\"default\":false,\"description\":\"Process superclustering in a webworker\",\"type\":\"boolean\"},\"welcomebuttonlabel\":{\"default\":\"OK !\",\"description\":\"Welcome card button label.\",\"type\":\"string\"},\"zoomcontrol\":{\"default\":true,\"description\":\"Enable zoom control.\",\"type\":\"boolean\"}}"),
440
+ var T = {
441
+ properties: /* @__PURE__ */ JSON.parse("{\"actionbuttons\":{\"default\":{\"withlabel\":false},\"description\":\"Configuration relative to the action buttons\",\"properties\":{\"withlabel\":{\"default\":false,\"description\":\"Enable label on action buttons\",\"type\":\"boolean\"}},\"type\":\"object\"},\"analytics\":{\"default\":null,\"description\":\"Parameters relative to analytics\",\"type\":[\"object\",\"null\"],\"properties\":{\"gtagIDs\":{\"default\":[],\"description\":\"Gtag IDs to configure\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"arnavigationdata\":{\"default\":{\"arRadius\":1000,\"audio\":false,\"maxDistanceNavigation\":10000,\"default\":\"outdoor\",\"cursorVisible\":true,\"cursorTimeout\":1000,\"mapFooter\":false,\"indoor\":{\"accuracyThreshold\":8,\"end\":{\"geofence\":5,\"visibleDistance\":200},\"instructions\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"outdoor\":{\"accuracyThreshold\":25,\"end\":{\"geofence\":15,\"visibleDistance\":200},\"instructions\":{\"geofence\":10,\"maxDistance\":40,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"providers\":{\"blacklist\":[],\"degradedWalkingDistanceMeters\":50,\"gnssWifi\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"noPositioningWalkingDistanceMeters\":100,\"polestarkey\":null,\"straightLineDetector\":{\"stepsConsideredForStraightLine\":2},\"stepDetector\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"useMapMatching\":true,\"usePositionSmoother\":true,\"useAllAbsolutePositions\":false,\"vps\":null,\"whitelist\":[]},\"visibleTags\":[],\"wallCrossing\":{\"enabled\":false,\"locationImpact\":\"degraded\"}},\"description\":\"Configuration relative to the AR navigation \",\"properties\":{\"arRadius\":{\"default\":1000,\"description\":\"Maximum distance for the displayed pinpoints in AR view (in meters)\",\"type\":\"integer\"},\"default\":{\"default\":\"outdoor\",\"description\":\"The default value for the ar navigation parameters\",\"type\":\"string\"},\"audio\":{\"default\":false,\"description\":\"If the user should be guided with audio\",\"type\":\"boolean\"},\"cursorVisible\":{\"default\":true,\"description\":\"If the cursor should be visible\",\"type\":\"boolean\"},\"cursorTimeout\":{\"default\":1000,\"description\":\"The timeout to open a pinpoint with the cursor\",\"type\":\"number\"},\"maxDistanceNavigation\":{\"default\":10000,\"description\":\"The max distance where the navigation is started directly\",\"type\":\"number\"},\"mapFooter\":{\"default\":false,\"description\":\"If the map should be shown at footer on navigation\",\"type\":\"boolean\"},\"indoor\":{\"default\":{\"accuracyThreshold\":8,\"end\":{\"geofence\":5,\"visibleDistance\":200},\"instructions\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"properties\":{\"accuracyThreshold\":{\"default\":8,\"type\":\"integer\"},\"end\":{\"default\":{\"geofence\":5,\"visibleDistance\":200},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":5},\"visibleDistance\":{\"type\":\"integer\",\"default\":200}}},\"instructions\":{\"default\":{\"geofence\":3,\"maxDistance\":10,\"minAlt\":1,\"opacityDistanceStart\":10,\"realSizeScale\":1,\"scale\":0.06,\"audioDistance\":10},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":3},\"maxDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the instruction will be display instead of banner with meters\",\"default\":10},\"minAlt\":{\"type\":\"integer\",\"default\":1},\"opacityDistanceStart\":{\"type\":\"integer\",\"default\":10},\"realSizeScale\":{\"type\":\"integer\",\"default\":1},\"scale\":{\"type\":\"number\",\"default\":0.06},\"audioDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the audio will be triggered between 2 steps\",\"default\":10}}},\"itinerary\":{\"default\":{\"sampling\":1.6,\"opacityDistanceEnd\":15,\"arrowTargetDistance\":5},\"type\":\"object\",\"properties\":{\"sampling\":{\"type\":\"number\",\"default\":1.6},\"opacityDistanceEnd\":{\"type\":\"integer\",\"default\":15},\"arrowTargetDistance\":{\"type\":\"integer\",\"default\":5}}},\"mapmatching\":{\"default\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":15,\"minDistance\":1,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"type\":\"object\",\"properties\":{\"network\":{\"type\":[\"string\",\"null\"],\"description\":\"Network to use outside a navigation\",\"default\":null},\"maxAngleBearing\":{\"type\":\"integer\",\"default\":30},\"maxDistance\":{\"type\":\"integer\",\"default\":15},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"useItineraryStartAsPosition\":{\"type\":\"boolean\",\"default\":false},\"useOrientationMatching\":{\"type\":\"boolean\",\"default\":false},\"useStrict\":{\"type\":\"boolean\",\"default\":false},\"hugeJumpDistance\":{\"type\":\"number\",\"default\":3},\"minStepsBetweenOrientationMatching\":{\"type\":\"number\",\"default\":3},\"minStepsForOrientationMatching\":{\"type\":\"number\",\"default\":5},\"lastProjectionsWindowSize\":{\"type\":\"number\",\"default\":3},\"lastProjectionsEdgeAngleThreshold\":{\"type\":\"number\",\"default\":3},\"disableMMCloseToATurnDistance\":{\"type\":\"number\",\"default\":2}}},\"multilevel\":{\"default\":{\"geofenceDisableNav\":3},\"type\":\"object\",\"properties\":{\"geofenceDisableNav\":{\"type\":\"integer\",\"default\":3}}},\"pinpoints\":{\"default\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true},\"type\":\"object\",\"properties\":{\"scale\":{\"type\":\"number\",\"default\":0.09},\"updateDistance\":{\"type\":\"integer\",\"default\":30},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"overlap\":{\"default\":false,\"description\":\"If pinpoint shape in AR should overlap between each other\",\"type\":\"boolean\"},\"label\":{\"default\":true,\"description\":\"If pinpoint shape in AR should have label\",\"type\":\"boolean\"}}}},\"description\":\"The indoor set of parameters\",\"type\":\"object\"},\"outdoor\":{\"default\":{\"accuracyThreshold\":25,\"end\":{\"geofence\":15,\"visibleDistance\":200},\"instructions\":{\"maxDistance\":40,\"geofence\":10,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"itinerary\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"mapmatching\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"multilevel\":{\"geofenceDisableNav\":3},\"pinpoints\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true}},\"properties\":{\"accuracyThreshold\":{\"default\":25,\"type\":\"integer\"},\"end\":{\"default\":{\"geofence\":15,\"visibleDistance\":200},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":15},\"visibleDistance\":{\"type\":\"integer\",\"default\":200}}},\"instructions\":{\"default\":{\"geofence\":10,\"maxDistance\":40,\"minAlt\":1.5,\"opacityDistanceStart\":20,\"realSizeScale\":3,\"scale\":0.03,\"audioDistance\":30},\"type\":\"object\",\"properties\":{\"geofence\":{\"type\":\"integer\",\"default\":10},\"maxDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the instruction will be display instead of banner with meters\",\"default\":40},\"minAlt\":{\"type\":\"number\",\"default\":1.5},\"opacityDistanceStart\":{\"type\":\"integer\",\"default\":20},\"realSizeScale\":{\"type\":\"integer\",\"default\":3},\"scale\":{\"type\":\"number\",\"default\":0.03},\"audioDistance\":{\"type\":\"integer\",\"description\":\"Distance from which the audio will be triggered between 2 instructions\",\"default\":30}}},\"itinerary\":{\"default\":{\"sampling\":1.6,\"opacityDistanceEnd\":30,\"arrowTargetDistance\":10},\"type\":\"object\",\"properties\":{\"sampling\":{\"type\":\"number\",\"default\":1.6},\"opacityDistanceEnd\":{\"type\":\"integer\",\"default\":30},\"arrowTargetDistance\":{\"type\":\"integer\",\"default\":10}}},\"mapmatching\":{\"default\":{\"network\":null,\"maxAngleBearing\":30,\"maxDistance\":50,\"minDistance\":0,\"useItineraryStartAsPosition\":false,\"useOrientationMatching\":false,\"useStrict\":false,\"hugeJumpDistance\":3,\"minStepsBetweenOrientationMatching\":3,\"minStepsForOrientationMatching\":5,\"lastProjectionsWindowSize\":3,\"lastProjectionsEdgeAngleThreshold\":3,\"disableMMCloseToATurnDistance\":2},\"type\":\"object\",\"properties\":{\"useItineraryStartAsPosition\":{\"type\":\"boolean\",\"default\":false},\"network\":{\"type\":[\"string\",\"null\"],\"description\":\"Network to use outside a navigation\",\"default\":null},\"maxAngleBearing\":{\"type\":\"number\",\"default\":30},\"maxDistance\":{\"type\":\"integer\",\"default\":50},\"minDistance\":{\"type\":\"integer\",\"default\":0},\"useOrientationMatching\":{\"type\":\"boolean\",\"default\":false},\"useStrict\":{\"type\":\"boolean\",\"default\":false},\"hugeJumpDistance\":{\"type\":\"number\",\"default\":3},\"minStepsBetweenOrientationMatching\":{\"type\":\"number\",\"default\":3},\"minStepsForOrientationMatching\":{\"type\":\"number\",\"default\":5},\"lastProjectionsWindowSize\":{\"type\":\"number\",\"default\":3},\"lastProjectionsEdgeAngleThreshold\":{\"type\":\"number\",\"default\":3},\"disableMMCloseToATurnDistance\":{\"type\":\"number\",\"default\":2}}},\"multilevel\":{\"default\":{\"geofenceDisableNav\":3},\"type\":\"object\",\"properties\":{\"geofenceDisableNav\":{\"type\":\"integer\",\"default\":3}}},\"pinpoints\":{\"default\":{\"scale\":0.09,\"updateDistance\":30,\"minDistance\":1,\"overlap\":false,\"label\":true},\"type\":\"object\",\"properties\":{\"scale\":{\"type\":\"number\",\"default\":0.09},\"updateDistance\":{\"type\":\"integer\",\"default\":30},\"minDistance\":{\"type\":\"integer\",\"default\":1},\"overlap\":{\"default\":false,\"description\":\"If pinpoint shape in AR should overlap between each other\",\"type\":\"boolean\"},\"label\":{\"default\":true,\"description\":\"If pinpoint shape in AR should have label\",\"type\":\"boolean\"}}}},\"description\":\"The outdoor set of parameters\",\"type\":\"object\"},\"providers\":{\"default\":{\"blacklist\":[],\"degradedWalkingDistanceMeters\":50,\"gnssWifi\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"noPositioningWalkingDistanceMeters\":100,\"polestarkey\":null,\"straightLineDetector\":{\"stepsConsideredForStraightLine\":2},\"stepDetector\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"useMapMatching\":true,\"usePositionSmoother\":true,\"useAllAbsolutePositions\":false,\"vps\":null,\"whitelist\":[]},\"properties\":{\"blacklist\":{\"default\":[],\"type\":\"array\"},\"degradedWalkingDistanceMeters\":{\"default\":50,\"description\":\"Walking distance in meters since last scan success before triggering degraded positioning\",\"type\":\"number\"},\"gnssWifi\":{\"default\":{\"discardPositionsAbove\":50,\"enableHighAccuracy\":true},\"properties\":{\"discardPositionsAbove\":{\"default\":50,\"type\":\"number\"},\"enableHighAccuracy\":{\"default\":true,\"type\":\"boolean\"}}},\"noPositioningWalkingDistanceMeters\":{\"default\":100,\"description\":\"Walking distance in meters since last scan success before triggering no positioning\",\"type\":\"number\"},\"polestarkey\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"straightLineDetector\":{\"default\":{\"stepsConsideredForStraightLine\":2},\"properties\":{\"stepsConsideredForStraightLine\":{\"default\":2,\"type\":\"number\"}},\"type\":\"object\"},\"stepDetector\":{\"default\":{\"algorithm\":\"minMaxPeaks2\",\"stepSizeMultiplier\":1,\"minMaxPeaks2\":null,\"minMaxPeaks3\":null},\"properties\":{\"algorithm\":{\"default\":\"minMaxPeaks2\",\"enum\":[\"ladetto\",\"minMaxPeaks\",\"minMaxPeaks2\",\"minMaxPeaks3\"],\"type\":\"string\"},\"stepSizeMultiplier\":{\"default\":1,\"type\":\"number\"},\"minMaxPeaks2\":{\"default\":null,\"properties\":{\"windowTime\":{\"default\":0.3,\"type\":\"number\"},\"minTimeBetweenSteps\":{\"default\":0.4,\"type\":\"number\"},\"maxFrequency\":{\"default\":4,\"type\":\"number\"},\"minFrequency\":{\"default\":1,\"type\":\"number\"},\"verticalAccPositivePeakThreshold\":{\"default\":0.75,\"type\":\"number\"},\"verticalAccNegativePeakThreshold\":{\"default\":-0.3,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]},\"minMaxPeaks3\":{\"default\":null,\"properties\":{\"windowTime\":{\"default\":0.6,\"type\":\"number\"},\"minTimeBetweenSteps\":{\"default\":0.6,\"type\":\"number\"},\"maxFrequency\":{\"default\":4,\"type\":\"number\"},\"minFrequency\":{\"default\":1,\"type\":\"number\"},\"verticalAccPositivePeakThreshold\":{\"default\":0.2,\"type\":\"number\"},\"verticalAccNegativePeakThreshold\":{\"default\":-0.1,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]}},\"type\":\"object\"},\"useMapMatching\":{\"default\":true,\"type\":\"boolean\"},\"usePositionSmoother\":{\"default\":true,\"type\":\"boolean\"},\"useAllAbsolutePositions\":{\"default\":false,\"type\":\"boolean\"},\"vps\":{\"default\":null,\"properties\":{\"endpoint\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"minInclinationForRequest\":{\"default\":60,\"type\":\"number\"},\"useInclination\":{\"default\":true,\"type\":\"boolean\"},\"requestInterval\":{\"default\":null,\"type\":[\"number\",\"null\"]},\"useCoarsePose\":{\"default\":true,\"type\":\"boolean\"},\"waitTimeMinInclinationForRequest\":{\"default\":200,\"type\":\"number\"}},\"type\":[\"object\",\"null\"]},\"whitelist\":{\"default\":[],\"type\":\"array\"}},\"description\":\"Providers to use or not\",\"type\":\"object\"},\"visibleTags\":{\"default\":[],\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"wallCrossing\":{\"default\":{\"enabled\":false,\"locationImpact\":\"degraded\"},\"description\":\"Degrade the positioning when the user walks through a wall\",\"properties\":{\"enabled\":{\"default\":false,\"description\":\"Enable wall crossing detection\",\"type\":\"boolean\"},\"locationImpact\":{\"default\":\"degraded\",\"description\":\"Positioning state a wall crossing settles on until the next successful scan\",\"enum\":[\"degraded\",\"lost\"],\"type\":\"string\"}},\"type\":\"object\"}},\"type\":\"object\"},\"addcid\":{\"default\":false,\"description\":\"Double Click Publisher ID\",\"type\":[\"string\",\"boolean\"]},\"addcslot\":{\"default\":false,\"description\":\"Double Click Ad Slot\",\"type\":[\"string\",\"boolean\"]},\"addcsize\":{\"default\":false,\"description\":\"Double Click Size\",\"items\":{\"items\":{\"type\":\"integer\"},\"maxItems\":2,\"minItems\":2,\"type\":\"array\"},\"type\":[\"array\",\"boolean\"]},\"addctarget\":{\"default\":false,\"description\":\"Double Click Target\",\"items\":{\"items\":{\"type\":\"string\"},\"maxItems\":2,\"minItems\":2,\"type\":\"array\"},\"type\":[\"array\",\"boolean\"]},\"adheight\":{\"default\":false,\"description\":\"Ad display height options.\",\"type\":[\"string\",\"boolean\"]},\"adsenseid\":{\"default\":false,\"description\":\"Adsense\",\"type\":[\"integer\",\"boolean\"]},\"adsenseslot\":{\"default\":false,\"description\":\"Adsense\",\"type\":[\"integer\",\"boolean\"]},\"adwidth\":{\"default\":false,\"description\":\"Ad display width options.\",\"type\":[\"string\",\"boolean\"]},\"aroundme\":{\"default\":true,\"description\":\"Show around button in livemap.\",\"type\":\"boolean\"},\"arviewenabled\":{\"default\":false,\"description\":\"Enable the Wemap-AR view on compatible mobile devices.\",\"type\":\"boolean\"},\"arviewsearchradius\":{\"default\":1000,\"description\":\"Maximum distance for the displayed pinpoints in AR view (in meters)\",\"type\":\"integer\"},\"arswitcherbutton\":{\"default\":false,\"description\":\"Use button instead of device inclination for switching AR/map\",\"type\":\"boolean\"},\"autocenter\":{\"default\":0,\"description\":\"Automatic centering on landing area when idle (in milliseconds).\",\"type\":\"integer\"},\"autologin\":{\"default\":true,\"description\":\"Use localStorage to login.\",\"type\":\"boolean\"},\"autoplay\":{\"default\":false,\"description\":\"Slideshow of pinpoints when map is idle.\",\"type\":[\"boolean\",\"object\"]},\"autoplayoverlay\":{\"default\":false,\"description\":\"If true, the autoplay will be locked with an overlay and no interaction will be available\",\"type\":\"boolean\"},\"autoplaytimeout\":{\"default\":5000,\"description\":\"How long until considering the map as idle (in milliseconds).\",\"type\":\"integer\"},\"bodyfullscreen\":{\"default\":false,\"description\":\"If body parent to livemap should be showned in fullscreen mode instead of livemap's container.\",\"type\":\"boolean\"},\"calendarfilterenabled\":{\"default\":false,\"description\":\"Force to enable calendar filter even if useevents is false.\",\"type\":\"boolean\"},\"calendarfiltermindate\":{\"default\":\"\",\"description\":\"Min date at ISO format for calendar filter (filters view & welcome card)\",\"type\":\"string\"},\"calendarfiltermaxdate\":{\"default\":\"\",\"description\":\"Max date at ISO format for calendar filter (filters view & welcome card)\",\"type\":\"string\"},\"cancomment\":{\"default\":true,\"description\":\"Ability to comment/contribute on pinpoints.\",\"type\":\"boolean\"},\"canopenpinpoint\":{\"default\":true,\"description\":\"Ability to open a marker on click.\",\"type\":\"boolean\"},\"clicktofullscreen\":{\"default\":false,\"description\":\"Click on the map to unlock and go fullscreen.\",\"type\":\"boolean\"},\"clicktofullscreendevices\":{\"default\":\"mobile\",\"description\":\"Click on the map to unlock and go fullscreen. Only for specified devices.\",\"enum\":[\"all\",\"mobile\"],\"type\":\"string\"},\"clicktonavigate\":{\"default\":false,\"description\":\"Click on the map to navigate to coordinates\",\"type\":\"boolean\"},\"clientname\":{\"default\":\"\",\"description\":\"Add an additional css class wemap-livemap-<clientname> to the main livemap's container Value can also describe a sub-client: client:sub-client. Eg: allow mcc components customization\",\"type\":\"string\"},\"clustercircle\":{\"default\":false,\"description\":\"Displays a simple circle instead of a cluster icon.\",\"type\":\"boolean\"},\"clustercolor\":{\"default\":\"#015697\",\"description\":\"Clusters icons color (requires clustercircle).\",\"type\":\"string\"},\"clustericon\":{\"default\":null,\"description\":\"Cluster icon image (ignored if clustercircle is set).\",\"type\":[\"string\",\"null\"]},\"clustering\":{\"default\":true,\"description\":\"Enables front-end side clustering of pinpoints.\",\"type\":\"boolean\"},\"clustermethod\":{\"default\":\"supercluster\",\"description\":\"Algorithm used to group pinpoints into clusters.\",\"enum\":[\"hierarchy\",\"supercluster\"],\"type\":\"string\"},\"clusterplussign\":{\"default\":false,\"description\":\"Replaces the cluster count by a plus sign (requires clustercircle).\",\"type\":\"boolean\"},\"clusterradius\":{\"default\":80,\"description\":\"Configure the radius of the clustering algorithm (and multipoint search area).\",\"type\":\"integer\"},\"custompetals\":{\"type\":\"array\",\"description\":\"List of custom petals that will replace the classic ones.\",\"items\":{\"type\":\"object\",\"description\":\"A custom petal.\",\"properties\":{\"position\":{\"type\":\"integer\",\"description\":\"The position of the custom petal (between 1 and 5).\"},\"iconurl\":{\"type\":\"string\",\"description\":\"The url of the petal icon.\"},\"text\":{\"type\":\"string\",\"description\":\"The text that will be displayed when the petal is hovered.\"},\"actionname\":{\"type\":\"string\",\"description\":\"The action realized when the petal is clicked. The available actions are described in the documentation.\"},\"actionparameters\":{\"type\":\"object\",\"default\":{}}}},\"default\":[]},\"customshareurl\":{\"default\":null,\"description\":\"Custom url for pinpoint sharing.\",\"type\":[\"string\",\"null\"]},\"dateonly\":{\"default\":false,\"description\":\"Do not display event hours\",\"type\":\"boolean\"},\"deeplinkingenabled\":{\"description\":\"Enable the update of the url hash when navigate through the application\",\"type\":\"boolean\",\"default\":true},\"disable_analytics\":{\"default\":false,\"description\":\"Disable analytics for the map\",\"type\":[\"boolean\",\"object\"],\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"properties\":{\"ga\":{\"type\":\"boolean\"},\"wemap\":{\"type\":\"boolean\"}}}]},\"displaypoorevent\":{\"default\":true,\"description\":\"Display event as poor event if they don't have description\",\"type\":\"boolean\"},\"dragging\":{\"default\":true,\"description\":\"Enable map dragging with mouse/touch.\",\"type\":\"boolean\"},\"enabledcontrols\":{\"default\":true,\"description\":\"Enable map controls.\",\"type\":\"boolean\"},\"enableembedshare\":{\"default\":true,\"description\":\"Enable/Disable EMBED share on the livemap.\",\"type\":\"boolean\"},\"enablelogin\":{\"default\":true,\"description\":\"Are users allowed to login.\",\"type\":\"boolean\"},\"enablepetals\":{\"default\":true,\"description\":\"Enable/Disable petals components on the livemap.\",\"type\":\"boolean\"},\"enablesidebar\":{\"default\":true,\"description\":\"Enable/Disable sidebar on the livemap.\",\"type\":\"boolean\"},\"expanddescription\":{\"default\":false,\"description\":\"Shows a Read more button at the bottom of pinpoint description.\",\"type\":\"boolean\"},\"externalcontent\":{\"default\":false,\"description\":\"Add HTML content to main container, permits to user to customize its map.\",\"items\":{\"type\":\"string\"},\"type\":[\"array\",\"boolean\"]},\"externalscripts\":{\"default\":false,\"description\":\"External JavaScript defined by user, added as script tags into livemap's document header\",\"items\":{\"properties\":{\"content\":{\"description\":\"JavaScript code.\",\"type\":\"string\"},\"url\":{\"description\":\"The URL from which to fetch the JavaScript code.\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"externalstyles\":{\"default\":false,\"description\":\"External stylesheets defined by user, added as style tags into livemap's document header. Could be used to override existent css rule\",\"items\":{\"properties\":{\"content\":{\"description\":\"CSS code.\",\"type\":[\"object\",\"string\"]},\"url\":{\"description\":\"The URL from which to fetch the CSS code.\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"featuredlists\":{\"default\":false,\"description\":\"Add a new button with the livemap's title, on click it will open the right sidebar containing all the lists for this map.\",\"type\":\"boolean\"},\"featuretilesenabled\":{\"default\":false,\"description\":\"Enables server-side clustering.\",\"type\":\"boolean\"},\"floors\":{\"default\":[],\"description\":\"Floors for multi-levels maps.\",\"items\":{\"properties\":{\"maxaltitude\":{\"description\":\"The maximum altitude for the floor (exclusive).\",\"title\":\"Maximum altitude\",\"type\":\"number\"},\"minaltitude\":{\"description\":\"The minimum altitude for the floor (inclusive).\",\"title\":\"Minimum altitude\",\"type\":\"number\"},\"name\":{\"title\":\"Name\",\"type\":\"string\"}},\"required\":[\"name\",\"minaltitude\",\"maxaltitude\"],\"type\":\"object\"},\"type\":\"array\"},\"floorsminzoom\":{\"default\":null,\"description\":\"Min zoom to display the floors switcher\",\"type\":[\"number\",\"null\"]},\"forcelittlescreenview\":{\"default\":false,\"description\":\"Force to use the 'little screen' display mode if not in mobile view.\",\"type\":\"boolean\"},\"forcemobileview\":{\"default\":false,\"description\":\"Force to add class 'mobile-view' to livemap container and add a class forced-mobileview to livemap container it will also force livemap state.\",\"type\":\"boolean\"},\"fullscreencontrol\":{\"default\":false,\"description\":\"Show/Hide burger menu item 'Goto Fullscreen'.\",\"type\":\"boolean\"},\"geoentities\":{\"default\":{\"hideOthersOnSelect\":true,\"strokeHighlightScale\":1.5},\"properties\":{\"hideOthersOnSelect\":{\"default\":true,\"description\":\"Hide other geoentities when one is selected.\",\"type\":\"boolean\"},\"strokeHighlightScale\":{\"default\":1.5,\"description\":\"Scale factor of stroke width on highlight\",\"type\":\"number\"}},\"description\":\"Enable/Disable geoentities components on the livemap.\",\"type\":\"object\"},\"hereandnowcontrol\":{\"default\":false,\"description\":\"Replace geolocate button by a button 'here and now' which also filter on current day.\",\"type\":\"boolean\"},\"homecontrol\":{\"default\":true,\"description\":\"Show/Hide menu item 'Back to first view'.\",\"type\":\"boolean\"},\"howtocontrol\":{\"default\":false,\"description\":\"Show/Hide menu item 'How to use this map'.\",\"type\":\"boolean\"},\"indoor\":{\"default\":{\"enable\":false,\"usePinpoints\":false,\"useLevelSearch\":false,\"limitOutdoorAtLevel\":null,\"highlightEnabled\":true,\"highlightColor\":null,\"highlightOnSearch\":true,\"minZoom\":17,\"enableInteraction\":true},\"properties\":{\"enable\":{\"default\":false,\"description\":\"Enable indoor mode.\",\"type\":\"boolean\"},\"enableInteraction\":{\"default\":true,\"description\":\"Enable/disable interaction with indoor features (hover, click)\",\"type\":\"boolean\"},\"highlightColor\":{\"default\":null,\"description\":\"Color for highlight feature\",\"type\":[\"string\",\"null\"]},\"selectedColor\":{\"default\":null,\"description\":\"Color for selected feature\",\"type\":[\"string\",\"null\"]},\"hoveredColor\":{\"default\":null,\"description\":\"Color for hovered feature\",\"type\":[\"string\",\"null\"]},\"highlightEnabled\":{\"default\":true,\"description\":\"Enable/disable highlight feature on click\",\"type\":\"boolean\"},\"highlightOnSearch\":{\"default\":true,\"description\":\"Enable/disable highlight feature on search\",\"type\":\"boolean\"},\"limitOutdoorAtLevel\":{\"default\":null,\"description\":\"Define which level should show outdoor pinpoint. If null all levels will show outdoor pinpoint.\",\"type\":[\"number\",\"null\"]},\"minZoom\":{\"default\":17,\"description\":\"Define the zoom level at which indoor mode will be enabled\",\"type\":\"number\"},\"usePinpoints\":{\"default\":false,\"description\":\"If pinpoint are linked to indoor feature. It will automatically open pinpoint on feature click and highlight feature on pinpoint open.\",\"type\":\"boolean\"},\"useLevelSearch\":{\"default\":false,\"description\":\"If pinpoint search is made on the current level. If not, it will search on all levels.\",\"type\":\"boolean\"}},\"description\":\"Configuration relative to indoor\",\"type\":\"object\"},\"initialbearing\":{\"default\":0,\"description\":\"Initial bearing of the map.\",\"type\":\"number\"},\"introcard\":{\"default\":null,\"description\":\"Shows an information popin on map load.\",\"properties\":{\"active\":{\"default\":true,\"description\":\"If not true, the welcomeCard won't be displayed.\",\"title\":\"Active\",\"type\":\"boolean\"},\"avatar\":{\"description\":\"Custom user's avatar image.\",\"title\":\"Avatar URL\",\"type\":\"string\"},\"background\":{\"description\":\"URL background image shown behind the user's avatar, default is user's background image.\",\"title\":\"Background URL\",\"type\":\"string\"},\"class\":{\"description\":\"Custom classnames for the popin.\",\"title\":\"CSS classname\",\"type\":\"string\"},\"enableAroundMe\":{\"default\":false,\"description\":\"Display the 'around me' button on welcome card.\",\"title\":\"Display 'Around me' button\",\"type\":\"boolean\"},\"aroundMeTitle\":{\"title\":\"Title of the around me filter.\",\"description\":\"Title of the around me filter.\",\"type\":\"string\"},\"aroundMeSubtitle\":{\"title\":\"Subtitle of the around me filter.\",\"description\":\"Subtitle of the around me filter.\",\"type\":\"string\"},\"filters\":{\"description\":\"Enable filters on WelcomeCard.\",\"items\":{\"properties\":{\"type\":{\"description\":\"Type of filter.\",\"enum\":[\"tag\",\"when\",\"where\"],\"title\":\"Type of filter\",\"type\":\"string\"},\"title\":{\"description\":\"Title of the filter.\",\"title\":\"Title of the filter.\",\"type\":\"string\"},\"subtitle\":{\"description\":\"Subtitle of the filter.\",\"title\":\"Subtitle of the filter.\",\"type\":\"string\"}},\"type\":\"object\"},\"required\":[\"type\"],\"type\":\"array\"},\"noBackground\":{\"default\":false,\"description\":\"Hide the user's background image.\",\"title\":\"Hide Backround\",\"type\":\"boolean\"},\"permanent\":{\"default\":true,\"description\":\"Show WelcomeCard everytime.\",\"title\":\"Permanent WelcomeCard\",\"type\":\"boolean\"},\"text\":{\"description\":\"Displayed under the title as HTML.\",\"title\":\"HTML Text\",\"type\":\"string\"},\"title\":{\"description\":\"Displayed under the user's avatar with bold font.\",\"title\":\"Title\",\"type\":\"string\"}},\"type\":[\"object\",\"null\"]},\"iscontributive\":{\"default\":false,\"description\":\"Tell if the map is contributive or not.\",\"type\":\"boolean\"},\"kiosk\":{\"default\":null,\"description\":\"Kiosk parameters like the photosphere image or position\",\"properties\":{\"list\":{\"type\":\"array\",\"default\":[],\"items\":{\"type\":\"object\",\"default\":null,\"properties\":{\"photosphere\":{\"type\":[\"object\",\"null\"],\"default\":null,\"properties\":{\"day\":{\"type\":\"string\"},\"night\":{\"type\":\"string\"}}},\"kioskid\":{\"type\":\"string\",\"default\":\"\"},\"accessibleheight\":{\"type\":[\"number\",\"string\"],\"description\":\"Kiosk mode has a max height for interactive button for accessibility purpose\",\"default\":50},\"heading\":{\"description\":\"Heading is used to orient the photosphere according to the map (in degrees)\",\"type\":\"number\",\"default\":0},\"initialorientation\":{\"description\":\"Initial orientation of the view (in degrees)\",\"type\":\"number\",\"default\":0},\"position\":{\"properties\":{\"lat\":{\"description\":\"Latitude of position for photosphere.\",\"title\":\"Latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of position for photosphere.\",\"title\":\"Longitude\",\"type\":\"number\"},\"alt\":{\"description\":\"Altitude of position for photosphere.\",\"title\":\"Altitude\",\"type\":\"number\"},\"level\":{\"description\":\"Level of position for photosphere.\",\"title\":\"Level\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"rotationduration\":{\"description\":\"Rotation of sphere. Number of seconds for a complete loop\",\"type\":\"number\",\"default\":35}}}},\"screensavertype\":{\"type\":[\"string\",\"null\"],\"enum\":[\"auto\",null],\"default\":\"auto\"},\"timeoutscreensaver\":{\"type\":\"number\",\"default\":30000},\"type\":{\"type\":\"string\",\"default\":\"default\",\"enum\":[\"default\",\"desktop\"]},\"intro\":{\"type\":[\"object\",\"null\"],\"default\":null,\"properties\":{\"text\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"}}}},\"type\":[\"object\",\"null\"]},\"kioskid\":{\"default\":null,\"type\":[\"string\",\"null\"]},\"kiosk_viewer\":{\"default\":null,\"description\":\"Id of kiosk viewer map\",\"type\":[\"string\",\"null\"]},\"kioskvieweroptions\":{\"type\":\"object\",\"default\":{\"status\":\"public\",\"features\":[\"measurement\",\"object-search\"]},\"properties\":{\"status\":{\"type\":\"string\",\"enum\":[\"public\",\"private\"],\"default\":\"public\"},\"features\":{\"type\":\"array\",\"default\":[\"measurement\",\"object-search\"],\"items\":{\"type\":\"string\",\"enum\":[\"measurement\",\"object-search\"]}}}},\"itinerariesoptions\":{\"type\":\"object\",\"default\":{\"importantStepsOnly\":false,\"centerOn\":\"user\",\"centerOnUserZoom\":18},\"properties\":{\"importantStepsOnly\":{\"type\":\"boolean\",\"default\":false},\"centerOn\":{\"type\":\"string\",\"description\":\"What to center the map on when navigation starts.\",\"enum\":[\"itinerary\",\"user\"],\"default\":\"user\"},\"centerOnUserZoom\":{\"type\":\"number\",\"description\":\"Zoom level when centerOn is user.\",\"default\":18},\"buttons\":{\"type\":\"array\",\"description\":\"Ordered buttons shown in the direction sidebar. When omitted in multi routing mode, default travel mode buttons are used.\",\"items\":{\"oneOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"const\":\"travelMode\"},\"mode\":{\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\",\"VTC\"]},\"icon\":{\"description\":\"Optional Font-Awesome icon override.\",\"type\":\"string\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"disableWhenPmr\":{\"description\":\"Disable this button when PMR access is active.\",\"type\":\"boolean\",\"default\":false},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"type\",\"mode\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"const\":\"rules\"},\"icon\":{\"description\":\"Font-Awesome icon name.\",\"type\":\"string\"},\"rules\":{\"description\":\"Itinerary rules applied when this button is selected.\",\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"travelMode\":{\"description\":\"Travel mode used for the routing request.\",\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\"],\"default\":\"WALK\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"type\",\"icon\",\"rules\"]},{\"type\":\"object\",\"description\":\"A composite itinerary assembled from several independently-routed legs (e.g. walk to the nearest stop, then ride the custom graph to the destination).\",\"properties\":{\"type\":{\"const\":\"composite\"},\"icon\":{\"description\":\"Font-Awesome icon name.\",\"type\":\"string\"},\"label\":{\"description\":\"Optional accessible label for the button.\",\"type\":\"string\"},\"showForTags\":{\"description\":\"Show this button only when the destination pinpoint carries at least one of these tags. Omitted or empty means always shown.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"waypoints\":{\"description\":\"Ordered points bounding the legs. Length must be segments.length + 1.\",\"type\":\"array\",\"minItems\":2,\"items\":{\"oneOf\":[{\"description\":\"An endpoint of the direction.\",\"type\":\"string\",\"enum\":[\"origin\",\"destination\"]},{\"description\":\"The nearest pinpoint carrying the given tag, measured from the anchor.\",\"type\":\"object\",\"properties\":{\"nearestTag\":{\"description\":\"Tag marking candidate stops.\",\"type\":\"string\"},\"anchor\":{\"description\":\"Point the nearest stop is measured from. Defaults to the previous waypoint.\",\"type\":\"string\",\"enum\":[\"origin\",\"destination\",\"previous\"],\"default\":\"previous\"}},\"required\":[\"nearestTag\"]}]}},\"segments\":{\"description\":\"Per-leg routing configuration. One entry per leg, in order.\",\"type\":\"array\",\"minItems\":1,\"items\":{\"type\":\"object\",\"properties\":{\"travelMode\":{\"description\":\"Travel mode used for this leg's routing request.\",\"type\":\"string\",\"enum\":[\"WALK\",\"CAR\",\"TRANSIT\",\"BIKE\"]},\"rules\":{\"description\":\"Itinerary rules applied to this leg.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"travelMode\"]}}},\"required\":[\"type\",\"icon\",\"waypoints\",\"segments\"]}]}}}},\"layers\":{\"default\":[],\"description\":\"Additional feature layers.\",\"items\":{\"properties\":{\"altitude\":{\"description\":\"The altitude (in meters) of this layer, for multi-floor maps.\",\"title\":\"Altitude\",\"type\":\"number\"},\"clustering\":{\"default\":false,\"description\":\"Use this layer for front-end hierarchy clustering.\",\"title\":\"Clustering\",\"type\":\"boolean\"},\"coordinates\":{\"default\":null,\"description\":\"Coordinates of each corner of the image. It can only be used with layer type image. Represented by an array of coordinates array [lng, lat]\",\"items\":{\"items\":{\"type\":\"number\"},\"type\":\"array\"},\"type\":[\"array\",\"null\"]},\"maxzoom\":{\"default\":18,\"description\":\"The maximum zoom at which the layer is visible (exclusive).\",\"minimum\":0,\"title\":\"Maximum zoom\",\"type\":\"integer\"},\"minzoom\":{\"default\":2,\"description\":\"The minimum zoom at which the layer is visible (inclusive).\",\"minimum\":0,\"title\":\"Minimum zoom\",\"type\":\"integer\"},\"onclick\":{\"default\":\"zoom\",\"enum\":[\"ignore\",\"popup\",\"tooltip\",\"zoom\"],\"title\":\"Action on click\",\"type\":\"string\"},\"onhover\":{\"default\":\"highlight\",\"enum\":[\"ignore\",\"highlight\"],\"title\":\"Action on hover\",\"type\":\"string\"},\"type\":{\"description\":\"The type of layer format (GeoJSON, vector tiles or image).\",\"enum\":[\"geojson\",\"image\",\"vector\"],\"title\":\"Type\",\"type\":\"string\"},\"url\":{\"description\":\"The URL from which to fetch the layer's data.\",\"title\":\"URL\",\"type\":\"string\"}},\"required\":[\"type\",\"url\"],\"type\":\"object\"},\"type\":\"array\"},\"limitperpage\":{\"default\":10,\"description\":\"Number of items per page in the livebar.\",\"type\":\"integer\"},\"linksenabled\":{\"default\":true,\"description\":\"Enable clicking on links (in pinpoint description or comments).\",\"type\":\"boolean\"},\"littlescreenthresholdwidth\":{\"default\":1030,\"description\":\"Max width before going to littleScreen mode.\",\"type\":\"integer\"},\"locked\":{\"default\":false,\"description\":\"Lock map, need to click it to unlock and use (no hover).\",\"type\":\"boolean\"},\"mapviewenabled\":{\"default\":true,\"description\":\"If false, hide the map and keep only the UI.\",\"type\":\"boolean\"},\"markersize\":{\"default\":100,\"type\":\"integer\",\"description\":\"Size of the map markers.\"},\"maxbounds\":{\"default\":null,\"description\":\"Restricts the map view to the given bounds.\",\"properties\":{\"_northEast\":{\"properties\":{\"lat\":{\"description\":\"Latitude of upper-right's corner (northEast).\",\"title\":\"NorthEast latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of upper-right's corner (northEast).\",\"title\":\"NorthEast longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"_southWest\":{\"properties\":{\"lat\":{\"description\":\"Latitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"}},\"required\":[\"_northEast\",\"_southWest\"],\"type\":[\"object\",\"null\"]},\"maximagewidth\":{\"default\":500,\"description\":\"Sets the maximum image width in sidebar. (in px)\",\"type\":\"integer\"},\"maxzoom\":{\"default\":18,\"description\":\"Maximum zoom level of the map.\",\"maximum\":24,\"minimum\":0,\"type\":\"integer\"},\"maxzoomcluster\":{\"default\":null,\"description\":\"Maximum zoom for clustering. Default will be maxzoom\",\"maximum\":24,\"minimum\":0,\"type\":[\"integer\",\"null\"]},\"menuextensions\":{\"default\":false,\"description\":\"Add options to the livemap menu.\",\"items\":{\"properties\":{\"icon\":{\"description\":\"Name of Font-Awesome Icon.\",\"title\":\"Icon\",\"type\":\"string\"},\"text\":{\"description\":\"Label for custom button.\",\"title\":\"Button's Label\",\"type\":\"string\"},\"url\":{\"description\":\"URL to redirect from.\",\"title\":\"URL\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":[\"array\",\"boolean\"]},\"metarouterurl\":{\"default\":null,\"description\":\"The meta router url to use\",\"type\":[\"string\",\"null\"]},\"minzoom\":{\"default\":2,\"description\":\"Minimum zoom level of the map.\",\"maximum\":24,\"minimum\":0,\"type\":\"integer\"},\"mobilethresholdwidth\":{\"default\":630,\"description\":\"When to consider the map as small/mobile. (main application container will be prefixed by 'mobile-view' class)\",\"type\":\"integer\"},\"mode\":{\"default\":\"default\",\"description\":\"Define the mode of the livemap if it should be with AR, for navigation or kiosk. This will change the UI and features\",\"enum\":[\"default\",\"kiosk_map\",\"kiosk_viewer\",\"kiosk_screensaver_map\"],\"type\":\"string\"},\"models\":{\"default\":null,\"description\":\"Define the URL of the 3d models to load in the map.\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"visible\":{\"default\":\"always\",\"type\":\"string\",\"enum\":[\"always\",\"3d\"]},\"url\":{\"type\":\"string\"},\"minzoom\":{\"default\":0,\"type\":\"number\"},\"maxzoom\":{\"default\":24,\"type\":\"number\"}}}},\"navigatefromposition\":{\"default\":true,\"description\":\"If it should use user location for itineraries\",\"type\":\"boolean\"},\"offline\":{\"default\":{\"blacklist\":[],\"enable\":false,\"tiles\":null},\"description\":\"Configuration relative to the offline.\",\"properties\":{\"blacklist\":{\"default\":[],\"description\":\"Array of list to not use for offline\",\"type\":\"array\"},\"enable\":{\"default\":false,\"description\":\"Enable the offline feature\",\"type\":\"boolean\"},\"tiles\":{\"default\":null,\"description\":\"Mbtiles file to load for offline tiles\",\"type\":[\"string\",\"null\"]}},\"type\":\"object\"},\"openedsearch\":{\"default\":false,\"description\":\"Open search bar at startup (if not opened at startup it can opened on click on search button).\",\"type\":\"boolean\"},\"openeventinpinpoint\":{\"default\":false,\"description\":\"Open event inside the pinpoint view instead of opening new view\",\"type\":\"boolean\"},\"imageoperation\":{\"default\":{\"thumbnail\":\"fit\",\"sidebar\":\"fit\"},\"description\":\"Operation applied to the image by the backend\",\"properties\":{\"thumbnail\":{\"default\":\"fit\",\"description\":\"operation applied for images used in map thumbnails\",\"type\":\"string\",\"enum\":[\"contain\",\"fit\"]},\"sidebar\":{\"default\":\"fit\",\"description\":\"operation applied for images used in sidebar\",\"type\":\"string\",\"enum\":[\"contain\",\"fit\"]}},\"type\":\"object\"},\"openedsidebar\":{\"description\":\"Open sidebar by default on featured list or sources ('featured' or 'sources').\",\"enum\":[\"\",\"featured\",\"sources\"],\"default\":\"\",\"type\":\"string\"},\"outdoorpackdatabbox\":{\"default\":null,\"description\":\"Force outdoor bbox in packdata when livemap use landing_area\",\"type\":[\"string\",\"null\"]},\"pinpointopentype\":{\"description\":\"Defined how the pinpoint should be opened, if it opens from the sidebar or with a popin\",\"default\":\"sidebar\",\"enum\":[\"sidebar\",\"popin\"],\"type\":\"string\"},\"pitchenabled\":{\"description\":\"Allow user to pitching and bearing map\",\"type\":\"boolean\",\"default\":false},\"pitchstart\":{\"description\":\"initial pitch (tilt) of the map, measured in degrees away from the plane of the screen (0-60)\",\"type\":\"integer\",\"default\":0},\"pitchswitcherbutton\":{\"description\":\"Show a button to switch pitch\",\"type\":\"boolean\",\"default\":false},\"providersenabled\":{\"description\":\"Use providers to locate the user\",\"type\":\"boolean\",\"default\":true},\"routingtype\":{\"default\":\"google\",\"description\":\"The provider to use for routing.\",\"enum\":[\"google\",\"deutsche-bahn\",\"osrm\",\"otp\",\"cityway\",\"idfm\",\"navitia\",\"tictactrip\"],\"type\":\"string\"},\"routingurl\":{\"default\":\"https://routing-osrm.getwemap.com\",\"description\":\"The root URL for the OSRM routing server.\",\"type\":\"string\"},\"routingmode\":{\"default\":\"driving\",\"description\":\"Mode of routing.\",\"enum\":[\"driving\",\"walking\",\"bike\",\"bus\",\"multi\"],\"type\":\"string\"},\"samewindow\":{\"default\":false,\"description\":\"Open links (from pinpoints descriptions or comments) in the same page.\",\"type\":\"boolean\"},\"scaninstructions\":{\"default\":\"\",\"description\":\"Instruction message displayed when the scan view is open.\",\"type\":\"string\"},\"scrollwheelzoom\":{\"default\":true,\"description\":\"Enable zoom using the scrollwheel.\",\"type\":\"boolean\"},\"searchcontrol\":{\"default\":true,\"description\":\"Show/hide search button.\",\"type\":\"boolean\"},\"searchparameters\":{\"default\":{\"geocoding\":true,\"region\":null,\"multilevel\":false,\"boundingbox\":null,\"extended\":false,\"sortbyname\":null,\"query_fields\":null,\"sortbydistance\":false},\"description\":\"Configuration relative to the search engine\",\"properties\":{\"extended\":{\"default\":false,\"description\":\"Extend search will search on bigger bounds even if results not empty\",\"type\":\"boolean\"},\"geocoding\":{\"default\":true,\"description\":\"Enable geocoding for search\",\"type\":\"boolean\"},\"multilevel\":{\"default\":false,\"description\":\"Enable search on all level instead of current level\",\"type\":\"boolean\"},\"region\":{\"default\":null,\"description\":\"Specify the region (country) in which the geocoding search should be done\",\"type\":[\"string\",\"null\"]},\"sortbyname\":{\"default\":null,\"description\":\"Specify the sorting results method\",\"type\":[\"string\",\"null\"],\"enum\":[\"ASC\",\"DESC\",null]},\"query_fields\":{\"default\":null,\"description\":\"Specify fields to search on\",\"type\":[\"string\",\"null\"]},\"sortbydistance\":{\"default\":false,\"description\":\"Specify the sorting results by distance\",\"type\":\"boolean\"},\"boundingbox\":{\"default\":null,\"description\":\"Limit results to only those contained within the supplied bounding box.\",\"properties\":{\"_northEast\":{\"properties\":{\"lat\":{\"description\":\"Latitude of upper-right's corner (northEast).\",\"title\":\"NorthEast latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of upper-right's corner (northEast).\",\"title\":\"NorthEast longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"},\"_southWest\":{\"properties\":{\"lat\":{\"description\":\"Latitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest latitude\",\"type\":\"number\"},\"lng\":{\"description\":\"Longitude of bottom-left's corner (southWest).\",\"title\":\"SouthWest longitude\",\"type\":\"number\"}},\"required\":[\"lat\",\"lng\"],\"type\":\"object\"}},\"required\":[\"_northEast\",\"_southWest\"],\"type\":[\"object\",\"null\"]}},\"type\":\"object\"},\"searchplaceholder\":{\"default\":null,\"description\":\"Override search input placeholder.\",\"type\":[\"object\",\"null\"]},\"searchclustertiles\":{\"default\":false,\"description\":\"If the search request should return clusters\",\"type\":\"boolean\"},\"seo\":{\"default\":null,\"description\":\"Configuration relative to the SEO.\",\"properties\":{\"bindPageTitleToOpenedEntity\":{\"default\":true,\"description\":\"Replace the page title by the name of the opened entity.\",\"type\":\"boolean\"},\"pageTitleBindingPrefix\":{\"default\":\"\",\"description\":\"When the page title is binded to the content, you can configure the base of the title with this parameter. The final page title will be the concatenation of this parameter and the opened entity name.\",\"type\":\"string\"},\"baseUrl\":{\"default\":\"\",\"description\":\"Base url for the SEO.\",\"type\":\"string\"},\"bindPageDescriptionToOpenedEntity\":{\"default\":true,\"description\":\"Replace the page description by the description of the opened entity.\",\"type\":\"boolean\"},\"bindSchemaToOpenedEntity\":{\"default\":true,\"description\":\"Generate the schema.org structure based on the opened content.\",\"type\":\"boolean\"}},\"type\":[\"object\",\"null\"]},\"services\":{\"default\":{\"g7\":false,\"uber\":false,\"velib\":false},\"description\":\"Configuration relative to the external services.\",\"properties\":{\"g7\":{\"default\":false,\"description\":\"Use G7 services\",\"type\":\"boolean\"},\"uber\":{\"default\":false,\"description\":\"Use Uber services\",\"type\":\"boolean\"},\"velib\":{\"default\":false,\"description\":\"Use velib services\",\"type\":\"boolean\"}},\"type\":\"object\"},\"sharesnippet\":{\"default\":false,\"description\":\"Enables the sharing of livemaps (shows a button).\",\"type\":\"boolean\"},\"showaddress\":{\"default\":true,\"description\":\"Show pinpoint's address.\",\"type\":\"boolean\"},\"showauthor\":{\"default\":true,\"description\":\"Show pinpoint's author.\",\"type\":\"boolean\"},\"showfinishedeventscontrol\":{\"default\":true,\"description\":\"Display a checkbox to hide/show the finished events.\",\"type\":\"boolean\"},\"showmediainresults\":{\"default\":false,\"description\":\"Show/hide media in result list\",\"type\":\"boolean\"},\"showlikes\":{\"default\":false,\"description\":\"Show/hide likes in pinpoint lists and headers.\",\"type\":\"boolean\"},\"showmultilevel\":{\"default\":{\"position\":false,\"itinerary\":false},\"description\":\"Show/hide element depending on current floor for a multilevel map\",\"properties\":{\"position\":{\"type\":\"boolean\",\"default\":false},\"itinerary\":{\"type\":\"boolean\",\"default\":false}},\"type\":\"object\"},\"showpinpointmedia\":{\"default\":true,\"description\":\"Show/hide media (picture or video) in pinpoint detailed description\",\"type\":\"boolean\"},\"showrelatedlists\":{\"default\":true,\"description\":\"Show the lists pinpoints belong to.\",\"type\":\"boolean\"},\"showrelativedate\":{\"default\":false,\"description\":\"Show pinpoint's relative creation date.\",\"type\":\"boolean\"},\"signupenable\":{\"default\":false,\"description\":\"Enable the sign up button in the sign-in popin.\",\"type\":\"boolean\"},\"sidebarsforceopen\":{\"default\":[\"navigation\",\"direction\"],\"description\":\"Force sidebar to be opened even if parameter enablesidebar is set to false\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"pinpoint\",\"event\",\"lists\",\"multipoint\",\"sources\",\"navigation\",\"direction\",\"navigation-menu\",\"velib\",\"object-search\",\"annotate\"]}},\"stillswitch\":{\"default\":false,\"description\":\"Should the map stay still (in location) when switching emm ?\",\"type\":\"boolean\"},\"switcher\":{\"default\":null,\"description\":\"Switch between livemaps via theirs emmid.\",\"properties\":{\"direction\":{\"type\":\"string\"},\"items\":{\"items\":{\"properties\":{\"action\":{\"properties\":{\"type\":{\"emmid\":\"string\"}},\"type\":\"object\"},\"icon\":{\"properties\":{\"content\":{\"type\":\"string\"},\"place\":{\"type\":\"string\"},\"style\":{\"type\":\"object\"},\"type\":{\"type\":\"string\"}},\"type\":\"object\"},\"text\":{\"type\":\"string\"}},\"type\":\"object\"},\"type\":\"array\"},\"itemsStyle\":{\"type\":\"object\"},\"itemsStyleActive\":{\"type\":\"object\"},\"itemsStyleHover\":{\"type\":\"object\"},\"style\":{\"type\":\"object\"}},\"type\":[\"object\",\"null\"]},\"tagsoverlap\":{\"default\":false,\"description\":\"Enable/disable OR/AND logic for tags filtering\",\"type\":\"boolean\"},\"tilesstyle\":{\"default\":\"https://tiles.getwemap.com/styles/wemap-v2-en/style.json\",\"description\":\"URL for the vector tiles style.\",\"type\":\"string\"},\"tilesstyle_asset_id\":{\"default\":null,\"description\":\"Asset ID for the vector tiles style.\",\"type\":[\"integer\",\"null\"]},\"tilestoken\":{\"default\":null,\"description\":\"Token for the vector tiles style. (ex : using Mapbox Terrain, or Mapbox Satellite)\",\"type\":[\"string\",\"null\"]},\"timecircle\":{\"default\":null,\"description\":\"Circle of distance to go in given time\",\"properties\":{\"type\":{\"type\":\"string\",\"default\":\"walk\"},\"time\":{\"type\":\"integer\",\"default\":300}},\"type\":[\"object\",\"null\"]},\"uber\":{\"default\":false,\"description\":\"Add Uber to pinpoint petals.\",\"type\":\"boolean\"},\"usecalendar\":{\"default\":true,\"description\":\"Deprecated property.\",\"type\":\"boolean\"},\"useevents\":{\"default\":false,\"description\":\"Current map should use entities events or not.\",\"type\":\"boolean\"},\"uselivedatawithoutwebsocket\":{\"default\":false,\"description\":\"[Elections] feed map's color from remote without be notified by WebSocket\",\"type\":\"boolean\"},\"usertour\":{\"type\":[\"object\",\"null\"],\"default\":null,\"description\":\"Display a user tour at first start if enabled.\",\"properties\":{\"active\":{\"type\":\"boolean\",\"default\":true,\"description\":\"Enable or disable the user tour.\"},\"steps\":{\"type\":\"array\",\"default\":[],\"description\":\"Steps of the user tour.\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"Type of the step\",\"enum\":[\"filterButton\",\"menuButton\",\"livebarButton\",\"pinpointPetals\",\"shareViewButton\",\"custom\"]},\"body\":{\"type\":\"string\",\"description\":\"Text of the step\"},\"selector\":{\"type\":\"string\",\"description\":\"Selector to get the element to point with this step.\"},\"routename\":{\"type\":\"string\",\"description\":\"Name of the route to navigate before displaying the step tooltip.\"},\"routeparams\":{\"type\":\"object\",\"description\":\"Parameters of the route to navigate before displaying the step tooltip.\",\"default\":{}},\"routequery\":{\"type\":\"object\",\"description\":\"Query of the route to navigate before displaying the step tooltip.\",\"default\":{}},\"maskstyle\":{\"type\":\"object\",\"description\":\"Inline CSS style to apply to the user tour mask when displaying this step.\"},\"visibility\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"mobile\",\"desktop\",\"littlescreen\"]},\"default\":[\"mobile\",\"desktop\",\"littlescreen\"]}},\"required\":[\"type\"]}}}},\"tagrules\":{\"default\":[],\"description\":\"Rules to apply for tags\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"description\":\"Type of rule\",\"enum\":[\"restricted-search\",\"search\",\"size\",\"featured-direction\"],\"type\":\"string\"},\"tags\":{\"description\":\"List of tags to apply the rule\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"filteringLogic\":{\"description\":\"Logic to apply when filtering tags (OR or AND)\",\"type\":\"string\",\"enum\":[\"OR\",\"AND\"],\"default\":\"AND\"},\"minzoom\":{\"default\":null,\"description\":\"Min zoom to apply the rule\",\"type\":[\"number\",\"null\"]},\"scale\":{\"default\":null,\"description\":\"Scale of pinpoint marker, use it with type 'size'\",\"type\":[\"number\",\"null\"]},\"maxzoom\":{\"default\":null,\"description\":\"Max zoom to apply the rule\",\"type\":[\"number\",\"null\"]}}},\"type\":\"array\"},\"usetags\":{\"anyOf\":[{\"type\":\"boolean\"},{\"properties\":{\"active\":{\"type\":\"boolean\"},\"filteringLogic\":{\"type\":\"string\",\"default\":\"DEFAULT\",\"enum\":[\"AND\",\"OR\",\"DEFAULT\"]},\"categories\":{\"items\":{\"properties\":{\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"}},\"required\":[\"name\",\"slug\"],\"type\":\"object\"},\"type\":\"array\"},\"clickable\":{\"type\":\"boolean\"},\"tags\":{\"items\":{\"properties\":{\"category\":{\"type\":[\"boolean\",\"string\"]},\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"},\"visibility\":{\"type\":\"string\"}},\"required\":[\"name\",\"slug\"],\"type\":\"object\"},\"type\":\"array\"}},\"type\":\"object\"}],\"description\":\"Show tags button in search bar, enable search by tags.\",\"type\":[\"object\",\"boolean\"],\"default\":false},\"webgl\":{\"default\":true,\"description\":\"Force WEBGL livemap's rendering.\",\"type\":\"boolean\"},\"websocketenabled\":{\"default\":false,\"description\":\"Enable websocket communication between livemap and wss://ws.getwemap.com/{channel}\",\"type\":\"boolean\"},\"websocketurl\":{\"default\":null,\"description\":\"WebSocket URL for live updates.\",\"type\":[\"string\",\"null\"]},\"webworkerclustering\":{\"default\":false,\"description\":\"Process superclustering in a webworker\",\"type\":\"boolean\"},\"welcomebuttonlabel\":{\"default\":\"OK !\",\"description\":\"Welcome card button label.\",\"type\":\"string\"},\"zoomcontrol\":{\"default\":true,\"description\":\"Enable zoom control.\",\"type\":\"boolean\"}}"),
413
442
  type: "object"
414
- }, T = function(e, t) {
415
- let n = e;
416
- return s(n) && (n = j(n)), Array.isArray(n) ? n : t;
417
443
  }, E = function(e, t) {
418
- return l(e) ? s(e) ? (e = e.toLowerCase(), e === "true") : typeof e == "boolean" ? e : t : t;
444
+ let n = e;
445
+ return c(n) && (n = M(n)), Array.isArray(n) ? n : t;
419
446
  }, D = function(e, t) {
447
+ return u(e) ? c(e) ? (e = e.toLowerCase(), e === "true") : typeof e == "boolean" ? e : t : t;
448
+ }, O = function(e, t) {
420
449
  let n = Number(e);
421
450
  return isNaN(n) ? t : n;
422
- }, O = function(e, t) {
451
+ }, k = function(e, t) {
423
452
  let n = Number(e);
424
453
  return isNaN(n) ? t : n;
425
- }, k = function(e) {
426
- let t = w.properties[e], n = P.snippet[e];
427
- return l(n) ? (s(n) && (n = j(n)), u(n) || (n = {}), n = P.fillEmptyByDefault(n, "properties" in t ? t.properties : {}), n) : t.default;
454
+ }, A = function(e) {
455
+ let t = T.properties[e], n = F.snippet[e];
456
+ return u(n) ? (c(n) && (n = M(n)), d(n) || (n = {}), n = F.fillEmptyByDefault(n, "properties" in t ? t.properties : {}), n) : t.default;
428
457
  };
429
- function A(t, n) {
430
- let r = j(t);
431
- return r ? new e(g(r._northEast), g(r._southWest)) : n;
458
+ function j(t, n) {
459
+ let r = M(t);
460
+ return r ? new e(_(r._northEast), _(r._southWest)) : n;
432
461
  }
433
- var j = function(e) {
434
- if (!s(e) || e === null) return e;
462
+ var M = function(e) {
463
+ if (!c(e) || e === null) return e;
435
464
  try {
436
465
  try {
437
466
  return JSON.parse(decodeURI(e));
@@ -441,34 +470,34 @@ var j = function(e) {
441
470
  } catch {
442
471
  return null;
443
472
  }
444
- }, M = function(e) {
473
+ }, N = function(e) {
445
474
  let t = e;
446
- if (s(t) && (t = j(t)), !u(t)) return {
475
+ if (c(t) && (t = M(t)), !d(t)) return {
447
476
  tags: [],
448
477
  categories: []
449
478
  };
450
479
  let n = Array.isArray(t.tags) ? t.tags : [], r = Array.isArray(t.categories) ? t.categories : [];
451
480
  return {
452
- tags: n.filter((e) => u(e) && s(e.name) && s(e.slug)).map((e) => {
481
+ tags: n.filter((e) => d(e) && c(e.name) && c(e.slug)).map((e) => {
453
482
  let t = {
454
483
  name: e.name,
455
484
  slug: e.slug
456
485
  };
457
- return s(e.category) && (t.category = e.category), s(e.color) && (t.color = e.color), (e.icon === null || s(e.icon)) && (t.icon = e.icon), t;
486
+ return c(e.category) && (t.category = e.category), c(e.color) && (t.color = e.color), (e.icon === null || c(e.icon)) && (t.icon = e.icon), t;
458
487
  }),
459
- categories: r.filter((e) => u(e) && s(e.name) && s(e.slug)).map((e) => ({
488
+ categories: r.filter((e) => d(e) && c(e.name) && c(e.slug)).map((e) => ({
460
489
  name: e.name,
461
490
  slug: e.slug
462
491
  }))
463
492
  };
464
- }, N = function(e, t) {
493
+ }, P = function(e, t) {
465
494
  return e == null || typeof e != "string" ? t : e;
466
- }, P = class e {
495
+ }, F = class e {
467
496
  static snippet = {};
468
497
  static mapObject;
469
498
  static getProperty(t) {
470
- let n = w.properties[t];
471
- return n ? n.type === "array" ? T(e.snippet[t], n.default) : n.type === "boolean" ? E(e.snippet[t], n.default) : n.type === "integer" ? D(e.snippet[t], n.default) : n.type === "number" ? O(e.snippet[t], n.default) : n.type === "string" ? N(e.snippet[t], n.default) : n.type === "object" ? k(t) : null : null;
499
+ let n = T.properties[t];
500
+ return n ? n.type === "array" ? E(e.snippet[t], n.default) : n.type === "boolean" ? D(e.snippet[t], n.default) : n.type === "integer" ? O(e.snippet[t], n.default) : n.type === "number" ? k(e.snippet[t], n.default) : n.type === "string" ? P(e.snippet[t], n.default) : n.type === "object" ? A(t) : null : null;
472
501
  }
473
502
  static fillEmptyByDefault(t, n) {
474
503
  let r = { ...t };
@@ -485,11 +514,11 @@ var j = function(e) {
485
514
  dragging: e.getProperty("dragging"),
486
515
  emmid: Number(e.mapObject.id),
487
516
  indoor: e.getProperty("indoor"),
488
- initialBounds: m(t),
517
+ initialBounds: h(t),
489
518
  initialBearing: e.getProperty("initialbearing"),
490
519
  limit: Number(e.mapObject.count),
491
520
  locked: e.getProperty("locked"),
492
- maxBounds: A(e.snippet.maxbounds, d),
521
+ maxBounds: j(e.snippet.maxbounds, f),
493
522
  maxZoom: e.getProperty("maxzoom"),
494
523
  minZoom: e.getProperty("minzoom"),
495
524
  name: e.mapObject.name,
@@ -500,23 +529,23 @@ var j = function(e) {
500
529
  routingType: e.getProperty("routingtype"),
501
530
  routingUrl: e.getProperty("routingurl"),
502
531
  scrollWheelZoom: e.getProperty("scrollwheelzoom"),
503
- tags: M(e.snippet.usetags),
532
+ tags: N(e.snippet.usetags),
504
533
  tilesStyle: e.getProperty("tilesstyle")
505
534
  };
506
535
  }
507
- }, F = {
536
+ }, I = {
508
537
  colorPrimary: "#2f7de1",
509
538
  colorOnPrimary: "#ffffff",
510
539
  colorSurface: "#ffffff",
511
540
  colorOnSurface: "#1a1a1a"
512
541
  };
513
- function I(e) {
542
+ function L(e) {
514
543
  return {
515
- ...F,
544
+ ...I,
516
545
  ...e ?? {}
517
546
  };
518
547
  }
519
- function L(e) {
548
+ function R(e) {
520
549
  return {
521
550
  "--wemap-color-primary": e.colorPrimary,
522
551
  "--wemap-color-on-primary": e.colorOnPrimary,
@@ -526,9 +555,9 @@ function L(e) {
526
555
  }
527
556
  //#endregion
528
557
  //#region src/CoreConfig.ts
529
- var R = class e {
558
+ var z = class e {
530
559
  static snippet;
531
- static theme = I();
560
+ static theme = L();
532
561
  static client = {};
533
562
  livemapService = null;
534
563
  env = "production";
@@ -538,12 +567,12 @@ var R = class e {
538
567
  }
539
568
  async init(t) {
540
569
  if (!t.emmid || !t.token) throw Error("emmid and token are required");
541
- this.env = t.env || "production", e.theme = I(t.theme), e.client = t.client ?? {};
570
+ this.env = t.env || "production", e.theme = L(t.theme), e.client = t.client ?? {};
542
571
  let n = this.getBaseUrl();
543
572
  this.livemapService = new i(n);
544
573
  try {
545
574
  let n = await this.livemapService.fetchLivemap(t.emmid);
546
- e.snippet = P.parse(n);
575
+ e.snippet = F.parse(n);
547
576
  } catch (e) {
548
577
  throw console.error("Failed to initialize Core SDK:", e), e;
549
578
  }
@@ -588,7 +617,7 @@ var R = class e {
588
617
  return e.client;
589
618
  }
590
619
  static getThemeCssVariables() {
591
- return L(e.theme);
620
+ return R(e.theme);
592
621
  }
593
622
  createBuildingProvider() {
594
623
  let t = new a(this.getBaseUrl(), e.getConfig().emmid);
@@ -597,12 +626,15 @@ var R = class e {
597
626
  createBuildingService() {
598
627
  return new a(this.getBaseUrl(), e.getConfig().emmid);
599
628
  }
629
+ createWallService() {
630
+ return new s(this.getBaseUrl(), e.getConfig().emmid);
631
+ }
600
632
  createPinpointManager() {
601
- return new b(this.getBaseUrl(), e.getConfig().emmid);
633
+ return new x(this.getBaseUrl(), e.getConfig().emmid);
602
634
  }
603
635
  createGeocodingService(e) {
604
- return new S(e);
636
+ return new C(e);
605
637
  }
606
- }, z = new R();
638
+ }, B = new z();
607
639
  //#endregion
608
- export { a as BuildingService, R as CoreConfig, F as DEFAULT_THEME, x as GEOCODING_BASE_URL, S as GeocodingService, r as HttpClient, n as HttpError, i as LivemapService, b as PinpointManager, h as boundsToDelta, z as core, g as latLngLikeToCoordinates, I as resolveTheme, L as themeToCssVariables };
640
+ export { a as BuildingService, z as CoreConfig, I as DEFAULT_THEME, S as GEOCODING_BASE_URL, C as GeocodingService, r as HttpClient, n as HttpError, i as LivemapService, x as PinpointManager, s as WallService, g as boundsToDelta, B as core, _ as latLngLikeToCoordinates, L as resolveTheme, R as themeToCssVariables };