@3dwayfinder/wayfinder-vue-components 1.24.2 → 1.24.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.
@@ -27,7 +27,7 @@ const urls$1 = {
27
27
  snapshot: "../../../"
28
28
  }
29
29
  };
30
- var script$E = {
30
+ var script$F = {
31
31
  data() {
32
32
  return {
33
33
  lastClick: false,
@@ -43,6 +43,7 @@ var script$E = {
43
43
  };
44
44
  this.$wayfinder.events.on("data-loaded", () => {
45
45
  this.maxInActivity = this.$wayfinder.settings.getInt("kiosk.max-inactivity", 30);
46
+ this.loadColors();
46
47
  });
47
48
  this.lastClick = setTimeout(() => {
48
49
  // Start screensaver
@@ -92,6 +93,50 @@ var script$E = {
92
93
  s.onload = callback;
93
94
  s.src = url;
94
95
  }
96
+ },
97
+ loadColors() {
98
+ try {
99
+ const wf = this.$wayfinder;
100
+ if (!wf) {
101
+ console.warn('Wayfinder instance not found, using default settings');
102
+ return;
103
+ }
104
+ const getColor = (key, fallback) => {
105
+ try {
106
+ const color = wf.settings.getColor(key);
107
+ if (color && typeof color.toHex === 'function') {
108
+ return color.toHex();
109
+ }
110
+ const strColor = wf.settings[key];
111
+ if (strColor && typeof strColor === 'string' && strColor.startsWith('#')) {
112
+ return strColor;
113
+ }
114
+ return fallback;
115
+ } catch (e) {
116
+ return fallback;
117
+ }
118
+ };
119
+ this.applyColorSettings({
120
+ 'primary': getColor('template.color.primary', '#143c34'),
121
+ 'primary-content': getColor('template.color.primary-content', '#FFFFFF'),
122
+ 'secondary': getColor('template.color.secondary', '#333333'),
123
+ 'secondary-content': getColor('template.color.secondary-content', '#FFFFFF'),
124
+ 'accent': getColor('template.color.accent', '#FFFFFF'),
125
+ 'accent-content': getColor('template.color.accent-content', '#333333'),
126
+ 'base-100': getColor('template.color.base-100', '#FFFFFF'),
127
+ 'base-200': getColor('template.color.base-200', '#f4f4f4'),
128
+ 'base-content': getColor('template.color.base-content', '#333333')
129
+ });
130
+ } catch (error) {
131
+ console.error('Error loading Wayfinder settings:', error);
132
+ console.warn('Using default settings');
133
+ }
134
+ },
135
+ applyColorSettings(colors) {
136
+ const root = document.documentElement;
137
+ Object.keys(colors).forEach(colorKey => {
138
+ root.style.setProperty(`--color-${colorKey}`, colors[colorKey]);
139
+ });
95
140
  }
96
141
  }
97
142
  };
@@ -172,10 +217,10 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla
172
217
  }
173
218
 
174
219
  /* script */
175
- const __vue_script__$E = script$E;
220
+ const __vue_script__$F = script$F;
176
221
 
177
222
  /* template */
178
- var __vue_render__$E = function () {
223
+ var __vue_render__$F = function () {
179
224
  var _vm = this;
180
225
  var _h = _vm.$createElement;
181
226
  var _c = _vm._self._c || _h;
@@ -193,27 +238,27 @@ var __vue_render__$E = function () {
193
238
  }
194
239
  }, [_vm._t("default")], 2);
195
240
  };
196
- var __vue_staticRenderFns__$E = [];
241
+ var __vue_staticRenderFns__$F = [];
197
242
 
198
243
  /* style */
199
- const __vue_inject_styles__$E = undefined;
244
+ const __vue_inject_styles__$F = undefined;
200
245
  /* scoped */
201
- const __vue_scope_id__$E = undefined;
246
+ const __vue_scope_id__$F = undefined;
202
247
  /* module identifier */
203
- const __vue_module_identifier__$E = undefined;
248
+ const __vue_module_identifier__$F = undefined;
204
249
  /* functional template */
205
- const __vue_is_functional_template__$E = false;
250
+ const __vue_is_functional_template__$F = false;
206
251
  /* style inject */
207
252
 
208
253
  /* style inject SSR */
209
254
 
210
255
  /* style inject shadow dom */
211
256
 
212
- const __vue_component__$16 = /*#__PURE__*/normalizeComponent({
213
- render: __vue_render__$E,
214
- staticRenderFns: __vue_staticRenderFns__$E
215
- }, __vue_inject_styles__$E, __vue_script__$E, __vue_scope_id__$E, __vue_is_functional_template__$E, __vue_module_identifier__$E, false, undefined, undefined, undefined);
216
- var __vue_component__$17 = __vue_component__$16;
257
+ const __vue_component__$18 = /*#__PURE__*/normalizeComponent({
258
+ render: __vue_render__$F,
259
+ staticRenderFns: __vue_staticRenderFns__$F
260
+ }, __vue_inject_styles__$F, __vue_script__$F, __vue_scope_id__$F, __vue_is_functional_template__$F, __vue_module_identifier__$F, false, undefined, undefined, undefined);
261
+ var __vue_component__$19 = __vue_component__$18;
217
262
 
218
263
  /*!
219
264
  * vuex v3.6.2
@@ -1032,7 +1077,7 @@ function getModuleByNamespace (store, helper, namespace) {
1032
1077
  }
1033
1078
 
1034
1079
  //
1035
- var script$D = {
1080
+ var script$E = {
1036
1081
  name: "POI",
1037
1082
  computed: {
1038
1083
  ...mapState('wf', ['language']),
@@ -1251,10 +1296,10 @@ function addStyle(id, css) {
1251
1296
  }
1252
1297
 
1253
1298
  /* script */
1254
- const __vue_script__$D = script$D;
1299
+ const __vue_script__$E = script$E;
1255
1300
 
1256
1301
  /* template */
1257
- var __vue_render__$D = function () {
1302
+ var __vue_render__$E = function () {
1258
1303
  var _vm = this;
1259
1304
  var _h = _vm.$createElement;
1260
1305
  var _c = _vm._self._c || _h;
@@ -1336,10 +1381,10 @@ var __vue_render__$D = function () {
1336
1381
  }
1337
1382
  })], 1) : _vm._e()], 1) : _vm._e();
1338
1383
  };
1339
- var __vue_staticRenderFns__$D = [];
1384
+ var __vue_staticRenderFns__$E = [];
1340
1385
 
1341
1386
  /* style */
1342
- const __vue_inject_styles__$D = function (inject) {
1387
+ const __vue_inject_styles__$E = function (inject) {
1343
1388
  if (!inject) return;
1344
1389
  inject("data-v-3cefa387_0", {
1345
1390
  source: ".layout-view[data-v-3cefa387]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.poi-info[data-v-3cefa387]{padding:1rem}.poi-info h2[data-v-3cefa387]{text-align:center;margin-top:1.5rem;margin-bottom:1.5rem}.poi-body[data-v-3cefa387]{box-shadow:0 -2px 1px 0 rgba(0,0,0,.05);padding:1rem;flex-grow:1}.poi-image[data-v-3cefa387]{height:14rem;width:100%;background-position:50% 50%;background-size:contain;background-repeat:no-repeat}.poi-image.image-background[data-v-3cefa387]{background-size:cover}.show-path[data-v-3cefa387]{bottom:1rem;right:1rem;text-transform:uppercase;z-index:10;line-height:2.8rem;margin-bottom:1.5rem}.show-path button[data-v-3cefa387]{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-3cefa387]{line-height:1.2}.poi-contact .address[data-v-3cefa387]{font-weight:600;margin-bottom:.5rem}.poi-contact .address span[data-v-3cefa387]{padding-top:4px;vertical-align:top;display:inline-block}.poi-contact .address a[data-v-3cefa387]{text-decoration:none;display:block;line-height:1.5}.poi-contact .address .icon[data-v-3cefa387]:before{mix-blend-mode:initial;color:#fff}",
@@ -1348,24 +1393,24 @@ const __vue_inject_styles__$D = function (inject) {
1348
1393
  });
1349
1394
  };
1350
1395
  /* scoped */
1351
- const __vue_scope_id__$D = "data-v-3cefa387";
1396
+ const __vue_scope_id__$E = "data-v-3cefa387";
1352
1397
  /* module identifier */
1353
- const __vue_module_identifier__$D = undefined;
1398
+ const __vue_module_identifier__$E = undefined;
1354
1399
  /* functional template */
1355
- const __vue_is_functional_template__$D = false;
1400
+ const __vue_is_functional_template__$E = false;
1356
1401
  /* style inject SSR */
1357
1402
 
1358
1403
  /* style inject shadow dom */
1359
1404
 
1360
- const __vue_component__$15 = /*#__PURE__*/normalizeComponent({
1361
- render: __vue_render__$D,
1362
- staticRenderFns: __vue_staticRenderFns__$D
1363
- }, __vue_inject_styles__$D, __vue_script__$D, __vue_scope_id__$D, __vue_is_functional_template__$D, __vue_module_identifier__$D, false, createInjector, undefined, undefined);
1364
- var POI = __vue_component__$15;
1405
+ const __vue_component__$17 = /*#__PURE__*/normalizeComponent({
1406
+ render: __vue_render__$E,
1407
+ staticRenderFns: __vue_staticRenderFns__$E
1408
+ }, __vue_inject_styles__$E, __vue_script__$E, __vue_scope_id__$E, __vue_is_functional_template__$E, __vue_module_identifier__$E, false, createInjector, undefined, undefined);
1409
+ var POI = __vue_component__$17;
1365
1410
 
1366
1411
  //
1367
1412
  var wayfinder;
1368
- var script$C = {
1413
+ var script$D = {
1369
1414
  name: 'Map',
1370
1415
  components: {
1371
1416
  POI
@@ -1589,8 +1634,13 @@ var script$C = {
1589
1634
  Vue$1.prototype.$wayfinder.translator.translate();
1590
1635
  },
1591
1636
  updateBuilding() {
1637
+ this.updateStoreGetter("wf/xBuildings", this.$store.state);
1592
1638
  this.updateStoreGetter("wf/xBuilding", this.$store.state);
1593
1639
  this.updateStoreGetter("wf/xFloors", this.$store.state);
1640
+ if (Vue$1.prototype.$wayfinder && typeof Vue$1.prototype.$wayfinder.getCurrentBuilding === "function") {
1641
+ const building = Vue$1.prototype.$wayfinder.getCurrentBuilding();
1642
+ this.$store.dispatch('wf/SET_CURRENT_BUILDING', building && typeof building.copy === "function" ? building.copy() : building);
1643
+ }
1594
1644
  },
1595
1645
  updateStoreGetter(key, state) {
1596
1646
  if (this.$store._wrappedGetters[key]) {
@@ -1689,10 +1739,10 @@ var script$C = {
1689
1739
  };
1690
1740
 
1691
1741
  /* script */
1692
- const __vue_script__$C = script$C;
1742
+ const __vue_script__$D = script$D;
1693
1743
 
1694
1744
  /* template */
1695
- var __vue_render__$C = function () {
1745
+ var __vue_render__$D = function () {
1696
1746
  var _vm = this;
1697
1747
  var _h = _vm.$createElement;
1698
1748
  var _c = _vm._self._c || _h;
@@ -1755,35 +1805,35 @@ var __vue_render__$C = function () {
1755
1805
  staticClass: "wf-pin-down"
1756
1806
  }) : _vm._e()])]);
1757
1807
  };
1758
- var __vue_staticRenderFns__$C = [];
1808
+ var __vue_staticRenderFns__$D = [];
1759
1809
 
1760
1810
  /* style */
1761
- const __vue_inject_styles__$C = function (inject) {
1811
+ const __vue_inject_styles__$D = function (inject) {
1762
1812
  if (!inject) return;
1763
- inject("data-v-73ea309f_0", {
1764
- source: ".wf-map-container[data-v-73ea309f]{position:relative;width:100%;height:100%}.wf-map-container canvas[data-v-73ea309f]{width:100%;height:100%;position:relative}.wf-map-container .wf-map-path-text[data-v-73ea309f]{width:30ch;text-align:center;background-color:#fff;position:absolute;bottom:25%;margin:auto;left:50%;margin-left:-15ch;padding:.5em}#wf-poi-popup[data-v-73ea309f]{position:absolute;top:0;left:0;z-index:10;width:15.5rem;height:auto;background-color:#fff;text-align:center;transform-origin:bottom;animation-duration:.5s;animation-iteration-count:2;cursor:pointer}.wf-poi-popup-content[data-v-73ea309f]{display:flex;flex-direction:column;justify-content:stretch;height:100%}.wf-poi-popup-content>label[data-v-73ea309f]{flex-grow:1;font-size:1.6rem;margin-top:.6rem;text-align:center;line-height:1.2;font-weight:600;margin-bottom:1.6rem}.wf-pin-down[data-v-73ea309f]{background-color:#fff;width:1rem;height:1rem;position:absolute;bottom:-.5rem;border-radius:1rem 0 0 0;transform:rotate(45deg);left:50%;margin-left:-.75rem}.wf-pin-left .wf-pin-down[data-v-73ea309f]{left:1rem}.wf-pin-right .wf-pin-down[data-v-73ea309f]{right:1rem;left:auto}.wf-pin-up .wf-poi-popup-content[data-v-73ea309f]{margin-bottom:0}.wf-pin-up .wf-pin-down[data-v-73ea309f]{top:-.5rem;bottom:auto;transform:rotate(-45deg)}",
1813
+ inject("data-v-1840d308_0", {
1814
+ source: ".wf-map-container[data-v-1840d308]{position:relative;width:100%;height:100%}.wf-map-container canvas[data-v-1840d308]{width:100%;height:100%;position:relative}.wf-map-container .wf-map-path-text[data-v-1840d308]{width:30ch;text-align:center;background-color:#fff;position:absolute;bottom:25%;margin:auto;left:50%;margin-left:-15ch;padding:.5em}#wf-poi-popup[data-v-1840d308]{position:absolute;top:0;left:0;z-index:10;width:15.5rem;height:auto;background-color:#fff;text-align:center;transform-origin:bottom;animation-duration:.5s;animation-iteration-count:2;cursor:pointer}.wf-poi-popup-content[data-v-1840d308]{display:flex;flex-direction:column;justify-content:stretch;height:100%}.wf-poi-popup-content>label[data-v-1840d308]{flex-grow:1;font-size:1.6rem;margin-top:.6rem;text-align:center;line-height:1.2;font-weight:600;margin-bottom:1.6rem}.wf-pin-down[data-v-1840d308]{background-color:#fff;width:1rem;height:1rem;position:absolute;bottom:-.5rem;border-radius:1rem 0 0 0;transform:rotate(45deg);left:50%;margin-left:-.75rem}.wf-pin-left .wf-pin-down[data-v-1840d308]{left:1rem}.wf-pin-right .wf-pin-down[data-v-1840d308]{right:1rem;left:auto}.wf-pin-up .wf-poi-popup-content[data-v-1840d308]{margin-bottom:0}.wf-pin-up .wf-pin-down[data-v-1840d308]{top:-.5rem;bottom:auto;transform:rotate(-45deg)}",
1765
1815
  map: undefined,
1766
1816
  media: undefined
1767
1817
  });
1768
1818
  };
1769
1819
  /* scoped */
1770
- const __vue_scope_id__$C = "data-v-73ea309f";
1820
+ const __vue_scope_id__$D = "data-v-1840d308";
1771
1821
  /* module identifier */
1772
- const __vue_module_identifier__$C = undefined;
1822
+ const __vue_module_identifier__$D = undefined;
1773
1823
  /* functional template */
1774
- const __vue_is_functional_template__$C = false;
1824
+ const __vue_is_functional_template__$D = false;
1775
1825
  /* style inject SSR */
1776
1826
 
1777
1827
  /* style inject shadow dom */
1778
1828
 
1779
- const __vue_component__$13 = /*#__PURE__*/normalizeComponent({
1780
- render: __vue_render__$C,
1781
- staticRenderFns: __vue_staticRenderFns__$C
1782
- }, __vue_inject_styles__$C, __vue_script__$C, __vue_scope_id__$C, __vue_is_functional_template__$C, __vue_module_identifier__$C, false, createInjector, undefined, undefined);
1783
- var __vue_component__$14 = __vue_component__$13;
1829
+ const __vue_component__$15 = /*#__PURE__*/normalizeComponent({
1830
+ render: __vue_render__$D,
1831
+ staticRenderFns: __vue_staticRenderFns__$D
1832
+ }, __vue_inject_styles__$D, __vue_script__$D, __vue_scope_id__$D, __vue_is_functional_template__$D, __vue_module_identifier__$D, false, createInjector, undefined, undefined);
1833
+ var __vue_component__$16 = __vue_component__$15;
1784
1834
 
1785
1835
  //
1786
- var script$B = {
1836
+ var script$C = {
1787
1837
  name: 'AZMenu',
1788
1838
  components: {
1789
1839
  POI
@@ -1851,10 +1901,10 @@ var script$B = {
1851
1901
  };
1852
1902
 
1853
1903
  /* script */
1854
- const __vue_script__$B = script$B;
1904
+ const __vue_script__$C = script$C;
1855
1905
 
1856
1906
  /* template */
1857
- var __vue_render__$B = function () {
1907
+ var __vue_render__$C = function () {
1858
1908
  var _vm = this;
1859
1909
  var _h = _vm.$createElement;
1860
1910
  var _c = _vm._self._c || _h;
@@ -1894,10 +1944,10 @@ var __vue_render__$B = function () {
1894
1944
  })], 2);
1895
1945
  }), 0)]);
1896
1946
  };
1897
- var __vue_staticRenderFns__$B = [];
1947
+ var __vue_staticRenderFns__$C = [];
1898
1948
 
1899
1949
  /* style */
1900
- const __vue_inject_styles__$B = function (inject) {
1950
+ const __vue_inject_styles__$C = function (inject) {
1901
1951
  if (!inject) return;
1902
1952
  inject("data-v-5be407de_0", {
1903
1953
  source: ".wf-list-item[data-v-5be407de]{list-style:none}",
@@ -1906,23 +1956,23 @@ const __vue_inject_styles__$B = function (inject) {
1906
1956
  });
1907
1957
  };
1908
1958
  /* scoped */
1909
- const __vue_scope_id__$B = "data-v-5be407de";
1959
+ const __vue_scope_id__$C = "data-v-5be407de";
1910
1960
  /* module identifier */
1911
- const __vue_module_identifier__$B = undefined;
1961
+ const __vue_module_identifier__$C = undefined;
1912
1962
  /* functional template */
1913
- const __vue_is_functional_template__$B = false;
1963
+ const __vue_is_functional_template__$C = false;
1914
1964
  /* style inject SSR */
1915
1965
 
1916
1966
  /* style inject shadow dom */
1917
1967
 
1918
- const __vue_component__$11 = /*#__PURE__*/normalizeComponent({
1919
- render: __vue_render__$B,
1920
- staticRenderFns: __vue_staticRenderFns__$B
1921
- }, __vue_inject_styles__$B, __vue_script__$B, __vue_scope_id__$B, __vue_is_functional_template__$B, __vue_module_identifier__$B, false, createInjector, undefined, undefined);
1922
- var __vue_component__$12 = __vue_component__$11;
1968
+ const __vue_component__$13 = /*#__PURE__*/normalizeComponent({
1969
+ render: __vue_render__$C,
1970
+ staticRenderFns: __vue_staticRenderFns__$C
1971
+ }, __vue_inject_styles__$C, __vue_script__$C, __vue_scope_id__$C, __vue_is_functional_template__$C, __vue_module_identifier__$C, false, createInjector, undefined, undefined);
1972
+ var __vue_component__$14 = __vue_component__$13;
1923
1973
 
1924
1974
  //
1925
- var script$A = {
1975
+ var script$B = {
1926
1976
  name: 'FlagsMenu',
1927
1977
  computed: {
1928
1978
  ...mapState('wf', ['languages', 'language', 'reset']),
@@ -1983,10 +2033,10 @@ var script$A = {
1983
2033
  };
1984
2034
 
1985
2035
  /* script */
1986
- const __vue_script__$A = script$A;
2036
+ const __vue_script__$B = script$B;
1987
2037
 
1988
2038
  /* template */
1989
- var __vue_render__$A = function () {
2039
+ var __vue_render__$B = function () {
1990
2040
  var _vm = this;
1991
2041
  var _h = _vm.$createElement;
1992
2042
  var _c = _vm._self._c || _h;
@@ -2018,10 +2068,10 @@ var __vue_render__$A = function () {
2018
2068
  }) : _vm._e(), _vm._v(" "), _vm.labelType == 'code' ? _c('label', [_vm._v(_vm._s(lang.getName()))]) : _vm._e(), _vm._v(" "), _vm.labelType == 'native' ? _c('label', [_vm._v(_vm._s(lang.getNativeName()))]) : _vm._e()]);
2019
2069
  }), 0)]) : _vm._e();
2020
2070
  };
2021
- var __vue_staticRenderFns__$A = [];
2071
+ var __vue_staticRenderFns__$B = [];
2022
2072
 
2023
2073
  /* style */
2024
- const __vue_inject_styles__$A = function (inject) {
2074
+ const __vue_inject_styles__$B = function (inject) {
2025
2075
  if (!inject) return;
2026
2076
  inject("data-v-5af9b578_0", {
2027
2077
  source: ".wf-languages-container.wf-active[data-v-5af9b578]{height:fit-content;z-index:10}.wf-languages-container.wf-active .wf-languages-container-select[data-v-5af9b578]{visibility:initial;opacity:1}.wf-languages-container .wf-languages-container-select[data-v-5af9b578]{opacity:0;padding-bottom:.5rem;margin:auto;text-align:center;transition:opacity .2s ease-in;overflow:hidden;height:1.5rem;font-size:1rem}.wf-languages-container .language .wf-flag[data-v-5af9b578]{width:190%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.wf-languages-container .language .wf-active[data-v-5af9b578]{height:3.5rem;margin-bottom:1rem}.wf-languages-container .language .display[data-v-5af9b578]{height:3.5rem;margin-bottom:1.5rem}",
@@ -2030,23 +2080,23 @@ const __vue_inject_styles__$A = function (inject) {
2030
2080
  });
2031
2081
  };
2032
2082
  /* scoped */
2033
- const __vue_scope_id__$A = "data-v-5af9b578";
2083
+ const __vue_scope_id__$B = "data-v-5af9b578";
2034
2084
  /* module identifier */
2035
- const __vue_module_identifier__$A = undefined;
2085
+ const __vue_module_identifier__$B = undefined;
2036
2086
  /* functional template */
2037
- const __vue_is_functional_template__$A = false;
2087
+ const __vue_is_functional_template__$B = false;
2038
2088
  /* style inject SSR */
2039
2089
 
2040
2090
  /* style inject shadow dom */
2041
2091
 
2042
- const __vue_component__$$ = /*#__PURE__*/normalizeComponent({
2043
- render: __vue_render__$A,
2044
- staticRenderFns: __vue_staticRenderFns__$A
2045
- }, __vue_inject_styles__$A, __vue_script__$A, __vue_scope_id__$A, __vue_is_functional_template__$A, __vue_module_identifier__$A, false, createInjector, undefined, undefined);
2046
- var __vue_component__$10 = __vue_component__$$;
2092
+ const __vue_component__$11 = /*#__PURE__*/normalizeComponent({
2093
+ render: __vue_render__$B,
2094
+ staticRenderFns: __vue_staticRenderFns__$B
2095
+ }, __vue_inject_styles__$B, __vue_script__$B, __vue_scope_id__$B, __vue_is_functional_template__$B, __vue_module_identifier__$B, false, createInjector, undefined, undefined);
2096
+ var __vue_component__$12 = __vue_component__$11;
2047
2097
 
2048
2098
  //
2049
- var script$z = {
2099
+ var script$A = {
2050
2100
  name: 'LanguagesMenu',
2051
2101
  computed: {
2052
2102
  ...mapState('wf', ['languages', 'language', 'reset']),
@@ -2115,10 +2165,10 @@ var script$z = {
2115
2165
  };
2116
2166
 
2117
2167
  /* script */
2118
- const __vue_script__$z = script$z;
2168
+ const __vue_script__$A = script$A;
2119
2169
 
2120
2170
  /* template */
2121
- var __vue_render__$z = function () {
2171
+ var __vue_render__$A = function () {
2122
2172
  var _vm = this;
2123
2173
  var _h = _vm.$createElement;
2124
2174
  var _c = _vm._self._c || _h;
@@ -2158,10 +2208,10 @@ var __vue_render__$z = function () {
2158
2208
  }) : _vm._e(), _vm._v(" "), _vm.labelType == 'code' ? _c('label', [_vm._v(_vm._s(lang.getName()))]) : _vm._e(), _vm._v(" "), _vm.labelType == 'native' ? _c('label', [_vm._v(_vm._s(lang.getNativeName()))]) : _vm._e()]);
2159
2209
  }), 0)]);
2160
2210
  };
2161
- var __vue_staticRenderFns__$z = [];
2211
+ var __vue_staticRenderFns__$A = [];
2162
2212
 
2163
2213
  /* style */
2164
- const __vue_inject_styles__$z = function (inject) {
2214
+ const __vue_inject_styles__$A = function (inject) {
2165
2215
  if (!inject) return;
2166
2216
  inject("data-v-317032ae_0", {
2167
2217
  source: ".wf-languages-menu.active[data-v-317032ae]{height:fit-content;z-index:10}.wf-languages-menu.active .wf-languages-title[data-v-317032ae]{visibility:initial;opacity:1}.wf-languages-menu .wf-languages-title[data-v-317032ae]{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-317032ae]{width:70%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.wf-languages-menu .wf-language .wf-active[data-v-317032ae]{height:3.5rem;margin-bottom:1rem}.wf-languages-menu .wf-language .wf-display[data-v-317032ae]{height:3.5rem;margin-bottom:1.5rem}",
@@ -2170,23 +2220,23 @@ const __vue_inject_styles__$z = function (inject) {
2170
2220
  });
2171
2221
  };
2172
2222
  /* scoped */
2173
- const __vue_scope_id__$z = "data-v-317032ae";
2223
+ const __vue_scope_id__$A = "data-v-317032ae";
2174
2224
  /* module identifier */
2175
- const __vue_module_identifier__$z = undefined;
2225
+ const __vue_module_identifier__$A = undefined;
2176
2226
  /* functional template */
2177
- const __vue_is_functional_template__$z = false;
2227
+ const __vue_is_functional_template__$A = false;
2178
2228
  /* style inject SSR */
2179
2229
 
2180
2230
  /* style inject shadow dom */
2181
2231
 
2182
- const __vue_component__$Z = /*#__PURE__*/normalizeComponent({
2183
- render: __vue_render__$z,
2184
- staticRenderFns: __vue_staticRenderFns__$z
2185
- }, __vue_inject_styles__$z, __vue_script__$z, __vue_scope_id__$z, __vue_is_functional_template__$z, __vue_module_identifier__$z, false, createInjector, undefined, undefined);
2186
- var __vue_component__$_ = __vue_component__$Z;
2232
+ const __vue_component__$$ = /*#__PURE__*/normalizeComponent({
2233
+ render: __vue_render__$A,
2234
+ staticRenderFns: __vue_staticRenderFns__$A
2235
+ }, __vue_inject_styles__$A, __vue_script__$A, __vue_scope_id__$A, __vue_is_functional_template__$A, __vue_module_identifier__$A, false, createInjector, undefined, undefined);
2236
+ var __vue_component__$10 = __vue_component__$$;
2187
2237
 
2188
2238
  //
2189
- var script$y = {
2239
+ var script$z = {
2190
2240
  name: "Group",
2191
2241
  computed: {
2192
2242
  ...mapState('wf', ['language'])
@@ -2224,10 +2274,10 @@ var script$y = {
2224
2274
  };
2225
2275
 
2226
2276
  /* script */
2227
- const __vue_script__$y = script$y;
2277
+ const __vue_script__$z = script$z;
2228
2278
 
2229
2279
  /* template */
2230
- var __vue_render__$y = function () {
2280
+ var __vue_render__$z = function () {
2231
2281
  var _vm = this;
2232
2282
  var _h = _vm.$createElement;
2233
2283
  var _c = _vm._self._c || _h;
@@ -2253,30 +2303,30 @@ var __vue_render__$y = function () {
2253
2303
  }
2254
2304
  }) : _vm._e()]) : _vm._e();
2255
2305
  };
2256
- var __vue_staticRenderFns__$y = [];
2306
+ var __vue_staticRenderFns__$z = [];
2257
2307
 
2258
2308
  /* style */
2259
- const __vue_inject_styles__$y = undefined;
2309
+ const __vue_inject_styles__$z = undefined;
2260
2310
  /* scoped */
2261
- const __vue_scope_id__$y = "data-v-0818f727";
2311
+ const __vue_scope_id__$z = "data-v-0818f727";
2262
2312
  /* module identifier */
2263
- const __vue_module_identifier__$y = undefined;
2313
+ const __vue_module_identifier__$z = undefined;
2264
2314
  /* functional template */
2265
- const __vue_is_functional_template__$y = false;
2315
+ const __vue_is_functional_template__$z = false;
2266
2316
  /* style inject */
2267
2317
 
2268
2318
  /* style inject SSR */
2269
2319
 
2270
2320
  /* style inject shadow dom */
2271
2321
 
2272
- const __vue_component__$Y = /*#__PURE__*/normalizeComponent({
2273
- render: __vue_render__$y,
2274
- staticRenderFns: __vue_staticRenderFns__$y
2275
- }, __vue_inject_styles__$y, __vue_script__$y, __vue_scope_id__$y, __vue_is_functional_template__$y, __vue_module_identifier__$y, false, undefined, undefined, undefined);
2276
- var Group = __vue_component__$Y;
2322
+ const __vue_component__$_ = /*#__PURE__*/normalizeComponent({
2323
+ render: __vue_render__$z,
2324
+ staticRenderFns: __vue_staticRenderFns__$z
2325
+ }, __vue_inject_styles__$z, __vue_script__$z, __vue_scope_id__$z, __vue_is_functional_template__$z, __vue_module_identifier__$z, false, undefined, undefined, undefined);
2326
+ var Group = __vue_component__$_;
2277
2327
 
2278
2328
  //
2279
- var script$x = {
2329
+ var script$y = {
2280
2330
  name: 'SubGroupMenu',
2281
2331
  components: {
2282
2332
  Group,
@@ -2476,10 +2526,10 @@ var script$x = {
2476
2526
  };
2477
2527
 
2478
2528
  /* script */
2479
- const __vue_script__$x = script$x;
2529
+ const __vue_script__$y = script$y;
2480
2530
 
2481
2531
  /* template */
2482
- var __vue_render__$x = function () {
2532
+ var __vue_render__$y = function () {
2483
2533
  var _vm = this;
2484
2534
  var _h = _vm.$createElement;
2485
2535
  var _c = _vm._self._c || _h;
@@ -2587,10 +2637,10 @@ var __vue_render__$x = function () {
2587
2637
  })], 2);
2588
2638
  }), 0) : _vm._e()], 2) : _vm._e()]);
2589
2639
  };
2590
- var __vue_staticRenderFns__$x = [];
2640
+ var __vue_staticRenderFns__$y = [];
2591
2641
 
2592
2642
  /* style */
2593
- const __vue_inject_styles__$x = function (inject) {
2643
+ const __vue_inject_styles__$y = function (inject) {
2594
2644
  if (!inject) return;
2595
2645
  inject("data-v-7a60dcc9_0", {
2596
2646
  source: ".wf-groups-menu .wf-list-item[data-v-7a60dcc9]{list-style:none}.wf-groups-menu .wf-list[data-v-7a60dcc9]{margin:0;padding:0}",
@@ -2599,23 +2649,23 @@ const __vue_inject_styles__$x = function (inject) {
2599
2649
  });
2600
2650
  };
2601
2651
  /* scoped */
2602
- const __vue_scope_id__$x = "data-v-7a60dcc9";
2652
+ const __vue_scope_id__$y = "data-v-7a60dcc9";
2603
2653
  /* module identifier */
2604
- const __vue_module_identifier__$x = undefined;
2654
+ const __vue_module_identifier__$y = undefined;
2605
2655
  /* functional template */
2606
- const __vue_is_functional_template__$x = false;
2656
+ const __vue_is_functional_template__$y = false;
2607
2657
  /* style inject SSR */
2608
2658
 
2609
2659
  /* style inject shadow dom */
2610
2660
 
2611
- const __vue_component__$X = /*#__PURE__*/normalizeComponent({
2612
- render: __vue_render__$x,
2613
- staticRenderFns: __vue_staticRenderFns__$x
2614
- }, __vue_inject_styles__$x, __vue_script__$x, __vue_scope_id__$x, __vue_is_functional_template__$x, __vue_module_identifier__$x, false, createInjector, undefined, undefined);
2615
- var SubGroupMenu = __vue_component__$X;
2661
+ const __vue_component__$Z = /*#__PURE__*/normalizeComponent({
2662
+ render: __vue_render__$y,
2663
+ staticRenderFns: __vue_staticRenderFns__$y
2664
+ }, __vue_inject_styles__$y, __vue_script__$y, __vue_scope_id__$y, __vue_is_functional_template__$y, __vue_module_identifier__$y, false, createInjector, undefined, undefined);
2665
+ var SubGroupMenu = __vue_component__$Z;
2616
2666
 
2617
2667
  //
2618
- var script$w = {
2668
+ var script$x = {
2619
2669
  name: 'GroupsMenu',
2620
2670
  components: {
2621
2671
  Group,
@@ -2824,10 +2874,10 @@ var script$w = {
2824
2874
  };
2825
2875
 
2826
2876
  /* script */
2827
- const __vue_script__$w = script$w;
2877
+ const __vue_script__$x = script$x;
2828
2878
 
2829
2879
  /* template */
2830
- var __vue_render__$w = function () {
2880
+ var __vue_render__$x = function () {
2831
2881
  var _vm = this;
2832
2882
  var _h = _vm.$createElement;
2833
2883
  var _c = _vm._self._c || _h;
@@ -2933,10 +2983,10 @@ var __vue_render__$w = function () {
2933
2983
  }), 0) : _vm._e()]);
2934
2984
  }), _vm._v(" "), _vm._t("append")], 2)]);
2935
2985
  };
2936
- var __vue_staticRenderFns__$w = [];
2986
+ var __vue_staticRenderFns__$x = [];
2937
2987
 
2938
2988
  /* style */
2939
- const __vue_inject_styles__$w = function (inject) {
2989
+ const __vue_inject_styles__$x = function (inject) {
2940
2990
  if (!inject) return;
2941
2991
  inject("data-v-3046866c_0", {
2942
2992
  source: ".wf-groups-menu .wf-list-item[data-v-3046866c]{list-style:none}.wf-groups-menu .wf-list[data-v-3046866c]{margin:0;padding:0}",
@@ -2945,23 +2995,23 @@ const __vue_inject_styles__$w = function (inject) {
2945
2995
  });
2946
2996
  };
2947
2997
  /* scoped */
2948
- const __vue_scope_id__$w = "data-v-3046866c";
2998
+ const __vue_scope_id__$x = "data-v-3046866c";
2949
2999
  /* module identifier */
2950
- const __vue_module_identifier__$w = undefined;
3000
+ const __vue_module_identifier__$x = undefined;
2951
3001
  /* functional template */
2952
- const __vue_is_functional_template__$w = false;
3002
+ const __vue_is_functional_template__$x = false;
2953
3003
  /* style inject SSR */
2954
3004
 
2955
3005
  /* style inject shadow dom */
2956
3006
 
2957
- const __vue_component__$V = /*#__PURE__*/normalizeComponent({
2958
- render: __vue_render__$w,
2959
- staticRenderFns: __vue_staticRenderFns__$w
2960
- }, __vue_inject_styles__$w, __vue_script__$w, __vue_scope_id__$w, __vue_is_functional_template__$w, __vue_module_identifier__$w, false, createInjector, undefined, undefined);
2961
- var __vue_component__$W = __vue_component__$V;
3007
+ const __vue_component__$X = /*#__PURE__*/normalizeComponent({
3008
+ render: __vue_render__$x,
3009
+ staticRenderFns: __vue_staticRenderFns__$x
3010
+ }, __vue_inject_styles__$x, __vue_script__$x, __vue_scope_id__$x, __vue_is_functional_template__$x, __vue_module_identifier__$x, false, createInjector, undefined, undefined);
3011
+ var __vue_component__$Y = __vue_component__$X;
2962
3012
 
2963
3013
  //
2964
- var script$v = {
3014
+ var script$w = {
2965
3015
  name: 'GroupPOIsMenu',
2966
3016
  props: {
2967
3017
  group: {
@@ -3059,10 +3109,10 @@ var script$v = {
3059
3109
  };
3060
3110
 
3061
3111
  /* script */
3062
- const __vue_script__$v = script$v;
3112
+ const __vue_script__$w = script$w;
3063
3113
 
3064
3114
  /* template */
3065
- var __vue_render__$v = function () {
3115
+ var __vue_render__$w = function () {
3066
3116
  var _vm = this;
3067
3117
  var _h = _vm.$createElement;
3068
3118
  var _c = _vm._self._c || _h;
@@ -3111,10 +3161,10 @@ var __vue_render__$v = function () {
3111
3161
  })], 2);
3112
3162
  })], 2)]);
3113
3163
  };
3114
- var __vue_staticRenderFns__$v = [];
3164
+ var __vue_staticRenderFns__$w = [];
3115
3165
 
3116
3166
  /* style */
3117
- const __vue_inject_styles__$v = function (inject) {
3167
+ const __vue_inject_styles__$w = function (inject) {
3118
3168
  if (!inject) return;
3119
3169
  inject("data-v-503d8018_0", {
3120
3170
  source: ".wf-group-pois-menu[data-v-503d8018]{overflow:hidden;user-select:none}.wf-group-pois-menu .wf-list[data-v-503d8018]{margin:0;padding:0}.wf-group-pois-menu .list-item[data-v-503d8018]{list-style:none;padding:1em}",
@@ -3123,23 +3173,23 @@ const __vue_inject_styles__$v = function (inject) {
3123
3173
  });
3124
3174
  };
3125
3175
  /* scoped */
3126
- const __vue_scope_id__$v = "data-v-503d8018";
3176
+ const __vue_scope_id__$w = "data-v-503d8018";
3127
3177
  /* module identifier */
3128
- const __vue_module_identifier__$v = undefined;
3178
+ const __vue_module_identifier__$w = undefined;
3129
3179
  /* functional template */
3130
- const __vue_is_functional_template__$v = false;
3180
+ const __vue_is_functional_template__$w = false;
3131
3181
  /* style inject SSR */
3132
3182
 
3133
3183
  /* style inject shadow dom */
3134
3184
 
3135
- const __vue_component__$T = /*#__PURE__*/normalizeComponent({
3136
- render: __vue_render__$v,
3137
- staticRenderFns: __vue_staticRenderFns__$v
3138
- }, __vue_inject_styles__$v, __vue_script__$v, __vue_scope_id__$v, __vue_is_functional_template__$v, __vue_module_identifier__$v, false, createInjector, undefined, undefined);
3139
- var __vue_component__$U = __vue_component__$T;
3185
+ const __vue_component__$V = /*#__PURE__*/normalizeComponent({
3186
+ render: __vue_render__$w,
3187
+ staticRenderFns: __vue_staticRenderFns__$w
3188
+ }, __vue_inject_styles__$w, __vue_script__$w, __vue_scope_id__$w, __vue_is_functional_template__$w, __vue_module_identifier__$w, false, createInjector, undefined, undefined);
3189
+ var __vue_component__$W = __vue_component__$V;
3140
3190
 
3141
3191
  //
3142
- var script$u = {
3192
+ var script$v = {
3143
3193
  name: 'BuildingLogo',
3144
3194
  computed: {
3145
3195
  ...mapState('wf', ['building'])
@@ -3154,10 +3204,10 @@ var script$u = {
3154
3204
  };
3155
3205
 
3156
3206
  /* script */
3157
- const __vue_script__$u = script$u;
3207
+ const __vue_script__$v = script$v;
3158
3208
 
3159
3209
  /* template */
3160
- var __vue_render__$u = function () {
3210
+ var __vue_render__$v = function () {
3161
3211
  var _vm = this;
3162
3212
  var _h = _vm.$createElement;
3163
3213
  var _c = _vm._self._c || _h;
@@ -3168,10 +3218,10 @@ var __vue_render__$u = function () {
3168
3218
  }
3169
3219
  });
3170
3220
  };
3171
- var __vue_staticRenderFns__$u = [];
3221
+ var __vue_staticRenderFns__$v = [];
3172
3222
 
3173
3223
  /* style */
3174
- const __vue_inject_styles__$u = function (inject) {
3224
+ const __vue_inject_styles__$v = function (inject) {
3175
3225
  if (!inject) return;
3176
3226
  inject("data-v-38faefb4_0", {
3177
3227
  source: ".wf-building-logo[data-v-38faefb4]{background-size:contain;background-repeat:no-repeat;background-position:50%}",
@@ -3180,923 +3230,1152 @@ const __vue_inject_styles__$u = function (inject) {
3180
3230
  });
3181
3231
  };
3182
3232
  /* scoped */
3183
- const __vue_scope_id__$u = "data-v-38faefb4";
3233
+ const __vue_scope_id__$v = "data-v-38faefb4";
3184
3234
  /* module identifier */
3185
- const __vue_module_identifier__$u = undefined;
3235
+ const __vue_module_identifier__$v = undefined;
3186
3236
  /* functional template */
3187
- const __vue_is_functional_template__$u = false;
3237
+ const __vue_is_functional_template__$v = false;
3188
3238
  /* style inject SSR */
3189
3239
 
3190
3240
  /* style inject shadow dom */
3191
3241
 
3192
- const __vue_component__$R = /*#__PURE__*/normalizeComponent({
3193
- render: __vue_render__$u,
3194
- staticRenderFns: __vue_staticRenderFns__$u
3195
- }, __vue_inject_styles__$u, __vue_script__$u, __vue_scope_id__$u, __vue_is_functional_template__$u, __vue_module_identifier__$u, false, createInjector, undefined, undefined);
3196
- var __vue_component__$S = __vue_component__$R;
3242
+ const __vue_component__$T = /*#__PURE__*/normalizeComponent({
3243
+ render: __vue_render__$v,
3244
+ staticRenderFns: __vue_staticRenderFns__$v
3245
+ }, __vue_inject_styles__$v, __vue_script__$v, __vue_scope_id__$v, __vue_is_functional_template__$v, __vue_module_identifier__$v, false, createInjector, undefined, undefined);
3246
+ var __vue_component__$U = __vue_component__$T;
3197
3247
 
3198
3248
  //
3199
- var script$t = {
3200
- name: 'YAH',
3201
- props: {
3202
- showLabel: {
3203
- type: Boolean,
3204
- default: true
3205
- }
3206
- },
3249
+ //
3250
+ //
3251
+ //
3252
+ //
3253
+
3254
+ //import Icons from '../assets/icons.svg';
3255
+ var script$u = {
3256
+ props: ["name", "width", "height"],
3207
3257
  computed: {
3208
- //yahLogo
3209
- ...mapState('wf', ['yahLogo', 'language'])
3210
- },
3211
- methods: {
3212
- onClicked() {
3213
- this.$wayfinder.showKiosk();
3258
+ iconName() {
3259
+ return "#icon-" + this.name;
3214
3260
  }
3215
3261
  }
3216
3262
  };
3217
3263
 
3218
3264
  /* script */
3219
- const __vue_script__$t = script$t;
3265
+ const __vue_script__$u = script$u;
3220
3266
 
3221
3267
  /* template */
3222
- var __vue_render__$t = function () {
3268
+ var __vue_render__$u = function () {
3223
3269
  var _vm = this;
3224
3270
  var _h = _vm.$createElement;
3225
3271
  var _c = _vm._self._c || _h;
3226
- return _c('button', {
3227
- staticClass: "wf-component wf-yah",
3228
- on: {
3229
- "click": function ($event) {
3230
- return _vm.onClicked();
3231
- }
3232
- }
3233
- }, [_c('i', {
3272
+ return _c('svg', {
3234
3273
  staticClass: "wf-icon",
3235
- style: {
3236
- 'background-image': _vm.yahLogo
3274
+ class: ["wf-icon-" + this.name],
3275
+ attrs: {
3276
+ "viewbox": "0 0 32 32"
3237
3277
  }
3238
- }), _vm._v(" "), _vm.showLabel ? _c('label', {
3278
+ }, [_c('use', {
3239
3279
  attrs: {
3240
- "data-translation-element": "yah"
3280
+ "xlink:href": _vm.iconName
3241
3281
  }
3242
- }, [_vm._v("YAH")]) : _vm._e()]);
3282
+ })]);
3243
3283
  };
3244
- var __vue_staticRenderFns__$t = [];
3284
+ var __vue_staticRenderFns__$u = [];
3245
3285
 
3246
3286
  /* style */
3247
- const __vue_inject_styles__$t = function (inject) {
3287
+ const __vue_inject_styles__$u = function (inject) {
3248
3288
  if (!inject) return;
3249
- inject("data-v-16e4e341_0", {
3250
- source: ".wf-yah[data-v-16e4e341]{text-align:center;border:none;outline:0}.wf-icon[data-v-16e4e341]{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=)}",
3289
+ inject("data-v-6281073a_0", {
3290
+ source: "svg[data-v-6281073a]{min-height:1rem;display:inline-block}",
3251
3291
  map: undefined,
3252
3292
  media: undefined
3253
3293
  });
3254
3294
  };
3255
3295
  /* scoped */
3256
- const __vue_scope_id__$t = "data-v-16e4e341";
3296
+ const __vue_scope_id__$u = "data-v-6281073a";
3257
3297
  /* module identifier */
3258
- const __vue_module_identifier__$t = undefined;
3298
+ const __vue_module_identifier__$u = undefined;
3259
3299
  /* functional template */
3260
- const __vue_is_functional_template__$t = false;
3300
+ const __vue_is_functional_template__$u = false;
3261
3301
  /* style inject SSR */
3262
3302
 
3263
3303
  /* style inject shadow dom */
3264
3304
 
3265
- const __vue_component__$Q = /*#__PURE__*/normalizeComponent({
3266
- render: __vue_render__$t,
3267
- staticRenderFns: __vue_staticRenderFns__$t
3268
- }, __vue_inject_styles__$t, __vue_script__$t, __vue_scope_id__$t, __vue_is_functional_template__$t, __vue_module_identifier__$t, false, createInjector, undefined, undefined);
3269
- var YAH = __vue_component__$Q;
3305
+ const __vue_component__$S = /*#__PURE__*/normalizeComponent({
3306
+ render: __vue_render__$u,
3307
+ staticRenderFns: __vue_staticRenderFns__$u
3308
+ }, __vue_inject_styles__$u, __vue_script__$u, __vue_scope_id__$u, __vue_is_functional_template__$u, __vue_module_identifier__$u, false, createInjector, undefined, undefined);
3309
+ var WFIcon = __vue_component__$S;
3270
3310
 
3271
3311
  //
3272
- var script$s = {
3273
- name: 'ShortcutsMenu',
3312
+ var script$t = {
3313
+ name: 'DropDown',
3274
3314
  components: {
3275
- YAH
3315
+ WFIcon
3276
3316
  },
3277
3317
  props: {
3278
- showLabel: {
3279
- type: Boolean,
3280
- default: true
3318
+ options: {
3319
+ type: Array,
3320
+ default: () => []
3281
3321
  },
3282
- showPath: {
3283
- type: Boolean,
3284
- default: true
3322
+ value: {
3323
+ default: null
3285
3324
  },
3286
- showIcon: {
3287
- type: Boolean,
3288
- default: true
3325
+ placeholder: {
3326
+ type: String,
3327
+ default: 'Select option'
3289
3328
  },
3290
- highlight: {
3291
- type: Boolean,
3292
- default: true
3329
+ minSearchChars: {
3330
+ type: Number,
3331
+ default: 2
3293
3332
  },
3294
- dehighlightOverlay: {
3333
+ debounceMs: {
3334
+ type: Number,
3335
+ default: 200
3336
+ },
3337
+ labelKey: {
3338
+ type: String,
3339
+ default: 'label'
3340
+ },
3341
+ valueKey: {
3342
+ type: String,
3343
+ default: 'value'
3344
+ },
3345
+ disabledKey: {
3346
+ type: String,
3347
+ default: 'disabled'
3348
+ },
3349
+ noResultsText: {
3350
+ type: String,
3351
+ default: 'No results'
3352
+ },
3353
+ clearSearchOnSelect: {
3295
3354
  type: Boolean,
3296
3355
  default: false
3356
+ },
3357
+ dropdownIcon: {
3358
+ type: String,
3359
+ default: 'arrow-down'
3360
+ },
3361
+ clearIcon: {
3362
+ type: String,
3363
+ default: 'clear'
3297
3364
  }
3298
3365
  },
3366
+ data() {
3367
+ return {
3368
+ isOpen: false,
3369
+ query: '',
3370
+ deferredQuery: '',
3371
+ debounceTimer: null,
3372
+ internalSelectedOption: null
3373
+ };
3374
+ },
3299
3375
  computed: {
3300
- ...mapState('wf', ['shortcuts', 'language', 'landscape', 'mobile']),
3301
- count() {
3302
- return this.shortcuts.length;
3376
+ normalizedOptions() {
3377
+ return this.options.map((option, index) => {
3378
+ if (option !== null && typeof option === 'object' && !Array.isArray(option)) {
3379
+ const label = option[this.labelKey];
3380
+ const value = Object.prototype.hasOwnProperty.call(option, this.valueKey) ? option[this.valueKey] : option;
3381
+ return {
3382
+ key: `${index}-${String(value)}`,
3383
+ label: label == null ? '' : String(label),
3384
+ value,
3385
+ raw: option,
3386
+ disabled: Boolean(option[this.disabledKey])
3387
+ };
3388
+ }
3389
+ return {
3390
+ key: `${index}-${String(option)}`,
3391
+ label: option == null ? '' : String(option),
3392
+ value: option,
3393
+ raw: option,
3394
+ disabled: false
3395
+ };
3396
+ });
3303
3397
  },
3304
- hasClickedListener() {
3305
- return !!(this.$listeners && this.$listeners.clicked);
3398
+ filteredOptions() {
3399
+ const normalizedQuery = this.deferredQuery.trim().toLowerCase();
3400
+ if (!normalizedQuery.length) {
3401
+ return this.normalizedOptions;
3402
+ }
3403
+ if (normalizedQuery.length < this.safeMinSearchChars) {
3404
+ return [];
3405
+ }
3406
+ return this.normalizedOptions.filter(option => {
3407
+ console.log('normalizedOptions', option.label, option.label.toLowerCase().indexOf(normalizedQuery), normalizedQuery);
3408
+ return option.label.toLowerCase().indexOf(normalizedQuery) !== -1;
3409
+ });
3410
+ },
3411
+ selectedOption() {
3412
+ return this.normalizedOptions.find(option => this.isSameValue(option.value, this.value)) || null;
3413
+ },
3414
+ effectiveSelectedOption() {
3415
+ return this.selectedOption || this.internalSelectedOption;
3416
+ },
3417
+ hasSelection() {
3418
+ return !!this.effectiveSelectedOption;
3419
+ },
3420
+ currentIconName() {
3421
+ return this.hasSelection ? this.clearIcon : this.dropdownIcon;
3422
+ },
3423
+ shouldShowNoResults() {
3424
+ if (!this.query.trim().length) {
3425
+ return false;
3426
+ }
3427
+ return this.deferredQuery.trim().length >= this.safeMinSearchChars;
3428
+ },
3429
+ safeMinSearchChars() {
3430
+ return Math.max(0, this.minSearchChars);
3306
3431
  }
3307
3432
  },
3433
+ watch: {
3434
+ value: {
3435
+ immediate: true,
3436
+ handler() {
3437
+ this.syncQueryWithValue();
3438
+ }
3439
+ },
3440
+ options() {
3441
+ this.syncQueryWithValue();
3442
+ }
3443
+ },
3444
+ mounted() {
3445
+ document.addEventListener('click', this.onDocumentClick);
3446
+ },
3447
+ beforeDestroy() {
3448
+ document.removeEventListener('click', this.onDocumentClick);
3449
+ this.clearDebounceTimer();
3450
+ },
3308
3451
  methods: {
3309
- showShortcut(shortcut) {
3310
- var nearest = this.$wayfinder.getNearestPOI(this.$wayfinder.getKiosk(), shortcut.pois);
3311
- if (this.hasClickedListener) {
3312
- this.$emit("clicked", nearest, shortcut);
3313
- } else {
3314
- if (this.showPath && typeof nearest === 'object' && nearest != null) {
3315
- this.$wayfinder.showPath(nearest.node, nearest);
3316
- }
3317
- if (this.highlight) {
3318
- this.$wayfinder.clearDisplaying();
3319
- this.$wayfinder.setDisplaying(shortcut.pois);
3320
- }
3321
- if (this.dehighlightOverlay && this.$wayfinder.setDehighlightOverlay) {
3322
- this.$wayfinder.setDehighlightOverlay(true);
3323
- }
3324
- this.$wayfinder.update();
3452
+ onInput(event) {
3453
+ this.query = event.target.value;
3454
+ this.isOpen = true;
3455
+ this.deferQueryUpdate();
3456
+ },
3457
+ deferQueryUpdate() {
3458
+ this.clearDebounceTimer();
3459
+ this.debounceTimer = window.setTimeout(() => {
3460
+ this.deferredQuery = this.query;
3461
+ }, this.debounceMs);
3462
+ },
3463
+ clearDebounceTimer() {
3464
+ if (this.debounceTimer) {
3465
+ clearTimeout(this.debounceTimer);
3466
+ this.debounceTimer = null;
3325
3467
  }
3326
3468
  },
3327
- clear() {
3328
- if (this.dehighlightOverlay && this.$wayfinder.setDehighlightOverlay) {
3329
- this.$wayfinder.setDehighlightOverlay(false);
3469
+ onTriggerClick() {
3470
+ if (this.hasSelection) {
3471
+ this.clearSelection();
3472
+ return;
3330
3473
  }
3331
- if (this.highlight) {
3332
- this.$wayfinder.clearHighlights();
3474
+ if (this.isOpen) {
3475
+ this.closeDropdown();
3476
+ } else {
3477
+ this.openDropdown();
3478
+ if (this.$refs.input) {
3479
+ this.$refs.input.focus();
3480
+ }
3333
3481
  }
3334
- this.$wayfinder.update();
3335
3482
  },
3336
- getImage(id) {
3337
- return WayfinderAPI.getURL("images", "thumbnail", [id]);
3338
- }
3339
- }
3340
- };
3341
-
3342
- /* script */
3343
- const __vue_script__$s = script$s;
3344
-
3345
- /* template */
3346
- var __vue_render__$s = function () {
3347
- var _vm = this;
3348
- var _h = _vm.$createElement;
3349
- var _c = _vm._self._c || _h;
3350
- return _c('div', {
3351
- staticClass: "wf-component wf-shortcuts-menu"
3352
- }, [_c('div', {
3353
- staticClass: "wf-list",
3354
- class: ['wf-list-count-' + _vm.count]
3355
- }, _vm._l(_vm.shortcuts, function (shortcut) {
3356
- return _c('button', {
3357
- key: shortcut.getID(),
3358
- staticClass: "wf-list-item wf-shortcut",
3359
- class: ["wf-shortcut-" + shortcut.getID()],
3360
- on: {
3361
- "click": function ($event) {
3362
- return _vm.showShortcut(shortcut);
3363
- }
3364
- }
3365
- }, [_vm.showIcon ? _c('img', {
3366
- staticClass: "wf-icon",
3367
- attrs: {
3368
- "src": _vm.getImage(shortcut.imageID)
3369
- }
3370
- }) : _vm._e(), _vm._v(" "), _vm.showLabel ? _c('label', [_vm._v(_vm._s(shortcut.getName(_vm.language)))]) : _vm._e()]);
3371
- }), 0)]);
3372
- };
3373
- var __vue_staticRenderFns__$s = [];
3374
-
3375
- /* style */
3376
- const __vue_inject_styles__$s = function (inject) {
3377
- if (!inject) return;
3378
- inject("data-v-322579a5_0", {
3379
- source: ".shortcuts-container[data-v-322579a5]{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-322579a5]{position:absolute;left:.5rem;bottom:15%;top:15%;flex-direction:column;justify-content:center}",
3380
- map: undefined,
3381
- media: undefined
3382
- });
3383
- };
3384
- /* scoped */
3385
- const __vue_scope_id__$s = "data-v-322579a5";
3386
- /* module identifier */
3387
- const __vue_module_identifier__$s = undefined;
3388
- /* functional template */
3389
- const __vue_is_functional_template__$s = false;
3390
- /* style inject SSR */
3391
-
3392
- /* style inject shadow dom */
3393
-
3394
- const __vue_component__$O = /*#__PURE__*/normalizeComponent({
3395
- render: __vue_render__$s,
3396
- staticRenderFns: __vue_staticRenderFns__$s
3397
- }, __vue_inject_styles__$s, __vue_script__$s, __vue_scope_id__$s, __vue_is_functional_template__$s, __vue_module_identifier__$s, false, createInjector, undefined, undefined);
3398
- var __vue_component__$P = __vue_component__$O;
3399
-
3400
- //
3401
- //
3402
- //
3403
- //
3404
- //
3405
- //
3406
-
3407
- let timer = null;
3408
- var script$r = {
3409
- data: () => ({
3410
- direction: 0,
3411
- zooming: false
3412
- }),
3413
- methods: {
3414
- touchStart(dir) {
3415
- return () => {
3416
- this.start(dir);
3417
- };
3483
+ openDropdown() {
3484
+ this.isOpen = true;
3485
+ this.deferredQuery = '';
3418
3486
  },
3419
- touchStop() {
3420
- return () => {
3421
- this.stop();
3422
- };
3487
+ closeDropdown() {
3488
+ this.isOpen = false;
3489
+ this.syncQueryWithValue();
3423
3490
  },
3424
- start(dir) {
3425
- this.direction = dir;
3426
- this.zooming = true;
3427
- this.zoom();
3491
+ selectOption(option) {
3492
+ if (option.disabled) {
3493
+ return;
3494
+ }
3495
+ this.internalSelectedOption = option;
3496
+ this.$emit('input', option.value);
3497
+ this.$emit('select', option.raw);
3498
+ this.$emit('selected', option.raw);
3499
+ if (this.clearSearchOnSelect) {
3500
+ this.query = '';
3501
+ this.deferredQuery = '';
3502
+ } else {
3503
+ this.query = option.label;
3504
+ this.deferredQuery = option.label;
3505
+ }
3506
+ this.isOpen = false;
3428
3507
  },
3429
- stop() {
3430
- this.direction = 0;
3431
- this.zooming = false;
3432
- clearTimeout(timer);
3508
+ clearSelection() {
3509
+ this.internalSelectedOption = null;
3510
+ this.query = '';
3511
+ this.deferredQuery = '';
3512
+ this.isOpen = false;
3513
+ this.$emit('input', null);
3514
+ this.$emit('clear');
3433
3515
  },
3434
- zoom() {
3435
- if (this.direction > 0) {
3436
- this.$wayfinder.zoomIn();
3437
- } else {
3438
- this.$wayfinder.zoomOut();
3516
+ syncQueryWithValue() {
3517
+ if (this.isOpen && this.query !== '') {
3518
+ return;
3439
3519
  }
3440
- if (this.zooming) {
3441
- timer = setTimeout(() => {
3442
- this.zoom();
3443
- }, 50);
3520
+ const selectedOption = this.effectiveSelectedOption;
3521
+ const nextQuery = selectedOption ? selectedOption.label : '';
3522
+ this.query = nextQuery;
3523
+ this.deferredQuery = nextQuery;
3524
+ },
3525
+ onDocumentClick(event) {
3526
+ if (!this.$refs.root || this.$refs.root.contains(event.target)) {
3527
+ return;
3444
3528
  }
3529
+ this.closeDropdown();
3530
+ },
3531
+ isSameValue(left, right) {
3532
+ return left === right;
3445
3533
  }
3446
3534
  }
3447
3535
  };
3448
3536
 
3449
3537
  /* script */
3450
- const __vue_script__$r = script$r;
3538
+ const __vue_script__$t = script$t;
3451
3539
 
3452
3540
  /* template */
3453
- var __vue_render__$r = function () {
3541
+ var __vue_render__$t = function () {
3454
3542
  var _vm = this;
3455
3543
  var _h = _vm.$createElement;
3456
3544
  var _c = _vm._self._c || _h;
3457
3545
  return _c('div', {
3458
- staticClass: "wf-component wf-zoommenu"
3546
+ ref: "root",
3547
+ staticClass: "wf-component wf-dropdown"
3459
3548
  }, [_c('div', {
3460
- directives: [{
3461
- name: "touch",
3462
- rawName: "v-touch:start",
3463
- value: _vm.touchStart(1),
3464
- expression: "touchStart(1)",
3465
- arg: "start"
3466
- }, {
3467
- name: "touch",
3468
- rawName: "v-touch:end",
3469
- value: _vm.touchStop(),
3470
- expression: "touchStop()",
3471
- arg: "end"
3472
- }],
3473
- staticClass: "wf-item wf-zoom-in",
3549
+ staticClass: "wf-dropdown-input"
3550
+ }, [_c('input', {
3551
+ ref: "input",
3552
+ attrs: {
3553
+ "placeholder": _vm.placeholder
3554
+ },
3555
+ domProps: {
3556
+ "value": _vm.query
3557
+ },
3474
3558
  on: {
3475
- "mousedown": function ($event) {
3476
- return _vm.start(1);
3477
- },
3478
- "mouseleave": function ($event) {
3479
- return _vm.stop();
3480
- },
3481
- "mouseup": function ($event) {
3482
- return _vm.stop();
3559
+ "focus": _vm.openDropdown,
3560
+ "input": _vm.onInput,
3561
+ "keydown": function ($event) {
3562
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) {
3563
+ return null;
3564
+ }
3565
+ return _vm.closeDropdown.apply(null, arguments);
3483
3566
  }
3484
3567
  }
3485
- }, [_vm._v("+")]), _vm._v(" "), _c('div', {
3486
- directives: [{
3487
- name: "touch",
3488
- rawName: "v-touch:start",
3489
- value: _vm.touchStart(-1),
3490
- expression: "touchStart(-1)",
3491
- arg: "start"
3492
- }, {
3493
- name: "touch",
3494
- rawName: "v-touch:end",
3495
- value: _vm.touchStop(),
3496
- expression: "touchStop()",
3497
- arg: "end"
3498
- }],
3499
- staticClass: "wf-item wf-zoom-out",
3568
+ }), _vm._v(" "), _c('button', {
3569
+ staticClass: "wf-dropdown-trigger",
3570
+ attrs: {
3571
+ "type": "button"
3572
+ },
3500
3573
  on: {
3501
- "mousedown": function ($event) {
3502
- return _vm.start(-1);
3503
- },
3504
- "mouseleave": function ($event) {
3505
- return _vm.stop();
3506
- },
3507
- "mouseup": function ($event) {
3508
- return _vm.stop();
3574
+ "click": function ($event) {
3575
+ $event.stopPropagation();
3576
+ return _vm.onTriggerClick.apply(null, arguments);
3509
3577
  }
3510
3578
  }
3511
- }, [_vm._v("-")])]);
3579
+ }, [_c('WFIcon', {
3580
+ attrs: {
3581
+ "name": _vm.currentIconName
3582
+ }
3583
+ })], 1)]), _vm._v(" "), _vm.isOpen ? _c('div', {
3584
+ staticClass: "wf-dropdown-menu"
3585
+ }, [_vm.filteredOptions.length ? _c('ul', {
3586
+ staticClass: "wf-dropdown-list"
3587
+ }, _vm._l(_vm.filteredOptions, function (option) {
3588
+ return _c('li', {
3589
+ key: option.key,
3590
+ staticClass: "wf-dropdown-item",
3591
+ class: {
3592
+ 'wf-disabled': option.disabled
3593
+ },
3594
+ on: {
3595
+ "mousedown": function ($event) {
3596
+ $event.preventDefault();
3597
+ return _vm.selectOption(option);
3598
+ }
3599
+ }
3600
+ }, [_vm._v("\n\t\t\t\t" + _vm._s(option.label) + "\n\t\t\t")]);
3601
+ }), 0) : _vm.shouldShowNoResults ? _c('div', {
3602
+ staticClass: "wf-dropdown-empty"
3603
+ }, [_vm._v("\n\t\t\t" + _vm._s(_vm.noResultsText) + "\n\t\t")]) : _vm._e()]) : _vm._e()]);
3512
3604
  };
3513
- var __vue_staticRenderFns__$r = [];
3605
+ var __vue_staticRenderFns__$t = [];
3514
3606
 
3515
3607
  /* style */
3516
- const __vue_inject_styles__$r = function (inject) {
3608
+ const __vue_inject_styles__$t = function (inject) {
3517
3609
  if (!inject) return;
3518
- inject("data-v-260dca50_0", {
3519
- source: ".wf-zoommenu[data-v-260dca50]{user-select:none}",
3610
+ inject("data-v-586c7832_0", {
3611
+ source: ".wf-dropdown[data-v-586c7832]{position:relative;width:100%}.wf-dropdown-input input[data-v-586c7832]{box-sizing:border-box;width:100%;padding:.75rem 3rem .75rem 1rem;border:1px solid #c7ccd4;border-radius:.375rem;outline:0}.wf-dropdown-trigger[data-v-586c7832]{position:absolute;top:50%;right:.75rem;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:0 0;cursor:pointer;transform:translateY(-50%)}.wf-dropdown-trigger .wf-icon[data-v-586c7832]{width:1rem;height:1rem}.wf-dropdown-menu[data-v-586c7832]{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:10;max-height:16rem;overflow-y:auto;background:#fff;border:1px solid #c7ccd4;border-radius:.375rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12)}.wf-dropdown-list[data-v-586c7832]{margin:0;padding:.25rem 0;list-style:none}.wf-dropdown-item[data-v-586c7832]{padding:.75rem 1rem;cursor:pointer}.wf-dropdown-item[data-v-586c7832]:hover{background:#f2f5f8}.wf-dropdown-empty[data-v-586c7832]{padding:.75rem 1rem;color:#667085}.wf-disabled[data-v-586c7832]{cursor:default;opacity:.5}",
3520
3612
  map: undefined,
3521
3613
  media: undefined
3522
3614
  });
3523
3615
  };
3524
3616
  /* scoped */
3525
- const __vue_scope_id__$r = "data-v-260dca50";
3617
+ const __vue_scope_id__$t = "data-v-586c7832";
3526
3618
  /* module identifier */
3527
- const __vue_module_identifier__$r = undefined;
3619
+ const __vue_module_identifier__$t = undefined;
3528
3620
  /* functional template */
3529
- const __vue_is_functional_template__$r = false;
3621
+ const __vue_is_functional_template__$t = false;
3530
3622
  /* style inject SSR */
3531
3623
 
3532
3624
  /* style inject shadow dom */
3533
3625
 
3534
- const __vue_component__$M = /*#__PURE__*/normalizeComponent({
3535
- render: __vue_render__$r,
3536
- staticRenderFns: __vue_staticRenderFns__$r
3537
- }, __vue_inject_styles__$r, __vue_script__$r, __vue_scope_id__$r, __vue_is_functional_template__$r, __vue_module_identifier__$r, false, createInjector, undefined, undefined);
3538
- var __vue_component__$N = __vue_component__$M;
3626
+ const __vue_component__$R = /*#__PURE__*/normalizeComponent({
3627
+ render: __vue_render__$t,
3628
+ staticRenderFns: __vue_staticRenderFns__$t
3629
+ }, __vue_inject_styles__$t, __vue_script__$t, __vue_scope_id__$t, __vue_is_functional_template__$t, __vue_module_identifier__$t, false, createInjector, undefined, undefined);
3630
+ var WFDropDown = __vue_component__$R;
3539
3631
 
3540
3632
  //
3541
- var script$q = {
3542
- name: 'MapFloors',
3543
- props: {
3544
- showPOICount: {
3545
- type: Boolean,
3546
- default: false
3633
+ var script$s = {
3634
+ name: 'BuildingSelect',
3635
+ components: {
3636
+ WFDropDown
3637
+ },
3638
+ props: {
3639
+ placeholder: {
3640
+ type: String,
3641
+ default: 'Select building'
3547
3642
  },
3548
- currentFloor: {
3549
- type: Object,
3550
- default: null
3643
+ minSearchChars: {
3644
+ type: Number,
3645
+ default: 0
3551
3646
  },
3552
- hideWhenSingleFloor: {
3647
+ debounceMs: {
3648
+ type: Number,
3649
+ default: 200
3650
+ },
3651
+ noResultsText: {
3652
+ type: String,
3653
+ default: 'No buildings found'
3654
+ },
3655
+ hideWhenSingleBuilding: {
3553
3656
  type: Boolean,
3554
3657
  default: true
3555
3658
  }
3556
3659
  },
3557
- data() {
3558
- return {
3559
- count: 0
3560
- };
3561
- },
3562
- watch: {
3563
- floors() {
3564
- console.log('floors', this.floors);
3565
- }
3566
- },
3567
3660
  computed: {
3568
- ...mapState('wf', ['floors', 'language']),
3569
- filteredFloors() {
3570
- let arr = []; // Copy arr for sorting
3571
- let floor;
3572
- let floors = this.floors;
3573
- for (let i in floors) {
3574
- floor = floors[i];
3575
- if (floor && floor.showInMenu && floor.getName(this.language)) {
3576
- arr.push(floor);
3577
- }
3661
+ ...mapState('wf', ['buildings', 'building', 'currentBuilding', 'language']),
3662
+ buildingOptions() {
3663
+ return this.normalizedBuildings.map(building => {
3664
+ return {
3665
+ id: this.getBuildingId(building),
3666
+ label: this.getBuildingName(building),
3667
+ raw: building
3668
+ };
3669
+ }).filter(option => {
3670
+ return option.id !== null && option.id !== undefined && option.label;
3671
+ });
3672
+ },
3673
+ normalizedBuildings() {
3674
+ if (Array.isArray(this.buildings)) {
3675
+ return this.buildings;
3676
+ }
3677
+ if (this.buildings && typeof this.buildings === 'object') {
3678
+ return Object.keys(this.buildings).map(key => {
3679
+ const building = this.buildings[key];
3680
+ if (building && typeof building === 'object' && building.id === undefined) {
3681
+ return Object.assign({
3682
+ id: key
3683
+ }, building);
3684
+ }
3685
+ return building;
3686
+ });
3578
3687
  }
3579
- this.count = arr.length;
3580
- return arr;
3688
+ return [];
3689
+ },
3690
+ selectedBuilding() {
3691
+ return this.building || this.currentBuilding;
3692
+ },
3693
+ selectedBuildingId() {
3694
+ return this.selectedBuilding ? this.getBuildingId(this.selectedBuilding) : null;
3581
3695
  },
3582
3696
  hasClickedListener() {
3583
3697
  return !!(this.$listeners && this.$listeners.clicked);
3584
3698
  }
3585
3699
  },
3586
3700
  methods: {
3587
- changeFloor(floor) {
3701
+ changeBuilding(option) {
3702
+ const building = option.raw || option;
3703
+ this.$emit('selected', building);
3704
+ this.$emit('select', building);
3588
3705
  if (this.hasClickedListener) {
3589
- this.$emit("clicked", floor);
3590
- } else {
3591
- console.log("changeFloor", floor);
3592
- this.$wayfinder.showFloor(floor);
3706
+ this.$emit('clicked', building);
3707
+ return;
3708
+ }
3709
+ this.showBuilding(building);
3710
+ },
3711
+ clearBuilding() {
3712
+ this.$emit('clear');
3713
+ },
3714
+ showBuilding(building) {
3715
+ if (!this.$wayfinder || !building) {
3716
+ return;
3593
3717
  }
3718
+ this.$wayfinder.setCurrentBuilding(building.id);
3719
+ },
3720
+ getLiveBuilding(building) {
3721
+ const id = this.getBuildingId(building);
3722
+ if (!this.$wayfinder || typeof this.$wayfinder.getBuildings !== 'function') {
3723
+ return building;
3724
+ }
3725
+ const buildings = this.$wayfinder.getBuildings();
3726
+ if (Array.isArray(buildings)) {
3727
+ return buildings.find(item => this.getBuildingId(item) == id) || building;
3728
+ }
3729
+ if (buildings && typeof buildings === 'object') {
3730
+ return buildings[id] || building;
3731
+ }
3732
+ return building;
3733
+ },
3734
+ getBuildingId(building) {
3735
+ if (!building || typeof building !== 'object') {
3736
+ return building;
3737
+ }
3738
+ return building.id !== undefined ? building.id : building.key;
3739
+ },
3740
+ getBuildingName(building) {
3741
+ if (!building || typeof building !== 'object') {
3742
+ return building == null ? '' : String(building);
3743
+ }
3744
+ if (typeof building.getName === 'function') {
3745
+ return building.getName(this.language) || building.name || '';
3746
+ }
3747
+ if (building.names && this.language && building.names[this.language]) {
3748
+ return building.names[this.language];
3749
+ }
3750
+ if (building.name) {
3751
+ return building.name;
3752
+ }
3753
+ return String(this.getBuildingId(building) || '');
3594
3754
  }
3595
3755
  }
3596
3756
  };
3597
3757
 
3598
3758
  /* script */
3599
- const __vue_script__$q = script$q;
3759
+ const __vue_script__$s = script$s;
3600
3760
 
3601
3761
  /* template */
3602
- var __vue_render__$q = function () {
3762
+ var __vue_render__$s = function () {
3603
3763
  var _vm = this;
3604
3764
  var _h = _vm.$createElement;
3605
3765
  var _c = _vm._self._c || _h;
3606
3766
  return _c('div', {
3607
- staticClass: "wf-component wf-floors-menu"
3608
- }, [_c('ul', {
3609
3767
  directives: [{
3610
3768
  name: "show",
3611
3769
  rawName: "v-show",
3612
- value: !(_vm.hideWhenSingleFloor && _vm.floors.length <= 1),
3613
- expression: "!(hideWhenSingleFloor && floors.length <= 1)"
3770
+ value: !(_vm.hideWhenSingleBuilding && _vm.buildingOptions.length <= 1),
3771
+ expression: "!(hideWhenSingleBuilding && buildingOptions.length <= 1)"
3614
3772
  }],
3615
- staticClass: "wf-list",
3616
- class: ['wf-list-count-' + _vm.count]
3617
- }, _vm._l(_vm.filteredFloors, function (floor) {
3618
- return _c('li', {
3619
- key: floor.id,
3620
- staticClass: "wf-list-item",
3621
- class: ["wf-lang-" + _vm.language, "wf-floor-" + floor.index, {
3622
- "wf-active": _vm.currentFloor && floor.id == _vm.currentFloor.id
3623
- }],
3624
- on: {
3625
- "click": function ($event) {
3626
- return _vm.changeFloor(floor);
3627
- }
3628
- }
3629
- }, [_c('label', {
3630
- staticClass: "wf-title"
3631
- }, [_vm._v(_vm._s(floor.getName(_vm.language)))]), _vm._v(" "), _vm.showPOICount ? _c('label', {
3632
- staticClass: "wf-count"
3633
- }, [_vm._v(_vm._s(floor.pois.length))]) : _vm._e()]);
3634
- }), 0)]);
3773
+ staticClass: "wf-component wf-building-select"
3774
+ }, [_c('WFDropDown', {
3775
+ attrs: {
3776
+ "options": _vm.buildingOptions,
3777
+ "value": _vm.selectedBuildingId,
3778
+ "placeholder": _vm.placeholder,
3779
+ "min-search-chars": _vm.minSearchChars,
3780
+ "debounce-ms": _vm.debounceMs,
3781
+ "no-results-text": _vm.noResultsText,
3782
+ "valueKey": "id"
3783
+ },
3784
+ on: {
3785
+ "select": _vm.changeBuilding,
3786
+ "clear": _vm.clearBuilding
3787
+ }
3788
+ })], 1);
3635
3789
  };
3636
- var __vue_staticRenderFns__$q = [];
3790
+ var __vue_staticRenderFns__$s = [];
3637
3791
 
3638
3792
  /* style */
3639
- const __vue_inject_styles__$q = function (inject) {
3793
+ const __vue_inject_styles__$s = function (inject) {
3640
3794
  if (!inject) return;
3641
- inject("data-v-72c3d430_0", {
3642
- source: ".wf-floors-menu .wf-list-item[data-v-72c3d430]{text-overflow:ellipsis;list-style:none}",
3795
+ inject("data-v-ad92b954_0", {
3796
+ source: ".wf-building-select[data-v-ad92b954]{width:100%}",
3643
3797
  map: undefined,
3644
3798
  media: undefined
3645
3799
  });
3646
3800
  };
3647
3801
  /* scoped */
3648
- const __vue_scope_id__$q = "data-v-72c3d430";
3802
+ const __vue_scope_id__$s = "data-v-ad92b954";
3649
3803
  /* module identifier */
3650
- const __vue_module_identifier__$q = undefined;
3804
+ const __vue_module_identifier__$s = undefined;
3651
3805
  /* functional template */
3652
- const __vue_is_functional_template__$q = false;
3806
+ const __vue_is_functional_template__$s = false;
3653
3807
  /* style inject SSR */
3654
3808
 
3655
3809
  /* style inject shadow dom */
3656
3810
 
3657
- const __vue_component__$K = /*#__PURE__*/normalizeComponent({
3658
- render: __vue_render__$q,
3659
- staticRenderFns: __vue_staticRenderFns__$q
3660
- }, __vue_inject_styles__$q, __vue_script__$q, __vue_scope_id__$q, __vue_is_functional_template__$q, __vue_module_identifier__$q, false, createInjector, undefined, undefined);
3661
- var __vue_component__$L = __vue_component__$K;
3811
+ const __vue_component__$P = /*#__PURE__*/normalizeComponent({
3812
+ render: __vue_render__$s,
3813
+ staticRenderFns: __vue_staticRenderFns__$s
3814
+ }, __vue_inject_styles__$s, __vue_script__$s, __vue_scope_id__$s, __vue_is_functional_template__$s, __vue_module_identifier__$s, false, createInjector, undefined, undefined);
3815
+ var __vue_component__$Q = __vue_component__$P;
3662
3816
 
3663
3817
  //
3664
- var script$p = {
3665
- name: 'FilteredMenu',
3666
- components: {
3667
- POI
3668
- },
3669
- data() {
3670
- return {
3671
- sortedPOIs: [],
3672
- count: 0
3673
- };
3674
- },
3818
+ var script$r = {
3819
+ name: 'YAH',
3675
3820
  props: {
3676
- showLogo: {
3677
- type: Boolean,
3678
- default: false
3679
- },
3680
- showName: {
3821
+ showLabel: {
3681
3822
  type: Boolean,
3682
3823
  default: true
3683
- },
3684
- showPathButton: {
3685
- type: Boolean,
3686
- default: false
3687
- },
3688
- showDescription: {
3689
- type: Boolean,
3690
- default: false
3691
- },
3692
- showRoomID: {
3693
- type: Boolean,
3694
- default: false
3695
- },
3696
- showFloor: {
3697
- type: Boolean,
3698
- default: false
3699
- },
3700
- currentPOI: {
3701
- type: Object,
3702
- default: null
3703
3824
  }
3704
3825
  },
3705
3826
  computed: {
3706
- ...mapState('wf', ['filteredPOIs', 'language'])
3707
- },
3708
- watch: {
3709
- filteredPOIs: function (val) {
3710
- let arr = val.slice().filter(poi => {
3711
- return poi && poi.getShowInMenu();
3712
- }); // Copy and filter array
3713
- arr = arr.sort((a, b) => {
3714
- if (a.getName(this.language) && b.getName(this.language)) {
3715
- return a.getName(this.language).localeCompare(b.getName(this.language));
3716
- } else {
3717
- return 0;
3718
- }
3719
- });
3720
- this.count = arr.length;
3721
- this.sortedPOIs = arr;
3722
- }
3827
+ //yahLogo
3828
+ ...mapState('wf', ['yahLogo', 'language'])
3723
3829
  },
3724
3830
  methods: {
3725
- onClick(poi) {
3726
- return () => {
3727
- this.$emit('clicked', poi);
3728
- this.$wayfinder.statistics.onClick(poi.id, "menu");
3729
- };
3831
+ onClicked() {
3832
+ this.$wayfinder.showKiosk();
3730
3833
  }
3731
3834
  }
3732
3835
  };
3733
3836
 
3734
3837
  /* script */
3735
- const __vue_script__$p = script$p;
3838
+ const __vue_script__$r = script$r;
3736
3839
 
3737
3840
  /* template */
3738
- var __vue_render__$p = function () {
3841
+ var __vue_render__$r = function () {
3739
3842
  var _vm = this;
3740
3843
  var _h = _vm.$createElement;
3741
3844
  var _c = _vm._self._c || _h;
3742
- return _c('div', {
3743
- staticClass: "wf-component wf-filteredmenu"
3744
- }, [_c('ul', {
3745
- staticClass: "wf-list",
3746
- class: ['wf-list-count-' + _vm.count]
3747
- }, _vm._l(_vm.sortedPOIs, function (poiitem) {
3748
- return _c('li', {
3749
- directives: [{
3750
- name: "touch",
3751
- rawName: "v-touch:tap",
3752
- value: _vm.onClick(poiitem),
3753
- expression: "onClick(poiitem)",
3754
- arg: "tap"
3755
- }],
3756
- key: poiitem.id,
3757
- staticClass: "wf-list-item",
3758
- class: {
3759
- "wf-active": _vm.currentPOI && poiitem.id == _vm.currentPOI.id
3760
- },
3761
- on: {
3762
- "click": function ($event) {
3763
- return _vm.onClick(poiitem);
3764
- }
3845
+ return _c('button', {
3846
+ staticClass: "wf-component wf-yah",
3847
+ on: {
3848
+ "click": function ($event) {
3849
+ return _vm.onClicked();
3765
3850
  }
3766
- }, [_vm._t("default", function () {
3767
- return [_c('POI', {
3768
- attrs: {
3769
- "poi": poiitem,
3770
- "showLogo": _vm.showLogo,
3771
- "showName": _vm.showName,
3772
- "showPathButton": _vm.showPathButton,
3773
- "showDescription": _vm.showDescription,
3774
- "showRoomID": _vm.showRoomID,
3775
- "showFloor": _vm.showFloor
3776
- }
3777
- })];
3778
- }, {
3779
- "poi": poiitem
3780
- })], 2);
3781
- }), 0)]);
3851
+ }
3852
+ }, [_c('i', {
3853
+ staticClass: "wf-icon",
3854
+ style: {
3855
+ 'background-image': _vm.yahLogo
3856
+ }
3857
+ }), _vm._v(" "), _vm.showLabel ? _c('label', {
3858
+ attrs: {
3859
+ "data-translation-element": "yah"
3860
+ }
3861
+ }, [_vm._v("YAH")]) : _vm._e()]);
3782
3862
  };
3783
- var __vue_staticRenderFns__$p = [];
3863
+ var __vue_staticRenderFns__$r = [];
3784
3864
 
3785
3865
  /* style */
3786
- const __vue_inject_styles__$p = undefined;
3787
- /* scoped */
3788
- const __vue_scope_id__$p = "data-v-257460c1";
3789
- /* module identifier */
3790
- const __vue_module_identifier__$p = undefined;
3791
- /* functional template */
3792
- const __vue_is_functional_template__$p = false;
3793
- /* style inject */
3794
-
3866
+ const __vue_inject_styles__$r = function (inject) {
3867
+ if (!inject) return;
3868
+ inject("data-v-16e4e341_0", {
3869
+ source: ".wf-yah[data-v-16e4e341]{text-align:center;border:none;outline:0}.wf-icon[data-v-16e4e341]{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=)}",
3870
+ map: undefined,
3871
+ media: undefined
3872
+ });
3873
+ };
3874
+ /* scoped */
3875
+ const __vue_scope_id__$r = "data-v-16e4e341";
3876
+ /* module identifier */
3877
+ const __vue_module_identifier__$r = undefined;
3878
+ /* functional template */
3879
+ const __vue_is_functional_template__$r = false;
3795
3880
  /* style inject SSR */
3796
3881
 
3797
3882
  /* style inject shadow dom */
3798
3883
 
3799
- const __vue_component__$I = /*#__PURE__*/normalizeComponent({
3800
- render: __vue_render__$p,
3801
- staticRenderFns: __vue_staticRenderFns__$p
3802
- }, __vue_inject_styles__$p, __vue_script__$p, __vue_scope_id__$p, __vue_is_functional_template__$p, __vue_module_identifier__$p, false, undefined, undefined, undefined);
3803
- var __vue_component__$J = __vue_component__$I;
3884
+ const __vue_component__$O = /*#__PURE__*/normalizeComponent({
3885
+ render: __vue_render__$r,
3886
+ staticRenderFns: __vue_staticRenderFns__$r
3887
+ }, __vue_inject_styles__$r, __vue_script__$r, __vue_scope_id__$r, __vue_is_functional_template__$r, __vue_module_identifier__$r, false, createInjector, undefined, undefined);
3888
+ var YAH = __vue_component__$O;
3804
3889
 
3805
3890
  //
3806
- var script$o = {
3807
- name: 'POIAdvertisements',
3891
+ var script$q = {
3892
+ name: 'ShortcutsMenu',
3893
+ components: {
3894
+ YAH
3895
+ },
3808
3896
  props: {
3809
- ads: {
3810
- type: Array,
3811
- default: []
3897
+ showLabel: {
3898
+ type: Boolean,
3899
+ default: true
3900
+ },
3901
+ showPath: {
3902
+ type: Boolean,
3903
+ default: true
3904
+ },
3905
+ showIcon: {
3906
+ type: Boolean,
3907
+ default: true
3908
+ },
3909
+ highlight: {
3910
+ type: Boolean,
3911
+ default: true
3912
+ },
3913
+ dehighlightOverlay: {
3914
+ type: Boolean,
3915
+ default: false
3812
3916
  }
3813
3917
  },
3814
- data() {
3815
- return {};
3918
+ computed: {
3919
+ ...mapState('wf', ['shortcuts', 'language', 'landscape', 'mobile']),
3920
+ count() {
3921
+ return this.shortcuts.length;
3922
+ },
3923
+ hasClickedListener() {
3924
+ return !!(this.$listeners && this.$listeners.clicked);
3925
+ }
3816
3926
  },
3817
- computed: {},
3818
3927
  methods: {
3819
- clicked(ad) {
3820
- this.$emit('clicked', ad);
3928
+ showShortcut(shortcut) {
3929
+ var nearest = this.$wayfinder.getNearestPOI(this.$wayfinder.getKiosk(), shortcut.pois);
3930
+ if (this.hasClickedListener) {
3931
+ this.$emit("clicked", nearest, shortcut);
3932
+ } else {
3933
+ if (this.showPath && typeof nearest === 'object' && nearest != null) {
3934
+ this.$wayfinder.showPath(nearest.node, nearest);
3935
+ }
3936
+ if (this.highlight) {
3937
+ this.$wayfinder.clearDisplaying();
3938
+ this.$wayfinder.setDisplaying(shortcut.pois);
3939
+ }
3940
+ if (this.dehighlightOverlay && this.$wayfinder.setDehighlightOverlay) {
3941
+ this.$wayfinder.setDehighlightOverlay(true);
3942
+ }
3943
+ this.$wayfinder.update();
3944
+ }
3945
+ },
3946
+ clear() {
3947
+ if (this.dehighlightOverlay && this.$wayfinder.setDehighlightOverlay) {
3948
+ this.$wayfinder.setDehighlightOverlay(false);
3949
+ }
3950
+ if (this.highlight) {
3951
+ this.$wayfinder.clearHighlights();
3952
+ }
3953
+ this.$wayfinder.update();
3954
+ },
3955
+ getImage(id) {
3956
+ return WayfinderAPI.getURL("images", "thumbnail", [id]);
3821
3957
  }
3822
3958
  }
3823
3959
  };
3824
3960
 
3825
3961
  /* script */
3826
- const __vue_script__$o = script$o;
3962
+ const __vue_script__$q = script$q;
3827
3963
 
3828
3964
  /* template */
3829
- var __vue_render__$o = function () {
3965
+ var __vue_render__$q = function () {
3830
3966
  var _vm = this;
3831
3967
  var _h = _vm.$createElement;
3832
3968
  var _c = _vm._self._c || _h;
3833
3969
  return _c('div', {
3834
- staticClass: "wf-component wf-poi-advertisements"
3835
- }, _vm._l(_vm.ads, function (ad) {
3836
- return _c('WFPOIAdvertisement', {
3837
- key: ad.id,
3838
- attrs: {
3839
- "ad": ad
3840
- },
3970
+ staticClass: "wf-component wf-shortcuts-menu"
3971
+ }, [_c('div', {
3972
+ staticClass: "wf-list",
3973
+ class: ['wf-list-count-' + _vm.count]
3974
+ }, _vm._l(_vm.shortcuts, function (shortcut) {
3975
+ return _c('button', {
3976
+ key: shortcut.getID(),
3977
+ staticClass: "wf-list-item wf-shortcut",
3978
+ class: ["wf-shortcut-" + shortcut.getID()],
3841
3979
  on: {
3842
- "clicked": _vm.clicked
3980
+ "click": function ($event) {
3981
+ return _vm.showShortcut(shortcut);
3982
+ }
3843
3983
  }
3844
- });
3845
- }), 1);
3984
+ }, [_vm.showIcon ? _c('img', {
3985
+ staticClass: "wf-icon",
3986
+ attrs: {
3987
+ "src": _vm.getImage(shortcut.imageID)
3988
+ }
3989
+ }) : _vm._e(), _vm._v(" "), _vm.showLabel ? _c('label', [_vm._v(_vm._s(shortcut.getName(_vm.language)))]) : _vm._e()]);
3990
+ }), 0)]);
3846
3991
  };
3847
- var __vue_staticRenderFns__$o = [];
3992
+ var __vue_staticRenderFns__$q = [];
3848
3993
 
3849
3994
  /* style */
3850
- const __vue_inject_styles__$o = undefined;
3995
+ const __vue_inject_styles__$q = function (inject) {
3996
+ if (!inject) return;
3997
+ inject("data-v-322579a5_0", {
3998
+ source: ".shortcuts-container[data-v-322579a5]{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-322579a5]{position:absolute;left:.5rem;bottom:15%;top:15%;flex-direction:column;justify-content:center}",
3999
+ map: undefined,
4000
+ media: undefined
4001
+ });
4002
+ };
3851
4003
  /* scoped */
3852
- const __vue_scope_id__$o = "data-v-45b241cc";
4004
+ const __vue_scope_id__$q = "data-v-322579a5";
3853
4005
  /* module identifier */
3854
- const __vue_module_identifier__$o = undefined;
4006
+ const __vue_module_identifier__$q = undefined;
3855
4007
  /* functional template */
3856
- const __vue_is_functional_template__$o = false;
3857
- /* style inject */
3858
-
4008
+ const __vue_is_functional_template__$q = false;
3859
4009
  /* style inject SSR */
3860
4010
 
3861
4011
  /* style inject shadow dom */
3862
4012
 
3863
- const __vue_component__$G = /*#__PURE__*/normalizeComponent({
3864
- render: __vue_render__$o,
3865
- staticRenderFns: __vue_staticRenderFns__$o
3866
- }, __vue_inject_styles__$o, __vue_script__$o, __vue_scope_id__$o, __vue_is_functional_template__$o, __vue_module_identifier__$o, false, undefined, undefined, undefined);
3867
- var __vue_component__$H = __vue_component__$G;
3868
-
3869
- function createCommonjsModule(fn, basedir, module) {
3870
- return module = {
3871
- path: basedir,
3872
- exports: {},
3873
- require: function (path, base) {
3874
- return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
3875
- }
3876
- }, fn(module, module.exports), module.exports;
3877
- }
3878
-
3879
- function commonjsRequire () {
3880
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
3881
- }
3882
-
3883
- var osk_common = createCommonjsModule(function (module) {
3884
- module.exports=function(t){var e={};function i(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s});},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)i.d(s,n,function(e){return t[e]}.bind(null,n));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}([function(t,e,i){i.r(e);class s{constructor(t){this.keyboard=t,this.actions={backspace:function(t,e){e.selectionStart>0&&e.selectionStart==e.selectionEnd?(e.selectionStart--,e.changeValue("")):e.changeValue("");},change_keyset:function(t,e){void 0!==t.action[1]&&(e.keyset=t.action[1],e.clear(),e.construct());},change_layout:function(t,e){void 0!==t.action[1]&&(e.layoutName=t.action[1],e.clear(),e.construct());},submit:function(t,e){void 0!==t.action[1]&&(e.pushtoOutput(),e.clear());}};}activate(t){"function"==typeof this.actions[t.action[0]]&&this.actions[t.action[0]](t,this.keyboard);}addAction(t,e){this.actions[t]=e;}}class n{constructor(t,e,i){this.layouts={},this.layoutName=void 0===i?"en":i,this.keyset="default",this.container=!1,this.containerListenerAdded=!1,this.setContainer(e),this.selectionStart=0,this.selectionEnd=0,this.output=!1,this.outputIsInputField=!0,this.outputSelectionEnabled=!1,this.value="",this.events={change:[],layout:[],ready:[]},this.actions=new s(this),this.cbOnChange=!1,this.setOutput(t),this.setDefaultLayout(),this.construct();}on(t,e){"object"!=typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e);}trigger(){let t=Array.prototype.slice.call(arguments);if(t.length>0){let e=t[0];if(t.shift(),this.events[e]){let i;for(let s=0,n=this.events[e].length;s<n;s++)"function"==typeof(i=this.events[e][s])&&i.apply(this,t);}}}addLayout(t,e){this.layouts[t]=e;}changeLayout(t,e){this.layoutName=t,this.keyset=e||"default",this.clear(),this.construct(),this.trigger("layout",this.layoutName,this.keyset);}setContainer(t){switch(typeof t){case"undefined":this.container=document.createElement("div"),this.container.classList.add("keyboard"),document.body.appendChild(this.container);break;case"string":this.container=document.getElementById(t);break;default:this.container=t;}}setOutput(t){if(!t)return void console.warn("Input field not given",t);let e;if("string"==typeof t){if(e=document.getElementById(t),this.output=e,!this.output)return void console.warn("Input field not found",t)}else e=t,this.output=t;"input"!==this.getFieldType(this.output)&&(this.outputIsInputField=!1);let i=this.getFieldValue(e);this.value=i,this.selectionEnd=i.length,this.output&&(this.output.addEventListener("focus",()=>{this.updateFromOutput();}),this.output.addEventListener("keyup",()=>{this.updateFromOutput(),this.trigger("change",this.value);}),this.output.addEventListener("mouseup",()=>{this.updateFromOutput();}),this.output.addEventListener("input",()=>{this.updateFromOutput();}));}setOutputSelection(t){this.outputSelectionEnabled=t;}getFieldValue(t){if(!t)return "";switch(this.getFieldType(t)){case"input":return t.value;case"textarea":return t.innerText;default:return ""}}updateFromOutput(){this.value=this.getFieldValue(this.output),this.getCaretPosition();}clear(){if(this.container)for(;this.container.firstChild;)this.container.removeChild(this.container.firstChild);}clearValue(){this.value="",this.selectionStart=0,this.selectionEnd=0,this.pushtoOutput();}getCurrentKeyset(){try{return this.layouts[this.layoutName].keys[this.keyset]}catch(t){return console.warn("Error! Probably no keyboard layout added!"),this.layouts.en.keys.default}}construct(){this.clear();let t="",e=this.getCurrentKeyset();for(let i in e){t+="<div class='keyboard-row keyboard-row-"+i+"'>";for(let s in e[i]){let n=e[i][s];switch(typeof n){case"string":t+="<div class='keyboard-key "+n+"' row='"+i+"' index='"+s+"'>"+n+"</div>";break;case"object":let e="";n.cls&&(e=n.cls),t+="<div class='keyboard-key keyboard-"+e+" "+n.key+"' object='' row='"+i+"' index='"+s+"'>"+n.key+"</div>";}}t+="</div>";}this.container.insertAdjacentHTML("beforeend",t),this.containerListenerAdded||(this.container.addEventListener("mousedown",t=>{this.getCaretPosition(),this.keyPressed(t.target),t.stopPropagation(),t.preventDefault();}),this.container.addEventListener("mouseup",t=>{this.keyReleased(t.target),t.stopPropagation();}),this.containerListenerAdded=!0,this.container.onselectstart=function(){return !1},this.container.onmousedown=function(){return !1}),this.rescale();}rescale(){if(!this.container)return;let t,e,i=0;for(let s=0;s<this.container.children.length;s++){let n=(t=this.container.children[s]).offsetHeight-t.clientHeight,o=t.offsetWidth-t.clientWidth;for(let i=0;i<t.children.length;i++){o+=((e=t.children[i]).offsetWidth<this.container.offsetWidth?e.offsetWidth:this.container.offsetWidth)+1,n=Math.max(n,this.container.offsetHeight);}t.width=o,t.height=n,i+=n;}this.container.height=i,this.trigger("ready");}keyPressed(t){t.classList.add("keyboard-key-pressed");let e=this.getCurrentKeyset()[t.getAttribute("row")];if(!e)return;let i=e[t.getAttribute("index")];switch(typeof i){case"string":this.changeValue(i);break;case"object":void 0===i.action?this.changeValue(i.key):this.actions.activate(i);}this.pushtoOutput();}changeValue(t){let e=this.value.substring(0,this.selectionStart),i=this.value.substring(this.selectionEnd,this.value.length);this.value=""+e+t+i,this.selectionStart+=t.length,this.selectionEnd=this.selectionStart;}pushtoOutput(){if(this.output){this.outputIsInputField?(this.output.value=this.value,this.output.selectionStart=this.selectionStart,this.output.selectionEnd=this.selectionEnd):this.output.innerHTML=this.value;let t=new Event("change"),e=new Event("keyup");this.output.dispatchEvent(t),this.output.dispatchEvent(e),this.trigger("change",this.value);}}getFieldType(t){return t&&t.tagName?t.tagName.toLowerCase():"nan"}getCaretPosition(){this.output&&this.outputIsInputField&&this.outputSelectionEnabled&&(this.selectionStart=this.output.selectionStart,this.selectionEnd=this.output.selectionEnd);}keyReleased(t){t.classList.remove("keyboard-key-pressed");}width(){return -1}height(){return -1}setDefaultLayout(){this.layouts.en={name:"English",keyboard:"US International",local_name:"English",lang:"en",keys:{default:[["1","2","3","4","5","6","7","8","9","0",{key:"&#171; Bksp",action:["backspace"],cls:"key2x"}],["q","w","e","r","t","y","u","i","o","p","\\"],["a","s","d","f","g","h","j","k","l",{key:"Enter",action:["submit"],cls:"key3x"}],[{key:"Shift",action:["change_keyset","shift"],cls:"key2x"},"z","x","c","v","b","n","m"],[{key:" ",cls:"key_spacebar"}]],shift:[["~","!","@","#","$","%","^","&","*","(",")",{key:"&#171; Bksp",action:"backspace",cls:"key2x"}],["Q","W","E","R","T","Y","U","I","O","P","{","}"],["A","S","D","F","G","H","J","K","L",{key:"Enter",action:["submit"],cls:"key3x"}],[{key:"Shift",action:["change_keyset","default"],cls:"key2x active"},"Z","X","C","V","B","N","M","<",">","?"],[{key:" ",cls:"key_spacebar"}]]}};}}i.d(e,"OSK",function(){return n}),i.d(e,"OSKActions",function(){return s});}]).OSK;
3885
- });
4013
+ const __vue_component__$M = /*#__PURE__*/normalizeComponent({
4014
+ render: __vue_render__$q,
4015
+ staticRenderFns: __vue_staticRenderFns__$q
4016
+ }, __vue_inject_styles__$q, __vue_script__$q, __vue_scope_id__$q, __vue_is_functional_template__$q, __vue_module_identifier__$q, false, createInjector, undefined, undefined);
4017
+ var __vue_component__$N = __vue_component__$M;
3886
4018
 
3887
4019
  //
3888
- var script$n = {
3889
- name: 'Search',
3890
- components: {
3891
- OSK: osk_common,
3892
- POI
3893
- },
3894
- computed: {
3895
- ...mapState('wf', ['language', 'reset']),
3896
- hasClearListener() {
3897
- return !!(this.$listeners && this.$listeners.clear);
3898
- }
3899
- },
3900
- props: {
3901
- limit: {
3902
- type: Number,
3903
- default: -1
3904
- },
3905
- showCloseButton: {
3906
- type: Boolean,
3907
- default: false
3908
- },
3909
- showClearButton: {
3910
- type: Boolean,
3911
- default: false
3912
- },
3913
- showOutputField: {
3914
- type: Boolean,
3915
- default: true
3916
- },
3917
- showKeyboard: {
3918
- type: Boolean,
3919
- default: true
3920
- },
3921
- showNoResultsText: {
3922
- type: Boolean,
3923
- default: true
3924
- },
3925
- noResultsText: {
3926
- type: String,
3927
- default: "No results"
3928
- },
3929
- showLogo: {
3930
- type: Boolean,
3931
- default: false
3932
- },
3933
- showName: {
3934
- type: Boolean,
3935
- default: true
4020
+ //
4021
+ //
4022
+ //
4023
+ //
4024
+ //
4025
+
4026
+ let timer = null;
4027
+ var script$p = {
4028
+ data: () => ({
4029
+ direction: 0,
4030
+ zooming: false
4031
+ }),
4032
+ methods: {
4033
+ touchStart(dir) {
4034
+ return () => {
4035
+ this.start(dir);
4036
+ };
3936
4037
  },
3937
- showPathButton: {
3938
- type: Boolean,
3939
- default: false
4038
+ touchStop() {
4039
+ return () => {
4040
+ this.stop();
4041
+ };
3940
4042
  },
3941
- showDescription: {
3942
- type: Boolean,
3943
- default: false
4043
+ start(dir) {
4044
+ this.direction = dir;
4045
+ this.zooming = true;
4046
+ this.zoom();
3944
4047
  },
3945
- showRoomID: {
3946
- type: Boolean,
3947
- default: false
4048
+ stop() {
4049
+ this.direction = 0;
4050
+ this.zooming = false;
4051
+ clearTimeout(timer);
3948
4052
  },
3949
- showFloor: {
4053
+ zoom() {
4054
+ if (this.direction > 0) {
4055
+ this.$wayfinder.zoomIn();
4056
+ } else {
4057
+ this.$wayfinder.zoomOut();
4058
+ }
4059
+ if (this.zooming) {
4060
+ timer = setTimeout(() => {
4061
+ this.zoom();
4062
+ }, 50);
4063
+ }
4064
+ }
4065
+ }
4066
+ };
4067
+
4068
+ /* script */
4069
+ const __vue_script__$p = script$p;
4070
+
4071
+ /* template */
4072
+ var __vue_render__$p = function () {
4073
+ var _vm = this;
4074
+ var _h = _vm.$createElement;
4075
+ var _c = _vm._self._c || _h;
4076
+ return _c('div', {
4077
+ staticClass: "wf-component wf-zoommenu"
4078
+ }, [_c('div', {
4079
+ directives: [{
4080
+ name: "touch",
4081
+ rawName: "v-touch:start",
4082
+ value: _vm.touchStart(1),
4083
+ expression: "touchStart(1)",
4084
+ arg: "start"
4085
+ }, {
4086
+ name: "touch",
4087
+ rawName: "v-touch:end",
4088
+ value: _vm.touchStop(),
4089
+ expression: "touchStop()",
4090
+ arg: "end"
4091
+ }],
4092
+ staticClass: "wf-item wf-zoom-in",
4093
+ on: {
4094
+ "mousedown": function ($event) {
4095
+ return _vm.start(1);
4096
+ },
4097
+ "mouseleave": function ($event) {
4098
+ return _vm.stop();
4099
+ },
4100
+ "mouseup": function ($event) {
4101
+ return _vm.stop();
4102
+ }
4103
+ }
4104
+ }, [_vm._v("+")]), _vm._v(" "), _c('div', {
4105
+ directives: [{
4106
+ name: "touch",
4107
+ rawName: "v-touch:start",
4108
+ value: _vm.touchStart(-1),
4109
+ expression: "touchStart(-1)",
4110
+ arg: "start"
4111
+ }, {
4112
+ name: "touch",
4113
+ rawName: "v-touch:end",
4114
+ value: _vm.touchStop(),
4115
+ expression: "touchStop()",
4116
+ arg: "end"
4117
+ }],
4118
+ staticClass: "wf-item wf-zoom-out",
4119
+ on: {
4120
+ "mousedown": function ($event) {
4121
+ return _vm.start(-1);
4122
+ },
4123
+ "mouseleave": function ($event) {
4124
+ return _vm.stop();
4125
+ },
4126
+ "mouseup": function ($event) {
4127
+ return _vm.stop();
4128
+ }
4129
+ }
4130
+ }, [_vm._v("-")])]);
4131
+ };
4132
+ var __vue_staticRenderFns__$p = [];
4133
+
4134
+ /* style */
4135
+ const __vue_inject_styles__$p = function (inject) {
4136
+ if (!inject) return;
4137
+ inject("data-v-260dca50_0", {
4138
+ source: ".wf-zoommenu[data-v-260dca50]{user-select:none}",
4139
+ map: undefined,
4140
+ media: undefined
4141
+ });
4142
+ };
4143
+ /* scoped */
4144
+ const __vue_scope_id__$p = "data-v-260dca50";
4145
+ /* module identifier */
4146
+ const __vue_module_identifier__$p = undefined;
4147
+ /* functional template */
4148
+ const __vue_is_functional_template__$p = false;
4149
+ /* style inject SSR */
4150
+
4151
+ /* style inject shadow dom */
4152
+
4153
+ const __vue_component__$K = /*#__PURE__*/normalizeComponent({
4154
+ render: __vue_render__$p,
4155
+ staticRenderFns: __vue_staticRenderFns__$p
4156
+ }, __vue_inject_styles__$p, __vue_script__$p, __vue_scope_id__$p, __vue_is_functional_template__$p, __vue_module_identifier__$p, false, createInjector, undefined, undefined);
4157
+ var __vue_component__$L = __vue_component__$K;
4158
+
4159
+ //
4160
+ var script$o = {
4161
+ name: 'MapFloors',
4162
+ props: {
4163
+ showPOICount: {
3950
4164
  type: Boolean,
3951
4165
  default: false
3952
4166
  },
3953
- currentPOI: {
4167
+ currentFloor: {
3954
4168
  type: Object,
3955
4169
  default: null
4170
+ },
4171
+ hideWhenSingleFloor: {
4172
+ type: Boolean,
4173
+ default: true
3956
4174
  }
3957
4175
  },
3958
4176
  data() {
3959
4177
  return {
3960
- results: [],
3961
- poi: {},
3962
- keyboard: false,
3963
- inputId: "",
3964
- keyboardContainerId: ""
4178
+ count: 0
3965
4179
  };
3966
4180
  },
3967
- mounted() {
3968
- let now = Date.now();
3969
- this.inputId = 'wf-search-input-' + now;
3970
- this.keyboardContainerId = 'wf-keyboard-container-' + now;
3971
- // Lets wait when the ID's are mapped
3972
- this.$nextTick(() => {
3973
- this.keyboard = new osk_common(this.inputId, this.keyboardContainerId);
3974
- this.keyboard.on('change', keyword => {
3975
- let results = this.$wayfinder.search.search(keyword);
3976
- results = results.filter(poi => {
3977
- return poi.getShowInMenu();
3978
- });
3979
- if (this.limit > 0) {
3980
- results = results.slice(0, this.limit);
3981
- } else {
3982
- results = results.slice();
3983
- }
3984
- let resultArr = Object.values(results).map(poi => {
3985
- return this.$store.getters["wf/freezePOI"](poi);
3986
- });
3987
- this.results = resultArr;
3988
- if (keyword.length > 1) {
3989
- if (Object.values(this.results).length > 0) {
3990
- this.$wayfinder.statistics.onSearch(keyword, "successful");
3991
- } else {
3992
- this.$wayfinder.statistics.onSearch(keyword, "unsuccessful");
3993
- }
3994
- }
3995
- });
3996
- this.keyboard.addLayout('en', {
3997
- "name": "English",
3998
- "keyboard": "US International",
3999
- "local_name": "English",
4000
- "lang": "en",
4001
- "keys": {
4002
- "default": [["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", {
4003
- "key": "Delete",
4004
- "action": ["backspace"],
4005
- "cls": "key2x"
4006
- }], ["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"], ["a", "s", "d", "f", "g", "h", "j", "k", "l"], ["z", "x", "c", "v", "b", "n", "m"], [{
4007
- "key": " ",
4008
- "cls": "key_spacebar"
4009
- }]]
4010
- }
4011
- });
4012
- this.keyboard.changeLayout(this.language);
4013
- });
4014
- },
4015
4181
  watch: {
4016
- searchVisible(current) {
4017
- if (current && this.$refs.searchInput) {
4018
- this.$refs.searchInput.focus();
4182
+ floors() {
4183
+ console.log('floors', this.floors);
4184
+ }
4185
+ },
4186
+ computed: {
4187
+ ...mapState('wf', ['floors', 'language']),
4188
+ filteredFloors() {
4189
+ let arr = []; // Copy arr for sorting
4190
+ let floor;
4191
+ let floors = this.floors;
4192
+ for (let i in floors) {
4193
+ floor = floors[i];
4194
+ if (floor && floor.showInMenu && floor.getName(this.language)) {
4195
+ arr.push(floor);
4196
+ }
4019
4197
  }
4198
+ this.count = arr.length;
4199
+ return arr;
4020
4200
  },
4021
- reset() {
4022
- this.resetValues();
4023
- },
4024
- language(lang) {
4025
- if (this.keyboard) {
4026
- this.keyboard.changeLayout(lang);
4027
- }
4201
+ hasClickedListener() {
4202
+ return !!(this.$listeners && this.$listeners.clicked);
4028
4203
  }
4029
4204
  },
4030
4205
  methods: {
4031
- onClick(poi) {
4032
- this.$emit('clicked', poi);
4033
- this.$wayfinder.statistics.onClick(poi.id, "menu");
4034
- },
4035
- close() {
4036
- this.$emit('close');
4037
- this.resetValues();
4038
- },
4039
- clear() {
4040
- this.$emit('clear');
4041
- if (!this.hasClearListener) {
4042
- this.resetValues();
4043
- }
4044
- },
4045
- resetValues() {
4046
- this.results = [];
4047
- if (this.keyboard) {
4048
- this.keyboard.changeLayout(this.language);
4049
- this.keyboard.clearValue();
4206
+ changeFloor(floor) {
4207
+ if (this.hasClickedListener) {
4208
+ this.$emit("clicked", floor);
4209
+ } else {
4210
+ console.log("changeFloor", floor);
4211
+ this.$wayfinder.showFloor(floor);
4050
4212
  }
4051
- },
4052
- setOutput(output) {
4053
- this.keyboard.setOutput(output);
4054
- },
4055
- addLayout(lang, layout) {
4056
- this.keyboard.addLayout(lang, layout);
4057
- },
4058
- changeLayout(lang) {
4059
- this.keyboard.changeLayout(lang);
4060
4213
  }
4061
4214
  }
4062
4215
  };
4063
4216
 
4064
4217
  /* script */
4065
- const __vue_script__$n = script$n;
4218
+ const __vue_script__$o = script$o;
4066
4219
 
4067
4220
  /* template */
4068
- var __vue_render__$n = function () {
4221
+ var __vue_render__$o = function () {
4069
4222
  var _vm = this;
4070
4223
  var _h = _vm.$createElement;
4071
4224
  var _c = _vm._self._c || _h;
4072
4225
  return _c('div', {
4073
- staticClass: "wf-component wf-search"
4074
- }, [_vm.showCloseButton ? _c('div', {
4075
- staticClass: "wf-close",
4076
- on: {
4077
- "click": function ($event) {
4078
- return _vm.close($event);
4079
- }
4080
- }
4081
- }, [_c('WFTranslate', {
4082
- attrs: {
4083
- "k": "close"
4084
- }
4085
- }, [_vm._v("Close")])], 1) : _vm._e(), _vm._v(" "), _c('div', {
4086
- staticClass: "wf-search-container"
4087
- }, [_c('div', {
4088
- staticClass: "wf-search-results",
4089
- class: {
4090
- "wf-no-results": _vm.results.length == 0
4091
- }
4092
- }, [_c('transition-group', {
4226
+ staticClass: "wf-component wf-floors-menu"
4227
+ }, [_c('ul', {
4228
+ directives: [{
4229
+ name: "show",
4230
+ rawName: "v-show",
4231
+ value: !(_vm.hideWhenSingleFloor && _vm.floors.length <= 1),
4232
+ expression: "!(hideWhenSingleFloor && floors.length <= 1)"
4233
+ }],
4093
4234
  staticClass: "wf-list",
4094
- attrs: {
4095
- "name": "list",
4096
- "tag": "ul"
4235
+ class: ['wf-list-count-' + _vm.count]
4236
+ }, _vm._l(_vm.filteredFloors, function (floor) {
4237
+ return _c('li', {
4238
+ key: floor.id,
4239
+ staticClass: "wf-list-item",
4240
+ class: ["wf-lang-" + _vm.language, "wf-floor-" + floor.index, {
4241
+ "wf-active": _vm.currentFloor && floor.id == _vm.currentFloor.id
4242
+ }],
4243
+ on: {
4244
+ "click": function ($event) {
4245
+ return _vm.changeFloor(floor);
4246
+ }
4247
+ }
4248
+ }, [_c('label', {
4249
+ staticClass: "wf-title"
4250
+ }, [_vm._v(_vm._s(floor.getName(_vm.language)))]), _vm._v(" "), _vm.showPOICount ? _c('label', {
4251
+ staticClass: "wf-count"
4252
+ }, [_vm._v(_vm._s(floor.pois.length))]) : _vm._e()]);
4253
+ }), 0)]);
4254
+ };
4255
+ var __vue_staticRenderFns__$o = [];
4256
+
4257
+ /* style */
4258
+ const __vue_inject_styles__$o = function (inject) {
4259
+ if (!inject) return;
4260
+ inject("data-v-72c3d430_0", {
4261
+ source: ".wf-floors-menu .wf-list-item[data-v-72c3d430]{text-overflow:ellipsis;list-style:none}",
4262
+ map: undefined,
4263
+ media: undefined
4264
+ });
4265
+ };
4266
+ /* scoped */
4267
+ const __vue_scope_id__$o = "data-v-72c3d430";
4268
+ /* module identifier */
4269
+ const __vue_module_identifier__$o = undefined;
4270
+ /* functional template */
4271
+ const __vue_is_functional_template__$o = false;
4272
+ /* style inject SSR */
4273
+
4274
+ /* style inject shadow dom */
4275
+
4276
+ const __vue_component__$I = /*#__PURE__*/normalizeComponent({
4277
+ render: __vue_render__$o,
4278
+ staticRenderFns: __vue_staticRenderFns__$o
4279
+ }, __vue_inject_styles__$o, __vue_script__$o, __vue_scope_id__$o, __vue_is_functional_template__$o, __vue_module_identifier__$o, false, createInjector, undefined, undefined);
4280
+ var __vue_component__$J = __vue_component__$I;
4281
+
4282
+ //
4283
+ var script$n = {
4284
+ name: 'FilteredMenu',
4285
+ components: {
4286
+ POI
4287
+ },
4288
+ data() {
4289
+ return {
4290
+ sortedPOIs: [],
4291
+ count: 0
4292
+ };
4293
+ },
4294
+ props: {
4295
+ showLogo: {
4296
+ type: Boolean,
4297
+ default: false
4298
+ },
4299
+ showName: {
4300
+ type: Boolean,
4301
+ default: true
4302
+ },
4303
+ showPathButton: {
4304
+ type: Boolean,
4305
+ default: false
4306
+ },
4307
+ showDescription: {
4308
+ type: Boolean,
4309
+ default: false
4310
+ },
4311
+ showRoomID: {
4312
+ type: Boolean,
4313
+ default: false
4314
+ },
4315
+ showFloor: {
4316
+ type: Boolean,
4317
+ default: false
4318
+ },
4319
+ currentPOI: {
4320
+ type: Object,
4321
+ default: null
4097
4322
  }
4098
- }, _vm._l(_vm.results, function (poiitem) {
4323
+ },
4324
+ computed: {
4325
+ ...mapState('wf', ['filteredPOIs', 'language'])
4326
+ },
4327
+ watch: {
4328
+ filteredPOIs: function (val) {
4329
+ let arr = val.slice().filter(poi => {
4330
+ return poi && poi.getShowInMenu();
4331
+ }); // Copy and filter array
4332
+ arr = arr.sort((a, b) => {
4333
+ if (a.getName(this.language) && b.getName(this.language)) {
4334
+ return a.getName(this.language).localeCompare(b.getName(this.language));
4335
+ } else {
4336
+ return 0;
4337
+ }
4338
+ });
4339
+ this.count = arr.length;
4340
+ this.sortedPOIs = arr;
4341
+ }
4342
+ },
4343
+ methods: {
4344
+ onClick(poi) {
4345
+ return () => {
4346
+ if (poi) {
4347
+ this.$emit('clicked', poi);
4348
+ this.$wayfinder.statistics.onClick(poi.id, "menu");
4349
+ } else {
4350
+ console.warn("No POI");
4351
+ }
4352
+ };
4353
+ }
4354
+ }
4355
+ };
4356
+
4357
+ /* script */
4358
+ const __vue_script__$n = script$n;
4359
+
4360
+ /* template */
4361
+ var __vue_render__$n = function () {
4362
+ var _vm = this;
4363
+ var _h = _vm.$createElement;
4364
+ var _c = _vm._self._c || _h;
4365
+ return _c('div', {
4366
+ staticClass: "wf-component wf-filteredmenu"
4367
+ }, [_c('ul', {
4368
+ staticClass: "wf-list",
4369
+ class: ['wf-list-count-' + _vm.count]
4370
+ }, _vm._l(_vm.sortedPOIs, function (poiitem) {
4099
4371
  return _c('li', {
4372
+ directives: [{
4373
+ name: "touch",
4374
+ rawName: "v-touch:tap",
4375
+ value: _vm.onClick(poiitem),
4376
+ expression: "onClick(poiitem)",
4377
+ arg: "tap"
4378
+ }],
4100
4379
  key: poiitem.id,
4101
4380
  staticClass: "wf-list-item",
4102
4381
  class: {
@@ -4122,90 +4401,48 @@ var __vue_render__$n = function () {
4122
4401
  }, {
4123
4402
  "poi": poiitem
4124
4403
  })], 2);
4125
- }), 0), _vm._v(" "), _c('span', {
4126
- directives: [{
4127
- name: "show",
4128
- rawName: "v-show",
4129
- value: _vm.showNoResultsText && _vm.results.length == 0,
4130
- expression: "showNoResultsText && results.length == 0"
4131
- }],
4132
- staticClass: "wf-search-no-results-text"
4133
- }, [_c('WFTranslate', {
4134
- attrs: {
4135
- "k": "no-search-results"
4136
- }
4137
- }, [_vm._v("No results")])], 1)], 1), _vm._v(" "), _vm.showOutputField ? _c('div', {
4138
- staticClass: "wf-search-input-container"
4139
- }, [_c('input', {
4140
- ref: "searchInput",
4141
- attrs: {
4142
- "id": _vm.inputId
4143
- }
4144
- }), _vm._v(" "), _vm.showClearButton ? _c('div', {
4145
- staticClass: "wf-search-clear",
4146
- on: {
4147
- "click": function ($event) {
4148
- return _vm.clear($event);
4149
- }
4150
- }
4151
- }, [_c('WFIcon', {
4152
- attrs: {
4153
- "name": "clear"
4154
- }
4155
- })], 1) : _vm._e()]) : _vm._e(), _vm._v(" "), _c('div', {
4156
- directives: [{
4157
- name: "show",
4158
- rawName: "v-show",
4159
- value: _vm.showKeyboard,
4160
- expression: "showKeyboard"
4161
- }],
4162
- staticClass: "wf-keyboard",
4163
- attrs: {
4164
- "id": _vm.keyboardContainerId
4165
- }
4166
- })])]);
4404
+ }), 0)]);
4167
4405
  };
4168
4406
  var __vue_staticRenderFns__$n = [];
4169
4407
 
4170
4408
  /* style */
4171
- const __vue_inject_styles__$n = function (inject) {
4172
- if (!inject) return;
4173
- inject("data-v-527d8fee_0", {
4174
- 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%}.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;user-select:none}.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}",
4175
- map: undefined,
4176
- media: undefined
4177
- });
4178
- };
4409
+ const __vue_inject_styles__$n = undefined;
4179
4410
  /* scoped */
4180
- const __vue_scope_id__$n = undefined;
4411
+ const __vue_scope_id__$n = "data-v-760e1796";
4181
4412
  /* module identifier */
4182
4413
  const __vue_module_identifier__$n = undefined;
4183
4414
  /* functional template */
4184
4415
  const __vue_is_functional_template__$n = false;
4416
+ /* style inject */
4417
+
4185
4418
  /* style inject SSR */
4186
4419
 
4187
4420
  /* style inject shadow dom */
4188
4421
 
4189
- const __vue_component__$E = /*#__PURE__*/normalizeComponent({
4422
+ const __vue_component__$G = /*#__PURE__*/normalizeComponent({
4190
4423
  render: __vue_render__$n,
4191
4424
  staticRenderFns: __vue_staticRenderFns__$n
4192
- }, __vue_inject_styles__$n, __vue_script__$n, __vue_scope_id__$n, __vue_is_functional_template__$n, __vue_module_identifier__$n, false, createInjector, undefined, undefined);
4193
- var __vue_component__$F = __vue_component__$E;
4425
+ }, __vue_inject_styles__$n, __vue_script__$n, __vue_scope_id__$n, __vue_is_functional_template__$n, __vue_module_identifier__$n, false, undefined, undefined, undefined);
4426
+ var __vue_component__$H = __vue_component__$G;
4194
4427
 
4195
4428
  //
4196
- //
4197
- //
4198
- //
4199
- //
4200
- //
4201
- //
4202
- //
4203
- //
4204
- //
4205
- //
4206
-
4207
4429
  var script$m = {
4208
- name: 'Loading'
4430
+ name: 'POIAdvertisements',
4431
+ props: {
4432
+ ads: {
4433
+ type: Array,
4434
+ default: []
4435
+ }
4436
+ },
4437
+ data() {
4438
+ return {};
4439
+ },
4440
+ computed: {},
4441
+ methods: {
4442
+ clicked(ad) {
4443
+ this.$emit('clicked', ad);
4444
+ }
4445
+ }
4209
4446
  };
4210
4447
 
4211
4448
  /* script */
@@ -4213,79 +4450,236 @@ const __vue_script__$m = script$m;
4213
4450
 
4214
4451
  /* template */
4215
4452
  var __vue_render__$m = function () {
4216
- var _vm = this;
4217
- var _h = _vm.$createElement;
4218
- _vm._self._c || _h;
4219
- return _vm._m(0);
4220
- };
4221
- var __vue_staticRenderFns__$m = [function () {
4222
4453
  var _vm = this;
4223
4454
  var _h = _vm.$createElement;
4224
4455
  var _c = _vm._self._c || _h;
4225
4456
  return _c('div', {
4226
- staticClass: "loading"
4227
- }, [_c('div', {
4228
- staticClass: "lds-ellipsis"
4229
- }, [_c('div'), _vm._v(" "), _c('div'), _vm._v(" "), _c('div'), _vm._v(" "), _c('div')])]);
4230
- }];
4457
+ staticClass: "wf-component wf-poi-advertisements"
4458
+ }, _vm._l(_vm.ads, function (ad) {
4459
+ return _c('WFPOIAdvertisement', {
4460
+ key: ad.id,
4461
+ attrs: {
4462
+ "ad": ad
4463
+ },
4464
+ on: {
4465
+ "clicked": _vm.clicked
4466
+ }
4467
+ });
4468
+ }), 1);
4469
+ };
4470
+ var __vue_staticRenderFns__$m = [];
4231
4471
 
4232
4472
  /* style */
4233
- const __vue_inject_styles__$m = function (inject) {
4234
- if (!inject) return;
4235
- inject("data-v-7e3728f4_0", {
4236
- source: ".loading[data-v-7e3728f4]{width:100%;height:100vh;position:absolute;top:0;bottom:0;display:flex;z-index:100;justify-content:center;align-items:center;background-color:#fff}.lds-ellipsis[data-v-7e3728f4]{display:inline-block;position:relative;width:80px;height:80px}.lds-ellipsis div[data-v-7e3728f4]{position:absolute;display:inline-block;top:33px;width:13px;height:13px;border-radius:50%;background:#333;animation-timing-function:cubic-bezier(0,1,1,0)}.lds-ellipsis div[data-v-7e3728f4]:nth-child(1){left:8px;animation:lds-ellipsis1-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(2){left:8px;animation:lds-ellipsis2-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(3){left:32px;animation:lds-ellipsis2-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(4){left:56px;animation:lds-ellipsis3-data-v-7e3728f4 .6s infinite}@keyframes lds-ellipsis1-data-v-7e3728f4{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes lds-ellipsis3-data-v-7e3728f4{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes lds-ellipsis2-data-v-7e3728f4{0%{transform:translate(0,0)}100%{transform:translate(24px,0)}}",
4237
- map: undefined,
4238
- media: undefined
4239
- });
4240
- };
4473
+ const __vue_inject_styles__$m = undefined;
4241
4474
  /* scoped */
4242
- const __vue_scope_id__$m = "data-v-7e3728f4";
4475
+ const __vue_scope_id__$m = "data-v-45b241cc";
4243
4476
  /* module identifier */
4244
4477
  const __vue_module_identifier__$m = undefined;
4245
4478
  /* functional template */
4246
4479
  const __vue_is_functional_template__$m = false;
4480
+ /* style inject */
4481
+
4247
4482
  /* style inject SSR */
4248
4483
 
4249
4484
  /* style inject shadow dom */
4250
4485
 
4251
- const __vue_component__$C = /*#__PURE__*/normalizeComponent({
4486
+ const __vue_component__$E = /*#__PURE__*/normalizeComponent({
4252
4487
  render: __vue_render__$m,
4253
4488
  staticRenderFns: __vue_staticRenderFns__$m
4254
- }, __vue_inject_styles__$m, __vue_script__$m, __vue_scope_id__$m, __vue_is_functional_template__$m, __vue_module_identifier__$m, false, createInjector, undefined, undefined);
4255
- var __vue_component__$D = __vue_component__$C;
4489
+ }, __vue_inject_styles__$m, __vue_script__$m, __vue_scope_id__$m, __vue_is_functional_template__$m, __vue_module_identifier__$m, false, undefined, undefined, undefined);
4490
+ var __vue_component__$F = __vue_component__$E;
4256
4491
 
4257
- //
4258
- //
4259
- //
4260
- //
4261
- //
4262
- //
4492
+ function createCommonjsModule(fn, basedir, module) {
4493
+ return module = {
4494
+ path: basedir,
4495
+ exports: {},
4496
+ require: function (path, base) {
4497
+ return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
4498
+ }
4499
+ }, fn(module, module.exports), module.exports;
4500
+ }
4501
+
4502
+ function commonjsRequire () {
4503
+ throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
4504
+ }
4505
+
4506
+ var osk_common = createCommonjsModule(function (module) {
4507
+ module.exports=function(t){var e={};function i(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s});},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)i.d(s,n,function(e){return t[e]}.bind(null,n));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}([function(t,e,i){i.r(e);class s{constructor(t){this.keyboard=t,this.actions={backspace:function(t,e){e.selectionStart>0&&e.selectionStart==e.selectionEnd?(e.selectionStart--,e.changeValue("")):e.changeValue("");},change_keyset:function(t,e){void 0!==t.action[1]&&(e.keyset=t.action[1],e.clear(),e.construct());},change_layout:function(t,e){void 0!==t.action[1]&&(e.layoutName=t.action[1],e.clear(),e.construct());},submit:function(t,e){void 0!==t.action[1]&&(e.pushtoOutput(),e.clear());}};}activate(t){"function"==typeof this.actions[t.action[0]]&&this.actions[t.action[0]](t,this.keyboard);}addAction(t,e){this.actions[t]=e;}}class n{constructor(t,e,i){this.layouts={},this.layoutName=void 0===i?"en":i,this.keyset="default",this.container=!1,this.containerListenerAdded=!1,this.setContainer(e),this.selectionStart=0,this.selectionEnd=0,this.output=!1,this.outputIsInputField=!0,this.outputSelectionEnabled=!1,this.value="",this.events={change:[],layout:[],ready:[]},this.actions=new s(this),this.cbOnChange=!1,this.setOutput(t),this.setDefaultLayout(),this.construct();}on(t,e){"object"!=typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e);}trigger(){let t=Array.prototype.slice.call(arguments);if(t.length>0){let e=t[0];if(t.shift(),this.events[e]){let i;for(let s=0,n=this.events[e].length;s<n;s++)"function"==typeof(i=this.events[e][s])&&i.apply(this,t);}}}addLayout(t,e){this.layouts[t]=e;}changeLayout(t,e){this.layoutName=t,this.keyset=e||"default",this.clear(),this.construct(),this.trigger("layout",this.layoutName,this.keyset);}setContainer(t){switch(typeof t){case"undefined":this.container=document.createElement("div"),this.container.classList.add("keyboard"),document.body.appendChild(this.container);break;case"string":this.container=document.getElementById(t);break;default:this.container=t;}}setOutput(t){if(!t)return void console.warn("Input field not given",t);let e;if("string"==typeof t){if(e=document.getElementById(t),this.output=e,!this.output)return void console.warn("Input field not found",t)}else e=t,this.output=t;"input"!==this.getFieldType(this.output)&&(this.outputIsInputField=!1);let i=this.getFieldValue(e);this.value=i,this.selectionEnd=i.length,this.output&&(this.output.addEventListener("focus",()=>{this.updateFromOutput();}),this.output.addEventListener("keyup",()=>{this.updateFromOutput(),this.trigger("change",this.value);}),this.output.addEventListener("mouseup",()=>{this.updateFromOutput();}),this.output.addEventListener("input",()=>{this.updateFromOutput();}));}setOutputSelection(t){this.outputSelectionEnabled=t;}getFieldValue(t){if(!t)return "";switch(this.getFieldType(t)){case"input":return t.value;case"textarea":return t.innerText;default:return ""}}updateFromOutput(){this.value=this.getFieldValue(this.output),this.getCaretPosition();}clear(){if(this.container)for(;this.container.firstChild;)this.container.removeChild(this.container.firstChild);}clearValue(){this.value="",this.selectionStart=0,this.selectionEnd=0,this.pushtoOutput();}getCurrentKeyset(){try{return this.layouts[this.layoutName].keys[this.keyset]}catch(t){return console.warn("Error! Probably no keyboard layout added!"),this.layouts.en.keys.default}}construct(){this.clear();let t="",e=this.getCurrentKeyset();for(let i in e){t+="<div class='keyboard-row keyboard-row-"+i+"'>";for(let s in e[i]){let n=e[i][s];switch(typeof n){case"string":t+="<div class='keyboard-key "+n+"' row='"+i+"' index='"+s+"'>"+n+"</div>";break;case"object":let e="";n.cls&&(e=n.cls),t+="<div class='keyboard-key keyboard-"+e+" "+n.key+"' object='' row='"+i+"' index='"+s+"'>"+n.key+"</div>";}}t+="</div>";}this.container.insertAdjacentHTML("beforeend",t),this.containerListenerAdded||(this.container.addEventListener("mousedown",t=>{this.getCaretPosition(),this.keyPressed(t.target),t.stopPropagation(),t.preventDefault();}),this.container.addEventListener("mouseup",t=>{this.keyReleased(t.target),t.stopPropagation();}),this.containerListenerAdded=!0,this.container.onselectstart=function(){return !1},this.container.onmousedown=function(){return !1}),this.rescale();}rescale(){if(!this.container)return;let t,e,i=0;for(let s=0;s<this.container.children.length;s++){let n=(t=this.container.children[s]).offsetHeight-t.clientHeight,o=t.offsetWidth-t.clientWidth;for(let i=0;i<t.children.length;i++){o+=((e=t.children[i]).offsetWidth<this.container.offsetWidth?e.offsetWidth:this.container.offsetWidth)+1,n=Math.max(n,this.container.offsetHeight);}t.width=o,t.height=n,i+=n;}this.container.height=i,this.trigger("ready");}keyPressed(t){t.classList.add("keyboard-key-pressed");let e=this.getCurrentKeyset()[t.getAttribute("row")];if(!e)return;let i=e[t.getAttribute("index")];switch(typeof i){case"string":this.changeValue(i);break;case"object":void 0===i.action?this.changeValue(i.key):this.actions.activate(i);}this.pushtoOutput();}changeValue(t){let e=this.value.substring(0,this.selectionStart),i=this.value.substring(this.selectionEnd,this.value.length);this.value=""+e+t+i,this.selectionStart+=t.length,this.selectionEnd=this.selectionStart;}pushtoOutput(){if(this.output){this.outputIsInputField?(this.output.value=this.value,this.output.selectionStart=this.selectionStart,this.output.selectionEnd=this.selectionEnd):this.output.innerHTML=this.value;let t=new Event("change"),e=new Event("keyup");this.output.dispatchEvent(t),this.output.dispatchEvent(e),this.trigger("change",this.value);}}getFieldType(t){return t&&t.tagName?t.tagName.toLowerCase():"nan"}getCaretPosition(){this.output&&this.outputIsInputField&&this.outputSelectionEnabled&&(this.selectionStart=this.output.selectionStart,this.selectionEnd=this.output.selectionEnd);}keyReleased(t){t.classList.remove("keyboard-key-pressed");}width(){return -1}height(){return -1}setDefaultLayout(){this.layouts.en={name:"English",keyboard:"US International",local_name:"English",lang:"en",keys:{default:[["1","2","3","4","5","6","7","8","9","0",{key:"&#171; Bksp",action:["backspace"],cls:"key2x"}],["q","w","e","r","t","y","u","i","o","p","\\"],["a","s","d","f","g","h","j","k","l",{key:"Enter",action:["submit"],cls:"key3x"}],[{key:"Shift",action:["change_keyset","shift"],cls:"key2x"},"z","x","c","v","b","n","m"],[{key:" ",cls:"key_spacebar"}]],shift:[["~","!","@","#","$","%","^","&","*","(",")",{key:"&#171; Bksp",action:"backspace",cls:"key2x"}],["Q","W","E","R","T","Y","U","I","O","P","{","}"],["A","S","D","F","G","H","J","K","L",{key:"Enter",action:["submit"],cls:"key3x"}],[{key:"Shift",action:["change_keyset","default"],cls:"key2x active"},"Z","X","C","V","B","N","M","<",">","?"],[{key:" ",cls:"key_spacebar"}]]}};}}i.d(e,"OSK",function(){return n}),i.d(e,"OSKActions",function(){return s});}]).OSK;
4508
+ });
4263
4509
 
4510
+ //
4264
4511
  var script$l = {
4265
- name: "Clock",
4512
+ name: 'Search',
4513
+ components: {
4514
+ OSK: osk_common,
4515
+ POI
4516
+ },
4517
+ computed: {
4518
+ ...mapState('wf', ['language', 'reset']),
4519
+ hasClearListener() {
4520
+ return !!(this.$listeners && this.$listeners.clear);
4521
+ }
4522
+ },
4523
+ props: {
4524
+ limit: {
4525
+ type: Number,
4526
+ default: -1
4527
+ },
4528
+ showCloseButton: {
4529
+ type: Boolean,
4530
+ default: false
4531
+ },
4532
+ showClearButton: {
4533
+ type: Boolean,
4534
+ default: false
4535
+ },
4536
+ showOutputField: {
4537
+ type: Boolean,
4538
+ default: true
4539
+ },
4540
+ showKeyboard: {
4541
+ type: Boolean,
4542
+ default: true
4543
+ },
4544
+ showNoResultsText: {
4545
+ type: Boolean,
4546
+ default: true
4547
+ },
4548
+ noResultsText: {
4549
+ type: String,
4550
+ default: "No results"
4551
+ },
4552
+ showLogo: {
4553
+ type: Boolean,
4554
+ default: false
4555
+ },
4556
+ showName: {
4557
+ type: Boolean,
4558
+ default: true
4559
+ },
4560
+ showPathButton: {
4561
+ type: Boolean,
4562
+ default: false
4563
+ },
4564
+ showDescription: {
4565
+ type: Boolean,
4566
+ default: false
4567
+ },
4568
+ showRoomID: {
4569
+ type: Boolean,
4570
+ default: false
4571
+ },
4572
+ showFloor: {
4573
+ type: Boolean,
4574
+ default: false
4575
+ },
4576
+ currentPOI: {
4577
+ type: Object,
4578
+ default: null
4579
+ }
4580
+ },
4266
4581
  data() {
4267
4582
  return {
4268
- time: new Date()
4583
+ results: [],
4584
+ poi: {},
4585
+ keyboard: false,
4586
+ inputId: "",
4587
+ keyboardContainerId: ""
4269
4588
  };
4270
4589
  },
4271
4590
  mounted() {
4272
- setTimeout(this.addTime, 500);
4591
+ let now = Date.now();
4592
+ this.inputId = 'wf-search-input-' + now;
4593
+ this.keyboardContainerId = 'wf-keyboard-container-' + now;
4594
+ // Lets wait when the ID's are mapped
4595
+ this.$nextTick(() => {
4596
+ this.keyboard = new osk_common(this.inputId, this.keyboardContainerId);
4597
+ this.keyboard.on('change', keyword => {
4598
+ let results = this.$wayfinder.search.search(keyword);
4599
+ results = results.filter(poi => {
4600
+ return poi.getShowInMenu();
4601
+ });
4602
+ if (this.limit > 0) {
4603
+ results = results.slice(0, this.limit);
4604
+ } else {
4605
+ results = results.slice();
4606
+ }
4607
+ let resultArr = Object.values(results).map(poi => {
4608
+ return this.$store.getters["wf/freezePOI"](poi);
4609
+ });
4610
+ this.results = resultArr;
4611
+ if (keyword.length > 1) {
4612
+ if (Object.values(this.results).length > 0) {
4613
+ this.$wayfinder.statistics.onSearch(keyword, "successful");
4614
+ } else {
4615
+ this.$wayfinder.statistics.onSearch(keyword, "unsuccessful");
4616
+ }
4617
+ }
4618
+ });
4619
+ this.keyboard.addLayout('en', {
4620
+ "name": "English",
4621
+ "keyboard": "US International",
4622
+ "local_name": "English",
4623
+ "lang": "en",
4624
+ "keys": {
4625
+ "default": [["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", {
4626
+ "key": "Delete",
4627
+ "action": ["backspace"],
4628
+ "cls": "key2x"
4629
+ }], ["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"], ["a", "s", "d", "f", "g", "h", "j", "k", "l"], ["z", "x", "c", "v", "b", "n", "m"], [{
4630
+ "key": " ",
4631
+ "cls": "key_spacebar"
4632
+ }]]
4633
+ }
4634
+ });
4635
+ this.keyboard.changeLayout(this.language);
4636
+ });
4273
4637
  },
4274
- computed: {
4275
- hours() {
4276
- return (this.time.getHours() < 10 ? "0" : "") + this.time.getHours();
4638
+ watch: {
4639
+ searchVisible(current) {
4640
+ if (current && this.$refs.searchInput) {
4641
+ this.$refs.searchInput.focus();
4642
+ }
4277
4643
  },
4278
- minutes() {
4279
- return (this.time.getMinutes() < 10 ? "0" : "") + this.time.getMinutes();
4644
+ reset() {
4645
+ this.resetValues();
4280
4646
  },
4281
- seconds() {
4282
- return (this.time.getSeconds() < 10 ? "0" : "") + this.time.getSeconds();
4647
+ language(lang) {
4648
+ if (this.keyboard) {
4649
+ this.keyboard.changeLayout(lang);
4650
+ }
4283
4651
  }
4284
4652
  },
4285
4653
  methods: {
4286
- addTime() {
4287
- this.time = new Date();
4288
- setTimeout(this.addTime, 500);
4654
+ onClick(poi) {
4655
+ this.$emit('clicked', poi);
4656
+ this.$wayfinder.statistics.onClick(poi.id, "menu");
4657
+ },
4658
+ close() {
4659
+ this.$emit('close');
4660
+ this.resetValues();
4661
+ },
4662
+ clear() {
4663
+ this.$emit('clear');
4664
+ if (!this.hasClearListener) {
4665
+ this.resetValues();
4666
+ }
4667
+ },
4668
+ resetValues() {
4669
+ this.results = [];
4670
+ if (this.keyboard) {
4671
+ this.keyboard.changeLayout(this.language);
4672
+ this.keyboard.clearValue();
4673
+ }
4674
+ },
4675
+ setOutput(output) {
4676
+ this.keyboard.setOutput(output);
4677
+ },
4678
+ addLayout(lang, layout) {
4679
+ this.keyboard.addLayout(lang, layout);
4680
+ },
4681
+ changeLayout(lang) {
4682
+ this.keyboard.changeLayout(lang);
4289
4683
  }
4290
4684
  }
4291
4685
  };
@@ -4299,113 +4693,142 @@ var __vue_render__$l = function () {
4299
4693
  var _h = _vm.$createElement;
4300
4694
  var _c = _vm._self._c || _h;
4301
4695
  return _c('div', {
4302
- staticClass: "wf-clock"
4303
- }, [_c('div', [_c('span', {
4304
- staticClass: "wf-clock-hours"
4305
- }, [_vm._v(_vm._s(_vm.hours))]), _c('span', {
4306
- staticClass: "wf-clock-sp"
4307
- }, [_vm._v(":")]), _c('span', {
4308
- staticClass: "wf-clock-minutes"
4309
- }, [_vm._v(_vm._s(_vm.minutes))])])]);
4310
- };
4311
- var __vue_staticRenderFns__$l = [];
4312
-
4313
- /* style */
4314
- const __vue_inject_styles__$l = undefined;
4315
- /* scoped */
4316
- const __vue_scope_id__$l = undefined;
4317
- /* module identifier */
4318
- const __vue_module_identifier__$l = undefined;
4319
- /* functional template */
4320
- const __vue_is_functional_template__$l = false;
4321
- /* style inject */
4322
-
4323
- /* style inject SSR */
4324
-
4325
- /* style inject shadow dom */
4326
-
4327
- const __vue_component__$A = /*#__PURE__*/normalizeComponent({
4328
- render: __vue_render__$l,
4329
- staticRenderFns: __vue_staticRenderFns__$l
4330
- }, __vue_inject_styles__$l, __vue_script__$l, __vue_scope_id__$l, __vue_is_functional_template__$l, __vue_module_identifier__$l, false, undefined, undefined, undefined);
4331
- var __vue_component__$B = __vue_component__$A;
4332
-
4333
- //
4334
- function loadScript$1(url, callback) {
4335
- var s = document.createElement('script');
4336
- s.type = 'text/javascript';
4337
- s.async = true;
4338
- var x = document.getElementsByTagName('head')[0];
4339
- x.appendChild(s);
4340
- if (typeof callback == "function") {
4341
- s.onload = callback;
4342
- s.src = url;
4343
- }
4344
- }
4345
- var script$k = {
4346
- name: "Date",
4347
- props: {
4348
- format: {
4349
- type: String,
4350
- default: "DD.MM"
4696
+ staticClass: "wf-component wf-search"
4697
+ }, [_vm.showCloseButton ? _c('div', {
4698
+ staticClass: "wf-close",
4699
+ on: {
4700
+ "click": function ($event) {
4701
+ return _vm.close($event);
4702
+ }
4351
4703
  }
4352
- },
4353
- data() {
4354
- return {
4355
- time: new Date(),
4356
- locales: {}
4357
- };
4358
- },
4359
- mounted() {
4360
- setTimeout(this.addDate, 1000);
4361
- if (typeof dayjs === "undefined") {
4362
- console.warn("WFDate dayjs is not loaded");
4704
+ }, [_c('WFTranslate', {
4705
+ attrs: {
4706
+ "k": "close"
4363
4707
  }
4364
- this.loadLocale(this.language);
4365
- },
4366
- computed: {
4367
- ...mapState('wf', ['language']),
4368
- datestr() {
4369
- //console.log('datestr', this.time, typeof dayjs, this.language !== '' ? this.language : 'en')
4370
- if (typeof dayjs === "object") {
4371
- return dayjs(this.time).format(this.format);
4372
- } else {
4373
- return this.time.toLocaleString(this.language !== '' ? this.language : 'en', {
4374
- "dateStyle": "long"
4375
- });
4376
- }
4708
+ }, [_vm._v("Close")])], 1) : _vm._e(), _vm._v(" "), _c('div', {
4709
+ staticClass: "wf-search-container"
4710
+ }, [_c('div', {
4711
+ staticClass: "wf-search-results",
4712
+ class: {
4713
+ "wf-no-results": _vm.results.length == 0
4377
4714
  }
4378
- },
4379
- watch: {
4380
- language() {
4381
- this.time = new Date();
4382
- if (typeof dayjs === "object") {
4383
- if (!this.locales[this.language]) {
4384
- this.loadLocale(this.language);
4715
+ }, [_c('transition-group', {
4716
+ staticClass: "wf-list",
4717
+ attrs: {
4718
+ "name": "list",
4719
+ "tag": "ul"
4720
+ }
4721
+ }, _vm._l(_vm.results, function (poiitem) {
4722
+ return _c('li', {
4723
+ key: poiitem.id,
4724
+ staticClass: "wf-list-item",
4725
+ class: {
4726
+ "wf-active": _vm.currentPOI && poiitem.id == _vm.currentPOI.id
4727
+ },
4728
+ on: {
4729
+ "click": function ($event) {
4730
+ return _vm.onClick(poiitem);
4385
4731
  }
4386
- dayjs.locale(this.language);
4387
4732
  }
4733
+ }, [_vm._t("default", function () {
4734
+ return [_c('POI', {
4735
+ attrs: {
4736
+ "poi": poiitem,
4737
+ "showLogo": _vm.showLogo,
4738
+ "showName": _vm.showName,
4739
+ "showPathButton": _vm.showPathButton,
4740
+ "showDescription": _vm.showDescription,
4741
+ "showRoomID": _vm.showRoomID,
4742
+ "showFloor": _vm.showFloor
4743
+ }
4744
+ })];
4745
+ }, {
4746
+ "poi": poiitem
4747
+ })], 2);
4748
+ }), 0), _vm._v(" "), _c('span', {
4749
+ directives: [{
4750
+ name: "show",
4751
+ rawName: "v-show",
4752
+ value: _vm.showNoResultsText && _vm.results.length == 0,
4753
+ expression: "showNoResultsText && results.length == 0"
4754
+ }],
4755
+ staticClass: "wf-search-no-results-text"
4756
+ }, [_c('WFTranslate', {
4757
+ attrs: {
4758
+ "k": "no-search-results"
4388
4759
  }
4389
- },
4390
- methods: {
4391
- addDate() {
4392
- this.time = new Date();
4393
- setTimeout(this.addDate, 60 * 1000);
4394
- },
4395
- loadLocale(locale) {
4396
- if (this.$wayfinder) {
4397
- loadScript$1(this.$wayfinder.options.assetsLocation + "/dayjs/locale/" + locale + ".js", a => {
4398
- this.locales[locale] = true;
4399
- if (this.language == locale && typeof dayjs !== "undefined") {
4400
- //console.log('locale.set', locale, this.language, "dayjs", typeof dayjs)
4401
- dayjs.locale(this.language !== '' ? this.language : 'en');
4402
- }
4403
- });
4404
- } else {
4405
- console.warn('wayfinder not present');
4760
+ }, [_vm._v("No results")])], 1)], 1), _vm._v(" "), _vm.showOutputField ? _c('div', {
4761
+ staticClass: "wf-search-input-container"
4762
+ }, [_c('input', {
4763
+ ref: "searchInput",
4764
+ attrs: {
4765
+ "id": _vm.inputId
4766
+ }
4767
+ }), _vm._v(" "), _vm.showClearButton ? _c('div', {
4768
+ staticClass: "wf-search-clear",
4769
+ on: {
4770
+ "click": function ($event) {
4771
+ return _vm.clear($event);
4406
4772
  }
4407
4773
  }
4408
- }
4774
+ }, [_c('WFIcon', {
4775
+ attrs: {
4776
+ "name": "clear"
4777
+ }
4778
+ })], 1) : _vm._e()]) : _vm._e(), _vm._v(" "), _c('div', {
4779
+ directives: [{
4780
+ name: "show",
4781
+ rawName: "v-show",
4782
+ value: _vm.showKeyboard,
4783
+ expression: "showKeyboard"
4784
+ }],
4785
+ staticClass: "wf-keyboard",
4786
+ attrs: {
4787
+ "id": _vm.keyboardContainerId
4788
+ }
4789
+ })])]);
4790
+ };
4791
+ var __vue_staticRenderFns__$l = [];
4792
+
4793
+ /* style */
4794
+ const __vue_inject_styles__$l = function (inject) {
4795
+ if (!inject) return;
4796
+ inject("data-v-527d8fee_0", {
4797
+ 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%}.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;user-select:none}.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}",
4798
+ map: undefined,
4799
+ media: undefined
4800
+ });
4801
+ };
4802
+ /* scoped */
4803
+ const __vue_scope_id__$l = undefined;
4804
+ /* module identifier */
4805
+ const __vue_module_identifier__$l = undefined;
4806
+ /* functional template */
4807
+ const __vue_is_functional_template__$l = false;
4808
+ /* style inject SSR */
4809
+
4810
+ /* style inject shadow dom */
4811
+
4812
+ const __vue_component__$C = /*#__PURE__*/normalizeComponent({
4813
+ render: __vue_render__$l,
4814
+ staticRenderFns: __vue_staticRenderFns__$l
4815
+ }, __vue_inject_styles__$l, __vue_script__$l, __vue_scope_id__$l, __vue_is_functional_template__$l, __vue_module_identifier__$l, false, createInjector, undefined, undefined);
4816
+ var __vue_component__$D = __vue_component__$C;
4817
+
4818
+ //
4819
+ //
4820
+ //
4821
+ //
4822
+ //
4823
+ //
4824
+ //
4825
+ //
4826
+ //
4827
+ //
4828
+ //
4829
+
4830
+ var script$k = {
4831
+ name: 'Loading'
4409
4832
  };
4410
4833
 
4411
4834
  /* script */
@@ -4413,34 +4836,46 @@ const __vue_script__$k = script$k;
4413
4836
 
4414
4837
  /* template */
4415
4838
  var __vue_render__$k = function () {
4839
+ var _vm = this;
4840
+ var _h = _vm.$createElement;
4841
+ _vm._self._c || _h;
4842
+ return _vm._m(0);
4843
+ };
4844
+ var __vue_staticRenderFns__$k = [function () {
4416
4845
  var _vm = this;
4417
4846
  var _h = _vm.$createElement;
4418
4847
  var _c = _vm._self._c || _h;
4419
4848
  return _c('div', {
4420
- staticClass: "wf-date"
4421
- }, [_vm._v("\n " + _vm._s(_vm.datestr) + "\n")]);
4422
- };
4423
- var __vue_staticRenderFns__$k = [];
4849
+ staticClass: "loading"
4850
+ }, [_c('div', {
4851
+ staticClass: "lds-ellipsis"
4852
+ }, [_c('div'), _vm._v(" "), _c('div'), _vm._v(" "), _c('div'), _vm._v(" "), _c('div')])]);
4853
+ }];
4424
4854
 
4425
4855
  /* style */
4426
- const __vue_inject_styles__$k = undefined;
4856
+ const __vue_inject_styles__$k = function (inject) {
4857
+ if (!inject) return;
4858
+ inject("data-v-7e3728f4_0", {
4859
+ source: ".loading[data-v-7e3728f4]{width:100%;height:100vh;position:absolute;top:0;bottom:0;display:flex;z-index:100;justify-content:center;align-items:center;background-color:#fff}.lds-ellipsis[data-v-7e3728f4]{display:inline-block;position:relative;width:80px;height:80px}.lds-ellipsis div[data-v-7e3728f4]{position:absolute;display:inline-block;top:33px;width:13px;height:13px;border-radius:50%;background:#333;animation-timing-function:cubic-bezier(0,1,1,0)}.lds-ellipsis div[data-v-7e3728f4]:nth-child(1){left:8px;animation:lds-ellipsis1-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(2){left:8px;animation:lds-ellipsis2-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(3){left:32px;animation:lds-ellipsis2-data-v-7e3728f4 .6s infinite}.lds-ellipsis div[data-v-7e3728f4]:nth-child(4){left:56px;animation:lds-ellipsis3-data-v-7e3728f4 .6s infinite}@keyframes lds-ellipsis1-data-v-7e3728f4{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes lds-ellipsis3-data-v-7e3728f4{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes lds-ellipsis2-data-v-7e3728f4{0%{transform:translate(0,0)}100%{transform:translate(24px,0)}}",
4860
+ map: undefined,
4861
+ media: undefined
4862
+ });
4863
+ };
4427
4864
  /* scoped */
4428
- const __vue_scope_id__$k = undefined;
4865
+ const __vue_scope_id__$k = "data-v-7e3728f4";
4429
4866
  /* module identifier */
4430
4867
  const __vue_module_identifier__$k = undefined;
4431
4868
  /* functional template */
4432
4869
  const __vue_is_functional_template__$k = false;
4433
- /* style inject */
4434
-
4435
4870
  /* style inject SSR */
4436
4871
 
4437
4872
  /* style inject shadow dom */
4438
4873
 
4439
- const __vue_component__$y = /*#__PURE__*/normalizeComponent({
4874
+ const __vue_component__$A = /*#__PURE__*/normalizeComponent({
4440
4875
  render: __vue_render__$k,
4441
4876
  staticRenderFns: __vue_staticRenderFns__$k
4442
- }, __vue_inject_styles__$k, __vue_script__$k, __vue_scope_id__$k, __vue_is_functional_template__$k, __vue_module_identifier__$k, false, undefined, undefined, undefined);
4443
- var __vue_component__$z = __vue_component__$y;
4877
+ }, __vue_inject_styles__$k, __vue_script__$k, __vue_scope_id__$k, __vue_is_functional_template__$k, __vue_module_identifier__$k, false, createInjector, undefined, undefined);
4878
+ var __vue_component__$B = __vue_component__$A;
4444
4879
 
4445
4880
  //
4446
4881
  //
@@ -4448,53 +4883,241 @@ var __vue_component__$z = __vue_component__$y;
4448
4883
  //
4449
4884
  //
4450
4885
  //
4451
- //
4452
- //
4453
4886
 
4454
4887
  var script$j = {
4455
- name: 'Tabs',
4456
- props: {
4457
- activeTab: '',
4458
- animate: {
4459
- type: String,
4460
- default: "none"
4461
- }
4462
- },
4463
- data: () => ({
4464
- tabs: [],
4465
- activeTabIndex: 0,
4466
- currentTab: null
4467
- }),
4468
- created() {
4469
- this.tabs = this.$children;
4888
+ name: "Clock",
4889
+ data() {
4890
+ return {
4891
+ time: new Date()
4892
+ };
4470
4893
  },
4471
4894
  mounted() {
4472
- if (this.$props.activeTab) {
4473
- this.activate(this.$props.activeTab);
4474
- } else {
4475
- console.log('no active tab');
4476
- }
4895
+ setTimeout(this.addTime, 500);
4477
4896
  },
4478
- watch: {
4479
- activeTab: function () {
4480
- // watch it
4481
- this.activate();
4897
+ computed: {
4898
+ hours() {
4899
+ return (this.time.getHours() < 10 ? "0" : "") + this.time.getHours();
4900
+ },
4901
+ minutes() {
4902
+ return (this.time.getMinutes() < 10 ? "0" : "") + this.time.getMinutes();
4903
+ },
4904
+ seconds() {
4905
+ return (this.time.getSeconds() < 10 ? "0" : "") + this.time.getSeconds();
4482
4906
  }
4483
4907
  },
4484
4908
  methods: {
4485
- activate() {
4486
- //console.log('tabs.activate', this.activeTab, this.$props.activeTab)
4487
- this.currentTab = null;
4488
- let activeTab = 0;
4489
- for (var tab in this.tabs) {
4490
- if (this.tabs[tab].name == this.$props.activeTab) {
4491
- this.tabs[tab].isActive = true;
4492
- this.tabs[tab].isVisible = true;
4493
- this.$emit('tabChanged', this.tabs[tab]);
4494
- this.currentTab = this.tabs[tab];
4495
- this.activeTabIndex = tab;
4496
- activeTab = tab;
4497
- //this.tabs[tab].style.display = "block";
4909
+ addTime() {
4910
+ this.time = new Date();
4911
+ setTimeout(this.addTime, 500);
4912
+ }
4913
+ }
4914
+ };
4915
+
4916
+ /* script */
4917
+ const __vue_script__$j = script$j;
4918
+
4919
+ /* template */
4920
+ var __vue_render__$j = function () {
4921
+ var _vm = this;
4922
+ var _h = _vm.$createElement;
4923
+ var _c = _vm._self._c || _h;
4924
+ return _c('div', {
4925
+ staticClass: "wf-clock"
4926
+ }, [_c('div', [_c('span', {
4927
+ staticClass: "wf-clock-hours"
4928
+ }, [_vm._v(_vm._s(_vm.hours))]), _c('span', {
4929
+ staticClass: "wf-clock-sp"
4930
+ }, [_vm._v(":")]), _c('span', {
4931
+ staticClass: "wf-clock-minutes"
4932
+ }, [_vm._v(_vm._s(_vm.minutes))])])]);
4933
+ };
4934
+ var __vue_staticRenderFns__$j = [];
4935
+
4936
+ /* style */
4937
+ const __vue_inject_styles__$j = undefined;
4938
+ /* scoped */
4939
+ const __vue_scope_id__$j = undefined;
4940
+ /* module identifier */
4941
+ const __vue_module_identifier__$j = undefined;
4942
+ /* functional template */
4943
+ const __vue_is_functional_template__$j = false;
4944
+ /* style inject */
4945
+
4946
+ /* style inject SSR */
4947
+
4948
+ /* style inject shadow dom */
4949
+
4950
+ const __vue_component__$y = /*#__PURE__*/normalizeComponent({
4951
+ render: __vue_render__$j,
4952
+ staticRenderFns: __vue_staticRenderFns__$j
4953
+ }, __vue_inject_styles__$j, __vue_script__$j, __vue_scope_id__$j, __vue_is_functional_template__$j, __vue_module_identifier__$j, false, undefined, undefined, undefined);
4954
+ var __vue_component__$z = __vue_component__$y;
4955
+
4956
+ //
4957
+ function loadScript$1(url, callback) {
4958
+ var s = document.createElement('script');
4959
+ s.type = 'text/javascript';
4960
+ s.async = true;
4961
+ var x = document.getElementsByTagName('head')[0];
4962
+ x.appendChild(s);
4963
+ if (typeof callback == "function") {
4964
+ s.onload = callback;
4965
+ s.src = url;
4966
+ }
4967
+ }
4968
+ var script$i = {
4969
+ name: "Date",
4970
+ props: {
4971
+ format: {
4972
+ type: String,
4973
+ default: "DD.MM"
4974
+ }
4975
+ },
4976
+ data() {
4977
+ return {
4978
+ time: new Date(),
4979
+ locales: {}
4980
+ };
4981
+ },
4982
+ mounted() {
4983
+ setTimeout(this.addDate, 1000);
4984
+ if (typeof dayjs === "undefined") {
4985
+ console.warn("WFDate dayjs is not loaded");
4986
+ }
4987
+ this.loadLocale(this.language);
4988
+ },
4989
+ computed: {
4990
+ ...mapState('wf', ['language']),
4991
+ datestr() {
4992
+ //console.log('datestr', this.time, typeof dayjs, this.language !== '' ? this.language : 'en')
4993
+ if (typeof dayjs === "object") {
4994
+ return dayjs(this.time).format(this.format);
4995
+ } else {
4996
+ return this.time.toLocaleString(this.language !== '' ? this.language : 'en', {
4997
+ "dateStyle": "long"
4998
+ });
4999
+ }
5000
+ }
5001
+ },
5002
+ watch: {
5003
+ language() {
5004
+ this.time = new Date();
5005
+ if (typeof dayjs === "object") {
5006
+ if (!this.locales[this.language]) {
5007
+ this.loadLocale(this.language);
5008
+ }
5009
+ dayjs.locale(this.language);
5010
+ }
5011
+ }
5012
+ },
5013
+ methods: {
5014
+ addDate() {
5015
+ this.time = new Date();
5016
+ setTimeout(this.addDate, 60 * 1000);
5017
+ },
5018
+ loadLocale(locale) {
5019
+ if (this.$wayfinder) {
5020
+ loadScript$1(this.$wayfinder.options.assetsLocation + "/dayjs/locale/" + locale + ".js", a => {
5021
+ this.locales[locale] = true;
5022
+ if (this.language == locale && typeof dayjs !== "undefined") {
5023
+ //console.log('locale.set', locale, this.language, "dayjs", typeof dayjs)
5024
+ dayjs.locale(this.language !== '' ? this.language : 'en');
5025
+ }
5026
+ });
5027
+ } else {
5028
+ console.warn('wayfinder not present');
5029
+ }
5030
+ }
5031
+ }
5032
+ };
5033
+
5034
+ /* script */
5035
+ const __vue_script__$i = script$i;
5036
+
5037
+ /* template */
5038
+ var __vue_render__$i = function () {
5039
+ var _vm = this;
5040
+ var _h = _vm.$createElement;
5041
+ var _c = _vm._self._c || _h;
5042
+ return _c('div', {
5043
+ staticClass: "wf-date"
5044
+ }, [_vm._v("\n " + _vm._s(_vm.datestr) + "\n")]);
5045
+ };
5046
+ var __vue_staticRenderFns__$i = [];
5047
+
5048
+ /* style */
5049
+ const __vue_inject_styles__$i = undefined;
5050
+ /* scoped */
5051
+ const __vue_scope_id__$i = undefined;
5052
+ /* module identifier */
5053
+ const __vue_module_identifier__$i = undefined;
5054
+ /* functional template */
5055
+ const __vue_is_functional_template__$i = false;
5056
+ /* style inject */
5057
+
5058
+ /* style inject SSR */
5059
+
5060
+ /* style inject shadow dom */
5061
+
5062
+ const __vue_component__$w = /*#__PURE__*/normalizeComponent({
5063
+ render: __vue_render__$i,
5064
+ staticRenderFns: __vue_staticRenderFns__$i
5065
+ }, __vue_inject_styles__$i, __vue_script__$i, __vue_scope_id__$i, __vue_is_functional_template__$i, __vue_module_identifier__$i, false, undefined, undefined, undefined);
5066
+ var __vue_component__$x = __vue_component__$w;
5067
+
5068
+ //
5069
+ //
5070
+ //
5071
+ //
5072
+ //
5073
+ //
5074
+ //
5075
+ //
5076
+
5077
+ var script$h = {
5078
+ name: 'Tabs',
5079
+ props: {
5080
+ activeTab: '',
5081
+ animate: {
5082
+ type: String,
5083
+ default: "none"
5084
+ }
5085
+ },
5086
+ data: () => ({
5087
+ tabs: [],
5088
+ activeTabIndex: 0,
5089
+ currentTab: null
5090
+ }),
5091
+ created() {
5092
+ this.tabs = this.$children;
5093
+ },
5094
+ mounted() {
5095
+ if (this.$props.activeTab) {
5096
+ this.activate(this.$props.activeTab);
5097
+ } else {
5098
+ console.log('no active tab');
5099
+ }
5100
+ },
5101
+ watch: {
5102
+ activeTab: function () {
5103
+ // watch it
5104
+ this.activate();
5105
+ }
5106
+ },
5107
+ methods: {
5108
+ activate() {
5109
+ //console.log('tabs.activate', this.activeTab, this.$props.activeTab)
5110
+ this.currentTab = null;
5111
+ let activeTab = 0;
5112
+ for (var tab in this.tabs) {
5113
+ if (this.tabs[tab].name == this.$props.activeTab) {
5114
+ this.tabs[tab].isActive = true;
5115
+ this.tabs[tab].isVisible = true;
5116
+ this.$emit('tabChanged', this.tabs[tab]);
5117
+ this.currentTab = this.tabs[tab];
5118
+ this.activeTabIndex = tab;
5119
+ activeTab = tab;
5120
+ //this.tabs[tab].style.display = "block";
4498
5121
  this.$nextTick(() => {
4499
5122
  this.slide(activeTab);
4500
5123
  });
@@ -4515,10 +5138,10 @@ var script$j = {
4515
5138
  };
4516
5139
 
4517
5140
  /* script */
4518
- const __vue_script__$j = script$j;
5141
+ const __vue_script__$h = script$h;
4519
5142
 
4520
5143
  /* template */
4521
- var __vue_render__$j = function () {
5144
+ var __vue_render__$h = function () {
4522
5145
  var _vm = this;
4523
5146
  var _h = _vm.$createElement;
4524
5147
  var _c = _vm._self._c || _h;
@@ -4531,10 +5154,10 @@ var __vue_render__$j = function () {
4531
5154
  staticClass: "wf-tabs-content"
4532
5155
  }, [_vm._t("default")], 2)]);
4533
5156
  };
4534
- var __vue_staticRenderFns__$j = [];
5157
+ var __vue_staticRenderFns__$h = [];
4535
5158
 
4536
5159
  /* style */
4537
- const __vue_inject_styles__$j = function (inject) {
5160
+ const __vue_inject_styles__$h = function (inject) {
4538
5161
  if (!inject) return;
4539
5162
  inject("data-v-fc7bd0f2_0", {
4540
5163
  source: ".wf-tabs[data-v-fc7bd0f2]{overflow:hidden;position:relative;width:100%;height:100%}.wf-tabs-content[data-v-fc7bd0f2]{height:100%;width:auto;display:flex;flex-direction:row;margin-left:0;transform:translateX(0) translateY(0)}.wf-tabs.wf-tabs-animate-vertical .wf-tabs-content[data-v-fc7bd0f2]{flex-direction:column}.wf-tab[data-v-fc7bd0f2]{opacity:0;transition:opacity .3s ease-out .5s}.wf-tabs-animate-none .wf-tab[data-v-fc7bd0f2]{transition:none!important}.wf-tab.wf-active[data-v-fc7bd0f2]{opacity:1;transition:opacity .3s ease-in}.wf-tabs.wf-tabs-animate-horizontal .wf-tabs-content[data-v-fc7bd0f2],.wf-tabs.wf-tabs-animate-vertical .wf-tabs-content[data-v-fc7bd0f2]{transition:transform .5s ease-in-out .2s}",
@@ -4543,20 +5166,20 @@ const __vue_inject_styles__$j = function (inject) {
4543
5166
  });
4544
5167
  };
4545
5168
  /* scoped */
4546
- const __vue_scope_id__$j = "data-v-fc7bd0f2";
5169
+ const __vue_scope_id__$h = "data-v-fc7bd0f2";
4547
5170
  /* module identifier */
4548
- const __vue_module_identifier__$j = undefined;
5171
+ const __vue_module_identifier__$h = undefined;
4549
5172
  /* functional template */
4550
- const __vue_is_functional_template__$j = false;
5173
+ const __vue_is_functional_template__$h = false;
4551
5174
  /* style inject SSR */
4552
5175
 
4553
5176
  /* style inject shadow dom */
4554
5177
 
4555
- const __vue_component__$w = /*#__PURE__*/normalizeComponent({
4556
- render: __vue_render__$j,
4557
- staticRenderFns: __vue_staticRenderFns__$j
4558
- }, __vue_inject_styles__$j, __vue_script__$j, __vue_scope_id__$j, __vue_is_functional_template__$j, __vue_module_identifier__$j, false, createInjector, undefined, undefined);
4559
- var __vue_component__$x = __vue_component__$w;
5178
+ const __vue_component__$u = /*#__PURE__*/normalizeComponent({
5179
+ render: __vue_render__$h,
5180
+ staticRenderFns: __vue_staticRenderFns__$h
5181
+ }, __vue_inject_styles__$h, __vue_script__$h, __vue_scope_id__$h, __vue_is_functional_template__$h, __vue_module_identifier__$h, false, createInjector, undefined, undefined);
5182
+ var __vue_component__$v = __vue_component__$u;
4560
5183
 
4561
5184
  //
4562
5185
  //
@@ -4565,7 +5188,7 @@ var __vue_component__$x = __vue_component__$w;
4565
5188
  //
4566
5189
  //
4567
5190
 
4568
- var script$i = {
5191
+ var script$g = {
4569
5192
  name: 'Tab',
4570
5193
  props: {
4571
5194
  name: ''
@@ -4579,10 +5202,10 @@ var script$i = {
4579
5202
  };
4580
5203
 
4581
5204
  /* script */
4582
- const __vue_script__$i = script$i;
5205
+ const __vue_script__$g = script$g;
4583
5206
 
4584
5207
  /* template */
4585
- var __vue_render__$i = function () {
5208
+ var __vue_render__$g = function () {
4586
5209
  var _vm = this;
4587
5210
  var _h = _vm.$createElement;
4588
5211
  var _c = _vm._self._c || _h;
@@ -4593,10 +5216,10 @@ var __vue_render__$i = function () {
4593
5216
  }
4594
5217
  }, [_vm._t("default")], 2);
4595
5218
  };
4596
- var __vue_staticRenderFns__$i = [];
5219
+ var __vue_staticRenderFns__$g = [];
4597
5220
 
4598
5221
  /* style */
4599
- const __vue_inject_styles__$i = function (inject) {
5222
+ const __vue_inject_styles__$g = function (inject) {
4600
5223
  if (!inject) return;
4601
5224
  inject("data-v-b8114d98_0", {
4602
5225
  source: ".wf-tab[data-v-b8114d98]{overflow:hidden;flex-grow:1;flex-shrink:0;width:100%}",
@@ -4605,23 +5228,23 @@ const __vue_inject_styles__$i = function (inject) {
4605
5228
  });
4606
5229
  };
4607
5230
  /* scoped */
4608
- const __vue_scope_id__$i = "data-v-b8114d98";
5231
+ const __vue_scope_id__$g = "data-v-b8114d98";
4609
5232
  /* module identifier */
4610
- const __vue_module_identifier__$i = undefined;
5233
+ const __vue_module_identifier__$g = undefined;
4611
5234
  /* functional template */
4612
- const __vue_is_functional_template__$i = false;
5235
+ const __vue_is_functional_template__$g = false;
4613
5236
  /* style inject SSR */
4614
5237
 
4615
5238
  /* style inject shadow dom */
4616
5239
 
4617
- const __vue_component__$u = /*#__PURE__*/normalizeComponent({
4618
- render: __vue_render__$i,
4619
- staticRenderFns: __vue_staticRenderFns__$i
4620
- }, __vue_inject_styles__$i, __vue_script__$i, __vue_scope_id__$i, __vue_is_functional_template__$i, __vue_module_identifier__$i, false, createInjector, undefined, undefined);
4621
- var __vue_component__$v = __vue_component__$u;
5240
+ const __vue_component__$s = /*#__PURE__*/normalizeComponent({
5241
+ render: __vue_render__$g,
5242
+ staticRenderFns: __vue_staticRenderFns__$g
5243
+ }, __vue_inject_styles__$g, __vue_script__$g, __vue_scope_id__$g, __vue_is_functional_template__$g, __vue_module_identifier__$g, false, createInjector, undefined, undefined);
5244
+ var __vue_component__$t = __vue_component__$s;
4622
5245
 
4623
5246
  //
4624
- var script$h = {
5247
+ var script$f = {
4625
5248
  name: 'Tabs',
4626
5249
  computed: {
4627
5250
  ...mapState('wf', ['currentTab', 'searchVisible', 'mobile', 'landscape', 'shortcuts', 'language'])
@@ -4640,10 +5263,10 @@ var script$h = {
4640
5263
  };
4641
5264
 
4642
5265
  /* script */
4643
- const __vue_script__$h = script$h;
5266
+ const __vue_script__$f = script$f;
4644
5267
 
4645
5268
  /* template */
4646
- var __vue_render__$h = function () {
5269
+ var __vue_render__$f = function () {
4647
5270
  var _vm = this;
4648
5271
  var _h = _vm.$createElement;
4649
5272
  var _c = _vm._self._c || _h;
@@ -4709,10 +5332,10 @@ var __vue_render__$h = function () {
4709
5332
  }
4710
5333
  })]);
4711
5334
  };
4712
- var __vue_staticRenderFns__$h = [];
5335
+ var __vue_staticRenderFns__$f = [];
4713
5336
 
4714
5337
  /* style */
4715
- const __vue_inject_styles__$h = function (inject) {
5338
+ const __vue_inject_styles__$f = function (inject) {
4716
5339
  if (!inject) return;
4717
5340
  inject("data-v-5229b2f8_0", {
4718
5341
  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}",
@@ -4721,27 +5344,27 @@ const __vue_inject_styles__$h = function (inject) {
4721
5344
  });
4722
5345
  };
4723
5346
  /* scoped */
4724
- const __vue_scope_id__$h = "data-v-5229b2f8";
5347
+ const __vue_scope_id__$f = "data-v-5229b2f8";
4725
5348
  /* module identifier */
4726
- const __vue_module_identifier__$h = undefined;
5349
+ const __vue_module_identifier__$f = undefined;
4727
5350
  /* functional template */
4728
- const __vue_is_functional_template__$h = false;
5351
+ const __vue_is_functional_template__$f = false;
4729
5352
  /* style inject SSR */
4730
5353
 
4731
5354
  /* style inject shadow dom */
4732
5355
 
4733
- const __vue_component__$s = /*#__PURE__*/normalizeComponent({
4734
- render: __vue_render__$h,
4735
- staticRenderFns: __vue_staticRenderFns__$h
4736
- }, __vue_inject_styles__$h, __vue_script__$h, __vue_scope_id__$h, __vue_is_functional_template__$h, __vue_module_identifier__$h, false, createInjector, undefined, undefined);
4737
- var __vue_component__$t = __vue_component__$s;
5356
+ const __vue_component__$q = /*#__PURE__*/normalizeComponent({
5357
+ render: __vue_render__$f,
5358
+ staticRenderFns: __vue_staticRenderFns__$f
5359
+ }, __vue_inject_styles__$f, __vue_script__$f, __vue_scope_id__$f, __vue_is_functional_template__$f, __vue_module_identifier__$f, false, createInjector, undefined, undefined);
5360
+ var __vue_component__$r = __vue_component__$q;
4738
5361
 
4739
5362
  var scrollarea_common = createCommonjsModule(function (module) {
4740
5363
  module.exports=function(t){var e={};function i(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s});},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)i.d(s,n,function(e){return t[e]}.bind(null,n));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(t,e){t.exports={create:function(){return [0,0]},clone:function(t){var e=new Array(2);return e[0]=t[0],e[1]=t[1],e},fromValues:function(t,e){var i=new Array(2);return i[0]=t,i[1]=e,i},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t},set:function(t,e,i){return t[0]=e,t[1]=i,t},add:function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},sub:function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},min:function(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t},max:function(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t},scale:function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},dist:function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},sqrDist:function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},len:function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},length:function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},sqrLen:function(t){var e=t[0],i=t[1];return e*e+i*i},negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},cross:function(t,e,i){var s=e[0]*i[1]-e[1]*i[0];return t[0]=t[1]=0,t[2]=s,t},lerp:function(t,e,i,s){var n=e[0],o=e[1];return t[0]=n+s*(i[0]-n),t[1]=o+s*(i[1]-o),t},transformMat2:function(t,e,i){var s=e[0],n=e[1];return t[0]=s*i[0]+n*i[1],t[1]=s*i[2]+n*i[3],t},str:function(t){return "this("+t[0]+", "+t[1]+")"}};},function(t,e,i){i.r(e),i.d(e,"ScrollArea",(function(){return r}));var s=i(0),n=i.n(s);class o{constructor(t,e){this.position=n.a.create(),this.contentSize=t,this.viewSize=e,this.contentViewRatio=n.a.div(n.a.create(),this.getViewSize(),this.getContentSize()),this._maxPosition=n.a.create(),this._minPosition=n.a.create(),this._vec2cache=n.a.create();}getViewPosition(){return this.position}getContentPosition(){return this.position}clampPosition(){n.a.max(this._maxPosition,this.getViewSize(),this.getContentSize()),n.a.min(this._minPosition,this.getViewSize(),this.getContentSize()),n.a.sub(this._maxPosition,this._maxPosition,this._minPosition),this.getContentSize()[0]<=this.getViewSize()[0]&&(this._maxPosition[0]=0),this.getContentSize()[1]<=this.getViewSize()[1]&&(this._maxPosition[1]=0),this.position=this.clamp(this.position,n.a.create(),this._maxPosition);}setViewPosition(t){!isNaN(parseFloat(t[0]))&&isFinite(t[0])&&!isNaN(parseFloat(t[1]))&&isFinite(t[1])&&(this.position=t,this.clampPosition());}move(t){t&&this.setViewPosition(n.a.sub(t,this.getViewPosition(),t));}setViewSize(t,e){n.a.set(this.viewSize,t,e),n.a.div(this.contentViewRatio,this.getViewSize(),this.getContentSize()),this.clampPosition();}setContentSize(t,e){n.a.set(this.contentSize,t,e),n.a.div(this.contentViewRatio,this.getViewSize(),this.getContentSize()),this.clampPosition();}isContentLonger(){return this.viewSize[1]<this.contentSize[1]}isContentWider(){return this.viewSize[0]<this.contentSize[0]}getContentSize(){return this.contentSize}getViewSize(){return this.viewSize}clamp(t,e,i){var s=n.a.clone(t);return n.a.max(s,s,e),n.a.min(s,s,i),s}getPercentagePosition(){return n.a.div(n.a.create(),this.position,this.viewSize)}getRelativePosition(){return n.a.sub(this._vec2cache,this.getViewSize(),this.getContentSize()),0!==n.a.len(this._vec2cache)&&n.a.div(this._vec2cache,this.getViewPosition(),n.a.sub(this._vec2cache,this.getViewSize(),this.getContentSize())),this._vec2cache}getContentViewRatio(){return this.contentViewRatio}}class a{constructor(t,e){this.options=e||{},this.vertical="vertical"==this.getOption("direction"),this.position=0,this.mouseDelta=n.a.create(),this.onScroll=!1,this.parentElement=t,this.element=document.createElement("div"),this.element.classList.add("sa-scrollbar"),this.element.classList.add("sa-scrollbar-position-"+this.getOption("scollbarPosition")),this.element.style.position="absolute",this.element.style.right="0",this.element.style.bottom="0",this.vertical?this.element.style.top="0":this.element.style.left="0",this.bar=document.createElement("div"),this.bar.style.minWidth="1px",this.bar.classList.add("sa-bar"),this.element.appendChild(this.bar),t.appendChild(this.element),this.element.addEventListener("click",t=>{var e=this.element.getBoundingClientRect();this.clickToPosition(t.clientX-e.left,t.clientY-e.top),t.stopPropagation(),t.preventDefault();}),this.view=new o(n.a.fromValues(this.element.clientWidth,this.element.clientHeight),n.a.fromValues(this.bar.clientWidth,this.bar.clientHeight));}getOption(t){return this.options[t]}attachEvents(t){t.addEventListener("mousedown",t=>{this.mousedown=!0,t.stopPropagation(),t.preventDefault();}),window.addEventListener("mousemove",t=>{if(this.mousedown){var e=n.a.fromValues(t.movementX,t.movementY);this.deltaMove=e,this.lastTime=Date.now(),this.getOption("reverse"),this.scroll(e);}}),window.addEventListener("mouseup",t=>{this.mousedown=!1;}),t.addEventListener("touchstart",t=>{t.touches&&t.touches.length>0&&(this.lastTouch=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY));},!1),window.addEventListener("touchend",t=>{this.lastTouch=null;},!1),window.addEventListener("touchcancel",t=>{this.lastTouch=null;},!1),window.addEventListener("touchmove",t=>{if(t.touches&&t.touches.length>0){if(this.lastTouch){var e=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY);this.getOption("reverse")?this.scroll(n.a.sub(e,this.lastTouch,e)):this.scroll(n.a.sub(e,e,this.lastTouch));}this.lastTouch=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY);}},!1);}scroll(t){var e=this;window.requestAnimationFrame((function(){e.view.move(t),t=n.a.clone(e.view.getContentPosition()),e.setPosition(t),e.updateCallback&&"function"==typeof e.updateCallback&&e.updateCallback(me);}));}clickToPosition(t,e){this.view.getViewSize()[0],this.element.clientWidth,this.view.getViewSize()[1],this.element.clientHeight;}setPosition(t){var e=1;this.getOption("swapContainers")&&(e=-1),this.bar.style.transform="translate("+t[0]*e+"px,"+t[1]*e+"px)",this.scrolling=!1;}clear(){this.position=0,this.setPosition(0);}getBarLength(){return this.vertical?parseInt(Math.ceil(this.bar.clientHeight)):parseInt(Math.ceil(this.bar.clientWidth))}getViewLength(){return this.vertical?this.view.getViewSize()[1]:this.view.getViewSize()[0]}getContentLength(){return this.vertical?this.view.getContentSize()[1]:this.view.getContentSize()[0]}setContentPosition(t){var e=n.a.create(),i=t.getContentViewRatio()[this.vertical?1:0];n.a.scale(e,t.getContentPosition(),i),this.view.setViewPosition(e),this.setPosition(this.view.getContentPosition());}getPercentage(){return n.a.len(this.view.getViewPosition())/this.getViewLength()}resizeContent(t){t?(this.vertical?(this.bar.style.height=Math.floor(t.getViewSize()[1]*t.getContentViewRatio()[1])+"px",this.element.style.height=t.getViewSize()[1]+"px",this.element.style.visibility=t.isContentLonger()?"visible":"hidden"):(this.bar.style.width=Math.floor(t.getViewSize()[0]*t.getContentViewRatio()[0])+"px",this.element.style.width=t.getViewSize()[0]+"px",this.element.style.visibility=t.isContentWider()?"visible":"hidden"),this.resize()):console.warn("View undefined");}resize(){this.getOption("swapContainers")?(this.view.setViewSize(parseInt(this.element.clientWidth),parseInt(this.element.clientHeight)),this.view.setContentSize(parseInt(this.bar.clientWidth),parseInt(this.bar.clientHeight))):(this.view.setViewSize(parseInt(this.bar.clientWidth),parseInt(this.bar.clientHeight)),this.view.setContentSize(parseInt(this.element.clientWidth),parseInt(this.element.clientHeight)));}}class r{constructor(t,e,i){this.container=null,this.content=null,this.logContainer=null,this.options={smooth:!0,reverse:!1,swapContainers:!1,updateInterval:10,wheelSpeed:50,scollbarPosition:"right",direction:"vertical"},void 0!==i&&i&&(this.options=this.chooseOptions(this.options,i)),this.setContainer(t),this.events={change:[],layout:[],ready:[]},this.lastTouch=null,this.deltaMove=n.a.create(),this.lastMouse=n.a.create(),this.mouseCache=n.a.create(),this.lastTime=0,this.deltaTime=0,this.smoothDistance=null,this.timeout=null,this.smoothCoeficent=n.a.fromValues(11,11),this.positionClassNames=["sa-on-left","sa-on-right","sa-on-top","sa-on-bottom"],this.mousedown=!1,this.touchstart=!1,this.mousestart=!1,this._vec2cache=n.a.create();this.container;if(this.getOption("swapContainers")?this.view=new o(n.a.fromValues(this.container.clientWidth,this.container.clientHeight),n.a.fromValues(this.content.clientWidth,this.content.clientHeight)):(this.content,this.view=new o(n.a.fromValues(this.content.clientWidth,this.content.clientHeight),n.a.fromValues(this.container.clientWidth,this.container.clientHeight))),this.container.style.position="relative",this.container.style.overflow="hidden",this.container.style.userSelect="none",this.container.style.webkitUserSelect="none",this.attachEvents(this.container),this.scrollbarV=new a(this.container,{direction:"vertical",scollbarPosition:"right",reverse:this.options.reverse,swapContainers:this.options.swapContainers}),this.scrollbarH=new a(this.container,{direction:"horizontal",scollbarPosition:"bottom",reverse:this.options.reverse}),"undefined"!=typeof ResizeObserver&&this.container){var s=this,r=0;this.resizeObserver=new ResizeObserver((function(){r&&clearTimeout(r),r=setTimeout((function(){s.resize();}),300);})),this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.content);}this.checkContentPosition();}calcVelocity(t){this.lastTime&&(this.deltaTime=(this.deltaTime+(Date.now()-this.lastTime))/2),n.a.scale(this.deltaMove,n.a.add(this.deltaMove,this.deltaMove,t),.5),this.lastTime=Date.now();}attachEvents(t){t.addEventListener("mousewheel",t=>{var e=0;t.originalEvent&&(t=t.originalEvent),e="wheelDelta"in t?t.wheelDelta<0?-1:1:t.deltaY>0||t.deltaY<0?1:-1,this.scroll(n.a.fromValues(0,this.getOption("wheelSpeed")*e));}),t.addEventListener("mousedown",t=>{n.a.set(this.lastMouse,t.screenX,t.screenY),n.a.set(this.deltaMove,0,0),this.lastTime=Date.now(),this.mousestart=setTimeout(()=>{this.mousedown=!0;},120);}),window.addEventListener("mousemove",t=>{this.mousedown&&(n.a.sub(this.mouseCache,n.a.fromValues(t.screenX,t.screenY),this.lastMouse),n.a.set(this.lastMouse,t.screenX,t.screenY),this.calcVelocity(this.mouseCache),this.getOption("reverse"),this.scroll(this.mouseCache.slice()));}),window.addEventListener("mouseup",t=>{this.onEndDrag(this.deltaMove,this.deltaTime),this.mousedown=!1,clearTimeout(this.mousestart);}),t.addEventListener("touchstart",t=>{t.touches&&t.touches.length>0&&(this.mousedown=!0,this.lastTouch=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY),this.lastTime=Date.now());},!1),window.addEventListener("touchend",t=>{this.onEndDrag(n.a.negate(this.deltaMove,this.deltaMove),Date.now()-this.lastTime),this.lastTouch=null,this.mousedown=!1;},!1),window.addEventListener("touchcancel",t=>{this.onEndDrag(n.a.negate(this.deltaMove,this.deltaMove),Date.now()-this.lastTime),this.lastTouch=null,this.mousedown=!1;},!1),window.addEventListener("touchmove",t=>{if(t.touches&&t.touches.length>0&&this.mousedown){if(this.lastTouch){var e=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY);this.getOption("reverse")?this.scroll(n.a.sub(e,this.lastTouch,e)):this.scroll(n.a.sub(e,e,this.lastTouch));}this.lastTouch=n.a.fromValues(t.touches[0].screenX,t.touches[0].screenY),this.lastTime=Date.now();}},!1);}onEndDrag(t,e){if(!(e<=0)){var i=n.a.len(t)/e;if(this.getOption("smooth")&&i>.3){var s=n.a.create();n.a.scale(s,t,i),this.getOption("reverse");var o=this;this.stop();var a=n.a.create(),r=function(){n.a.div(a,s,o.smoothCoeficent),n.a.sqrLen(a)>3?(n.a.sub(s,s,a),window.requestAnimationFrame(r),o.scroll(a)):o.scrolling=!1;};this.timeout=window.requestAnimationFrame(r);}else this.scrolling=!1;}}stop(){this.scrolling=!1;}resize(){this.getOption("swapContainers")?(this.view.setViewSize(parseInt(Math.ceil(this.content.clientWidth)),parseInt(Math.ceil(this.content.clientHeight))),this.view.setContentSize(parseInt(this.container.clientWidth),parseInt(Math.ceilthis.container.clientHeight))):(this.view.setViewSize(parseInt(this.container.clientWidth),parseInt(this.container.clientHeight)),this.view.setContentSize(parseInt(Math.ceil(this.content.clientWidth)),parseInt(Math.ceil(this.content.clientHeight)))),this.checkIfScrollIsNeeded(),this.scrollbarV&&this.scrollbarV.resizeContent(this.view),this.scrollbarH&&this.scrollbarH.resizeContent(this.view);}reset(){this.scrollToSection(0,0,!1),this.scrollToSection(0,1,!1);}checkIfScrollIsNeeded(){this.view.isContentLonger()?this.container.classList.add("sa-content-longer"):this.container.classList.remove("sa-content-longer"),this.view.isContentWider()?this.container.classList.add("sa-content-wider"):this.container.classList.remove("sa-content-wider");}chooseOptions(t,e){for(var i in e)t[i]&&(t[i]=e[i]);return t}setContainer(t){switch(typeof t){case"undefined":this.container=document.createElement("div"),document.body.appendChild(this.container);break;case"string":this.container=document.getElementById(t);break;default:this.container=t;}this.container&&(this.content=this.container.firstElementChild);}getOption(t){return this.options[t]}on(t,e){"object"!=typeof this.events[t]&&(this.events[t]=[]),this.events[t].push(e);}trigger(){let t=Array.prototype.slice.call(arguments);if(t.length>0){let e=t[0];if(t.shift(),this.events[e]){let i;for(let s=0,n=this.events[e].length;s<n;s++)i=this.events[e][s],"function"==typeof i&&i.apply(this,t);}}}scroll(t){var e=this;Math.abs(n.a.len(t))>=0&&window.requestAnimationFrame((function(){e.view.move(t);var i=n.a.clone(e.view.getContentPosition());e.setContentOffset(i),e.scrollbarV.setContentPosition(e.view),e.scrollbarH.setContentPosition(e.view),e.updateCallback&&"function"==typeof e.updateCallback&&e.updateCallback(me);}));}smoothScroll(t,e){if(!(e<=0)){var i=n.a.create(),s=n.a.clone(t),o=e,a=Date.now(),r=0,h=this,l=function(){o=Date.now()-a,r=1-Math.pow(1-Math.min(1,o/e),3),n.a.scale(i,s,r),n.a.sub(s,s,i),o<e?(window.requestAnimationFrame(l),n.a.len(s)>0?h.scroll(i):h.scroll(n.a.sub(i,i,s))):(n.a.len(s)>0&&h.scroll(s),h.scrolling=!1);};this.timeout=window.requestAnimationFrame(l);}}setContentOffset(t){var e=-1;this.getOption("swapContainers")&&(e=1),this.content.style.transform="translate("+t[0]*e+"px,"+t[1]*e+"px)",this.scrolling=!1,this.checkContentPosition();}checkContentPosition(){var t=this.view.getRelativePosition(),e=[];0===t[0]&&e.push("sa-on-left"),0===t[1]&&e.push("sa-on-top"),1===Math.abs(t[0])&&e.push("sa-on-right"),1===Math.abs(t[1])&&e.push("sa-on-bottom"),e!==this.positionClassNames&&(this.container.classList.remove(...this.positionClassNames),e&&e.length>0&&this.container.classList.add(...e),this.positionClassNames=e);}scrollToSection(t,e,i,s){let o=n.a.mul(n.a.create(),this.view.getContentSize(),this.view.getContentViewRatio()),a=n.a.scale(n.a.create(),o,t);const r=s||1;0==e?a[1]=0:a[0]=0;let h=n.a.sub(n.a.create(),this.view.getContentPosition(),a);if(i){let t=n.a.len(h)*r;this.smoothScroll(h,t);}else this.scroll(h,h);}log(t){if(this.logContainer){let e=document.createElement("p"),i=document.createTextNode(t);e.appendChild(i),this.logContainer.appendChild(e),this.logContainer.children.length>10&&this.logContainer.removeChild(this.logContainer.getElementsByTagName("p")[0]);}}setLogContainer(t){this.logContainer=t;}}}]).ScrollArea;
4741
5364
  });
4742
5365
 
4743
5366
  //
4744
- var script$g = {
5367
+ var script$e = {
4745
5368
  name: 'ScrollableArea',
4746
5369
  props: {
4747
5370
  enable: {
@@ -4795,10 +5418,10 @@ var script$g = {
4795
5418
  };
4796
5419
 
4797
5420
  /* script */
4798
- const __vue_script__$g = script$g;
5421
+ const __vue_script__$e = script$e;
4799
5422
 
4800
5423
  /* template */
4801
- var __vue_render__$g = function () {
5424
+ var __vue_render__$e = function () {
4802
5425
  var _vm = this;
4803
5426
  var _h = _vm.$createElement;
4804
5427
  var _c = _vm._self._c || _h;
@@ -4810,30 +5433,30 @@ var __vue_render__$g = function () {
4810
5433
  }
4811
5434
  }, [_vm._t("default")], 2);
4812
5435
  };
4813
- var __vue_staticRenderFns__$g = [];
5436
+ var __vue_staticRenderFns__$e = [];
4814
5437
 
4815
5438
  /* style */
4816
- const __vue_inject_styles__$g = undefined;
5439
+ const __vue_inject_styles__$e = undefined;
4817
5440
  /* scoped */
4818
- const __vue_scope_id__$g = "data-v-6310fbf1";
5441
+ const __vue_scope_id__$e = "data-v-6310fbf1";
4819
5442
  /* module identifier */
4820
- const __vue_module_identifier__$g = undefined;
5443
+ const __vue_module_identifier__$e = undefined;
4821
5444
  /* functional template */
4822
- const __vue_is_functional_template__$g = false;
5445
+ const __vue_is_functional_template__$e = false;
4823
5446
  /* style inject */
4824
5447
 
4825
5448
  /* style inject SSR */
4826
5449
 
4827
5450
  /* style inject shadow dom */
4828
5451
 
4829
- const __vue_component__$q = /*#__PURE__*/normalizeComponent({
4830
- render: __vue_render__$g,
4831
- staticRenderFns: __vue_staticRenderFns__$g
4832
- }, __vue_inject_styles__$g, __vue_script__$g, __vue_scope_id__$g, __vue_is_functional_template__$g, __vue_module_identifier__$g, false, undefined, undefined, undefined);
4833
- var __vue_component__$r = __vue_component__$q;
5452
+ const __vue_component__$o = /*#__PURE__*/normalizeComponent({
5453
+ render: __vue_render__$e,
5454
+ staticRenderFns: __vue_staticRenderFns__$e
5455
+ }, __vue_inject_styles__$e, __vue_script__$e, __vue_scope_id__$e, __vue_is_functional_template__$e, __vue_module_identifier__$e, false, undefined, undefined, undefined);
5456
+ var __vue_component__$p = __vue_component__$o;
4834
5457
 
4835
5458
  //
4836
- var script$f = {
5459
+ var script$d = {
4837
5460
  name: 'Banner',
4838
5461
  props: {
4839
5462
  template: String,
@@ -5084,10 +5707,10 @@ var script$f = {
5084
5707
  };
5085
5708
 
5086
5709
  /* script */
5087
- const __vue_script__$f = script$f;
5710
+ const __vue_script__$d = script$d;
5088
5711
 
5089
5712
  /* template */
5090
- var __vue_render__$f = function () {
5713
+ var __vue_render__$d = function () {
5091
5714
  var _vm = this;
5092
5715
  var _h = _vm.$createElement;
5093
5716
  var _c = _vm._self._c || _h;
@@ -5160,461 +5783,124 @@ var __vue_render__$f = function () {
5160
5783
  })], 2);
5161
5784
  }), 0);
5162
5785
  };
5163
- var __vue_staticRenderFns__$f = [];
5164
-
5165
- /* style */
5166
- const __vue_inject_styles__$f = function (inject) {
5167
- if (!inject) return;
5168
- inject("data-v-6ac4a309_0", {
5169
- source: ".wf-banner[data-v-6ac4a309]{position:relative;width:100%;height:100%}.wf-banner .wf-frame[data-v-6ac4a309]{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-6ac4a309]{position:absolute}.wf-banner .wf-frame .wf-frame-container img[data-v-6ac4a309]{object-fit:cover;width:100%;height:100%}.wf-banner .wf-frame.wf-active[data-v-6ac4a309]{opacity:1;transition:opacity .5s ease-in-out}.wf-banner .wf-frame video[data-v-6ac4a309]{position:relative;top:50%;transform:translateY(-50%)}",
5170
- map: undefined,
5171
- media: undefined
5172
- });
5173
- };
5174
- /* scoped */
5175
- const __vue_scope_id__$f = "data-v-6ac4a309";
5176
- /* module identifier */
5177
- const __vue_module_identifier__$f = undefined;
5178
- /* functional template */
5179
- const __vue_is_functional_template__$f = false;
5180
- /* style inject SSR */
5181
-
5182
- /* style inject shadow dom */
5183
-
5184
- const __vue_component__$o = /*#__PURE__*/normalizeComponent({
5185
- render: __vue_render__$f,
5186
- staticRenderFns: __vue_staticRenderFns__$f
5187
- }, __vue_inject_styles__$f, __vue_script__$f, __vue_scope_id__$f, __vue_is_functional_template__$f, __vue_module_identifier__$f, false, createInjector, undefined, undefined);
5188
- var __vue_component__$p = __vue_component__$o;
5189
-
5190
- //
5191
- var script$e = {
5192
- name: 'AlphabetMenu',
5193
- props: {
5194
- pois: {
5195
- type: Array,
5196
- default: []
5197
- },
5198
- overrideChar: {
5199
- type: String,
5200
- default: ""
5201
- },
5202
- showInMenu: {
5203
- type: Boolean,
5204
- default: true
5205
- },
5206
- group: {
5207
- type: String,
5208
- default: ""
5209
- }
5210
- },
5211
- data() {
5212
- return {
5213
- currentChar: "",
5214
- alphabet: [],
5215
- poisWithChar: {},
5216
- groupChars: [],
5217
- groupLabel: ""
5218
- };
5219
- },
5220
- computed: {
5221
- //yahLogo
5222
- ...mapState('wf', ['language'])
5223
- },
5224
- watch: {
5225
- pois() {
5226
- this.makeGrouping();
5227
- this.generate();
5228
- },
5229
- overrideChar() {
5230
- if (this.overrideChar && this.overrideChar !== "") {
5231
- this.currentChar = this.overrideChar;
5232
- }
5233
- },
5234
- group() {
5235
- this.makeGrouping();
5236
- }
5237
- },
5238
- methods: {
5239
- onAZ(letter) {
5240
- this.currentChar = letter;
5241
- this.$emit("clicked", letter, this.poisWithChar[letter]);
5242
- },
5243
- makeGrouping() {
5244
- if (this.group) {
5245
- this.groupChars = this.group.toLowerCase().split("");
5246
- if (this.groupChars.length > 1) {
5247
- this.groupLabel = this.groupChars[0] + " - " + this.groupChars[this.groupChars.length - 1];
5248
- } else {
5249
- this.groupLabel = this.groupChars[0];
5250
- }
5251
- this.generate();
5252
- }
5253
- },
5254
- generate() {
5255
- let letters = [];
5256
- this.poisWithChar = [];
5257
- let poi, char;
5258
- for (let p in this.pois) {
5259
- poi = this.pois[p];
5260
- if ((!this.showInMenu || poi.getShowInMenu()) && poi.getName(this.language) && poi.getName(this.language).length > 0) {
5261
- char = poi.getName(this.language)[0].toLowerCase();
5262
- if (this.groupChars.indexOf(char) > -1) {
5263
- if (letters.indexOf(this.groupLabel) == -1) {
5264
- letters.push(this.groupLabel);
5265
- this.poisWithChar[this.groupLabel] = [];
5266
- }
5267
- this.poisWithChar[this.groupLabel].push(poi);
5268
- } else {
5269
- if (letters.indexOf(char) == -1) {
5270
- letters.push(char);
5271
- }
5272
- if (!this.poisWithChar[char]) {
5273
- this.poisWithChar[char] = [];
5274
- }
5275
- this.poisWithChar[char].push(poi);
5276
- }
5277
- }
5278
- }
5279
- letters.sort();
5280
- this.alphabet = letters;
5281
- }
5282
- }
5283
- };
5284
-
5285
- /* script */
5286
- const __vue_script__$e = script$e;
5287
-
5288
- /* template */
5289
- var __vue_render__$e = function () {
5290
- var _vm = this;
5291
- var _h = _vm.$createElement;
5292
- var _c = _vm._self._c || _h;
5293
- return _c('ul', {
5294
- staticClass: "wf-component wf-alphabet-menu"
5295
- }, _vm._l(_vm.alphabet, function (l) {
5296
- return _c('li', {
5297
- key: l,
5298
- class: [_vm.currentChar == l ? 'wf-active' : '', 'wf-char-' + l],
5299
- on: {
5300
- "click": function ($event) {
5301
- return _vm.onAZ(l);
5302
- }
5303
- }
5304
- }, [_vm._v(_vm._s(l))]);
5305
- }), 0);
5306
- };
5307
- var __vue_staticRenderFns__$e = [];
5308
-
5309
- /* style */
5310
- const __vue_inject_styles__$e = function (inject) {
5311
- if (!inject) return;
5312
- inject("data-v-58de4247_0", {
5313
- source: ".wf-alphabet-menu{list-style:none;padding:0;margin:0}",
5314
- map: undefined,
5315
- media: undefined
5316
- });
5317
- };
5318
- /* scoped */
5319
- const __vue_scope_id__$e = undefined;
5320
- /* module identifier */
5321
- const __vue_module_identifier__$e = undefined;
5322
- /* functional template */
5323
- const __vue_is_functional_template__$e = false;
5324
- /* style inject SSR */
5325
-
5326
- /* style inject shadow dom */
5327
-
5328
- const __vue_component__$m = /*#__PURE__*/normalizeComponent({
5329
- render: __vue_render__$e,
5330
- staticRenderFns: __vue_staticRenderFns__$e
5331
- }, __vue_inject_styles__$e, __vue_script__$e, __vue_scope_id__$e, __vue_is_functional_template__$e, __vue_module_identifier__$e, false, createInjector, undefined, undefined);
5332
- var __vue_component__$n = __vue_component__$m;
5333
-
5334
- //
5335
- //
5336
- //
5337
- //
5338
- //
5339
-
5340
- //import Icons from '../assets/icons.svg';
5341
- var script$d = {
5342
- props: ["name", "width", "height"],
5343
- computed: {
5344
- iconName() {
5345
- return "#icon-" + this.name;
5346
- }
5347
- }
5348
- };
5349
-
5350
- /* script */
5351
- const __vue_script__$d = script$d;
5352
-
5353
- /* template */
5354
- var __vue_render__$d = function () {
5355
- var _vm = this;
5356
- var _h = _vm.$createElement;
5357
- var _c = _vm._self._c || _h;
5358
- return _c('svg', {
5359
- staticClass: "wf-icon",
5360
- class: ["wf-icon-" + this.name],
5361
- attrs: {
5362
- "viewbox": "0 0 32 32"
5363
- }
5364
- }, [_c('use', {
5365
- attrs: {
5366
- "xlink:href": _vm.iconName
5367
- }
5368
- })]);
5369
- };
5370
5786
  var __vue_staticRenderFns__$d = [];
5371
5787
 
5372
5788
  /* style */
5373
5789
  const __vue_inject_styles__$d = function (inject) {
5374
5790
  if (!inject) return;
5375
- inject("data-v-6281073a_0", {
5376
- source: "svg[data-v-6281073a]{min-height:1rem;display:inline-block}",
5791
+ inject("data-v-6ac4a309_0", {
5792
+ source: ".wf-banner[data-v-6ac4a309]{position:relative;width:100%;height:100%}.wf-banner .wf-frame[data-v-6ac4a309]{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-6ac4a309]{position:absolute}.wf-banner .wf-frame .wf-frame-container img[data-v-6ac4a309]{object-fit:cover;width:100%;height:100%}.wf-banner .wf-frame.wf-active[data-v-6ac4a309]{opacity:1;transition:opacity .5s ease-in-out}.wf-banner .wf-frame video[data-v-6ac4a309]{position:relative;top:50%;transform:translateY(-50%)}",
5377
5793
  map: undefined,
5378
5794
  media: undefined
5379
5795
  });
5380
5796
  };
5381
5797
  /* scoped */
5382
- const __vue_scope_id__$d = "data-v-6281073a";
5798
+ const __vue_scope_id__$d = "data-v-6ac4a309";
5383
5799
  /* module identifier */
5384
5800
  const __vue_module_identifier__$d = undefined;
5385
- /* functional template */
5386
- const __vue_is_functional_template__$d = false;
5387
- /* style inject SSR */
5388
-
5389
- /* style inject shadow dom */
5390
-
5391
- const __vue_component__$l = /*#__PURE__*/normalizeComponent({
5392
- render: __vue_render__$d,
5393
- staticRenderFns: __vue_staticRenderFns__$d
5394
- }, __vue_inject_styles__$d, __vue_script__$d, __vue_scope_id__$d, __vue_is_functional_template__$d, __vue_module_identifier__$d, false, createInjector, undefined, undefined);
5395
- var WFIcon = __vue_component__$l;
5396
-
5397
- //
5398
- var script$c = {
5399
- name: 'DropDown',
5400
- components: {
5401
- WFIcon
5402
- },
5403
- props: {
5404
- options: {
5405
- type: Array,
5406
- default: () => []
5407
- },
5408
- value: {
5409
- default: null
5410
- },
5411
- placeholder: {
5412
- type: String,
5413
- default: 'Select option'
5414
- },
5415
- minSearchChars: {
5416
- type: Number,
5417
- default: 2
5418
- },
5419
- debounceMs: {
5420
- type: Number,
5421
- default: 200
5422
- },
5423
- labelKey: {
5424
- type: String,
5425
- default: 'label'
5426
- },
5427
- valueKey: {
5428
- type: String,
5429
- default: 'value'
5430
- },
5431
- disabledKey: {
5432
- type: String,
5433
- default: 'disabled'
5434
- },
5435
- noResultsText: {
5436
- type: String,
5437
- default: 'No results'
5438
- },
5439
- clearSearchOnSelect: {
5440
- type: Boolean,
5441
- default: false
5442
- },
5443
- dropdownIcon: {
5444
- type: String,
5445
- default: 'arrow-down'
5446
- },
5447
- clearIcon: {
5448
- type: String,
5449
- default: 'clear'
5450
- }
5451
- },
5452
- data() {
5453
- return {
5454
- isOpen: false,
5455
- query: '',
5456
- deferredQuery: '',
5457
- debounceTimer: null,
5458
- internalSelectedOption: null
5459
- };
5460
- },
5461
- computed: {
5462
- normalizedOptions() {
5463
- return this.options.map((option, index) => {
5464
- if (option !== null && typeof option === 'object' && !Array.isArray(option)) {
5465
- const label = option[this.labelKey];
5466
- const value = Object.prototype.hasOwnProperty.call(option, this.valueKey) ? option[this.valueKey] : option;
5467
- return {
5468
- key: `${index}-${String(value)}`,
5469
- label: label == null ? '' : String(label),
5470
- value,
5471
- raw: option,
5472
- disabled: Boolean(option[this.disabledKey])
5473
- };
5474
- }
5475
- return {
5476
- key: `${index}-${String(option)}`,
5477
- label: option == null ? '' : String(option),
5478
- value: option,
5479
- raw: option,
5480
- disabled: false
5481
- };
5482
- });
5483
- },
5484
- filteredOptions() {
5485
- const normalizedQuery = this.deferredQuery.trim().toLowerCase();
5486
- if (!normalizedQuery.length) {
5487
- return this.normalizedOptions;
5488
- }
5489
- if (normalizedQuery.length < this.safeMinSearchChars) {
5490
- return [];
5491
- }
5492
- return this.normalizedOptions.filter(option => {
5493
- return option.label.toLowerCase().indexOf(normalizedQuery) !== -1;
5494
- });
5495
- },
5496
- selectedOption() {
5497
- return this.normalizedOptions.find(option => this.isSameValue(option.value, this.value)) || null;
5498
- },
5499
- effectiveSelectedOption() {
5500
- return this.selectedOption || this.internalSelectedOption;
5501
- },
5502
- hasSelection() {
5503
- return !!this.effectiveSelectedOption;
5801
+ /* functional template */
5802
+ const __vue_is_functional_template__$d = false;
5803
+ /* style inject SSR */
5804
+
5805
+ /* style inject shadow dom */
5806
+
5807
+ const __vue_component__$m = /*#__PURE__*/normalizeComponent({
5808
+ render: __vue_render__$d,
5809
+ staticRenderFns: __vue_staticRenderFns__$d
5810
+ }, __vue_inject_styles__$d, __vue_script__$d, __vue_scope_id__$d, __vue_is_functional_template__$d, __vue_module_identifier__$d, false, createInjector, undefined, undefined);
5811
+ var __vue_component__$n = __vue_component__$m;
5812
+
5813
+ //
5814
+ var script$c = {
5815
+ name: 'AlphabetMenu',
5816
+ props: {
5817
+ pois: {
5818
+ type: Array,
5819
+ default: []
5504
5820
  },
5505
- currentIconName() {
5506
- return this.hasSelection ? this.clearIcon : this.dropdownIcon;
5821
+ overrideChar: {
5822
+ type: String,
5823
+ default: ""
5507
5824
  },
5508
- shouldShowNoResults() {
5509
- if (!this.query.trim().length) {
5510
- return false;
5511
- }
5512
- return this.deferredQuery.trim().length >= this.safeMinSearchChars;
5825
+ showInMenu: {
5826
+ type: Boolean,
5827
+ default: true
5513
5828
  },
5514
- safeMinSearchChars() {
5515
- return Math.max(0, this.minSearchChars);
5829
+ group: {
5830
+ type: String,
5831
+ default: ""
5516
5832
  }
5517
5833
  },
5834
+ data() {
5835
+ return {
5836
+ currentChar: "",
5837
+ alphabet: [],
5838
+ poisWithChar: {},
5839
+ groupChars: [],
5840
+ groupLabel: ""
5841
+ };
5842
+ },
5843
+ computed: {
5844
+ //yahLogo
5845
+ ...mapState('wf', ['language'])
5846
+ },
5518
5847
  watch: {
5519
- value: {
5520
- immediate: true,
5521
- handler() {
5522
- this.syncQueryWithValue();
5848
+ pois() {
5849
+ this.makeGrouping();
5850
+ this.generate();
5851
+ },
5852
+ overrideChar() {
5853
+ if (this.overrideChar && this.overrideChar !== "") {
5854
+ this.currentChar = this.overrideChar;
5523
5855
  }
5524
5856
  },
5525
- options() {
5526
- this.syncQueryWithValue();
5857
+ group() {
5858
+ this.makeGrouping();
5527
5859
  }
5528
5860
  },
5529
- mounted() {
5530
- document.addEventListener('click', this.onDocumentClick);
5531
- },
5532
- beforeDestroy() {
5533
- document.removeEventListener('click', this.onDocumentClick);
5534
- this.clearDebounceTimer();
5535
- },
5536
5861
  methods: {
5537
- onInput(event) {
5538
- this.query = event.target.value;
5539
- this.isOpen = true;
5540
- this.deferQueryUpdate();
5541
- },
5542
- deferQueryUpdate() {
5543
- this.clearDebounceTimer();
5544
- this.debounceTimer = window.setTimeout(() => {
5545
- this.deferredQuery = this.query;
5546
- }, this.debounceMs);
5547
- },
5548
- clearDebounceTimer() {
5549
- if (this.debounceTimer) {
5550
- clearTimeout(this.debounceTimer);
5551
- this.debounceTimer = null;
5552
- }
5862
+ onAZ(letter) {
5863
+ this.currentChar = letter;
5864
+ this.$emit("clicked", letter, this.poisWithChar[letter]);
5553
5865
  },
5554
- onTriggerClick() {
5555
- if (this.hasSelection) {
5556
- this.clearSelection();
5557
- return;
5558
- }
5559
- if (this.isOpen) {
5560
- this.closeDropdown();
5561
- } else {
5562
- this.openDropdown();
5563
- if (this.$refs.input) {
5564
- this.$refs.input.focus();
5866
+ makeGrouping() {
5867
+ if (this.group) {
5868
+ this.groupChars = this.group.toLowerCase().split("");
5869
+ if (this.groupChars.length > 1) {
5870
+ this.groupLabel = this.groupChars[0] + " - " + this.groupChars[this.groupChars.length - 1];
5871
+ } else {
5872
+ this.groupLabel = this.groupChars[0];
5565
5873
  }
5874
+ this.generate();
5566
5875
  }
5567
5876
  },
5568
- openDropdown() {
5569
- this.isOpen = true;
5570
- this.deferredQuery = this.query;
5571
- },
5572
- closeDropdown() {
5573
- this.isOpen = false;
5574
- this.syncQueryWithValue();
5575
- },
5576
- selectOption(option) {
5577
- if (option.disabled) {
5578
- return;
5579
- }
5580
- this.internalSelectedOption = option;
5581
- this.$emit('input', option.value);
5582
- this.$emit('select', option.raw);
5583
- this.$emit('selected', option.raw);
5584
- if (this.clearSearchOnSelect) {
5585
- this.query = '';
5586
- this.deferredQuery = '';
5587
- } else {
5588
- this.query = option.label;
5589
- this.deferredQuery = option.label;
5590
- }
5591
- this.isOpen = false;
5592
- },
5593
- clearSelection() {
5594
- this.internalSelectedOption = null;
5595
- this.query = '';
5596
- this.deferredQuery = '';
5597
- this.isOpen = false;
5598
- this.$emit('input', null);
5599
- this.$emit('clear');
5600
- },
5601
- syncQueryWithValue() {
5602
- if (this.isOpen && this.query !== '') {
5603
- return;
5604
- }
5605
- const selectedOption = this.effectiveSelectedOption;
5606
- const nextQuery = selectedOption ? selectedOption.label : '';
5607
- this.query = nextQuery;
5608
- this.deferredQuery = nextQuery;
5609
- },
5610
- onDocumentClick(event) {
5611
- if (!this.$refs.root || this.$refs.root.contains(event.target)) {
5612
- return;
5877
+ generate() {
5878
+ let letters = [];
5879
+ this.poisWithChar = [];
5880
+ let poi, char;
5881
+ for (let p in this.pois) {
5882
+ poi = this.pois[p];
5883
+ if ((!this.showInMenu || poi.getShowInMenu()) && poi.getName(this.language) && poi.getName(this.language).length > 0) {
5884
+ char = poi.getName(this.language)[0].toLowerCase();
5885
+ if (this.groupChars.indexOf(char) > -1) {
5886
+ if (letters.indexOf(this.groupLabel) == -1) {
5887
+ letters.push(this.groupLabel);
5888
+ this.poisWithChar[this.groupLabel] = [];
5889
+ }
5890
+ this.poisWithChar[this.groupLabel].push(poi);
5891
+ } else {
5892
+ if (letters.indexOf(char) == -1) {
5893
+ letters.push(char);
5894
+ }
5895
+ if (!this.poisWithChar[char]) {
5896
+ this.poisWithChar[char] = [];
5897
+ }
5898
+ this.poisWithChar[char].push(poi);
5899
+ }
5900
+ }
5613
5901
  }
5614
- this.closeDropdown();
5615
- },
5616
- isSameValue(left, right) {
5617
- return left === right;
5902
+ letters.sort();
5903
+ this.alphabet = letters;
5618
5904
  }
5619
5905
  }
5620
5906
  };
@@ -5627,79 +5913,33 @@ var __vue_render__$c = function () {
5627
5913
  var _vm = this;
5628
5914
  var _h = _vm.$createElement;
5629
5915
  var _c = _vm._self._c || _h;
5630
- return _c('div', {
5631
- ref: "root",
5632
- staticClass: "wf-component wf-dropdown"
5633
- }, [_c('div', {
5634
- staticClass: "wf-dropdown-input"
5635
- }, [_c('input', {
5636
- ref: "input",
5637
- attrs: {
5638
- "placeholder": _vm.placeholder
5639
- },
5640
- domProps: {
5641
- "value": _vm.query
5642
- },
5643
- on: {
5644
- "focus": _vm.openDropdown,
5645
- "input": _vm.onInput,
5646
- "keydown": function ($event) {
5647
- if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) {
5648
- return null;
5649
- }
5650
- return _vm.closeDropdown.apply(null, arguments);
5651
- }
5652
- }
5653
- }), _vm._v(" "), _c('button', {
5654
- staticClass: "wf-dropdown-trigger",
5655
- attrs: {
5656
- "type": "button"
5657
- },
5658
- on: {
5659
- "click": function ($event) {
5660
- $event.stopPropagation();
5661
- return _vm.onTriggerClick.apply(null, arguments);
5662
- }
5663
- }
5664
- }, [_c('WFIcon', {
5665
- attrs: {
5666
- "name": _vm.currentIconName
5667
- }
5668
- })], 1)]), _vm._v(" "), _vm.isOpen ? _c('div', {
5669
- staticClass: "wf-dropdown-menu"
5670
- }, [_vm.filteredOptions.length ? _c('ul', {
5671
- staticClass: "wf-dropdown-list"
5672
- }, _vm._l(_vm.filteredOptions, function (option) {
5916
+ return _c('ul', {
5917
+ staticClass: "wf-component wf-alphabet-menu"
5918
+ }, _vm._l(_vm.alphabet, function (l) {
5673
5919
  return _c('li', {
5674
- key: option.key,
5675
- staticClass: "wf-dropdown-item",
5676
- class: {
5677
- 'wf-disabled': option.disabled
5678
- },
5920
+ key: l,
5921
+ class: [_vm.currentChar == l ? 'wf-active' : '', 'wf-char-' + l],
5679
5922
  on: {
5680
- "mousedown": function ($event) {
5681
- $event.preventDefault();
5682
- return _vm.selectOption(option);
5923
+ "click": function ($event) {
5924
+ return _vm.onAZ(l);
5683
5925
  }
5684
5926
  }
5685
- }, [_vm._v("\n\t\t\t\t" + _vm._s(option.label) + "\n\t\t\t")]);
5686
- }), 0) : _vm.shouldShowNoResults ? _c('div', {
5687
- staticClass: "wf-dropdown-empty"
5688
- }, [_vm._v("\n\t\t\t" + _vm._s(_vm.noResultsText) + "\n\t\t")]) : _vm._e()]) : _vm._e()]);
5927
+ }, [_vm._v(_vm._s(l))]);
5928
+ }), 0);
5689
5929
  };
5690
5930
  var __vue_staticRenderFns__$c = [];
5691
5931
 
5692
5932
  /* style */
5693
5933
  const __vue_inject_styles__$c = function (inject) {
5694
5934
  if (!inject) return;
5695
- inject("data-v-617e64af_0", {
5696
- source: ".wf-dropdown[data-v-617e64af]{position:relative;width:100%}.wf-dropdown-input input[data-v-617e64af]{box-sizing:border-box;width:100%;padding:.75rem 3rem .75rem 1rem;border:1px solid #c7ccd4;border-radius:.375rem;outline:0}.wf-dropdown-trigger[data-v-617e64af]{position:absolute;top:50%;right:.75rem;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:0 0;cursor:pointer;transform:translateY(-50%)}.wf-dropdown-trigger .wf-icon[data-v-617e64af]{width:1rem;height:1rem}.wf-dropdown-menu[data-v-617e64af]{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:10;max-height:16rem;overflow-y:auto;background:#fff;border:1px solid #c7ccd4;border-radius:.375rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12)}.wf-dropdown-list[data-v-617e64af]{margin:0;padding:.25rem 0;list-style:none}.wf-dropdown-item[data-v-617e64af]{padding:.75rem 1rem;cursor:pointer}.wf-dropdown-item[data-v-617e64af]:hover{background:#f2f5f8}.wf-dropdown-empty[data-v-617e64af]{padding:.75rem 1rem;color:#667085}.wf-disabled[data-v-617e64af]{cursor:default;opacity:.5}",
5935
+ inject("data-v-58de4247_0", {
5936
+ source: ".wf-alphabet-menu{list-style:none;padding:0;margin:0}",
5697
5937
  map: undefined,
5698
5938
  media: undefined
5699
5939
  });
5700
5940
  };
5701
5941
  /* scoped */
5702
- const __vue_scope_id__$c = "data-v-617e64af";
5942
+ const __vue_scope_id__$c = undefined;
5703
5943
  /* module identifier */
5704
5944
  const __vue_module_identifier__$c = undefined;
5705
5945
  /* functional template */
@@ -5712,7 +5952,7 @@ const __vue_component__$k = /*#__PURE__*/normalizeComponent({
5712
5952
  render: __vue_render__$c,
5713
5953
  staticRenderFns: __vue_staticRenderFns__$c
5714
5954
  }, __vue_inject_styles__$c, __vue_script__$c, __vue_scope_id__$c, __vue_is_functional_template__$c, __vue_module_identifier__$c, false, createInjector, undefined, undefined);
5715
- var WFDropDown = __vue_component__$k;
5955
+ var __vue_component__$l = __vue_component__$k;
5716
5956
 
5717
5957
  //
5718
5958
  var script$b = {
@@ -7429,30 +7669,31 @@ function loadWayfinder(type, env, version, callback) {
7429
7669
  var components = /*#__PURE__*/Object.freeze({
7430
7670
  __proto__: null,
7431
7671
  loadWayfinder: loadWayfinder,
7432
- WFApp: __vue_component__$17,
7433
- WFMap: __vue_component__$14,
7434
- WFAZMenu: __vue_component__$12,
7435
- WFFlagsMenu: __vue_component__$10,
7436
- WFLanguagesMenu: __vue_component__$_,
7437
- WFGroupsMenu: __vue_component__$W,
7672
+ WFApp: __vue_component__$19,
7673
+ WFMap: __vue_component__$16,
7674
+ WFAZMenu: __vue_component__$14,
7675
+ WFFlagsMenu: __vue_component__$12,
7676
+ WFLanguagesMenu: __vue_component__$10,
7677
+ WFGroupsMenu: __vue_component__$Y,
7438
7678
  WFSubGroupMenu: SubGroupMenu,
7439
- WFGroupPOIsMenu: __vue_component__$U,
7440
- WFBuildingLogo: __vue_component__$S,
7441
- WFShortcutsMenu: __vue_component__$P,
7442
- WFZoomMenu: __vue_component__$N,
7443
- WFFloorsMenu: __vue_component__$L,
7444
- WFFilteredMenu: __vue_component__$J,
7445
- WFPOIAdvertisements: __vue_component__$H,
7446
- WFSearch: __vue_component__$F,
7447
- WFLoading: __vue_component__$D,
7448
- WFClock: __vue_component__$B,
7449
- WFDate: __vue_component__$z,
7450
- WFTabs: __vue_component__$x,
7451
- WFTab: __vue_component__$v,
7452
- WFTabButtons: __vue_component__$t,
7453
- WFScrollableArea: __vue_component__$r,
7454
- WFBanner: __vue_component__$p,
7455
- WFAlphabet: __vue_component__$n,
7679
+ WFGroupPOIsMenu: __vue_component__$W,
7680
+ WFBuildingLogo: __vue_component__$U,
7681
+ WFBuildingSelect: __vue_component__$Q,
7682
+ WFShortcutsMenu: __vue_component__$N,
7683
+ WFZoomMenu: __vue_component__$L,
7684
+ WFFloorsMenu: __vue_component__$J,
7685
+ WFFilteredMenu: __vue_component__$H,
7686
+ WFPOIAdvertisements: __vue_component__$F,
7687
+ WFSearch: __vue_component__$D,
7688
+ WFLoading: __vue_component__$B,
7689
+ WFClock: __vue_component__$z,
7690
+ WFDate: __vue_component__$x,
7691
+ WFTabs: __vue_component__$v,
7692
+ WFTab: __vue_component__$t,
7693
+ WFTabButtons: __vue_component__$r,
7694
+ WFScrollableArea: __vue_component__$p,
7695
+ WFBanner: __vue_component__$n,
7696
+ WFAlphabet: __vue_component__$l,
7456
7697
  WFDropDown: WFDropDown,
7457
7698
  WFPOI: POI,
7458
7699
  WFPOIAdvertisement: __vue_component__$j,
@@ -7617,17 +7858,27 @@ var store = {
7617
7858
  return state.shortcuts;
7618
7859
  },
7619
7860
  xBuildings: state => {
7861
+ if (typeof Vue$1.prototype.$wayfinder === 'undefined' || typeof Vue$1.prototype.$wayfinder.getBuildings !== 'function') {
7862
+ return state.buildings;
7863
+ }
7620
7864
  let buildings = Vue$1.prototype.$wayfinder.getBuildings();
7621
7865
  let _buildings = {};
7622
- Object.keys(Vue$1.prototype.$wayfinder.getBuildings()).forEach(b => {
7623
- _buildings[b] = buildings[b].copy();
7624
- });
7866
+ if (Array.isArray(buildings)) {
7867
+ _buildings = buildings.map(b => {
7868
+ return typeof b.copy === 'function' ? b.copy() : b;
7869
+ });
7870
+ } else {
7871
+ Object.keys(buildings).forEach(b => {
7872
+ _buildings[b] = typeof buildings[b].copy === 'function' ? buildings[b].copy() : buildings[b];
7873
+ });
7874
+ }
7625
7875
  state.buildings = _buildings;
7876
+ return state.buildings;
7626
7877
  },
7627
7878
  xBuilding: state => {
7628
- if (Vue$1.prototype.$wayfinder !== 'undefined') {
7879
+ if (typeof Vue$1.prototype.$wayfinder !== 'undefined' && typeof Vue$1.prototype.$wayfinder.getCurrentBuilding === 'function') {
7629
7880
  let _building = Vue$1.prototype.$wayfinder.getCurrentBuilding();
7630
- state.building = _building.copy();
7881
+ state.building = _building && typeof _building.copy === 'function' ? _building.copy() : _building;
7631
7882
  }
7632
7883
  return state.building;
7633
7884
  },
@@ -7796,7 +8047,7 @@ var store = {
7796
8047
  context.commit('SET_CURRENT_FLOOR', Object.freeze(floor));
7797
8048
  },
7798
8049
  SET_CURRENT_BUILDING: (context, building) => {
7799
- context.commit('SET_CURRENT_BUILDING', Object.freeze(building));
8050
+ context.commit('SET_CURRENT_BUILDING', building ? Object.freeze(building) : null);
7800
8051
  },
7801
8052
  SET_FILTERED_POIS: (context, pois) => {
7802
8053
  pois = pois.map(p => {
@@ -7854,4 +8105,4 @@ const install = function installWayfinderVueComponents(Vue, store, mapType, proj
7854
8105
  });
7855
8106
  };
7856
8107
 
7857
- export { __vue_component__$12 as WFAZMenu, __vue_component__$n as WFAlphabet, __vue_component__$17 as WFApp, __vue_component__$p as WFBanner, __vue_component__$5 as WFBrowser, __vue_component__$S as WFBuildingLogo, __vue_component__$B as WFClock, __vue_component__$z as WFDate, WFDropDown, __vue_component__$J as WFFilteredMenu, __vue_component__$10 as WFFlagsMenu, __vue_component__$L as WFFloorsMenu, Group as WFGroup, __vue_component__$U as WFGroupPOIsMenu, __vue_component__$W as WFGroupsMenu, WFIcon, __vue_component__$_ as WFLanguagesMenu, __vue_component__$D as WFLoading, __vue_component__$14 as WFMap, __vue_component__$7 as WFMenu, POI as WFPOI, __vue_component__$j as WFPOIAdvertisement, __vue_component__$H as WFPOIAdvertisements, Page as WFPage, __vue_component__$e as WFPageContent, __vue_component__$9 as WFPageMenu, __vue_component__$3 as WFPath2Text, __vue_component__$1 as WFRouteChooser, __vue_component__$r as WFScrollableArea, __vue_component__$F as WFSearch, __vue_component__$P as WFShortcutsMenu, SubGroupMenu as WFSubGroupMenu, __vue_component__$v as WFTab, __vue_component__$t as WFTabButtons, __vue_component__$x as WFTabs, __vue_component__$c as WFTranslate, YAH as WFYAH, __vue_component__$N as WFZoomMenu, install as default, loadWayfinder };
8108
+ export { __vue_component__$14 as WFAZMenu, __vue_component__$l as WFAlphabet, __vue_component__$19 as WFApp, __vue_component__$n as WFBanner, __vue_component__$5 as WFBrowser, __vue_component__$U as WFBuildingLogo, __vue_component__$Q as WFBuildingSelect, __vue_component__$z as WFClock, __vue_component__$x as WFDate, WFDropDown, __vue_component__$H as WFFilteredMenu, __vue_component__$12 as WFFlagsMenu, __vue_component__$J as WFFloorsMenu, Group as WFGroup, __vue_component__$W as WFGroupPOIsMenu, __vue_component__$Y as WFGroupsMenu, WFIcon, __vue_component__$10 as WFLanguagesMenu, __vue_component__$B as WFLoading, __vue_component__$16 as WFMap, __vue_component__$7 as WFMenu, POI as WFPOI, __vue_component__$j as WFPOIAdvertisement, __vue_component__$F as WFPOIAdvertisements, Page as WFPage, __vue_component__$e as WFPageContent, __vue_component__$9 as WFPageMenu, __vue_component__$3 as WFPath2Text, __vue_component__$1 as WFRouteChooser, __vue_component__$p as WFScrollableArea, __vue_component__$D as WFSearch, __vue_component__$N as WFShortcutsMenu, SubGroupMenu as WFSubGroupMenu, __vue_component__$t as WFTab, __vue_component__$r as WFTabButtons, __vue_component__$v as WFTabs, __vue_component__$c as WFTranslate, YAH as WFYAH, __vue_component__$L as WFZoomMenu, install as default, loadWayfinder };