@3dwayfinder/wayfinder-vue-components 1.2.1 → 1.2.4

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.
@@ -1,244 +1,588 @@
1
1
  import Vue$1 from 'vue';
2
2
 
3
- /*!
4
- * vuex v3.6.2
5
- * (c) 2021 Evan You
6
- * @license MIT
7
- */
8
- function applyMixin (Vue) {
9
- var version = Number(Vue.version.split('.')[0]);
10
-
11
- if (version >= 2) {
12
- Vue.mixin({ beforeCreate: vuexInit });
13
- } else {
14
- // override init and inject vuex init procedure
15
- // for 1.x backwards compatibility.
16
- var _init = Vue.prototype._init;
17
- Vue.prototype._init = function (options) {
18
- if ( options === void 0 ) options = {};
19
-
20
- options.init = options.init
21
- ? [vuexInit].concat(options.init)
22
- : vuexInit;
23
- _init.call(this, options);
24
- };
25
- }
26
-
27
- /**
28
- * Vuex init hook, injected into each instances init hooks list.
29
- */
30
-
31
- function vuexInit () {
32
- var options = this.$options;
33
- // store injection
34
- if (options.store) {
35
- this.$store = typeof options.store === 'function'
36
- ? options.store()
37
- : options.store;
38
- } else if (options.parent && options.parent.$store) {
39
- this.$store = options.parent.$store;
3
+ //
4
+ var wayfinder$1;
5
+ var script$m = {
6
+ name: 'Map',
7
+ props: {
8
+ project: {
9
+ type: String
10
+ },
11
+ api: {
12
+ type: String,
13
+ default: "//api.3dwayfinder.com/"
14
+ },
15
+ assets: {
16
+ type: String,
17
+ default: "//static.3dwayfinder.com/shared/"
40
18
  }
41
- }
42
- }
43
-
44
- var target = typeof window !== 'undefined'
45
- ? window
46
- : typeof global !== 'undefined'
47
- ? global
48
- : {};
49
- var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
50
-
51
- function devtoolPlugin (store) {
52
- if (!devtoolHook) { return }
53
-
54
- store._devtoolHook = devtoolHook;
55
-
56
- devtoolHook.emit('vuex:init', store);
57
-
58
- devtoolHook.on('vuex:travel-to-state', function (targetState) {
59
- store.replaceState(targetState);
60
- });
19
+ },
61
20
 
62
- store.subscribe(function (mutation, state) {
63
- devtoolHook.emit('vuex:mutation', mutation, state);
64
- }, { prepend: true });
21
+ mounted() {
22
+ this.load();
23
+ },
65
24
 
66
- store.subscribeAction(function (action, state) {
67
- devtoolHook.emit('vuex:action', action, state);
68
- }, { prepend: true });
69
- }
25
+ methods: {
26
+ load() {
27
+ //if (typeof Wayfinder2D !== "undefined" || typeof Wayfinder2D !== "undefined")
28
+ // throw new Error("Wayfinder not loaded");
29
+ // wayfinder = new Wayfinder3D();
30
+ if (typeof this.$WF_MAP_TYPE !== "undefined" && this.$WF_MAP_TYPE == "2d") {
31
+ wayfinder$1 = new Wayfinder2D();
32
+ } else {
33
+ wayfinder$1 = new Wayfinder3D();
34
+ } // WayfinderAPI.LOCATION = 'http://localhost:8080/api/';
70
35
 
71
- /**
72
- * forEach for object
73
- */
74
- function forEachValue (obj, fn) {
75
- Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });
76
- }
77
36
 
78
- function isObject (obj) {
79
- return obj !== null && typeof obj === 'object'
80
- }
37
+ Vue$1.prototype.$wayfinder = wayfinder$1;
38
+ Vue$1.directive('wf-translate', {
39
+ bind: function (el, binding, vnode) {
40
+ if (wayfinder$1) {
41
+ var key = typeof binding.value == "string" ? binding.value : binding.expression;
42
+ el.setAttribute("data-translation-element", key);
43
+ wayfinder$1.translator.translateElement(key, el);
44
+ }
45
+ }
46
+ });
47
+ WayfinderAPI.LOCATION = this.api;
48
+ wayfinder$1.options.assetsLocation = this.assets;
49
+ console.log('this.project', this.project);
81
50
 
82
- function isPromise (val) {
83
- return val && typeof val.then === 'function'
84
- }
51
+ if (this.project) {
52
+ wayfinder$1.options.project = this.project;
53
+ }
85
54
 
86
- function partial (fn, arg) {
87
- return function () {
88
- return fn(arg)
89
- }
90
- }
55
+ wayfinder$1.open();
56
+ var scope = this;
57
+ var pathTextTime = wayfinder$1.settings.getInt('path.message.duration', 5) * 1000;
58
+ wayfinder$1.events.on("data-loaded", function () {
59
+ console.log('data-loaded', scope.loaded, scope.$store);
91
60
 
92
- // Base data struct for store's module, package with some attribute and method
93
- var Module = function Module (rawModule, runtime) {
94
- this.runtime = runtime;
95
- // Store some children item
96
- this._children = Object.create(null);
97
- // Store the origin module object which passed by programmer
98
- this._rawModule = rawModule;
99
- var rawState = rawModule.state;
61
+ if (!scope.loaded) {
62
+ // update getters
63
+ scope.$store.dispatch('wf/SET_CURRENT_FLOOR', wayfinder$1.getCurrentFloor());
64
+ scope.$store.dispatch('wf/SET_INACTIVITY_TIME', wayfinder$1.settings.getInt('kiosk.max-inactivity', 30));
65
+ scope.update(wayfinder$1);
66
+ scope.$store.dispatch('wf/SET_INACTIVITY_TIME', wayfinder$1.settings.getInt('kiosk.max-inactivity', 30));
67
+ scope.$emit('loaded');
68
+ }
69
+ });
70
+ wayfinder$1.events.on("map-ready", function () {
71
+ wayfinder$1.resize();
72
+ });
73
+ wayfinder$1.events.on('language-change', () => {
74
+ this.update(wayfinder$1);
75
+ });
76
+ wayfinder$1.events.on("floor-change-before", (currentFloor, nextFloor, destinationFloor) => {
77
+ this.pathText = wayfinder$1.translator.get("go_to_floor", [currentFloor.getName(wayfinder$1.getLanguage()), destinationFloor.getName(wayfinder$1.getLanguage()), nextFloor.getName(wayfinder$1.getLanguage())]);
78
+ this.showPathText = true;
79
+ });
80
+ wayfinder$1.events.on("floor-change", floor => {
81
+ // console.log('cbOnFloorChange', floor, wayfinder.settings.getInt('path.message.duration', 1))
82
+ if (floor) {
83
+ this.$store.dispatch('wf/SET_CURRENT_FLOOR', floor);
84
+ this.$emit('onTouch');
85
+ }
100
86
 
101
- // Store the origin module's state
102
- this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};
103
- };
87
+ if (this.showPathText) {
88
+ setTimeout(() => {
89
+ this.showPathText = false;
90
+ }, pathTextTime);
91
+ }
92
+ });
93
+ wayfinder$1.events.on("map-click", poi => {
94
+ if (poi) {
95
+ this.$emit('poiClicked', poi, true);
96
+ wayfinder$1.statistics.onClick(poi.id, "map");
97
+ }
98
+ });
99
+ wayfinder$1.events.on("map-touch", () => {
100
+ this.$emit('onTouch');
101
+ });
102
+ window.addEventListener('resize', () => {
103
+ if (wayfinder$1) {
104
+ wayfinder$1.resize();
105
+ }
106
+ });
107
+ },
104
108
 
105
- var prototypeAccessors = { namespaced: { configurable: true } };
109
+ update() {
110
+ for (var i in this.$store._wrappedGetters) {
111
+ if (i.indexOf("wf") === 0) {
112
+ this.$store._wrappedGetters[i](this.$store.state);
113
+ }
114
+ }
106
115
 
107
- prototypeAccessors.namespaced.get = function () {
108
- return !!this._rawModule.namespaced
109
- };
116
+ Vue$1.prototype.$wayfinder.update();
117
+ Vue$1.prototype.$wayfinder.resize();
118
+ Vue$1.prototype.$wayfinder.translator.translate();
119
+ },
110
120
 
111
- Module.prototype.addChild = function addChild (key, module) {
112
- this._children[key] = module;
113
- };
121
+ reset() {
122
+ wayfinder$1.restoreDefaultState();
123
+ },
114
124
 
115
- Module.prototype.removeChild = function removeChild (key) {
116
- delete this._children[key];
117
- };
125
+ start() {
126
+ wayfinder$1.run();
127
+ wayfinder$1.statistics.onSessionStart();
128
+ },
118
129
 
119
- Module.prototype.getChild = function getChild (key) {
120
- return this._children[key]
121
- };
130
+ pause() {
131
+ wayfinder$1.pause();
132
+ wayfinder$1.statistics.onSessionEnd();
133
+ },
122
134
 
123
- Module.prototype.hasChild = function hasChild (key) {
124
- return key in this._children
125
- };
135
+ run() {
136
+ wayfinder$1.run();
137
+ },
126
138
 
127
- Module.prototype.update = function update (rawModule) {
128
- this._rawModule.namespaced = rawModule.namespaced;
129
- if (rawModule.actions) {
130
- this._rawModule.actions = rawModule.actions;
131
- }
132
- if (rawModule.mutations) {
133
- this._rawModule.mutations = rawModule.mutations;
134
- }
135
- if (rawModule.getters) {
136
- this._rawModule.getters = rawModule.getters;
137
- }
138
- };
139
+ visibilityChanged(visible) {
140
+ Vue$1.prototype.$wayfinder.resize();
141
+ }
139
142
 
140
- Module.prototype.forEachChild = function forEachChild (fn) {
141
- forEachValue(this._children, fn);
142
- };
143
+ },
143
144
 
144
- Module.prototype.forEachGetter = function forEachGetter (fn) {
145
- if (this._rawModule.getters) {
146
- forEachValue(this._rawModule.getters, fn);
145
+ data() {
146
+ return {
147
+ loaded: false,
148
+ showPathText: false,
149
+ pathText: ''
150
+ };
147
151
  }
148
- };
149
152
 
150
- Module.prototype.forEachAction = function forEachAction (fn) {
151
- if (this._rawModule.actions) {
152
- forEachValue(this._rawModule.actions, fn);
153
- }
154
153
  };
155
154
 
156
- Module.prototype.forEachMutation = function forEachMutation (fn) {
157
- if (this._rawModule.mutations) {
158
- forEachValue(this._rawModule.mutations, fn);
159
- }
160
- };
155
+ function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
156
+ if (typeof shadowMode !== 'boolean') {
157
+ createInjectorSSR = createInjector;
158
+ createInjector = shadowMode;
159
+ shadowMode = false;
160
+ }
161
+ // Vue.extend constructor export interop.
162
+ const options = typeof script === 'function' ? script.options : script;
163
+ // render functions
164
+ if (template && template.render) {
165
+ options.render = template.render;
166
+ options.staticRenderFns = template.staticRenderFns;
167
+ options._compiled = true;
168
+ // functional template
169
+ if (isFunctionalTemplate) {
170
+ options.functional = true;
171
+ }
172
+ }
173
+ // scopedId
174
+ if (scopeId) {
175
+ options._scopeId = scopeId;
176
+ }
177
+ let hook;
178
+ if (moduleIdentifier) {
179
+ // server build
180
+ hook = function (context) {
181
+ // 2.3 injection
182
+ context =
183
+ context || // cached call
184
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
185
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
186
+ // 2.2 with runInNewContext: true
187
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
188
+ context = __VUE_SSR_CONTEXT__;
189
+ }
190
+ // inject component styles
191
+ if (style) {
192
+ style.call(this, createInjectorSSR(context));
193
+ }
194
+ // register component module identifier for async chunk inference
195
+ if (context && context._registeredComponents) {
196
+ context._registeredComponents.add(moduleIdentifier);
197
+ }
198
+ };
199
+ // used by ssr in case component is cached and beforeCreate
200
+ // never gets called
201
+ options._ssrRegister = hook;
202
+ }
203
+ else if (style) {
204
+ hook = shadowMode
205
+ ? function (context) {
206
+ style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
207
+ }
208
+ : function (context) {
209
+ style.call(this, createInjector(context));
210
+ };
211
+ }
212
+ if (hook) {
213
+ if (options.functional) {
214
+ // register for functional component in vue file
215
+ const originalRender = options.render;
216
+ options.render = function renderWithStyleInjection(h, context) {
217
+ hook.call(context);
218
+ return originalRender(h, context);
219
+ };
220
+ }
221
+ else {
222
+ // inject component registration as beforeCreate hook
223
+ const existing = options.beforeCreate;
224
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
225
+ }
226
+ }
227
+ return script;
228
+ }
161
229
 
162
- Object.defineProperties( Module.prototype, prototypeAccessors );
230
+ const isOldIE = typeof navigator !== 'undefined' &&
231
+ /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
232
+ function createInjector(context) {
233
+ return (id, style) => addStyle(id, style);
234
+ }
235
+ let HEAD;
236
+ const styles = {};
237
+ function addStyle(id, css) {
238
+ const group = isOldIE ? css.media || 'default' : id;
239
+ const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });
240
+ if (!style.ids.has(id)) {
241
+ style.ids.add(id);
242
+ let code = css.source;
243
+ if (css.map) {
244
+ // https://developer.chrome.com/devtools/docs/javascript-debugging
245
+ // this makes source maps inside style tags work properly in Chrome
246
+ code += '\n/*# sourceURL=' + css.map.sources[0] + ' */';
247
+ // http://stackoverflow.com/a/26603875
248
+ code +=
249
+ '\n/*# sourceMappingURL=data:application/json;base64,' +
250
+ btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +
251
+ ' */';
252
+ }
253
+ if (!style.element) {
254
+ style.element = document.createElement('style');
255
+ style.element.type = 'text/css';
256
+ if (css.media)
257
+ style.element.setAttribute('media', css.media);
258
+ if (HEAD === undefined) {
259
+ HEAD = document.head || document.getElementsByTagName('head')[0];
260
+ }
261
+ HEAD.appendChild(style.element);
262
+ }
263
+ if ('styleSheet' in style.element) {
264
+ style.styles.push(code);
265
+ style.element.styleSheet.cssText = style.styles
266
+ .filter(Boolean)
267
+ .join('\n');
268
+ }
269
+ else {
270
+ const index = style.ids.size - 1;
271
+ const textNode = document.createTextNode(code);
272
+ const nodes = style.element.childNodes;
273
+ if (nodes[index])
274
+ style.element.removeChild(nodes[index]);
275
+ if (nodes.length)
276
+ style.element.insertBefore(textNode, nodes[index]);
277
+ else
278
+ style.element.appendChild(textNode);
279
+ }
280
+ }
281
+ }
163
282
 
164
- var ModuleCollection = function ModuleCollection (rawRootModule) {
165
- // register root module (Vuex.Store options)
166
- this.register([], rawRootModule, false);
167
- };
283
+ /* script */
284
+ const __vue_script__$m = script$m;
285
+ /* template */
168
286
 
169
- ModuleCollection.prototype.get = function get (path) {
170
- return path.reduce(function (module, key) {
171
- return module.getChild(key)
172
- }, this.root)
173
- };
287
+ var __vue_render__$m = function () {
288
+ var _vm = this;
174
289
 
175
- ModuleCollection.prototype.getNamespace = function getNamespace (path) {
176
- var module = this.root;
177
- return path.reduce(function (namespace, key) {
178
- module = module.getChild(key);
179
- return namespace + (module.namespaced ? key + '/' : '')
180
- }, '')
181
- };
290
+ var _h = _vm.$createElement;
182
291
 
183
- ModuleCollection.prototype.update = function update$1 (rawRootModule) {
184
- update([], this.root, rawRootModule);
185
- };
292
+ var _c = _vm._self._c || _h;
186
293
 
187
- ModuleCollection.prototype.register = function register (path, rawModule, runtime) {
188
- var this$1$1 = this;
189
- if ( runtime === void 0 ) runtime = true;
294
+ return _c('div', {
295
+ directives: [{
296
+ name: "observe-visibility",
297
+ rawName: "v-observe-visibility",
298
+ value: _vm.visibilityChanged,
299
+ expression: "visibilityChanged"
300
+ }],
301
+ staticClass: "wf-component wf-map-container"
302
+ }, [_c('canvas', {
303
+ attrs: {
304
+ "id": "map"
305
+ }
306
+ }), _vm._v(" "), _c('div', {
307
+ directives: [{
308
+ name: "show",
309
+ rawName: "v-show",
310
+ value: _vm.showPathText,
311
+ expression: "showPathText"
312
+ }],
313
+ staticClass: "wf-map-path-text"
314
+ }, [_vm._v(_vm._s(_vm.pathText))])]);
315
+ };
190
316
 
191
- var newModule = new Module(rawModule, runtime);
192
- if (path.length === 0) {
193
- this.root = newModule;
194
- } else {
195
- var parent = this.get(path.slice(0, -1));
196
- parent.addChild(path[path.length - 1], newModule);
197
- }
317
+ var __vue_staticRenderFns__$m = [];
318
+ /* style */
198
319
 
199
- // register nested modules
200
- if (rawModule.modules) {
201
- forEachValue(rawModule.modules, function (rawChildModule, key) {
202
- this$1$1.register(path.concat(key), rawChildModule, runtime);
203
- });
204
- }
320
+ const __vue_inject_styles__$m = function (inject) {
321
+ if (!inject) return;
322
+ inject("data-v-00d2773a_0", {
323
+ source: ".wf-map-container[data-v-00d2773a]{position:relative;width:100%;height:100%}.wf-map-container canvas[data-v-00d2773a]{width:100%;height:100%}.wf-map-container .wf-map-path-text[data-v-00d2773a]{width:30ch;text-align:center;background-color:#fff;position:absolute;bottom:25%;margin:auto;left:50%;margin-left:-15ch;padding:.5em}",
324
+ map: undefined,
325
+ media: undefined
326
+ });
205
327
  };
328
+ /* scoped */
206
329
 
207
- ModuleCollection.prototype.unregister = function unregister (path) {
208
- var parent = this.get(path.slice(0, -1));
209
- var key = path[path.length - 1];
210
- var child = parent.getChild(key);
211
-
212
- if (!child) {
213
- return
214
- }
215
330
 
216
- if (!child.runtime) {
217
- return
218
- }
331
+ const __vue_scope_id__$m = "data-v-00d2773a";
332
+ /* module identifier */
219
333
 
220
- parent.removeChild(key);
221
- };
334
+ const __vue_module_identifier__$m = undefined;
335
+ /* functional template */
222
336
 
223
- ModuleCollection.prototype.isRegistered = function isRegistered (path) {
224
- var parent = this.get(path.slice(0, -1));
225
- var key = path[path.length - 1];
337
+ const __vue_is_functional_template__$m = false;
338
+ /* style inject SSR */
226
339
 
227
- if (parent) {
228
- return parent.hasChild(key)
229
- }
340
+ /* style inject shadow dom */
230
341
 
231
- return false
232
- };
342
+ const __vue_component__$m = /*#__PURE__*/normalizeComponent({
343
+ render: __vue_render__$m,
344
+ staticRenderFns: __vue_staticRenderFns__$m
345
+ }, __vue_inject_styles__$m, __vue_script__$m, __vue_scope_id__$m, __vue_is_functional_template__$m, __vue_module_identifier__$m, false, createInjector, undefined, undefined);
233
346
 
234
- function update (path, targetModule, newModule) {
347
+ /*!
348
+ * vuex v3.6.2
349
+ * (c) 2021 Evan You
350
+ * @license MIT
351
+ */
352
+ function applyMixin (Vue) {
353
+ var version = Number(Vue.version.split('.')[0]);
235
354
 
236
- // update target module
237
- targetModule.update(newModule);
355
+ if (version >= 2) {
356
+ Vue.mixin({ beforeCreate: vuexInit });
357
+ } else {
358
+ // override init and inject vuex init procedure
359
+ // for 1.x backwards compatibility.
360
+ var _init = Vue.prototype._init;
361
+ Vue.prototype._init = function (options) {
362
+ if ( options === void 0 ) options = {};
238
363
 
239
- // update nested modules
240
- if (newModule.modules) {
241
- for (var key in newModule.modules) {
364
+ options.init = options.init
365
+ ? [vuexInit].concat(options.init)
366
+ : vuexInit;
367
+ _init.call(this, options);
368
+ };
369
+ }
370
+
371
+ /**
372
+ * Vuex init hook, injected into each instances init hooks list.
373
+ */
374
+
375
+ function vuexInit () {
376
+ var options = this.$options;
377
+ // store injection
378
+ if (options.store) {
379
+ this.$store = typeof options.store === 'function'
380
+ ? options.store()
381
+ : options.store;
382
+ } else if (options.parent && options.parent.$store) {
383
+ this.$store = options.parent.$store;
384
+ }
385
+ }
386
+ }
387
+
388
+ var target = typeof window !== 'undefined'
389
+ ? window
390
+ : typeof global !== 'undefined'
391
+ ? global
392
+ : {};
393
+ var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
394
+
395
+ function devtoolPlugin (store) {
396
+ if (!devtoolHook) { return }
397
+
398
+ store._devtoolHook = devtoolHook;
399
+
400
+ devtoolHook.emit('vuex:init', store);
401
+
402
+ devtoolHook.on('vuex:travel-to-state', function (targetState) {
403
+ store.replaceState(targetState);
404
+ });
405
+
406
+ store.subscribe(function (mutation, state) {
407
+ devtoolHook.emit('vuex:mutation', mutation, state);
408
+ }, { prepend: true });
409
+
410
+ store.subscribeAction(function (action, state) {
411
+ devtoolHook.emit('vuex:action', action, state);
412
+ }, { prepend: true });
413
+ }
414
+
415
+ /**
416
+ * forEach for object
417
+ */
418
+ function forEachValue (obj, fn) {
419
+ Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });
420
+ }
421
+
422
+ function isObject (obj) {
423
+ return obj !== null && typeof obj === 'object'
424
+ }
425
+
426
+ function isPromise (val) {
427
+ return val && typeof val.then === 'function'
428
+ }
429
+
430
+ function partial (fn, arg) {
431
+ return function () {
432
+ return fn(arg)
433
+ }
434
+ }
435
+
436
+ // Base data struct for store's module, package with some attribute and method
437
+ var Module = function Module (rawModule, runtime) {
438
+ this.runtime = runtime;
439
+ // Store some children item
440
+ this._children = Object.create(null);
441
+ // Store the origin module object which passed by programmer
442
+ this._rawModule = rawModule;
443
+ var rawState = rawModule.state;
444
+
445
+ // Store the origin module's state
446
+ this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};
447
+ };
448
+
449
+ var prototypeAccessors = { namespaced: { configurable: true } };
450
+
451
+ prototypeAccessors.namespaced.get = function () {
452
+ return !!this._rawModule.namespaced
453
+ };
454
+
455
+ Module.prototype.addChild = function addChild (key, module) {
456
+ this._children[key] = module;
457
+ };
458
+
459
+ Module.prototype.removeChild = function removeChild (key) {
460
+ delete this._children[key];
461
+ };
462
+
463
+ Module.prototype.getChild = function getChild (key) {
464
+ return this._children[key]
465
+ };
466
+
467
+ Module.prototype.hasChild = function hasChild (key) {
468
+ return key in this._children
469
+ };
470
+
471
+ Module.prototype.update = function update (rawModule) {
472
+ this._rawModule.namespaced = rawModule.namespaced;
473
+ if (rawModule.actions) {
474
+ this._rawModule.actions = rawModule.actions;
475
+ }
476
+ if (rawModule.mutations) {
477
+ this._rawModule.mutations = rawModule.mutations;
478
+ }
479
+ if (rawModule.getters) {
480
+ this._rawModule.getters = rawModule.getters;
481
+ }
482
+ };
483
+
484
+ Module.prototype.forEachChild = function forEachChild (fn) {
485
+ forEachValue(this._children, fn);
486
+ };
487
+
488
+ Module.prototype.forEachGetter = function forEachGetter (fn) {
489
+ if (this._rawModule.getters) {
490
+ forEachValue(this._rawModule.getters, fn);
491
+ }
492
+ };
493
+
494
+ Module.prototype.forEachAction = function forEachAction (fn) {
495
+ if (this._rawModule.actions) {
496
+ forEachValue(this._rawModule.actions, fn);
497
+ }
498
+ };
499
+
500
+ Module.prototype.forEachMutation = function forEachMutation (fn) {
501
+ if (this._rawModule.mutations) {
502
+ forEachValue(this._rawModule.mutations, fn);
503
+ }
504
+ };
505
+
506
+ Object.defineProperties( Module.prototype, prototypeAccessors );
507
+
508
+ var ModuleCollection = function ModuleCollection (rawRootModule) {
509
+ // register root module (Vuex.Store options)
510
+ this.register([], rawRootModule, false);
511
+ };
512
+
513
+ ModuleCollection.prototype.get = function get (path) {
514
+ return path.reduce(function (module, key) {
515
+ return module.getChild(key)
516
+ }, this.root)
517
+ };
518
+
519
+ ModuleCollection.prototype.getNamespace = function getNamespace (path) {
520
+ var module = this.root;
521
+ return path.reduce(function (namespace, key) {
522
+ module = module.getChild(key);
523
+ return namespace + (module.namespaced ? key + '/' : '')
524
+ }, '')
525
+ };
526
+
527
+ ModuleCollection.prototype.update = function update$1 (rawRootModule) {
528
+ update([], this.root, rawRootModule);
529
+ };
530
+
531
+ ModuleCollection.prototype.register = function register (path, rawModule, runtime) {
532
+ var this$1$1 = this;
533
+ if ( runtime === void 0 ) runtime = true;
534
+
535
+ var newModule = new Module(rawModule, runtime);
536
+ if (path.length === 0) {
537
+ this.root = newModule;
538
+ } else {
539
+ var parent = this.get(path.slice(0, -1));
540
+ parent.addChild(path[path.length - 1], newModule);
541
+ }
542
+
543
+ // register nested modules
544
+ if (rawModule.modules) {
545
+ forEachValue(rawModule.modules, function (rawChildModule, key) {
546
+ this$1$1.register(path.concat(key), rawChildModule, runtime);
547
+ });
548
+ }
549
+ };
550
+
551
+ ModuleCollection.prototype.unregister = function unregister (path) {
552
+ var parent = this.get(path.slice(0, -1));
553
+ var key = path[path.length - 1];
554
+ var child = parent.getChild(key);
555
+
556
+ if (!child) {
557
+ return
558
+ }
559
+
560
+ if (!child.runtime) {
561
+ return
562
+ }
563
+
564
+ parent.removeChild(key);
565
+ };
566
+
567
+ ModuleCollection.prototype.isRegistered = function isRegistered (path) {
568
+ var parent = this.get(path.slice(0, -1));
569
+ var key = path[path.length - 1];
570
+
571
+ if (parent) {
572
+ return parent.hasChild(key)
573
+ }
574
+
575
+ return false
576
+ };
577
+
578
+ function update (path, targetModule, newModule) {
579
+
580
+ // update target module
581
+ targetModule.update(newModule);
582
+
583
+ // update nested modules
584
+ if (newModule.modules) {
585
+ for (var key in newModule.modules) {
242
586
  if (!targetModule.getChild(key)) {
243
587
  return
244
588
  }
@@ -605,565 +949,221 @@ function makeLocalContext (store, namespace, path) {
605
949
  var args = unifyObjectStyle(_type, _payload, _options);
606
950
  var payload = args.payload;
607
951
  var options = args.options;
608
- var type = args.type;
609
-
610
- if (!options || !options.root) {
611
- type = namespace + type;
612
- }
613
-
614
- store.commit(type, payload, options);
615
- }
616
- };
617
-
618
- // getters and state object must be gotten lazily
619
- // because they will be changed by vm update
620
- Object.defineProperties(local, {
621
- getters: {
622
- get: noNamespace
623
- ? function () { return store.getters; }
624
- : function () { return makeLocalGetters(store, namespace); }
625
- },
626
- state: {
627
- get: function () { return getNestedState(store.state, path); }
628
- }
629
- });
630
-
631
- return local
632
- }
633
-
634
- function makeLocalGetters (store, namespace) {
635
- if (!store._makeLocalGettersCache[namespace]) {
636
- var gettersProxy = {};
637
- var splitPos = namespace.length;
638
- Object.keys(store.getters).forEach(function (type) {
639
- // skip if the target getter is not match this namespace
640
- if (type.slice(0, splitPos) !== namespace) { return }
641
-
642
- // extract local getter type
643
- var localType = type.slice(splitPos);
644
-
645
- // Add a port to the getters proxy.
646
- // Define as getter property because
647
- // we do not want to evaluate the getters in this time.
648
- Object.defineProperty(gettersProxy, localType, {
649
- get: function () { return store.getters[type]; },
650
- enumerable: true
651
- });
652
- });
653
- store._makeLocalGettersCache[namespace] = gettersProxy;
654
- }
655
-
656
- return store._makeLocalGettersCache[namespace]
657
- }
658
-
659
- function registerMutation (store, type, handler, local) {
660
- var entry = store._mutations[type] || (store._mutations[type] = []);
661
- entry.push(function wrappedMutationHandler (payload) {
662
- handler.call(store, local.state, payload);
663
- });
664
- }
665
-
666
- function registerAction (store, type, handler, local) {
667
- var entry = store._actions[type] || (store._actions[type] = []);
668
- entry.push(function wrappedActionHandler (payload) {
669
- var res = handler.call(store, {
670
- dispatch: local.dispatch,
671
- commit: local.commit,
672
- getters: local.getters,
673
- state: local.state,
674
- rootGetters: store.getters,
675
- rootState: store.state
676
- }, payload);
677
- if (!isPromise(res)) {
678
- res = Promise.resolve(res);
679
- }
680
- if (store._devtoolHook) {
681
- return res.catch(function (err) {
682
- store._devtoolHook.emit('vuex:error', err);
683
- throw err
684
- })
685
- } else {
686
- return res
687
- }
688
- });
689
- }
690
-
691
- function registerGetter (store, type, rawGetter, local) {
692
- if (store._wrappedGetters[type]) {
693
- return
694
- }
695
- store._wrappedGetters[type] = function wrappedGetter (store) {
696
- return rawGetter(
697
- local.state, // local state
698
- local.getters, // local getters
699
- store.state, // root state
700
- store.getters // root getters
701
- )
702
- };
703
- }
704
-
705
- function enableStrictMode (store) {
706
- store._vm.$watch(function () { return this._data.$$state }, function () {
707
- }, { deep: true, sync: true });
708
- }
709
-
710
- function getNestedState (state, path) {
711
- return path.reduce(function (state, key) { return state[key]; }, state)
712
- }
713
-
714
- function unifyObjectStyle (type, payload, options) {
715
- if (isObject(type) && type.type) {
716
- options = payload;
717
- payload = type;
718
- type = type.type;
719
- }
720
-
721
- return { type: type, payload: payload, options: options }
722
- }
723
-
724
- function install$1 (_Vue) {
725
- if (Vue && _Vue === Vue) {
726
- return
727
- }
728
- Vue = _Vue;
729
- applyMixin(Vue);
730
- }
731
-
732
- /**
733
- * Reduce the code which written in Vue.js for getting the state.
734
- * @param {String} [namespace] - Module's namespace
735
- * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.
736
- * @param {Object}
737
- */
738
- var mapState = normalizeNamespace(function (namespace, states) {
739
- var res = {};
740
- normalizeMap(states).forEach(function (ref) {
741
- var key = ref.key;
742
- var val = ref.val;
743
-
744
- res[key] = function mappedState () {
745
- var state = this.$store.state;
746
- var getters = this.$store.getters;
747
- if (namespace) {
748
- var module = getModuleByNamespace(this.$store, 'mapState', namespace);
749
- if (!module) {
750
- return
751
- }
752
- state = module.context.state;
753
- getters = module.context.getters;
754
- }
755
- return typeof val === 'function'
756
- ? val.call(this, state, getters)
757
- : state[val]
758
- };
759
- // mark vuex getter for devtools
760
- res[key].vuex = true;
761
- });
762
- return res
763
- });
764
-
765
- /**
766
- * Normalize the map
767
- * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]
768
- * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]
769
- * @param {Array|Object} map
770
- * @return {Object}
771
- */
772
- function normalizeMap (map) {
773
- if (!isValidMap(map)) {
774
- return []
775
- }
776
- return Array.isArray(map)
777
- ? map.map(function (key) { return ({ key: key, val: key }); })
778
- : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })
779
- }
780
-
781
- /**
782
- * Validate whether given map is valid or not
783
- * @param {*} map
784
- * @return {Boolean}
785
- */
786
- function isValidMap (map) {
787
- return Array.isArray(map) || isObject(map)
788
- }
789
-
790
- /**
791
- * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.
792
- * @param {Function} fn
793
- * @return {Function}
794
- */
795
- function normalizeNamespace (fn) {
796
- return function (namespace, map) {
797
- if (typeof namespace !== 'string') {
798
- map = namespace;
799
- namespace = '';
800
- } else if (namespace.charAt(namespace.length - 1) !== '/') {
801
- namespace += '/';
802
- }
803
- return fn(namespace, map)
804
- }
805
- }
806
-
807
- /**
808
- * Search a special module from store by namespace. if module not exist, print error message.
809
- * @param {Object} store
810
- * @param {String} helper
811
- * @param {String} namespace
812
- * @return {Object}
813
- */
814
- function getModuleByNamespace (store, helper, namespace) {
815
- var module = store._modulesNamespaceMap[namespace];
816
- return module
817
- }
818
-
819
- //
820
- var wayfinder$1;
821
- var script$m = {
822
- name: 'Map',
823
- props: {
824
- project: {
825
- type: String
826
- },
827
- api: {
828
- type: String,
829
- default: "//api.3dwayfinder.com/"
830
- },
831
- assets: {
832
- type: String,
833
- default: "//static.3dwayfinder.com/shared/"
834
- }
835
- },
836
-
837
- mounted() {
838
- this.load();
839
- },
840
-
841
- methods: {
842
- load() {
843
- //if (typeof Wayfinder2D !== "undefined" || typeof Wayfinder2D !== "undefined")
844
- // throw new Error("Wayfinder not loaded");
845
- // wayfinder = new Wayfinder3D();
846
- if (typeof this.$WF_MAP_TYPE !== "undefined" && this.$WF_MAP_TYPE == "2d") {
847
- wayfinder$1 = new Wayfinder2D();
848
- } else {
849
- wayfinder$1 = new Wayfinder3D();
850
- } // WayfinderAPI.LOCATION = 'http://localhost:8080/api/';
851
-
852
-
853
- Vue$1.prototype.$wayfinder = wayfinder$1;
854
- Vue$1.directive('wf-translate', {
855
- bind: function (el, binding, vnode) {
856
- if (wayfinder$1) {
857
- var key = typeof binding.value == "string" ? binding.value : binding.expression;
858
- el.setAttribute("data-translation-element", key);
859
- wayfinder$1.translator.translateElement(key, el);
860
- }
861
- }
862
- });
863
- WayfinderAPI.LOCATION = this.api;
864
- wayfinder$1.options.assetsLocation = this.assets;
865
- console.log('this.project', this.project);
866
-
867
- if (this.project) {
868
- wayfinder$1.options.project = this.project;
869
- }
870
-
871
- wayfinder$1.open();
872
- var scope = this;
873
- var pathTextTime = wayfinder$1.settings.getInt('path.message.duration', 5) * 1000;
874
- wayfinder$1.events.on("data-loaded", function () {
875
- console.log('data-loaded', scope.loaded, scope.$store);
876
-
877
- if (!scope.loaded) {
878
- // update getters
879
- scope.$store.dispatch('wayfinder/SET_CURRENT_FLOOR', wayfinder$1.getCurrentFloor());
880
- scope.$store.dispatch('wayfinder/SET_INACTIVITY_TIME', wayfinder$1.settings.getInt('kiosk.max-inactivity', 30));
881
- scope.update(wayfinder$1);
882
- scope.$store.dispatch('wayfinder/SET_INACTIVITY_TIME', wayfinder$1.settings.getInt('kiosk.max-inactivity', 30));
883
- scope.$emit('loaded');
884
- }
885
- });
886
- wayfinder$1.events.on("map-ready", function () {
887
- wayfinder$1.resize();
888
- });
889
- wayfinder$1.events.on('language-change', () => {
890
- this.update(wayfinder$1);
891
- });
892
- wayfinder$1.events.on("floor-change-before", (currentFloor, nextFloor, destinationFloor) => {
893
- this.pathText = wayfinder$1.translator.get("go_to_floor", [currentFloor.getName(wayfinder$1.getLanguage()), destinationFloor.getName(wayfinder$1.getLanguage()), nextFloor.getName(wayfinder$1.getLanguage())]);
894
- this.showPathText = true;
895
- });
896
- wayfinder$1.events.on("floor-change", floor => {
897
- // console.log('cbOnFloorChange', floor, wayfinder.settings.getInt('path.message.duration', 1))
898
- if (floor) {
899
- this.$store.dispatch('wayfinder/SET_CURRENT_FLOOR', floor);
900
- this.$emit('onTouch');
901
- }
902
-
903
- if (this.showPathText) {
904
- setTimeout(() => {
905
- this.showPathText = false;
906
- }, pathTextTime);
907
- }
908
- });
909
- wayfinder$1.events.on("map-click", poi => {
910
- if (poi) {
911
- this.$emit('poiClicked', poi, true);
912
- wayfinder$1.statistics.onClick(poi.id, "map");
913
- }
914
- });
915
- wayfinder$1.events.on("map-touch", () => {
916
- this.$emit('onTouch');
917
- });
918
- window.addEventListener('resize', () => {
919
- if (wayfinder$1) {
920
- wayfinder$1.resize();
921
- }
922
- });
923
- },
924
-
925
- update() {
926
- for (var i in this.$store._wrappedGetters) {
927
- if (i.indexOf("wayfinder") === 0) {
928
- this.$store._wrappedGetters[i](this.$store.state);
929
- }
930
- }
931
-
932
- Vue$1.prototype.$wayfinder.update();
933
- Vue$1.prototype.$wayfinder.resize();
934
- Vue$1.prototype.$wayfinder.translator.translate();
935
- },
936
-
937
- reset() {
938
- wayfinder$1.restoreDefaultState();
939
- },
940
-
941
- start() {
942
- wayfinder$1.run();
943
- wayfinder$1.statistics.onSessionStart();
944
- },
945
-
946
- pause() {
947
- wayfinder$1.pause();
948
- wayfinder$1.statistics.onSessionEnd();
949
- },
950
-
951
- run() {
952
- wayfinder$1.run();
953
- },
954
-
955
- visibilityChanged(visible) {
956
- Vue$1.prototype.$wayfinder.resize();
957
- }
958
-
959
- },
960
-
961
- data() {
962
- return {
963
- loaded: false,
964
- showPathText: false,
965
- pathText: ''
966
- };
967
- }
968
-
969
- };
970
-
971
- function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
972
- if (typeof shadowMode !== 'boolean') {
973
- createInjectorSSR = createInjector;
974
- createInjector = shadowMode;
975
- shadowMode = false;
976
- }
977
- // Vue.extend constructor export interop.
978
- const options = typeof script === 'function' ? script.options : script;
979
- // render functions
980
- if (template && template.render) {
981
- options.render = template.render;
982
- options.staticRenderFns = template.staticRenderFns;
983
- options._compiled = true;
984
- // functional template
985
- if (isFunctionalTemplate) {
986
- options.functional = true;
987
- }
988
- }
989
- // scopedId
990
- if (scopeId) {
991
- options._scopeId = scopeId;
992
- }
993
- let hook;
994
- if (moduleIdentifier) {
995
- // server build
996
- hook = function (context) {
997
- // 2.3 injection
998
- context =
999
- context || // cached call
1000
- (this.$vnode && this.$vnode.ssrContext) || // stateful
1001
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
1002
- // 2.2 with runInNewContext: true
1003
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1004
- context = __VUE_SSR_CONTEXT__;
1005
- }
1006
- // inject component styles
1007
- if (style) {
1008
- style.call(this, createInjectorSSR(context));
1009
- }
1010
- // register component module identifier for async chunk inference
1011
- if (context && context._registeredComponents) {
1012
- context._registeredComponents.add(moduleIdentifier);
1013
- }
1014
- };
1015
- // used by ssr in case component is cached and beforeCreate
1016
- // never gets called
1017
- options._ssrRegister = hook;
1018
- }
1019
- else if (style) {
1020
- hook = shadowMode
1021
- ? function (context) {
1022
- style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
1023
- }
1024
- : function (context) {
1025
- style.call(this, createInjector(context));
1026
- };
1027
- }
1028
- if (hook) {
1029
- if (options.functional) {
1030
- // register for functional component in vue file
1031
- const originalRender = options.render;
1032
- options.render = function renderWithStyleInjection(h, context) {
1033
- hook.call(context);
1034
- return originalRender(h, context);
1035
- };
1036
- }
1037
- else {
1038
- // inject component registration as beforeCreate hook
1039
- const existing = options.beforeCreate;
1040
- options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
1041
- }
1042
- }
1043
- return script;
1044
- }
1045
-
1046
- const isOldIE = typeof navigator !== 'undefined' &&
1047
- /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
1048
- function createInjector(context) {
1049
- return (id, style) => addStyle(id, style);
1050
- }
1051
- let HEAD;
1052
- const styles = {};
1053
- function addStyle(id, css) {
1054
- const group = isOldIE ? css.media || 'default' : id;
1055
- const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });
1056
- if (!style.ids.has(id)) {
1057
- style.ids.add(id);
1058
- let code = css.source;
1059
- if (css.map) {
1060
- // https://developer.chrome.com/devtools/docs/javascript-debugging
1061
- // this makes source maps inside style tags work properly in Chrome
1062
- code += '\n/*# sourceURL=' + css.map.sources[0] + ' */';
1063
- // http://stackoverflow.com/a/26603875
1064
- code +=
1065
- '\n/*# sourceMappingURL=data:application/json;base64,' +
1066
- btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +
1067
- ' */';
1068
- }
1069
- if (!style.element) {
1070
- style.element = document.createElement('style');
1071
- style.element.type = 'text/css';
1072
- if (css.media)
1073
- style.element.setAttribute('media', css.media);
1074
- if (HEAD === undefined) {
1075
- HEAD = document.head || document.getElementsByTagName('head')[0];
1076
- }
1077
- HEAD.appendChild(style.element);
1078
- }
1079
- if ('styleSheet' in style.element) {
1080
- style.styles.push(code);
1081
- style.element.styleSheet.cssText = style.styles
1082
- .filter(Boolean)
1083
- .join('\n');
1084
- }
1085
- else {
1086
- const index = style.ids.size - 1;
1087
- const textNode = document.createTextNode(code);
1088
- const nodes = style.element.childNodes;
1089
- if (nodes[index])
1090
- style.element.removeChild(nodes[index]);
1091
- if (nodes.length)
1092
- style.element.insertBefore(textNode, nodes[index]);
1093
- else
1094
- style.element.appendChild(textNode);
1095
- }
1096
- }
952
+ var type = args.type;
953
+
954
+ if (!options || !options.root) {
955
+ type = namespace + type;
956
+ }
957
+
958
+ store.commit(type, payload, options);
959
+ }
960
+ };
961
+
962
+ // getters and state object must be gotten lazily
963
+ // because they will be changed by vm update
964
+ Object.defineProperties(local, {
965
+ getters: {
966
+ get: noNamespace
967
+ ? function () { return store.getters; }
968
+ : function () { return makeLocalGetters(store, namespace); }
969
+ },
970
+ state: {
971
+ get: function () { return getNestedState(store.state, path); }
972
+ }
973
+ });
974
+
975
+ return local
1097
976
  }
1098
977
 
1099
- /* script */
1100
- const __vue_script__$m = script$m;
1101
- /* template */
978
+ function makeLocalGetters (store, namespace) {
979
+ if (!store._makeLocalGettersCache[namespace]) {
980
+ var gettersProxy = {};
981
+ var splitPos = namespace.length;
982
+ Object.keys(store.getters).forEach(function (type) {
983
+ // skip if the target getter is not match this namespace
984
+ if (type.slice(0, splitPos) !== namespace) { return }
1102
985
 
1103
- var __vue_render__$m = function () {
1104
- var _vm = this;
986
+ // extract local getter type
987
+ var localType = type.slice(splitPos);
1105
988
 
1106
- var _h = _vm.$createElement;
989
+ // Add a port to the getters proxy.
990
+ // Define as getter property because
991
+ // we do not want to evaluate the getters in this time.
992
+ Object.defineProperty(gettersProxy, localType, {
993
+ get: function () { return store.getters[type]; },
994
+ enumerable: true
995
+ });
996
+ });
997
+ store._makeLocalGettersCache[namespace] = gettersProxy;
998
+ }
1107
999
 
1108
- var _c = _vm._self._c || _h;
1000
+ return store._makeLocalGettersCache[namespace]
1001
+ }
1109
1002
 
1110
- return _c('div', {
1111
- directives: [{
1112
- name: "observe-visibility",
1113
- rawName: "v-observe-visibility",
1114
- value: _vm.visibilityChanged,
1115
- expression: "visibilityChanged"
1116
- }],
1117
- staticClass: "wf-component wf-map-container"
1118
- }, [_c('canvas', {
1119
- attrs: {
1120
- "id": "map"
1003
+ function registerMutation (store, type, handler, local) {
1004
+ var entry = store._mutations[type] || (store._mutations[type] = []);
1005
+ entry.push(function wrappedMutationHandler (payload) {
1006
+ handler.call(store, local.state, payload);
1007
+ });
1008
+ }
1009
+
1010
+ function registerAction (store, type, handler, local) {
1011
+ var entry = store._actions[type] || (store._actions[type] = []);
1012
+ entry.push(function wrappedActionHandler (payload) {
1013
+ var res = handler.call(store, {
1014
+ dispatch: local.dispatch,
1015
+ commit: local.commit,
1016
+ getters: local.getters,
1017
+ state: local.state,
1018
+ rootGetters: store.getters,
1019
+ rootState: store.state
1020
+ }, payload);
1021
+ if (!isPromise(res)) {
1022
+ res = Promise.resolve(res);
1121
1023
  }
1122
- }), _vm._v(" "), _c('div', {
1123
- directives: [{
1124
- name: "show",
1125
- rawName: "v-show",
1126
- value: _vm.showPathText,
1127
- expression: "showPathText"
1128
- }],
1129
- staticClass: "wf-map-path-text"
1130
- }, [_vm._v(_vm._s(_vm.pathText))])]);
1131
- };
1024
+ if (store._devtoolHook) {
1025
+ return res.catch(function (err) {
1026
+ store._devtoolHook.emit('vuex:error', err);
1027
+ throw err
1028
+ })
1029
+ } else {
1030
+ return res
1031
+ }
1032
+ });
1033
+ }
1132
1034
 
1133
- var __vue_staticRenderFns__$m = [];
1134
- /* style */
1035
+ function registerGetter (store, type, rawGetter, local) {
1036
+ if (store._wrappedGetters[type]) {
1037
+ return
1038
+ }
1039
+ store._wrappedGetters[type] = function wrappedGetter (store) {
1040
+ return rawGetter(
1041
+ local.state, // local state
1042
+ local.getters, // local getters
1043
+ store.state, // root state
1044
+ store.getters // root getters
1045
+ )
1046
+ };
1047
+ }
1135
1048
 
1136
- const __vue_inject_styles__$m = function (inject) {
1137
- if (!inject) return;
1138
- inject("data-v-2ef09e1e_0", {
1139
- source: ".wf-map-container[data-v-2ef09e1e]{position:relative;width:100%;height:100%}.wf-map-container canvas[data-v-2ef09e1e]{width:100%;height:100%}.wf-map-container .wf-map-path-text[data-v-2ef09e1e]{width:30ch;text-align:center;background-color:#fff;position:absolute;bottom:25%;margin:auto;left:50%;margin-left:-15ch;padding:.5em}",
1140
- map: undefined,
1141
- media: undefined
1142
- });
1143
- };
1144
- /* scoped */
1049
+ function enableStrictMode (store) {
1050
+ store._vm.$watch(function () { return this._data.$$state }, function () {
1051
+ }, { deep: true, sync: true });
1052
+ }
1145
1053
 
1054
+ function getNestedState (state, path) {
1055
+ return path.reduce(function (state, key) { return state[key]; }, state)
1056
+ }
1146
1057
 
1147
- const __vue_scope_id__$m = "data-v-2ef09e1e";
1148
- /* module identifier */
1058
+ function unifyObjectStyle (type, payload, options) {
1059
+ if (isObject(type) && type.type) {
1060
+ options = payload;
1061
+ payload = type;
1062
+ type = type.type;
1063
+ }
1149
1064
 
1150
- const __vue_module_identifier__$m = undefined;
1151
- /* functional template */
1065
+ return { type: type, payload: payload, options: options }
1066
+ }
1152
1067
 
1153
- const __vue_is_functional_template__$m = false;
1154
- /* style inject SSR */
1068
+ function install$1 (_Vue) {
1069
+ if (Vue && _Vue === Vue) {
1070
+ return
1071
+ }
1072
+ Vue = _Vue;
1073
+ applyMixin(Vue);
1074
+ }
1155
1075
 
1156
- /* style inject shadow dom */
1076
+ /**
1077
+ * Reduce the code which written in Vue.js for getting the state.
1078
+ * @param {String} [namespace] - Module's namespace
1079
+ * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.
1080
+ * @param {Object}
1081
+ */
1082
+ var mapState = normalizeNamespace(function (namespace, states) {
1083
+ var res = {};
1084
+ normalizeMap(states).forEach(function (ref) {
1085
+ var key = ref.key;
1086
+ var val = ref.val;
1157
1087
 
1158
- const __vue_component__$m = /*#__PURE__*/normalizeComponent({
1159
- render: __vue_render__$m,
1160
- staticRenderFns: __vue_staticRenderFns__$m
1161
- }, __vue_inject_styles__$m, __vue_script__$m, __vue_scope_id__$m, __vue_is_functional_template__$m, __vue_module_identifier__$m, false, createInjector, undefined, undefined);
1088
+ res[key] = function mappedState () {
1089
+ var state = this.$store.state;
1090
+ var getters = this.$store.getters;
1091
+ if (namespace) {
1092
+ var module = getModuleByNamespace(this.$store, 'mapState', namespace);
1093
+ if (!module) {
1094
+ return
1095
+ }
1096
+ state = module.context.state;
1097
+ getters = module.context.getters;
1098
+ }
1099
+ return typeof val === 'function'
1100
+ ? val.call(this, state, getters)
1101
+ : state[val]
1102
+ };
1103
+ // mark vuex getter for devtools
1104
+ res[key].vuex = true;
1105
+ });
1106
+ return res
1107
+ });
1108
+
1109
+ /**
1110
+ * Normalize the map
1111
+ * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]
1112
+ * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]
1113
+ * @param {Array|Object} map
1114
+ * @return {Object}
1115
+ */
1116
+ function normalizeMap (map) {
1117
+ if (!isValidMap(map)) {
1118
+ return []
1119
+ }
1120
+ return Array.isArray(map)
1121
+ ? map.map(function (key) { return ({ key: key, val: key }); })
1122
+ : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })
1123
+ }
1124
+
1125
+ /**
1126
+ * Validate whether given map is valid or not
1127
+ * @param {*} map
1128
+ * @return {Boolean}
1129
+ */
1130
+ function isValidMap (map) {
1131
+ return Array.isArray(map) || isObject(map)
1132
+ }
1133
+
1134
+ /**
1135
+ * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.
1136
+ * @param {Function} fn
1137
+ * @return {Function}
1138
+ */
1139
+ function normalizeNamespace (fn) {
1140
+ return function (namespace, map) {
1141
+ if (typeof namespace !== 'string') {
1142
+ map = namespace;
1143
+ namespace = '';
1144
+ } else if (namespace.charAt(namespace.length - 1) !== '/') {
1145
+ namespace += '/';
1146
+ }
1147
+ return fn(namespace, map)
1148
+ }
1149
+ }
1150
+
1151
+ /**
1152
+ * Search a special module from store by namespace. if module not exist, print error message.
1153
+ * @param {Object} store
1154
+ * @param {String} helper
1155
+ * @param {String} namespace
1156
+ * @return {Object}
1157
+ */
1158
+ function getModuleByNamespace (store, helper, namespace) {
1159
+ var module = store._modulesNamespaceMap[namespace];
1160
+ return module
1161
+ }
1162
1162
 
1163
1163
  //
1164
1164
  var script$l = {
1165
1165
  name: "POI",
1166
- computed: { ...mapState(['language']),
1166
+ computed: { ...mapState('wf', ['language']),
1167
1167
 
1168
1168
  hasShowPathListener() {
1169
1169
  return !!(this.$listeners && this.$listeners.showPath);
@@ -1319,8 +1319,8 @@ var __vue_staticRenderFns__$l = [];
1319
1319
 
1320
1320
  const __vue_inject_styles__$l = function (inject) {
1321
1321
  if (!inject) return;
1322
- inject("data-v-efe4488a_0", {
1323
- source: ".layout-view[data-v-efe4488a]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.poi-info[data-v-efe4488a]{padding:1rem}.poi-info h2[data-v-efe4488a]{text-align:center;margin-top:1.5rem;margin-bottom:1.5rem}.poi-body[data-v-efe4488a]{box-shadow:0 -2px 1px 0 rgba(0,0,0,.05);padding:1rem;flex-grow:1}.poi-image[data-v-efe4488a]{height:14rem;width:100%;background-position:50% 50%;background-size:contain;background-repeat:no-repeat}.poi-image.image-background[data-v-efe4488a]{background-size:cover}.show-path[data-v-efe4488a]{bottom:1rem;right:1rem;text-transform:uppercase;z-index:10;line-height:2.8rem;margin-bottom:1.5rem}.show-path button[data-v-efe4488a]{height:3rem;font-size:1.2rem;line-height:2.8rem;padding-left:2.5rem;padding-right:2.5rem;margin:auto;border:0;display:block}.poi-description[data-v-efe4488a]{line-height:1.2}.poi-contact .address[data-v-efe4488a]{font-weight:600;margin-bottom:.5rem}.poi-contact .address span[data-v-efe4488a]{padding-top:4px;vertical-align:top;display:inline-block}.poi-contact .address a[data-v-efe4488a]{text-decoration:none;display:block;line-height:1.5}.poi-contact .address .icon[data-v-efe4488a]:before{mix-blend-mode:initial;color:#fff}",
1322
+ inject("data-v-658b6c14_0", {
1323
+ source: ".layout-view[data-v-658b6c14]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.poi-info[data-v-658b6c14]{padding:1rem}.poi-info h2[data-v-658b6c14]{text-align:center;margin-top:1.5rem;margin-bottom:1.5rem}.poi-body[data-v-658b6c14]{box-shadow:0 -2px 1px 0 rgba(0,0,0,.05);padding:1rem;flex-grow:1}.poi-image[data-v-658b6c14]{height:14rem;width:100%;background-position:50% 50%;background-size:contain;background-repeat:no-repeat}.poi-image.image-background[data-v-658b6c14]{background-size:cover}.show-path[data-v-658b6c14]{bottom:1rem;right:1rem;text-transform:uppercase;z-index:10;line-height:2.8rem;margin-bottom:1.5rem}.show-path button[data-v-658b6c14]{height:3rem;font-size:1.2rem;line-height:2.8rem;padding-left:2.5rem;padding-right:2.5rem;margin:auto;border:0;display:block}.poi-description[data-v-658b6c14]{line-height:1.2}.poi-contact .address[data-v-658b6c14]{font-weight:600;margin-bottom:.5rem}.poi-contact .address span[data-v-658b6c14]{padding-top:4px;vertical-align:top;display:inline-block}.poi-contact .address a[data-v-658b6c14]{text-decoration:none;display:block;line-height:1.5}.poi-contact .address .icon[data-v-658b6c14]:before{mix-blend-mode:initial;color:#fff}",
1324
1324
  map: undefined,
1325
1325
  media: undefined
1326
1326
  });
@@ -1328,7 +1328,7 @@ const __vue_inject_styles__$l = function (inject) {
1328
1328
  /* scoped */
1329
1329
 
1330
1330
 
1331
- const __vue_scope_id__$l = "data-v-efe4488a";
1331
+ const __vue_scope_id__$l = "data-v-658b6c14";
1332
1332
  /* module identifier */
1333
1333
 
1334
1334
  const __vue_module_identifier__$l = undefined;
@@ -1387,7 +1387,7 @@ var script$k = {
1387
1387
  };
1388
1388
  },
1389
1389
 
1390
- computed: { ...mapState('wayfinder', ['pois', 'language']),
1390
+ computed: { ...mapState('wf', ['pois', 'language']),
1391
1391
 
1392
1392
  sortedPOIs() {
1393
1393
  let arr = this.pois.slice().filter(poi => {
@@ -1475,8 +1475,8 @@ var __vue_staticRenderFns__$k = [];
1475
1475
 
1476
1476
  const __vue_inject_styles__$k = function (inject) {
1477
1477
  if (!inject) return;
1478
- inject("data-v-7608d2ec_0", {
1479
- source: ".wf-list-item[data-v-7608d2ec]{list-style:none}",
1478
+ inject("data-v-17afa634_0", {
1479
+ source: ".wf-list-item[data-v-17afa634]{list-style:none}",
1480
1480
  map: undefined,
1481
1481
  media: undefined
1482
1482
  });
@@ -1484,7 +1484,7 @@ const __vue_inject_styles__$k = function (inject) {
1484
1484
  /* scoped */
1485
1485
 
1486
1486
 
1487
- const __vue_scope_id__$k = "data-v-7608d2ec";
1487
+ const __vue_scope_id__$k = "data-v-17afa634";
1488
1488
  /* module identifier */
1489
1489
 
1490
1490
  const __vue_module_identifier__$k = undefined;
@@ -1503,7 +1503,7 @@ const __vue_component__$k = /*#__PURE__*/normalizeComponent({
1503
1503
  //
1504
1504
  var script$j = {
1505
1505
  name: 'FlagsMenu',
1506
- computed: { ...mapState('wayfinder', ['languages', 'language', 'reset']),
1506
+ computed: { ...mapState('wf', ['languages', 'language', 'reset']),
1507
1507
 
1508
1508
  count() {
1509
1509
  return this.languages.length;
@@ -1594,8 +1594,8 @@ var __vue_staticRenderFns__$j = [];
1594
1594
 
1595
1595
  const __vue_inject_styles__$j = function (inject) {
1596
1596
  if (!inject) return;
1597
- inject("data-v-253091a8_0", {
1598
- source: ".languages-container.active[data-v-253091a8]{height:fit-content;z-index:10}.languages-container.active .languages-container-select[data-v-253091a8]{visibility:initial;opacity:1}.languages-container .languages-container-select[data-v-253091a8]{opacity:0;padding-bottom:.5rem;margin:auto;text-align:center;transition:opacity .2s ease-in;overflow:hidden;height:1.5rem;font-size:1rem}.languages-container .language .flag[data-v-253091a8]{width:70%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.languages-container .language .active[data-v-253091a8]{height:3.5rem;margin-bottom:1rem}.languages-container .language .display[data-v-253091a8]{height:3.5rem;margin-bottom:1.5rem}",
1597
+ inject("data-v-64144cc4_0", {
1598
+ source: ".languages-container.active[data-v-64144cc4]{height:fit-content;z-index:10}.languages-container.active .languages-container-select[data-v-64144cc4]{visibility:initial;opacity:1}.languages-container .languages-container-select[data-v-64144cc4]{opacity:0;padding-bottom:.5rem;margin:auto;text-align:center;transition:opacity .2s ease-in;overflow:hidden;height:1.5rem;font-size:1rem}.languages-container .language .flag[data-v-64144cc4]{width:70%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.languages-container .language .active[data-v-64144cc4]{height:3.5rem;margin-bottom:1rem}.languages-container .language .display[data-v-64144cc4]{height:3.5rem;margin-bottom:1.5rem}",
1599
1599
  map: undefined,
1600
1600
  media: undefined
1601
1601
  });
@@ -1603,7 +1603,7 @@ const __vue_inject_styles__$j = function (inject) {
1603
1603
  /* scoped */
1604
1604
 
1605
1605
 
1606
- const __vue_scope_id__$j = "data-v-253091a8";
1606
+ const __vue_scope_id__$j = "data-v-64144cc4";
1607
1607
  /* module identifier */
1608
1608
 
1609
1609
  const __vue_module_identifier__$j = undefined;
@@ -1622,7 +1622,7 @@ const __vue_component__$j = /*#__PURE__*/normalizeComponent({
1622
1622
  //
1623
1623
  var script$i = {
1624
1624
  name: 'LanguagesMenu',
1625
- computed: { ...mapState('wayfinder', ['languages', 'language', 'reset']),
1625
+ computed: { ...mapState('wf', ['languages', 'language', 'reset']),
1626
1626
 
1627
1627
  count() {
1628
1628
  return this.languages.length;
@@ -1731,8 +1731,8 @@ var __vue_staticRenderFns__$i = [];
1731
1731
 
1732
1732
  const __vue_inject_styles__$i = function (inject) {
1733
1733
  if (!inject) return;
1734
- inject("data-v-1ad395a8_0", {
1735
- source: ".wf-languages-menu.active[data-v-1ad395a8]{height:fit-content;z-index:10}.wf-languages-menu.active .wf-languages-title[data-v-1ad395a8]{visibility:initial;opacity:1}.wf-languages-menu .wf-languages-title[data-v-1ad395a8]{opacity:0;padding-bottom:.5rem;margin:auto;text-align:center;transition:opacity .2s ease-in;overflow:hidden}.wf-languages-menu .wf-language .wf-lang-flag[data-v-1ad395a8]{width:70%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.wf-languages-menu .wf-language .wf-active[data-v-1ad395a8]{height:3.5rem;margin-bottom:1rem}.wf-languages-menu .wf-language .wf-display[data-v-1ad395a8]{height:3.5rem;margin-bottom:1.5rem}",
1734
+ inject("data-v-2b86d0a6_0", {
1735
+ source: ".wf-languages-menu.active[data-v-2b86d0a6]{height:fit-content;z-index:10}.wf-languages-menu.active .wf-languages-title[data-v-2b86d0a6]{visibility:initial;opacity:1}.wf-languages-menu .wf-languages-title[data-v-2b86d0a6]{opacity:0;padding-bottom:.5rem;margin:auto;text-align:center;transition:opacity .2s ease-in;overflow:hidden}.wf-languages-menu .wf-language .wf-lang-flag[data-v-2b86d0a6]{width:70%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.wf-languages-menu .wf-language .wf-active[data-v-2b86d0a6]{height:3.5rem;margin-bottom:1rem}.wf-languages-menu .wf-language .wf-display[data-v-2b86d0a6]{height:3.5rem;margin-bottom:1.5rem}",
1736
1736
  map: undefined,
1737
1737
  media: undefined
1738
1738
  });
@@ -1740,7 +1740,7 @@ const __vue_inject_styles__$i = function (inject) {
1740
1740
  /* scoped */
1741
1741
 
1742
1742
 
1743
- const __vue_scope_id__$i = "data-v-1ad395a8";
1743
+ const __vue_scope_id__$i = "data-v-2b86d0a6";
1744
1744
  /* module identifier */
1745
1745
 
1746
1746
  const __vue_module_identifier__$i = undefined;
@@ -1759,7 +1759,7 @@ const __vue_component__$i = /*#__PURE__*/normalizeComponent({
1759
1759
  //
1760
1760
  var script$h = {
1761
1761
  name: "Group",
1762
- computed: { ...mapState(['language'])
1762
+ computed: { ...mapState('wf', ['language'])
1763
1763
  },
1764
1764
  props: {
1765
1765
  group: {
@@ -1826,7 +1826,7 @@ var __vue_staticRenderFns__$h = [];
1826
1826
  const __vue_inject_styles__$h = undefined;
1827
1827
  /* scoped */
1828
1828
 
1829
- const __vue_scope_id__$h = "data-v-5936e154";
1829
+ const __vue_scope_id__$h = "data-v-077cd362";
1830
1830
  /* module identifier */
1831
1831
 
1832
1832
  const __vue_module_identifier__$h = undefined;
@@ -1921,7 +1921,7 @@ var script$g = {
1921
1921
  };
1922
1922
  },
1923
1923
 
1924
- computed: { ...mapState('wayfinder', ['poiGroups', 'currentGroup', 'language']),
1924
+ computed: { ...mapState('wf', ['poiGroups', 'currentGroup', 'language']),
1925
1925
 
1926
1926
  sortedGroups() {
1927
1927
  let arr = []; // Copy arr for sorting
@@ -1991,7 +1991,7 @@ var script$g = {
1991
1991
  },
1992
1992
 
1993
1993
  reset() {
1994
- this.$store.dispatch('SET_CURRENT_GROUP', null);
1994
+ this.$store.dispatch('wf/SET_CURRENT_GROUP', null);
1995
1995
  },
1996
1996
 
1997
1997
  subGroups(subGroups) {
@@ -2135,8 +2135,8 @@ var __vue_staticRenderFns__$g = [];
2135
2135
 
2136
2136
  const __vue_inject_styles__$g = function (inject) {
2137
2137
  if (!inject) return;
2138
- inject("data-v-2c570b10_0", {
2139
- source: ".wf-groups-menu .wf-list-item[data-v-2c570b10]{list-style:none}.wf-groups-menu .wf-list[data-v-2c570b10]{margin:0;padding:0}",
2138
+ inject("data-v-13cecfd9_0", {
2139
+ source: ".wf-groups-menu .wf-list-item[data-v-13cecfd9]{list-style:none}.wf-groups-menu .wf-list[data-v-13cecfd9]{margin:0;padding:0}",
2140
2140
  map: undefined,
2141
2141
  media: undefined
2142
2142
  });
@@ -2144,7 +2144,7 @@ const __vue_inject_styles__$g = function (inject) {
2144
2144
  /* scoped */
2145
2145
 
2146
2146
 
2147
- const __vue_scope_id__$g = "data-v-2c570b10";
2147
+ const __vue_scope_id__$g = "data-v-13cecfd9";
2148
2148
  /* module identifier */
2149
2149
 
2150
2150
  const __vue_module_identifier__$g = undefined;
@@ -2180,7 +2180,7 @@ var script$f = {
2180
2180
  };
2181
2181
  },
2182
2182
 
2183
- computed: { ...mapState('wayfinder', ['language']),
2183
+ computed: { ...mapState('wf', ['language']),
2184
2184
 
2185
2185
  getPOIs() {
2186
2186
  if (this.group && this.group.pois) {
@@ -2268,8 +2268,8 @@ var __vue_staticRenderFns__$f = [];
2268
2268
 
2269
2269
  const __vue_inject_styles__$f = function (inject) {
2270
2270
  if (!inject) return;
2271
- inject("data-v-10bf5744_0", {
2272
- source: ".wf-group-pois-menu[data-v-10bf5744]{overflow:hidden;user-select:none}.wf-group-pois-menu .wf-list[data-v-10bf5744]{margin:0;padding:0}.wf-group-pois-menu .list-item[data-v-10bf5744]{list-style:none;padding:1em}",
2271
+ inject("data-v-14d8d75e_0", {
2272
+ source: ".wf-group-pois-menu[data-v-14d8d75e]{overflow:hidden;user-select:none}.wf-group-pois-menu .wf-list[data-v-14d8d75e]{margin:0;padding:0}.wf-group-pois-menu .list-item[data-v-14d8d75e]{list-style:none;padding:1em}",
2273
2273
  map: undefined,
2274
2274
  media: undefined
2275
2275
  });
@@ -2277,7 +2277,7 @@ const __vue_inject_styles__$f = function (inject) {
2277
2277
  /* scoped */
2278
2278
 
2279
2279
 
2280
- const __vue_scope_id__$f = "data-v-10bf5744";
2280
+ const __vue_scope_id__$f = "data-v-14d8d75e";
2281
2281
  /* module identifier */
2282
2282
 
2283
2283
  const __vue_module_identifier__$f = undefined;
@@ -2296,7 +2296,7 @@ const __vue_component__$f = /*#__PURE__*/normalizeComponent({
2296
2296
  //
2297
2297
  var script$e = {
2298
2298
  name: 'BuildingLogo',
2299
- computed: { ...mapState('wayfinder', ['building'])
2299
+ computed: { ...mapState('wf', ['building'])
2300
2300
  },
2301
2301
  methods: {
2302
2302
  getLogo() {
@@ -2332,8 +2332,8 @@ var __vue_staticRenderFns__$e = [];
2332
2332
 
2333
2333
  const __vue_inject_styles__$e = function (inject) {
2334
2334
  if (!inject) return;
2335
- inject("data-v-72ae38dc_0", {
2336
- source: ".wf-building-logo[data-v-72ae38dc]{background-size:contain;background-repeat:no-repeat;background-position:50%}",
2335
+ inject("data-v-38faefb4_0", {
2336
+ source: ".wf-building-logo[data-v-38faefb4]{background-size:contain;background-repeat:no-repeat;background-position:50%}",
2337
2337
  map: undefined,
2338
2338
  media: undefined
2339
2339
  });
@@ -2341,7 +2341,7 @@ const __vue_inject_styles__$e = function (inject) {
2341
2341
  /* scoped */
2342
2342
 
2343
2343
 
2344
- const __vue_scope_id__$e = "data-v-72ae38dc";
2344
+ const __vue_scope_id__$e = "data-v-38faefb4";
2345
2345
  /* module identifier */
2346
2346
 
2347
2347
  const __vue_module_identifier__$e = undefined;
@@ -2361,7 +2361,7 @@ const __vue_component__$e = /*#__PURE__*/normalizeComponent({
2361
2361
  var script$d = {
2362
2362
  name: 'YAH',
2363
2363
  computed: { //yahLogo
2364
- ...mapState('wayfinder', ['yahLogo', 'language'])
2364
+ ...mapState('wf', ['yahLogo', 'language'])
2365
2365
  },
2366
2366
  methods: {
2367
2367
  onClicked() {
@@ -2406,8 +2406,8 @@ var __vue_staticRenderFns__$d = [];
2406
2406
 
2407
2407
  const __vue_inject_styles__$d = function (inject) {
2408
2408
  if (!inject) return;
2409
- inject("data-v-5d9372c6_0", {
2410
- source: ".wf-yah[data-v-5d9372c6]{text-align:center;border:none;outline:0}.wf-icon[data-v-5d9372c6]{width:100%;height:100%;display:block;background-repeat:no-repeat;background-position:50%;background-size:contain;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iOTQiIGhlaWdodD0iMTI4IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogPG1ldGFkYXRhPgogIDxyZGY6UkRGPgogICA8Y2M6V29yayByZGY6YWJvdXQ9IiI+CiAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgIDxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiLz4KICAgIDxkYzp0aXRsZS8+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPHBhdGggZD0ibTQ2Ljk3NyAxMjYuNjRjLTAuMjgzMDMtMC42ODc1LTYuMTYzMS02LjQzNzctMTAuMzc0LTExLjY2My0yNC45NDctMzMuMTIyLTUyLjc2MS02My44OTgtMjAuMjgzLTEwMS4zIDE0LjM4MS0xMy44OTQgMzIuMTEzLTE0LjY4NiA1MC4zNDMtOC4yMTAxIDUxLjMzIDI5LjcwMiAxNC4xNjYgNzguMTU1LTEwLjIzNSAxMTAuMDFsLTkuNDUwMSAxMS4xNjN6bTE1LjQ0LTUwLjc3MWMzNC4yMzctMjQuNDg1IDcuNzY4LTcxLjYzMy0yOS44NDgtNTUuOTU5LTEwLjk4NCA1Ljg1NjktMTYuNDM0IDE2LjA0OC0xNi42MjUgMjguMDY4LTAuNTI0NSAxMS42OTMgNS42ODU0IDIxLjQ3MSAxNS41MjYgMjcuNDYxIDcuMDU1NSAzLjg0MDEgMTAuMTU3IDQuNTMzNyAxOC4xNDYgNC4wNTc3IDUuMTc3Ni0wLjMwODUyIDguMTYxMS0xLjE1MzggMTIuODAxLTMuNjI3MXoiIGZpbGw9IiNjNjQyNDIiIGZpbGwtb3BhY2l0eT0iLjk4ODI0Ii8+CiA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCguODc4MjkgMCAwIDEuMDUxOSAuNTU0NzQgLTYuOTk1MykiIGQ9Im00MS42ODIgODkuODkxYTUxLjIyMyA0MS43NTQgMCAxIDEgMS4yNzY2IDAuMjA4MDkiIGZpbGw9IiNjNjQyNDIiIGZpbGwtb3BhY2l0eT0iLjk4ODI0Ii8+CiA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNjQ1MzUpIiBkPSJtNDMuNjMxIDY5LjEyOWEyNi4wMTEgMjAuOTkxIDAgMSAxIDAuNjQ4MjYgMC4xMDQ2MSIgZmlsbC1vcGFjaXR5PSIwIiBvcGFjaXR5PSIuMzQwMTYiLz4KIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKC42NDUzNSkiIGQ9Im0zMS44OTIgMTE0LjI4YTE2LjY1NiAxMS43NSAwIDEgMSAwLjQxNTExIDAuMDU4NiIgZmlsbC1vcGFjaXR5PSIwIi8+CiA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCguOTcwMiAwIDAgMS4wMjcyIC00LjA1ODggLTUuNzUwNCkiIGQ9Im00NS41MjEgODQuODI0YTM0LjQ1MyAzMy41NCAwIDEgMSAwLjg1ODY2IDAuMTY3MTYiIGZpbGw9IiNiNzJjMmMiLz4KIDxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KC42NDYzIDAgMCAuNjE2ODEgNS4xMjYxIDQuOTAxNCkiIGQ9Im01Ny4wNzkgMTA0LjYxYTM0LjIwMyAzNi42MjMgMCAxIDEgMC44NTI0NCAwLjE4MjUyIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPgo=)}",
2409
+ inject("data-v-0e28d1b6_0", {
2410
+ source: ".wf-yah[data-v-0e28d1b6]{text-align:center;border:none;outline:0}.wf-icon[data-v-0e28d1b6]{width:100%;height:100%;display:block;background-repeat:no-repeat;background-position:50%;background-size:contain;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iOTQiIGhlaWdodD0iMTI4IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogPG1ldGFkYXRhPgogIDxyZGY6UkRGPgogICA8Y2M6V29yayByZGY6YWJvdXQ9IiI+CiAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgIDxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiLz4KICAgIDxkYzp0aXRsZS8+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPHBhdGggZD0ibTQ2Ljk3NyAxMjYuNjRjLTAuMjgzMDMtMC42ODc1LTYuMTYzMS02LjQzNzctMTAuMzc0LTExLjY2My0yNC45NDctMzMuMTIyLTUyLjc2MS02My44OTgtMjAuMjgzLTEwMS4zIDE0LjM4MS0xMy44OTQgMzIuMTEzLTE0LjY4NiA1MC4zNDMtOC4yMTAxIDUxLjMzIDI5LjcwMiAxNC4xNjYgNzguMTU1LTEwLjIzNSAxMTAuMDFsLTkuNDUwMSAxMS4xNjN6bTE1LjQ0LTUwLjc3MWMzNC4yMzctMjQuNDg1IDcuNzY4LTcxLjYzMy0yOS44NDgtNTUuOTU5LTEwLjk4NCA1Ljg1NjktMTYuNDM0IDE2LjA0OC0xNi42MjUgMjguMDY4LTAuNTI0NSAxMS42OTMgNS42ODU0IDIxLjQ3MSAxNS41MjYgMjcuNDYxIDcuMDU1NSAzLjg0MDEgMTAuMTU3IDQuNTMzNyAxOC4xNDYgNC4wNTc3IDUuMTc3Ni0wLjMwODUyIDguMTYxMS0xLjE1MzggMTIuODAxLTMuNjI3MXoiIGZpbGw9IiNjNjQyNDIiIGZpbGwtb3BhY2l0eT0iLjk4ODI0Ii8+CiA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCguODc4MjkgMCAwIDEuMDUxOSAuNTU0NzQgLTYuOTk1MykiIGQ9Im00MS42ODIgODkuODkxYTUxLjIyMyA0MS43NTQgMCAxIDEgMS4yNzY2IDAuMjA4MDkiIGZpbGw9IiNjNjQyNDIiIGZpbGwtb3BhY2l0eT0iLjk4ODI0Ii8+CiA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNjQ1MzUpIiBkPSJtNDMuNjMxIDY5LjEyOWEyNi4wMTEgMjAuOTkxIDAgMSAxIDAuNjQ4MjYgMC4xMDQ2MSIgZmlsbC1vcGFjaXR5PSIwIiBvcGFjaXR5PSIuMzQwMTYiLz4KIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKC42NDUzNSkiIGQ9Im0zMS44OTIgMTE0LjI4YTE2LjY1NiAxMS43NSAwIDEgMSAwLjQxNTExIDAuMDU4NiIgZmlsbC1vcGFjaXR5PSIwIi8+CiA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCguOTcwMiAwIDAgMS4wMjcyIC00LjA1ODggLTUuNzUwNCkiIGQ9Im00NS41MjEgODQuODI0YTM0LjQ1MyAzMy41NCAwIDEgMSAwLjg1ODY2IDAuMTY3MTYiIGZpbGw9IiNiNzJjMmMiLz4KIDxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KC42NDYzIDAgMCAuNjE2ODEgNS4xMjYxIDQuOTAxNCkiIGQ9Im01Ny4wNzkgMTA0LjYxYTM0LjIwMyAzNi42MjMgMCAxIDEgMC44NTI0NCAwLjE4MjUyIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPgo=)}",
2411
2411
  map: undefined,
2412
2412
  media: undefined
2413
2413
  });
@@ -2415,7 +2415,7 @@ const __vue_inject_styles__$d = function (inject) {
2415
2415
  /* scoped */
2416
2416
 
2417
2417
 
2418
- const __vue_scope_id__$d = "data-v-5d9372c6";
2418
+ const __vue_scope_id__$d = "data-v-0e28d1b6";
2419
2419
  /* module identifier */
2420
2420
 
2421
2421
  const __vue_module_identifier__$d = undefined;
@@ -2459,7 +2459,7 @@ var script$c = {
2459
2459
  default: false
2460
2460
  }
2461
2461
  },
2462
- computed: { ...mapState('wayfinder', ['shortcuts', 'language', 'landscape', 'mobile']),
2462
+ computed: { ...mapState('wf', ['shortcuts', 'language', 'landscape', 'mobile']),
2463
2463
 
2464
2464
  sortedShortcuts() {
2465
2465
  const sortedShortcuts = this.shortcuts.sort((a, b) => {
@@ -2560,8 +2560,8 @@ var __vue_staticRenderFns__$c = [];
2560
2560
 
2561
2561
  const __vue_inject_styles__$c = function (inject) {
2562
2562
  if (!inject) return;
2563
- inject("data-v-5166d7e7_0", {
2564
- source: ".shortcuts-container[data-v-5166d7e7]{display:flex;flex-wrap:wrap-reverse;align-content:stretch;justify-content:space-between;margin-bottom:.1rem;flex-direction:row}.shortcuts-container.map-shortcuts[data-v-5166d7e7]{position:absolute;left:.5rem;bottom:15%;top:15%;flex-direction:column;justify-content:center}",
2563
+ inject("data-v-6fbc92fe_0", {
2564
+ source: ".shortcuts-container[data-v-6fbc92fe]{display:flex;flex-wrap:wrap-reverse;align-content:stretch;justify-content:space-between;margin-bottom:.1rem;flex-direction:row}.shortcuts-container.map-shortcuts[data-v-6fbc92fe]{position:absolute;left:.5rem;bottom:15%;top:15%;flex-direction:column;justify-content:center}",
2565
2565
  map: undefined,
2566
2566
  media: undefined
2567
2567
  });
@@ -2569,7 +2569,7 @@ const __vue_inject_styles__$c = function (inject) {
2569
2569
  /* scoped */
2570
2570
 
2571
2571
 
2572
- const __vue_scope_id__$c = "data-v-5166d7e7";
2572
+ const __vue_scope_id__$c = "data-v-6fbc92fe";
2573
2573
  /* module identifier */
2574
2574
 
2575
2575
  const __vue_module_identifier__$c = undefined;
@@ -2682,7 +2682,7 @@ var script$a = {
2682
2682
  };
2683
2683
  },
2684
2684
 
2685
- computed: { ...mapState('wayfinder', ['floors', 'language']),
2685
+ computed: { ...mapState('wf', ['floors', 'language']),
2686
2686
 
2687
2687
  filteredFloors() {
2688
2688
  let arr = []; // Copy arr for sorting
@@ -2766,8 +2766,8 @@ var __vue_staticRenderFns__$a = [];
2766
2766
 
2767
2767
  const __vue_inject_styles__$a = function (inject) {
2768
2768
  if (!inject) return;
2769
- inject("data-v-bef5e336_0", {
2770
- source: ".wf-floors-menu .wf-list-item[data-v-bef5e336]{text-overflow:ellipsis;list-style:none}",
2769
+ inject("data-v-acb9257a_0", {
2770
+ source: ".wf-floors-menu .wf-list-item[data-v-acb9257a]{text-overflow:ellipsis;list-style:none}",
2771
2771
  map: undefined,
2772
2772
  media: undefined
2773
2773
  });
@@ -2775,7 +2775,7 @@ const __vue_inject_styles__$a = function (inject) {
2775
2775
  /* scoped */
2776
2776
 
2777
2777
 
2778
- const __vue_scope_id__$a = "data-v-bef5e336";
2778
+ const __vue_scope_id__$a = "data-v-acb9257a";
2779
2779
  /* module identifier */
2780
2780
 
2781
2781
  const __vue_module_identifier__$a = undefined;
@@ -2835,7 +2835,7 @@ var script$9 = {
2835
2835
  default: null
2836
2836
  }
2837
2837
  },
2838
- computed: { ...mapState('wayfinder', ['filteredPOIs', 'language'])
2838
+ computed: { ...mapState('wf', ['filteredPOIs', 'language'])
2839
2839
  },
2840
2840
  watch: {
2841
2841
  filteredPOIs: function (val) {
@@ -2924,7 +2924,7 @@ var __vue_staticRenderFns__$9 = [];
2924
2924
  const __vue_inject_styles__$9 = undefined;
2925
2925
  /* scoped */
2926
2926
 
2927
- const __vue_scope_id__$9 = "data-v-3a93ab93";
2927
+ const __vue_scope_id__$9 = "data-v-e2dd64b6";
2928
2928
  /* module identifier */
2929
2929
 
2930
2930
  const __vue_module_identifier__$9 = undefined;
@@ -2967,7 +2967,7 @@ var script$8 = {
2967
2967
  OSK: osk_common,
2968
2968
  POI: __vue_component__$l
2969
2969
  },
2970
- computed: { ...mapState('wayfinder', ['language', 'reset'])
2970
+ computed: { ...mapState('wf', ['language', 'reset'])
2971
2971
  },
2972
2972
  props: {
2973
2973
  limit: {
@@ -3216,7 +3216,7 @@ var __vue_staticRenderFns__$8 = [];
3216
3216
 
3217
3217
  const __vue_inject_styles__$8 = function (inject) {
3218
3218
  if (!inject) return;
3219
- inject("data-v-0693cb1d_0", {
3219
+ inject("data-v-106d1dfe_0", {
3220
3220
  source: ".wf-search .wf-close{position:absolute;top:0;right:.5rem;width:10rem;background-color:rgba(255,255,255,.7);background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3Csvg xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' enable-background='new 0 0 20 20' viewBox='0 0 20 20' y='0px' x='0px' id='Cross' version='1.1'%3E%3Cmetadata id='metadata9'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:format%3Eimage/svg+xml%3C/dc:format%3E%3Cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3E%3Cdc:title%3E%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cdefs id='defs7'%3E%3ClinearGradient spreadMethod='pad' gradientUnits='userSpaceOnUse' y2='29.3118' x2='11.0536' y1='16.0077' x1='24.5509' id='paint1_linear' gradientTransform='translate(-6.9097825,12.894087)'%3E%3Cstop id='stop16' stop-color='%23FF4C54' /%3E%3Cstop id='stop18' stop-color='%23BE3F45' offset='1' /%3E%3C/linearGradient%3E%3ClinearGradient gradientUnits='userSpaceOnUse' y2='34.9828' x2='34.294201' y1='14.605' x1='13.6189' id='paint0_linear'%3E%3Cstop id='stop11' stop-color='%23FF4C54' /%3E%3Cstop id='stop13' stop-color='%23BE3F45' offset='1' /%3E%3C/linearGradient%3E%3ClinearGradient gradientTransform='matrix(1.9229845,0,0,1.9229845,-9.2288833,-9.2308069)' gradientUnits='userSpaceOnUse' y2='14.322534' x2='6.3946652' y1='7.6276183' x1='12.290775' id='linearGradient4161' xlink:href='%23paint0_linear' /%3E%3C/defs%3E%3Cpath style='fill:url(%23linearGradient4161);fill-opacity:1' id='path3' d='m 18.362098,19.32359 c -0.90188,0.90188 -2.363348,0.90188 -3.263305,0 l -5.097832,-5.826643 -5.0978311,5.82472 c -0.9018797,0.90188 -2.3633479,0.90188 -3.2633047,0 -0.90187984,-0.90188 -0.90187984,-2.363347 0,-3.263304 L 6.9434164,10.000961 1.6379022,3.9397144 c -0.90187974,-0.9018798 -0.90187974,-2.361425 0,-3.26330476 0.9018798,-0.9018797 2.3614249,-0.9018797 3.2633048,0 l 5.099754,5.82856596 5.097832,-5.82856596 c 0.90188,-0.9018797 2.361425,-0.9018797 3.263305,0 0.901879,0.90187976 0.901879,2.36334796 0,3.26330476 l -5.30359,6.0612466 5.30359,6.057402 c 0.901879,0.90188 0.901879,2.363347 0,3.265227 z' /%3E%3C/svg%3E\")}.wf-search .results{overflow:hidden}.wf-search .wf-search-container{margin:auto;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:1rem}.wf-search .wf-search-input-container input{margin:auto;display:block;padding:1rem;font-size:2rem;font-weight:600;width:100%;border:1px solid #000;outline:0;background-repeat:no-repeat}.wf-search .wf-keyboard{user-select:none;display:flex;flex-direction:column;flex-shrink:0}.wf-search .wf-keyboard .keyboard-row{margin:auto;display:flex}.wf-search .wf-keyboard .keyboard-key{text-align:center;width:4ch;height:4ch;line-height:1.5;overflow:hidden;user-select:none}.wf-search .wf-keyboard .keyboard-key:last-child{margin-right:0}.wf-search .wf-keyboard .keyboard-key:active{background-color:#00f}.wf-search .wf-keyboard .keyboard-key2x{width:8ch}.wf-search .wf-keyboard .keyboard-key3x{width:12ch}.wf-search .wf-keyboard .keyboard-key_spacebar{width:24ch}",
3221
3221
  map: undefined,
3222
3222
  media: undefined
@@ -3433,7 +3433,7 @@ const __vue_component__$6 = /*#__PURE__*/normalizeComponent({
3433
3433
  //
3434
3434
  var script$5 = {
3435
3435
  name: 'Tabs',
3436
- computed: { ...mapState('wayfinder', ['currentTab', 'searchVisible', 'mobile', 'landscape', 'shortcuts', 'language'])
3436
+ computed: { ...mapState('wf', ['currentTab', 'searchVisible', 'mobile', 'landscape', 'shortcuts', 'language'])
3437
3437
  },
3438
3438
 
3439
3439
  data() {
@@ -3530,8 +3530,8 @@ var __vue_staticRenderFns__$5 = [];
3530
3530
 
3531
3531
  const __vue_inject_styles__$5 = function (inject) {
3532
3532
  if (!inject) return;
3533
- inject("data-v-9737c1f0_0", {
3534
- source: ".wf-tab-buttons[data-v-9737c1f0]{display:flex;align-content:stretch;justify-content:space-between}.wf-tab-buttons .wf-item[data-v-9737c1f0]{background-size:auto 30%;background-repeat:no-repeat}",
3533
+ inject("data-v-5229b2f8_0", {
3534
+ source: ".wf-tab-buttons[data-v-5229b2f8]{display:flex;align-content:stretch;justify-content:space-between}.wf-tab-buttons .wf-item[data-v-5229b2f8]{background-size:auto 30%;background-repeat:no-repeat}",
3535
3535
  map: undefined,
3536
3536
  media: undefined
3537
3537
  });
@@ -3539,7 +3539,7 @@ const __vue_inject_styles__$5 = function (inject) {
3539
3539
  /* scoped */
3540
3540
 
3541
3541
 
3542
- const __vue_scope_id__$5 = "data-v-9737c1f0";
3542
+ const __vue_scope_id__$5 = "data-v-5229b2f8";
3543
3543
  /* module identifier */
3544
3544
 
3545
3545
  const __vue_module_identifier__$5 = undefined;
@@ -3655,7 +3655,7 @@ var script$3 = {
3655
3655
  }
3656
3656
  },
3657
3657
  computed: { //yahLogo
3658
- ...mapState('wayfinder', ['banners'])
3658
+ ...mapState('wf', ['banners'])
3659
3659
  },
3660
3660
 
3661
3661
  data() {
@@ -3911,8 +3911,8 @@ var __vue_staticRenderFns__$3 = [];
3911
3911
 
3912
3912
  const __vue_inject_styles__$3 = function (inject) {
3913
3913
  if (!inject) return;
3914
- inject("data-v-423cf786_0", {
3915
- source: ".wf-banner[data-v-423cf786]{position:relative;width:100%;height:100%}.wf-banner .wf-frame[data-v-423cf786]{width:100%;height:100%;position:absolute;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;left:0;top:0;opacity:0;transition:opacity .5s ease-in-out}.wf-banner .wf-frame .wf-frame-container[data-v-423cf786]{background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.wf-banner .wf-frame.wf-active[data-v-423cf786]{opacity:1;transition:opacity .5s ease-in-out}.wf-banner .wf-frame video[data-v-423cf786]{position:relative;top:50%;transform:translateY(-50%)}",
3914
+ inject("data-v-1fcb87ce_0", {
3915
+ source: ".wf-banner[data-v-1fcb87ce]{position:relative;width:100%;height:100%}.wf-banner .wf-frame[data-v-1fcb87ce]{width:100%;height:100%;position:absolute;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;left:0;top:0;opacity:0;transition:opacity .5s ease-in-out}.wf-banner .wf-frame .wf-frame-container[data-v-1fcb87ce]{background-size:cover;background-position:50% 50%;background-repeat:no-repeat}.wf-banner .wf-frame.wf-active[data-v-1fcb87ce]{opacity:1;transition:opacity .5s ease-in-out}.wf-banner .wf-frame video[data-v-1fcb87ce]{position:relative;top:50%;transform:translateY(-50%)}",
3916
3916
  map: undefined,
3917
3917
  media: undefined
3918
3918
  });
@@ -3920,7 +3920,7 @@ const __vue_inject_styles__$3 = function (inject) {
3920
3920
  /* scoped */
3921
3921
 
3922
3922
 
3923
- const __vue_scope_id__$3 = "data-v-423cf786";
3923
+ const __vue_scope_id__$3 = "data-v-1fcb87ce";
3924
3924
  /* module identifier */
3925
3925
 
3926
3926
  const __vue_module_identifier__$3 = undefined;
@@ -3939,7 +3939,7 @@ const __vue_component__$3 = /*#__PURE__*/normalizeComponent({
3939
3939
  //
3940
3940
  var script$2 = {
3941
3941
  name: "html",
3942
- computed: { ...mapState('wayfinder', ['language'])
3942
+ computed: { ...mapState('wf', ['language'])
3943
3943
  },
3944
3944
  props: {
3945
3945
  item: {
@@ -3975,7 +3975,7 @@ var __vue_staticRenderFns__$2 = [];
3975
3975
  const __vue_inject_styles__$2 = undefined;
3976
3976
  /* scoped */
3977
3977
 
3978
- const __vue_scope_id__$2 = "data-v-0d66ddb2";
3978
+ const __vue_scope_id__$2 = "data-v-04c2d772";
3979
3979
  /* module identifier */
3980
3980
 
3981
3981
  const __vue_module_identifier__$2 = undefined;
@@ -3999,7 +3999,7 @@ var script$1 = {
3999
3999
  components: {
4000
4000
  PageHTML: __vue_component__$2
4001
4001
  },
4002
- computed: { ...mapState('wayfinder', ['language', 'pages']),
4002
+ computed: { ...mapState('wf', ['language', 'pages']),
4003
4003
 
4004
4004
  pageName() {
4005
4005
  if (this.page && this.page.name) {
@@ -4017,6 +4017,10 @@ var script$1 = {
4017
4017
  type: Number,
4018
4018
  default: -1
4019
4019
  },
4020
+ slug: {
4021
+ type: String,
4022
+ default: null
4023
+ },
4020
4024
  showName: {
4021
4025
  type: Boolean,
4022
4026
  default: true
@@ -4043,16 +4047,34 @@ var script$1 = {
4043
4047
  index() {
4044
4048
  if (this.index >= 1) {
4045
4049
  this.currentIndex = this.index;
4050
+ this.updatePage();
4046
4051
  }
4052
+ },
4053
+
4054
+ slug() {
4055
+ this.updatePage();
4047
4056
  }
4048
4057
 
4049
4058
  },
4050
4059
  methods: {
4051
4060
  updatePage() {
4052
- if (this.pages) {
4053
- if (this.pages[this.container] && this.pages[this.container][this.currentIndex]) {
4061
+ if (this.pages && this.pages[this.container]) {
4062
+ console.log('updatePage1', this.page, this.container, this.currentIndex, this.slug);
4063
+
4064
+ if (this.slug != null) {
4065
+ let page;
4066
+
4067
+ for (let p in this.pages[this.container]) {
4068
+ page = this.pages[this.container][p];
4069
+
4070
+ if (page.slug.toLowerCase() == this.slug.toLowerCase()) {
4071
+ console.log('updatePage2', this.page, this.container, this.currentIndex, this.slug);
4072
+ this.page = page;
4073
+ break;
4074
+ }
4075
+ }
4076
+ } else if (this.currentIndex > -1 && this.pages[this.container][this.currentIndex]) {
4054
4077
  this.page = this.pages[this.container][this.currentIndex];
4055
- console.log('updatePage', this.page, this.container, this.currentIndex);
4056
4078
  }
4057
4079
  }
4058
4080
  },
@@ -4087,7 +4109,13 @@ var __vue_render__$1 = function () {
4087
4109
 
4088
4110
  return _vm.page ? _c('div', {
4089
4111
  staticClass: "wf-page"
4090
- }, [_vm.showName ? _c('label', {
4112
+ }, [_c('div', {
4113
+ staticClass: "wf-page-icon",
4114
+ class: [_vm.page.icon ? 'wf-has-icon' : ''],
4115
+ domProps: {
4116
+ "innerHTML": _vm._s(_vm.page.icon)
4117
+ }
4118
+ }), _vm._v(" "), _vm.showName ? _c('label', {
4091
4119
  staticClass: "wf-page-name",
4092
4120
  domProps: {
4093
4121
  "innerHTML": _vm._s(_vm.pageName || '')
@@ -4113,7 +4141,7 @@ var __vue_staticRenderFns__$1 = [];
4113
4141
  const __vue_inject_styles__$1 = undefined;
4114
4142
  /* scoped */
4115
4143
 
4116
- const __vue_scope_id__$1 = "data-v-774f9e98";
4144
+ const __vue_scope_id__$1 = "data-v-168fdeaf";
4117
4145
  /* module identifier */
4118
4146
 
4119
4147
  const __vue_module_identifier__$1 = undefined;
@@ -4140,7 +4168,7 @@ var script = {
4140
4168
  default: ""
4141
4169
  }
4142
4170
  },
4143
- computed: { ...mapState(['reset'])
4171
+ computed: { ...mapState('wf', ['reset'])
4144
4172
  },
4145
4173
 
4146
4174
  data() {
@@ -4185,7 +4213,7 @@ var __vue_staticRenderFns__ = [];
4185
4213
 
4186
4214
  const __vue_inject_styles__ = function (inject) {
4187
4215
  if (!inject) return;
4188
- inject("data-v-55f34065_0", {
4216
+ inject("data-v-6f07be40_0", {
4189
4217
  source: ".wf-browser,.wf-browser iframe{width:100%;height:100%;border:none}",
4190
4218
  map: undefined,
4191
4219
  media: undefined
@@ -4213,28 +4241,28 @@ const __vue_component__ = /*#__PURE__*/normalizeComponent({
4213
4241
  /* eslint-disable import/prefer-default-export */
4214
4242
 
4215
4243
  var components = /*#__PURE__*/Object.freeze({
4216
- __proto__: null,
4217
- WFMap: __vue_component__$m,
4218
- WFAZMenu: __vue_component__$k,
4219
- WFFlagsMenu: __vue_component__$j,
4220
- WFLanguagesMenu: __vue_component__$i,
4221
- WFGroupsMenu: __vue_component__$g,
4222
- WFGroupPOIsMenu: __vue_component__$f,
4223
- WFBuildingLogo: __vue_component__$e,
4224
- WFShortcutsMenu: __vue_component__$c,
4225
- WFZoomMenu: __vue_component__$b,
4226
- WFFloorsMenu: __vue_component__$a,
4227
- WFFilteredMenu: __vue_component__$9,
4228
- WFSearch: __vue_component__$8,
4229
- WFTabs: __vue_component__$7,
4230
- WFTab: __vue_component__$6,
4231
- WFTabButtons: __vue_component__$5,
4232
- WFScrollableArea: __vue_component__$4,
4233
- WFBanner: __vue_component__$3,
4234
- WFPOI: __vue_component__$l,
4235
- WFPage: __vue_component__$1,
4236
- WFYAH: __vue_component__$d,
4237
- WFBrowser: __vue_component__
4244
+ __proto__: null,
4245
+ WFMap: __vue_component__$m,
4246
+ WFAZMenu: __vue_component__$k,
4247
+ WFFlagsMenu: __vue_component__$j,
4248
+ WFLanguagesMenu: __vue_component__$i,
4249
+ WFGroupsMenu: __vue_component__$g,
4250
+ WFGroupPOIsMenu: __vue_component__$f,
4251
+ WFBuildingLogo: __vue_component__$e,
4252
+ WFShortcutsMenu: __vue_component__$c,
4253
+ WFZoomMenu: __vue_component__$b,
4254
+ WFFloorsMenu: __vue_component__$a,
4255
+ WFFilteredMenu: __vue_component__$9,
4256
+ WFSearch: __vue_component__$8,
4257
+ WFTabs: __vue_component__$7,
4258
+ WFTab: __vue_component__$6,
4259
+ WFTabButtons: __vue_component__$5,
4260
+ WFScrollableArea: __vue_component__$4,
4261
+ WFBanner: __vue_component__$3,
4262
+ WFPOI: __vue_component__$l,
4263
+ WFPage: __vue_component__$1,
4264
+ WFYAH: __vue_component__$d,
4265
+ WFBrowser: __vue_component__
4238
4266
  });
4239
4267
 
4240
4268
  /* global wayfinder: false, WayfinderAPI */