@expofp/floorplan
Version:
Interactive floor plan library for expos and events
3,734 lines • 160 kB
JavaScript
(function() {
try {
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
e.SENTRY_RELEASE = { id: "3.47.0" };
var t = new e.Error().stack;
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "58c9a800-fba0-4291-9638-41ef9c3e4b50", e._sentryDebugIdIdentifier = "sentry-dbid-58c9a800-fba0-4291-9638-41ef9c3e4b50");
} catch {}
})();
import { D as e, Ot as t, a as n, c as r, nt as i, s as a } from "./i18n-DlquqKCP.js";
import { a as o, o as s } from "./is-debug-IkNSAGo8.js";
import { a as c, c as l, n as u, u as ee } from "./mobx.module-BTnTbXnp.js";
import { t as d } from "./is-webview-DA6FLdme.js";
import { c as te, d as ne, f as re, l as ie, m as ae, o as oe, p as se, r as ce, s as le, t as ue } from "./UIState-Dd6fvko0.js";
import { c as de, l as fe } from "./store-DTvNQcN7.js";
import { A as pe, B as me, D as f, Et as he, F as ge, G as _e, H as ve, I as ye, Jt as p, M as be, O as xe, P as m, U as Se, V as Ce, Vt as we, W as Te, _ as Ee, et as De, g as Oe, j as ke, jt as Ae, n as je, nt as Me, r as Ne, tt as Pe, v as Fe, z as Ie } from "./LayerStore-DCg-juRT.js";
import { v as Le } from "./wayfinding-BUQns13Y.js";
import { a as Re, m as ze, n as h, r as Be, u as Ve, v as He, w as Ue, x as We } from "./RouteStore-B82dztUW.js";
import { i as Ge } from "./scene-CeKqMicD.js";
import { n as Ke, r as qe } from "./init-ui-BQ7d5hKB.js";
//#region src/store/init/init-categories.ts
function Je(e) {
let { categoryStore: t, exhibitorStore: n } = e;
for (let e of p.categories || []) {
let r = new se();
Object.assign(r, e), r.exhibitors = [], r.slug = _e(r.name);
for (let t of p.exhibitors || []) if (t.categories.filter((t) => t === e.id)[0]) {
let e = n.exhibitorById.get(t.id);
e.categories.push(r), r.exhibitors.push(e);
}
r.store = t, t.categories.push(r);
}
s.log("initCategories", t.categories.length);
}
//#endregion
//#region src/store/init/init-events.ts
function Ye(e) {
var t;
(t = p.events) == null || t.forEach((t) => {
let n = (t.speakers || []).map((t) => e.speakerStore.addSpeaker({ ...t })), r = new ne(t.id, t.externalId || t.id.toString(), t.boothId, t.name || `Event ${t.id}`, t.description || "", t.startDate, t.endDate, t.logoFile, n, t.tracks || []);
e.eventStore.eventItems.push(r);
}), s.log("initEvents", e.eventStore.eventItems.length), s.log("initSpeakers", e.speakerStore.speakersMap.size), Ze(e.eventStore), Xe(e.eventStore);
}
function Xe(e) {
let t = m("visited");
e.replaceVisited(t.events), ke(() => {
ge("visited", {
exhibitors: m("visited").exhibitors,
events: e.visited.map((e) => e.id)
});
});
}
function Ze(e) {
let t = m("bookmarked");
e.replaceBookmarked(t.events), ke(() => {
var t;
let n = m("bookmarked");
ge("bookmarked", {
exhibitors: n.exhibitors,
events: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
speakers: n.speakers,
booths: n.booths
});
});
}
//#endregion
//#region src/store/init/init-exhibitors.ts
function Qe(e) {
let { exhibitorStore: t } = e, n = [...p.exhibitors || []], r = qe();
if (r) {
let e = n.findIndex((e) => e.id === r.id);
e === -1 ? n.push(r) : n.splice(e, 1, r);
}
n.sort((e, t) => Number(t.featured) - Number(e.featured));
for (let e of n) {
let n = new Oe();
Object.assign(n, e), n.slug = _e(n.name), n.rebookingState = n.rebookingState || Fe.Unasked, n.categories = [], n.booths = [], n.store = t, t.exhibitors.push(n), n.schedule = null;
}
s.log("initExhibitors", t.exhibitors.length), $e(t), et(t);
}
function $e(e) {
let t = m("bookmarked");
e.replaceBookmarked(t.exhibitors), ke(() => {
var t;
let n = m("bookmarked");
ge("bookmarked", {
exhibitors: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
events: n.events,
speakers: n.speakers,
booths: n.booths
});
});
}
function et(e) {
let t = m("visited");
e.replaceVisited(t.exhibitors), ke(() => {
let t = m("visited");
ge("visited", {
exhibitors: e.visited.map((e) => e.id),
events: t.events
});
});
}
//#endregion
//#region src/store/init/init-heatmap.ts
function tt(e) {
if (window.__heatmapData) e.heatmapStore.heatmapData = window.__heatmapData;
else if (window.__heatmapDataYah) {
e.heatmapStore.heatmapData.yah = window.__heatmapDataYah.yah.map((e) => new ie(e.id, e.name, e.viewCount, e.x, e.y, e.z));
let t = e.heatmapStore.heatmapData.yah.map((t) => {
let n = e.heatmapStore.getColorByClicks(t.viewCount), r = e.uiState.devicePixelRatio, i = he(r, n, void 0, 95, 120, t.viewCount.toString()), a = i.toDataURL();
return {
name: t.id.toString(),
scale: 1,
...Ae(i),
content: a
};
}), n = e.heatmapStore.heatmapData.yah.map((e) => ({
id: e.id.toString(),
x: e.x,
y: e.y,
z: e.z,
position: "lefttop",
icon: e.id.toString(),
selectedIcon: e.id.toString()
}));
e.routeStore.setMarkers({
markers: n,
icons: t
}), e.selectSearch(" ");
}
}
//#endregion
//#region src/store/init/init-poiTypes.ts
function nt(e) {
var t;
((t = p.poiTypes) == null ? [] : t).forEach((t) => {
e.poiTypeStore.poiTypes.push(t);
});
}
//#endregion
//#region src/store/init/init-speakers.ts
function rt(e) {
it(e.speakerStore);
}
function it(e) {
let t = m("bookmarked");
e.replaceBookmarked(t.speakers), ke(() => {
var t;
let n = m("bookmarked");
ge("bookmarked", {
exhibitors: n.exhibitors,
events: n.events,
speakers: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
booths: n.booths
});
});
}
//#endregion
//#region src/store/init/index.ts
function at(e) {
xe(e), Ye(e), rt(e), Qe(e), Je(e), nt(e), pe(e), tt(e), Ke(e);
}
//#endregion
//#region src/store/search-buttons/constants.ts
var g = /*#__PURE__*/ function(e) {
return e.BOOKMARKS = "bookmarks", e.VISITED = "visited", e.SESSIONS = "sessions", e.TOURS = "guided_tours", e.CATEGORIES = "categories", e.POI_TYPE = "poi_type", e.POI_TYPES = "poi_types", e.LINK = "link", e.EXHIBITORS = "exhibitors", e;
}({}), _ = { POI_TYPE: "poiType_" }, ot = {
BOOKMARKS: "icon-bookmark",
VISITED: "icon-checkmark",
SESSIONS: "icon-schedule",
EXHIBITORS: "icon-exhibitors"
};
//#endregion
//#region src/store/search-buttons/utils.ts
function st(e) {
try {
let t = e.replace(_.POI_TYPE, ""), n = parseInt(t, 10);
return isNaN(n) ? null : n;
} catch {
return null;
}
}
function ct(e) {
return e.id || `${e.type}_${e.name}`;
}
function v(e) {
let t = p.filterButtonsConfig;
return !(t != null && t.searchButtons) || !Array.isArray(t.searchButtons) ? null : t.searchButtons.find((t) => ct(t) === e) || null;
}
function lt(e) {
var t;
return ((t = e.children) == null ? [] : t).filter((e) => e.visible === !0 && e.type === "categories").map((e) => Number(e.id)).filter((e) => Number.isFinite(e));
}
function ut(e, t) {
return e.filter((e) => t.includes(e.id) && e.exhibitors.length > 0).length;
}
function dt(e) {
let t = 0;
for (let n of e.values()) t += n;
return t;
}
function ft(e) {
return !!e && typeof e == "object" && Array.isArray(e.searchButtons) && e.searchButtons.length > 0;
}
//#endregion
//#region src/services/URLFilterManager.ts
var y, pt, mt;
function ht(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function b(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var x = {
CATEGORIES: "categories",
POI_TYPE: "poiType",
POI_TYPES: "poiTypes",
EXHIBITORS: "exhibitors"
}, gt = (y = class {
constructor(e) {
this.rootStore = e, ht(this, "currentFilters", pt, this), ht(this, "isInitialized", mt, this), this.setupReactions();
}
initialize() {
this.parseURLFilters(), this.applyFiltersToStore(), this.isInitialized = !0, s.log("URLFilterManager initialized with filters:", this.currentFilters);
}
parseURLFilters() {
let { categories: e, poiType: t, poiTypes: n, exhibitors: r, searchButton: i } = this.readRawFilters(), a = n.filter((e) => {
if (!e) return !1;
let t = this.rootStore.poiTypeStore.poiTypes.some((t) => t.name.toLowerCase() === e.toLowerCase());
return t || s.warn(`POI type not found in data: ${e}`), t;
});
e.length > 0 && (t || a.length > 0) ? (s.warn("URL contains both categories and POI types. Clearing POI types."), this.currentFilters = {
categories: e,
poiType: null,
poiTypes: [],
exhibitors: r,
searchButton: i
}) : this.currentFilters = {
categories: e,
poiType: t,
poiTypes: a,
exhibitors: r,
searchButton: i
}, s.log("URLFilterManager parsed filters:", {
categories: e,
poiType: t,
poiTypes: n,
exhibitors: r
}), this.validateFilters(this.currentFilters);
}
readRawFilters() {
let e = t().filters;
if (Object.keys(e).length > 0) {
var n, r, i, a, o;
return {
categories: [...(n = e.categories) == null ? [] : n],
poiType: (r = e.poiType) == null ? null : r,
poiTypes: [...(i = e.poiTypes) == null ? [] : i],
exhibitors: (a = e.exhibitors) != null && a,
searchButton: (o = e.searchButton) == null ? null : o
};
}
let s = new URLSearchParams(window.location.search), c = s.get(x.CATEGORIES), l = c ? me(c) : [], u = s.get(x.POI_TYPE), ee = u ? Ie(u) : null, d = s.get(x.POI_TYPES), te = d ? me(d) : [], ne = s.get(x.EXHIBITORS);
return {
categories: l,
poiType: ee,
poiTypes: te,
exhibitors: ne === "true" || ne === "",
searchButton: null
};
}
applyFiltersToStore() {
let { uiState: e, categoryFilterStore: t, searchButtonsStore: n } = this.rootStore, r = this.currentFilters.searchButton;
if (r) {
let e = v(r), n = e ? lt(e) : [];
(e == null ? void 0 : e.type) === "categories" && n.length > 0 ? (this.currentFilters.categories = this.currentFilters.categories.filter((e) => {
var t;
return n.includes((t = this.getCategoryIdByName(e)) == null ? -1 : t);
}), t.setOwner(r)) : (s.warn(`URLFilterManager: unknown categories search button: ${r}`), this.currentFilters.searchButton = null);
}
if (this.currentFilters.categories.length > 0) {
let n = this.currentFilters.categories.map((e) => this.rootStore.categoryStore.categories.find((t) => t.name.toLowerCase() === e.toLowerCase())).filter((e) => e !== void 0);
n.length > 0 ? (e.selectedCategoryFilters = n, t.state.selectedItems = n.map((e) => ({
id: e.id,
name: e.name
})), e.categoryFilterOpen = !0, s.log("URLFilterManager applied categories:", n.map((e) => e.name)), setTimeout(() => {
this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
}, 100)) : s.warn("URLFilterManager: no categories found for names:", this.currentFilters.categories);
}
if (this.currentFilters.poiType) {
let t = this.rootStore.poiTypeStore.poiTypes.find((e) => e.name.toLowerCase() === this.currentFilters.poiType.toLowerCase());
t ? (e.selectedPoiTypeFilters = [t], n.setPoiFilterId(`${_.POI_TYPE}${t.id}`), s.log("URLFilterManager applied POI type:", t.name), setTimeout(() => {
this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
}, 100)) : s.warn("URLFilterManager: no POI type found for name:", this.currentFilters.poiType);
}
if (this.currentFilters.poiTypes.length > 0) {
let t = this.currentFilters.poiTypes.map((e) => e ? this.rootStore.poiTypeStore.poiTypes.find((t) => t.name.toLowerCase() === e.toLowerCase()) : null).filter((e) => e != null);
t.length > 0 ? (e.selectedPoiTypeFilters = t, s.log("URLFilterManager applied POI types:", t.map((e) => e.name)), setTimeout(() => {
this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
}, 100)) : (s.warn("URLFilterManager: no POI types found for names:", this.currentFilters.poiTypes), this.currentFilters.poiTypes = []);
}
this.currentFilters.exhibitors && this.openExhibitorsList();
}
filterSearch() {
let { uiState: e } = this.rootStore, t = this.owningSearchButtonId();
if (t) return `?${i({ filters: {
searchButton: t,
categories: e.selectedCategoryFilters.map((e) => e.name.toLowerCase())
} })}`;
let n = new URLSearchParams();
if (e.selectedCategoryFilters.length > 0) {
let t = ve(e.selectedCategoryFilters.map((e) => e.name.toLowerCase()));
t && n.set(x.CATEGORIES, t);
}
if (e.selectedPoiTypeFilters.length > 0 && e.selectedCategoryFilters.length === 0) if (e.selectedPoiTypeFilters.length === 1) {
let t = e.selectedPoiTypeFilters[0].name.toLowerCase();
if (t) {
let e = Ce(t);
e && n.set(x.POI_TYPE, e);
}
} else {
let t = ve(e.selectedPoiTypeFilters.map((e) => e.name.toLowerCase()));
t && n.set(x.POI_TYPES, t);
}
return this.currentFilters.exhibitors && e.selectedCategoryFilters.length === 0 && e.selectedPoiTypeFilters.length === 0 && n.set(x.EXHIBITORS, "true"), n.toString() ? `?${n.toString()}` : "";
}
updateURLFromFilters() {
let { uiState: e } = this.rootStore;
Ue(this.filterSearch()), this.currentFilters = {
categories: e.selectedCategoryFilters.length > 0 ? e.selectedCategoryFilters.map((e) => e.name) : [],
poiType: e.selectedPoiTypeFilters.length === 1 && e.selectedCategoryFilters.length === 0 ? e.selectedPoiTypeFilters[0].name : null,
poiTypes: e.selectedPoiTypeFilters.length > 1 && e.selectedCategoryFilters.length === 0 ? e.selectedPoiTypeFilters.map((e) => e.name) : [],
exhibitors: this.currentFilters.exhibitors,
searchButton: this.owningSearchButtonId()
};
}
owningSearchButtonId() {
return this.rootStore.uiState.selectedCategoryFilters.length === 0 ? null : this.rootStore.categoryFilterStore.scopeButtonId;
}
setCategories(e) {
this.currentFilters.categories = Se(e), this.currentFilters.poiType = null, this.isInitialized && this.updateURLFromFilters();
}
setPoiType(e) {
this.currentFilters.poiType = Te(e), this.currentFilters.poiTypes = [], this.currentFilters.categories = [], this.isInitialized && this.updateURLFromFilters();
}
setPoiTypes(e) {
this.currentFilters.poiTypes = Se(e), this.currentFilters.poiType = null, this.currentFilters.categories = [], this.isInitialized && this.updateURLFromFilters();
}
clearAllFilters() {
this.currentFilters = {
categories: [],
poiType: null,
poiTypes: [],
exhibitors: !1,
searchButton: null
};
let { uiState: e } = this.rootStore;
e.categoryFilterOpen = !1, this.updateURLFromFilters();
}
getCurrentFilters() {
return { ...this.currentFilters };
}
setupReactions() {
be(() => this.rootStore.uiState.selectedCategoryFilters, (e) => {
if (this.isInitialized && e.length > 0) {
let t = Se(e.map((e) => e.name));
this.setCategories(t);
}
}), be(() => this.rootStore.uiState.selectedPoiTypeFilters, (e) => {
if (this.isInitialized && e.length > 0) if (e.length === 1) {
let t = Te(e[0].name);
t && this.setPoiType(t);
} else {
let t = Se(e.map((e) => e.name));
this.setPoiTypes(t);
}
});
}
validateFilters(e) {
if (e.categories.length > 0 && (e.poiType || e.poiTypes.length > 0)) return s.warn("Categories and POI types cannot be active simultaneously"), !1;
if (e.poiType && e.poiTypes.length > 0) return s.warn("Both single POI type and multiple POI types cannot be active simultaneously"), !1;
for (let t of e.categories) if (!this.getCategoryIdByName(t)) return s.warn(`Category not found: ${t}`), !1;
if (e.poiType && !this.getPoiTypeIdByName(e.poiType)) return s.warn(`POI type not found: ${e.poiType}`), !1;
for (let t of e.poiTypes) if (!this.getPoiTypeIdByName(t)) return s.warn(`POI type not found: ${t}`), !1;
return !0;
}
getCategoryIdByName(e) {
let t = this.rootStore.categoryStore.categories.find((t) => t.name.toLowerCase() === e.toLowerCase());
return t ? t.id : null;
}
getPoiTypeIdByName(e) {
let t = this.rootStore.poiTypeStore.poiTypes.find((t) => t.name.toLowerCase() === e.toLowerCase());
return t ? t.id : null;
}
focusOnFilteredBooths() {
if (!this.rootStore.layerStore.layersLoaded) {
be(() => this.rootStore.layerStore.layersLoaded, () => {
this.focusOnFilteredBooths();
}, { fireImmediately: !1 });
return;
}
let { uiState: e, exhibitorStore: t, boothStore: n } = this.rootStore, r = [];
if (e.selectedCategoryFilters.length > 0) {
let i = t.exhibitors.filter((t) => e.selectedCategoryFilters.some((e) => t.categories.some((t) => t.id === e.id)));
r = n.booths.filter((e) => i.some((t) => {
var n;
return t.id === ((n = e.exhibitors[0]) == null ? void 0 : n.id);
}));
}
if (e.selectedPoiTypeFilters.length > 0) {
let t = n.booths.filter((t) => e.selectedPoiTypeFilters.some((e) => t.poiTypeId === e.id));
r = r.length > 0 ? r.filter((e) => t.some((t) => t.id === e.id)) : t;
}
let i = r.filter((e) => e.visible);
i.length > 0 ? (e.moveToBooths = i, this.rootStore.moveToList(i)) : r.length > 0 && (this.rootStore.showMap(), this.rootStore.moveToList(r));
}
openExhibitorsList() {
let { uiState: e } = this.rootStore;
e.list = {
type: "exhibitors",
text: "",
focused: !1
}, setTimeout(() => {
this.rootStore.searchStore.setFocused(!0);
}, 100), s.log("URLFilterManager opened exhibitors list");
}
}, pt = b(y.prototype, "currentFilters", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
categories: [],
poiType: null,
poiTypes: [],
exhibitors: !1,
searchButton: null
};
}
}), mt = b(y.prototype, "isInitialized", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), b(y.prototype, "initialize", [u], Object.getOwnPropertyDescriptor(y.prototype, "initialize"), y.prototype), b(y.prototype, "parseURLFilters", [u], Object.getOwnPropertyDescriptor(y.prototype, "parseURLFilters"), y.prototype), b(y.prototype, "applyFiltersToStore", [u], Object.getOwnPropertyDescriptor(y.prototype, "applyFiltersToStore"), y.prototype), b(y.prototype, "updateURLFromFilters", [u], Object.getOwnPropertyDescriptor(y.prototype, "updateURLFromFilters"), y.prototype), b(y.prototype, "setCategories", [u], Object.getOwnPropertyDescriptor(y.prototype, "setCategories"), y.prototype), b(y.prototype, "setPoiType", [u], Object.getOwnPropertyDescriptor(y.prototype, "setPoiType"), y.prototype), b(y.prototype, "setPoiTypes", [u], Object.getOwnPropertyDescriptor(y.prototype, "setPoiTypes"), y.prototype), b(y.prototype, "clearAllFilters", [u], Object.getOwnPropertyDescriptor(y.prototype, "clearAllFilters"), y.prototype), b(y.prototype, "focusOnFilteredBooths", [u], Object.getOwnPropertyDescriptor(y.prototype, "focusOnFilteredBooths"), y.prototype), b(y.prototype, "openExhibitorsList", [u], Object.getOwnPropertyDescriptor(y.prototype, "openExhibitorsList"), y.prototype), y), S;
function _t(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var vt = (S = class {
constructor(e) {
this.rootStore = void 0, this.rootStore = e;
}
get bookmarkedBooths() {
return this.rootStore.boothStore.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly);
}
get total() {
return this.rootStore.exhibitorStore.bookmarked.length + this.rootStore.eventStore.bookmarked.length + this.rootStore.speakerStore.bookmarked.length + this.bookmarkedBooths.length;
}
get hasRoutableBookmarks() {
return this.rootStore.exhibitorStore.bookmarked.length > 0 || this.bookmarkedBooths.length > 0;
}
}, _t(S.prototype, "bookmarkedBooths", [c], Object.getOwnPropertyDescriptor(S.prototype, "bookmarkedBooths"), S.prototype), _t(S.prototype, "total", [c], Object.getOwnPropertyDescriptor(S.prototype, "total"), S.prototype), _t(S.prototype, "hasRoutableBookmarks", [c], Object.getOwnPropertyDescriptor(S.prototype, "hasRoutableBookmarks"), S.prototype), S), C, yt;
function bt(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function w(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var xt = (C = class {
get publicRootStore() {
return this.rootStore;
}
constructor(e) {
this.rootStore = void 0, bt(this, "state", yt, this), this.rootStore = e;
}
openFilter() {
this.state.isOpen = !0, this.state.pendingItems = [...this.state.selectedItems];
}
closeFilter() {
this.state.isOpen = !1, this.state.pendingItems = [], this.rootStore.urlFilterManager && this.rootStore.urlFilterManager.isInitialized && this.rootStore.urlFilterManager.clearAllFilters();
}
applyFilter() {
this.state.selectedItems = [...this.state.pendingItems], this.closeFilter(), this.updateUIState();
}
resetFilter() {
this.state.pendingItems = [];
}
clearPendingItems() {
this.state.pendingItems = [];
}
setPendingItems(e) {
this.state.pendingItems = e;
}
}, yt = w(C.prototype, "state", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
isOpen: !1,
selectedItems: [],
pendingItems: []
};
}
}), w(C.prototype, "openFilter", [u], Object.getOwnPropertyDescriptor(C.prototype, "openFilter"), C.prototype), w(C.prototype, "closeFilter", [u], Object.getOwnPropertyDescriptor(C.prototype, "closeFilter"), C.prototype), w(C.prototype, "applyFilter", [u], Object.getOwnPropertyDescriptor(C.prototype, "applyFilter"), C.prototype), w(C.prototype, "resetFilter", [u], Object.getOwnPropertyDescriptor(C.prototype, "resetFilter"), C.prototype), w(C.prototype, "clearPendingItems", [u], Object.getOwnPropertyDescriptor(C.prototype, "clearPendingItems"), C.prototype), w(C.prototype, "setPendingItems", [u], Object.getOwnPropertyDescriptor(C.prototype, "setPendingItems"), C.prototype), C), St, T, Ct, wt;
function Tt(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function E(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Et = {
buttonId: null,
categoryIds: null,
title: null
}, Dt = (St = l.ref, T = class extends xt {
constructor(...e) {
super(...e), Tt(this, "scopeButtonId", Ct, this), Tt(this, "viewScope", wt, this);
}
get filteredExhibitors() {
return this.state.selectedItems.length === 0 ? this.rootStore.exhibitorStore.exhibitors : this.rootStore.exhibitorStore.exhibitors.filter((e) => this.state.selectedItems.some((t) => e.categories.some((e) => e.id === t.id)));
}
get filteredBooths() {
return this.rootStore.boothStore.booths.filter((e) => this.filteredExhibitors.some((t) => {
var n;
return t.id === ((n = e.exhibitors[0]) == null ? void 0 : n.id);
}));
}
get viewsOwnSelection() {
return this.viewScope !== null && this.viewScope.buttonId === this.scopeButtonId;
}
openFilter() {
this.openScope(Et);
}
openFilterForButton(e, t, n) {
this.openScope({
buttonId: e,
categoryIds: t,
title: n
});
}
setOwner(e) {
this.scopeButtonId = e;
}
openScope(e) {
this.viewScope = e, this.state.isOpen = !0, this.state.pendingItems = this.viewsOwnSelection ? [...this.state.selectedItems] : [];
}
applyFilter() {
var e, t;
this.setOwner(this.state.pendingItems.length > 0 ? (e = (t = this.viewScope) == null ? void 0 : t.buttonId) == null ? null : e : null), super.applyFilter();
}
clearSelection() {
this.state.selectedItems = [], this.state.pendingItems = [], this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.uiState.categoryFilterOpen = !1, this.setOwner(null);
}
updateUIState() {
this.rootStore.uiState.menu = !1;
let e = this.state.selectedItems.map((e) => this.rootStore.categoryStore.categories.find((t) => t.id === e.id)).filter((e) => e !== void 0);
this.rootStore.uiState.selectedCategoryFilters = e, this.rootStore.uiState.categoryFilterOpen = !0, this.rootStore.searchStore.setFocused(!0), this.rootStore.moveToList(), this.rootStore.showMap();
let t = e.map((e) => e.name);
this.rootStore.urlFilterManager.setCategories(t);
}
getFilteredItems() {
return this.rootStore.exhibitorStore.exhibitors.map((e) => ({
id: e.id,
name: e.name
}));
}
getMatchingExhibitorsCount() {
return this.state.pendingItems.length === 0 ? this.rootStore.exhibitorStore.exhibitors.length : this.rootStore.exhibitorStore.exhibitors.filter((e) => e.categories.some((e) => this.state.pendingItems.some((t) => t.id === e.id))).length;
}
resetFilter() {
this.clearSelection(), this.rootStore.uiState.list = {
type: "search",
text: "",
focused: !1
}, this.rootStore.urlFilterManager.setCategories([]);
}
}, Ct = E(T.prototype, "scopeButtonId", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), wt = E(T.prototype, "viewScope", [St], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), E(T.prototype, "filteredExhibitors", [c], Object.getOwnPropertyDescriptor(T.prototype, "filteredExhibitors"), T.prototype), E(T.prototype, "filteredBooths", [c], Object.getOwnPropertyDescriptor(T.prototype, "filteredBooths"), T.prototype), E(T.prototype, "viewsOwnSelection", [c], Object.getOwnPropertyDescriptor(T.prototype, "viewsOwnSelection"), T.prototype), E(T.prototype, "openFilter", [u], Object.getOwnPropertyDescriptor(T.prototype, "openFilter"), T.prototype), E(T.prototype, "openFilterForButton", [u], Object.getOwnPropertyDescriptor(T.prototype, "openFilterForButton"), T.prototype), E(T.prototype, "setOwner", [u], Object.getOwnPropertyDescriptor(T.prototype, "setOwner"), T.prototype), E(T.prototype, "openScope", [u], Object.getOwnPropertyDescriptor(T.prototype, "openScope"), T.prototype), E(T.prototype, "applyFilter", [u], Object.getOwnPropertyDescriptor(T.prototype, "applyFilter"), T.prototype), E(T.prototype, "clearSelection", [u], Object.getOwnPropertyDescriptor(T.prototype, "clearSelection"), T.prototype), E(T.prototype, "resetFilter", [u], Object.getOwnPropertyDescriptor(T.prototype, "resetFilter"), T.prototype), T), Ot, kt;
function At(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function jt(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Mt = (Ot = class {
constructor(e) {
this.keys = e, At(this, "engine", kt, this), this.enginePromise = null, this.lastCollection = null;
}
loadEngine() {
return this.enginePromise || (this.enginePromise = this.buildEngine()), this.enginePromise;
}
async buildEngine() {
try {
let { default: e } = await import("./fuse-jVBfzHic.js").then((e) => e.n);
ee(() => {
this.engine = new e([], {
keys: this.keys,
ignoreFieldNorm: !0,
includeScore: !0,
threshold: .3,
ignoreLocation: !0
});
});
} catch (e) {
console.error(e), this.enginePromise = null;
}
}
search(e, t) {
return !this.engine || !(e != null && e.length) || !t ? [] : (this.lastCollection !== e && (this.engine.setCollection(e), this.lastCollection = e), this.engine.search(t));
}
}, kt = jt(Ot.prototype, "engine", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), Ot), D, Nt, Pt;
function Ft(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function It(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Lt = (D = class {
constructor() {
Ft(this, "enabled", Nt, this), Ft(this, "unreadCount", Pt, this);
}
setEnabled(e) {
this.enabled = e;
}
setUnreadCount(e) {
this.unreadCount = e;
}
}, Nt = It(D.prototype, "enabled", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Pt = It(D.prototype, "unreadCount", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return 0;
}
}), It(D.prototype, "setEnabled", [u], Object.getOwnPropertyDescriptor(D.prototype, "setEnabled"), D.prototype), It(D.prototype, "setUnreadCount", [u], Object.getOwnPropertyDescriptor(D.prototype, "setUnreadCount"), D.prototype), D), Rt, zt, Bt, Vt, Ht, O, Ut, Wt, Gt;
function Kt(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function k(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var qt = !0;
function Jt() {
return typeof window > "u" || window.navigator.onLine;
}
var Yt = (Rt = c({ keepAlive: !0 }), zt = c({ keepAlive: !0 }), Bt = c({ keepAlive: !0 }), Vt = c({ keepAlive: !0 }), Ht = c({ keepAlive: !0 }), O = class {
constructor(e) {
this.rootStore = void 0, Kt(this, "mapViewMode", Ut, this), Kt(this, "maplibreSelected", Wt, this), Kt(this, "isOnline", Gt, this), this.cameraPortBox = l.box(null, { deep: !1 }), this.handleOnline = () => this.setOnline(!0), this.handleOffline = () => this.setOnline(!1), this.rootStore = e, this.mapViewMode = this.getInitialViewMode(), this.maplibreSelected = this.mapViewMode !== "floorplan", typeof window < "u" && (window.addEventListener("online", this.handleOnline), window.addEventListener("offline", this.handleOffline));
}
dispose() {
typeof window > "u" || (window.removeEventListener("online", this.handleOnline), window.removeEventListener("offline", this.handleOffline));
}
setOnline(e) {
this.isOnline = e;
}
get cameraPort() {
return this.cameraPortBox.get();
}
setCameraPort(e) {
this.cameraPortBox.set(e);
}
clearCameraPortIfCurrent(e) {
this.cameraPortBox.get() === e && this.cameraPortBox.set(null);
}
activateMaplibre() {
this.maplibreEnabled && (this.mapViewMode = p.allow3dView && this.mapViewMode !== "map3d" ? "map3d" : "map2d", this.maplibreSelected = !0);
}
deactivateMaplibre() {
this.mapViewMode = "floorplan", this.maplibreSelected = !1;
}
get hideModeSwitchButton() {
return !this.maplibreEnabled || !p.allow3dView || qt;
}
get maplibreEnabled() {
var e, t, n;
let r = (e = (t = this.rootStore.fp) == null ? void 0 : t.maplibre) == null ? window.__efpMaplibre : e, i = !!(r != null && r.offline) && (!!r.style || !!r.styleUrl);
return this.useMaplibreMap && !!(!((n = Le()) == null || (n = n.properties) == null) && n.config) && (this.isOnline || i);
}
get useMaplibreMap() {
var e, t;
return (e = p.enableExperimentalMaplibre) == null ? ((t = Le()) == null || (t = t.properties) == null || (t = t.config) == null ? void 0 : t.type) === "maplibre" : e;
}
get showMaplibre() {
return this.maplibreEnabled && (this.mapViewMode === "map2d" || this.mapViewMode === "map3d");
}
get isMap3d() {
return this.maplibreEnabled && this.mapViewMode === "map3d";
}
getInitialViewMode() {
return this.maplibreEnabled ? this.rootStore.uiState.is3DView ? "map3d" : "map2d" : "floorplan";
}
}, Ut = k(O.prototype, "mapViewMode", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return "floorplan";
}
}), Wt = k(O.prototype, "maplibreSelected", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Gt = k(O.prototype, "isOnline", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return Jt();
}
}), k(O.prototype, "setOnline", [u], Object.getOwnPropertyDescriptor(O.prototype, "setOnline"), O.prototype), k(O.prototype, "setCameraPort", [u], Object.getOwnPropertyDescriptor(O.prototype, "setCameraPort"), O.prototype), k(O.prototype, "clearCameraPortIfCurrent", [u], Object.getOwnPropertyDescriptor(O.prototype, "clearCameraPortIfCurrent"), O.prototype), k(O.prototype, "activateMaplibre", [u], Object.getOwnPropertyDescriptor(O.prototype, "activateMaplibre"), O.prototype), k(O.prototype, "deactivateMaplibre", [u], Object.getOwnPropertyDescriptor(O.prototype, "deactivateMaplibre"), O.prototype), k(O.prototype, "hideModeSwitchButton", [Rt], Object.getOwnPropertyDescriptor(O.prototype, "hideModeSwitchButton"), O.prototype), k(O.prototype, "maplibreEnabled", [zt], Object.getOwnPropertyDescriptor(O.prototype, "maplibreEnabled"), O.prototype), k(O.prototype, "useMaplibreMap", [Bt], Object.getOwnPropertyDescriptor(O.prototype, "useMaplibreMap"), O.prototype), k(O.prototype, "showMaplibre", [Vt], Object.getOwnPropertyDescriptor(O.prototype, "showMaplibre"), O.prototype), k(O.prototype, "isMap3d", [Ht], Object.getOwnPropertyDescriptor(O.prototype, "isMap3d"), O.prototype), O), A;
function Xt(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Zt = (A = class {
constructor(e) {
this.rootStore = e;
}
get ui() {
return this.rootStore.uiState;
}
get isRouteActive() {
let e = this.ui.selectedRoute;
return !!(e != null && e.from && e != null && e.to);
}
get isSearchListOpen() {
let { list: e } = this.ui;
return e.type === "search" || p.isRebooking && e.type === "exhibitors";
}
get mediumSizeMultiplier() {
return this.isRouteActive ? 7 : this.ui.details ? 3 : this.isSearchListOpen ? 9 : 3;
}
get fullSizeOffset() {
let e = this.ui, t = e.wsOccupiedHeightPx, n = e.bannerType === "free" && !e.freeBannerDismissed ? 40 : 0;
if (e.details && !(e.details instanceof h)) return t + n + 20;
let r = e.shouldShowSearchButtons ? 54 : 0;
return t + n + 54 + 20 + r;
}
}, Xt(A.prototype, "mediumSizeMultiplier", [c], Object.getOwnPropertyDescriptor(A.prototype, "mediumSizeMultiplier"), A.prototype), Xt(A.prototype, "fullSizeOffset", [c], Object.getOwnPropertyDescriptor(A.prototype, "fullSizeOffset"), A.prototype), A), Qt = {
active: !1,
key: "",
matchingMarkers: []
};
function $t(e, t, n, r) {
if (!e.length || t) return Qt;
let i = new Set(e), a = new Map(r.map((e) => [e.boothId, e])), o = [];
for (let e of n) {
if (e.poiTypeId == null || !i.has(e.poiTypeId)) continue;
let t = a.get(e.id);
t && o.push(t);
}
return o.length ? {
active: !0,
key: [...new Set(o.map((e) => e.boothId))].sort((e, t) => e - t).join(","),
matchingMarkers: o
} : Qt;
}
//#endregion
//#region src/store/PoiMarkerStore.ts
var en, tn, nn, rn, j;
function an(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var on = (en = c({ keepAlive: !0 }), tn = c({ keepAlive: !0 }), nn = c({ keepAlive: !0 }), rn = c({ keepAlive: !0 }), j = class {
constructor(e) {
this.rootStore = void 0, this.markersBox = l.box([], { deep: !1 }), this.generation = 0, this.rootStore = e;
}
get markers() {
return this.markersBox.get();
}
addMany(e) {
e.length && this.markersBox.set([...this.markers, ...e]);
}
clear() {
this.generation += 1, this.markersBox.set([]);
}
get selectedMarkerId() {
let e = [...this.rootStore.uiState.selectedBooths], t = e.length === 1 ? e[0] : void 0;
return t && this.markers.some((e) => e.boothId === t.id) ? t.id : null;
}
get selectionActive() {
return this.selectedMarkerId !== null;
}
get outdoorFilter() {
let { uiState: e, boothStore: t } = this.rootStore;
return $t(e.selectedPoiTypeFilters.map((e) => e.id), e.selectedCategoryFilters.length > 0, t.booths, this.markers);
}
get dimSuppressed() {
return this.outdoorFilter.active || this.selectionActive;
}
}, an(j.prototype, "addMany", [u], Object.getOwnPropertyDescriptor(j.prototype, "addMany"), j.prototype), an(j.prototype, "clear", [u], Object.getOwnPropertyDescriptor(j.prototype, "clear"), j.prototype), an(j.prototype, "selectedMarkerId", [en], Object.getOwnPropertyDescriptor(j.prototype, "selectedMarkerId"), j.prototype), an(j.prototype, "selectionActive", [tn], Object.getOwnPropertyDescriptor(j.prototype, "selectionActive"), j.prototype), an(j.prototype, "outdoorFilter", [nn], Object.getOwnPropertyDescriptor(j.prototype, "outdoorFilter"), j.prototype), an(j.prototype, "dimSuppressed", [rn], Object.getOwnPropertyDescriptor(j.prototype, "dimSuppressed"), j.prototype), j), sn = class {
constructor(e) {
this.rootStore = void 0, this.poiTypes = [], this.rootStore = e;
}
}, cn = class {
constructor() {
this.id = void 0;
}
shouldShowShortcuts() {
return !0;
}
}, ln;
function un(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var dn = (ln = class extends cn {
constructor(e) {
super(), this.rootStore = e, this.id = "search";
}
createShortcuts() {
let { searchButtonsStore: e } = this.rootStore, t = [], n = e.getActiveParent();
if (n && n.children) {
let r = n.children.filter((e) => e.visible);
if (n.type === "poi_types" && r.length === 1) return t;
r.forEach((r) => {
if (r.type === "poi_types") {
var i;
let a = ((i = r.id) == null ? void 0 : i.toString()) || r.name, o = e.isChildActive(a);
t.push({
id: a,
label: r.name,
enabled: !0,
active: o,
tooltip: o ? `Remove ${r.name} from filter (show all ${n.name})` : `Filter only by ${r.name}`,
variant: "default",
action: "toggle",
showResetButton: !1
});
}
});
}
return t;
}
get shortcuts() {
return this.createShortcuts();
}
shouldShowShortcuts() {
let { searchButtonsStore: e } = this.rootStore;
return e.hasActiveParentWithChildren;
}
handleShortcutClick(e) {
let { searchButtonsStore: t } = this.rootStore;
t.toggleChildFilter(e);
}
handleShortcutReset() {
let { searchButtonsStore: e } = this.rootStore;
e.clearAllChildFilters();
}
}, un(ln.prototype, "shortcuts", [c], Object.getOwnPropertyDescriptor(ln.prototype, "shortcuts"), ln.prototype), ln), fn;
function pn(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var mn = (fn = class extends cn {
constructor(e) {
super(), this.rootStore = e, this.id = "sessions";
}
get computedShortcuts() {
let { sessionsFilterStore: e, eventStore: t } = this.rootStore, { filters: n } = e.state, r = [];
return r.push({
id: "bookmarks",
icon: "icon-bookmark",
enabled: !0,
active: n.showBookmarksOnly.value,
tooltip: "Show bookmarked events only",
variant: "default",
action: "toggle",
showResetButton: !1
}), t.tracks.length > 0 && r.push({
id: "tracks",
label: "Tracks",
badge: n.selectedTracks.value.length > 0 ? n.selectedTracks.value.length : void 0,
enabled: !0,
active: n.selectedTracks.value.length > 0,
tooltip: "Show events by tracks",
variant: "default",
action: "custom",
showResetButton: !0
}), this.rootStore.speakerStore.speakers.length > 0 && r.push({
id: "speakers",
label: "Speakers",
enabled: !0,
active: !1,
tooltip: "Open speakers list",
variant: "default",
action: "custom",
showResetButton: !1
}), (t.liveEvents.length > 0 || n.showLiveOnly.value) && r.push({
id: "live",
label: "Live",
enabled: !0,
active: n.showLiveOnly.value,
tooltip: "Show events happening now",
variant: "default",
action: "toggle",
showResetButton: !1
}), t.todayEvents.length > 0 && r.push({
id: "today",
label: "Today",
enabled: !0,
active: n.date.value === "today",
tooltip: "Show today's events",
variant: "default",
action: "toggle",
showResetButton: !1
}), t.tomorrowEvents.length > 0 && r.push({
id: "tomorrow",
label: "Tomorrow",
enabled: !0,
active: n.date.value === "tomorrow",
tooltip: "Show tomorrow's events",
variant: "default",
action: "toggle",
showResetButton: !1
}), t.pastEvents.length > 0 && r.push({
id: "past",
label: "Past",
enabled: !0,
active: n.date.value === "past",
tooltip: "Show past events",
variant: "default",
action: "toggle",
showResetButton: !1
}), t.venues.length > 0 && r.push({
id: "venues",
label: "Venues",
badge: n.selectedVenues.value.length > 0 ? n.selectedVenues.value.length : void 0,
enabled: !0,
active: n.selectedVenues.value.length > 0,
tooltip: "Show events by venues",
variant: "default",
action: "custom",
showResetButton: !0
}), r;
}
createShortcuts() {
return this.computedShortcuts;
}
handleShortcutClick(e) {
switch (e) {
case "live":
this.toggleLiveFilter();
break;
case "bookmarks":
this.toggleBookmarksFilter();
break;
case "tracks":
this.rootStore.sessionsFilterStore.openFilterWithSections(["tracks"]);
break;
case "venues":
this.rootStore.sessionsFilterStore.openFilterWithSections(["venues"]);
break;
case "speakers":
this.rootStore.selectSpeakers();
break;
case "today":
this.toggleDateFilter("today");
break;
case "tomorrow":
this.toggleDateFilter("tomorrow");
break;
case "past":
this.toggleDateFilter("past");
break;
case "earliest":
this.toggleSortOrder();
break;
default: console.warn(`Unknown shortcut ID: ${e}`);
}
}
handleShortcutReset(e) {
let { sessionsFilterStore: t } = this.rootStore;
switch (e) {
case "live":
t.setPending("showLiveOnly", !1), t.applyFilters();
break;
case "tracks":
t.setPending("selectedTracks", []), t.applyFilters();
break;
case "venues":
t.setPending("selectedVenues", []), t.applyFilters();
break;
case "bookmarks":
t.setPending("showBookmarksOnly", !1), t.applyFilters();
break;
case "today":
t.setPending("date", "all"), t.applyFilters();
break;
case "tomorrow":
t.setPending("date", "all"), t.applyFilters();
break;
case "past":
t.setPending("date", "all"), t.applyFilters();
break;
default: console.warn(`Unknown shortcut reset ID: ${e}`);
}
}
shouldShowShortcuts() {
return this.rootStore.uiState.list.type === "sessions" && this.rootStore.uiState.details === null;
}
toggleBookmarksFilter() {
let { sessionsFilterStore: e } = this.rootStore, t = !e.state.filters.showBookmarksOnly.value;
e.setPending("showBookmarksOnly", t), e.applyFilters();
}
toggleLiveFilter() {
let { sessionsFilterStore: e } = this.rootStore, t = !e.state.filters.showLiveOnly.value;
e.setPending("showLiveOnly", t), e.applyFilters();
}
toggleDateFilter(e) {
let { sessionsFilterStore: t } = this.rootStore;
t.state.filters.date.value === e ? t.setPending("date", "all") : t.setPending("date", e), t.applyFilters();
}
toggleSortOrder() {
let { sessionsFilterStore: e } = this.rootStore, t = e.state.filters.sortOrder.value === "asc" ? "desc" : "asc";
e.setPending("sortOrder", t), e.applyFilters();
}
}, pn(fn.prototype, "computedShortcuts", [c], Object.getOwnPropertyDescriptor(fn.prototype, "computedShortcuts"), fn.prototype), fn), hn;
function gn(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var _n = (hn = class extends cn {
constructor(e) {
super(), this.rootStore = e, this.id = "speakers";
}
get computedShortcuts() {
let { speakerFilterStore: e } = this.rootStore, { filters: t } = e.state;
return [];
}
createShortcuts() {
return this.computedShortcuts;
}
handleShortcutClick(e) {
switch (e) {
case "companies":
this.rootStore.speakerFilterStore.openFilterWithSections(["companies"]);
break;
case "jobTitles":
this.rootStore.speakerFilterStore.openFilterWithSections(["jobTitles"]);
break;
default: console.warn(`Unknown shortcut ID: ${e}`);
}
}
handleShortcutReset(e) {
let { speakerFilterStore: t } = this.rootStore;
switch (e) {
case "companies":
t.setPending("selectedCompanies", []), t.applyFilters();
break;
case "jobTitles":
t.setPending("selectedJobTitles", []), t.applyFilters();
break;
default: console.warn(`Unknown shortcut ID for reset: ${e}`);
}
}
}, gn(hn.prototype, "computedShortcuts", [c], Object.getOwnPropertyDescriptor(hn.prototype, "computedShortcuts"), hn.prototype), hn), M, vn, yn, bn, xn;
function Sn(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function N(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Cn = (M = class {
constructor(e) {
this.rootStore = void 0, Sn(this, "items", vn, this), Sn(this, "startPoint", yn, this), Sn(this, "source", bn, this), Sn(this, "excludedVisitedCount", xn, this), this.rootStore = e;
}
get resolvedBooths() {
let e = /* @__PURE__ */ new Map();
return this.startPoint && e.set(this.startPoint.id, this.startPoint), this.items.forEach((t) => {
t.booth && e.set(t.booth.id, t.booth);
}), Array.from(e.values());
}
get stopsCount() {
return this.items.length;
}
get startPointBoothOptions() {
return this.rootStore.boothStore.booths;
}
get startPointAutocompleteOptions() {
let { exhibitorStore: e } = this.rootStore, t = this.startPointBoothOptions, n = [], r = /* @__PURE__ */ new Set();
return e.exhibitors.forEach((e) => {
e.booths.forEach((t) => {
r.add(t.id), n.push({
value: t.id.toString(),
label: `${e.name} - ${t.name}`,
exhibitorId: e.id
});
});
}), t.filter((e) => !r.has(e.id)).forEach((e) => {
n.push({
value: e.id.toString(),
label: e.name
});
}), n.sort((e, t) => e.label.localeCompare(t.label, void 0, { sensitivity: "base" }));
}
get title() {
return this.source === "bookmarks" ? a("Bookmarks route") : "";
}
get subtitleParts() {
let { routeInfo: e } = this.rootStore.routeStore, t;
if (e != null && e.time) {
let n = e.time;
t = n < 60 ? a("< 1 min") : a("~ {{n}} min", { n: Math.round(n / 60) });
}
return {
stops: a("{{count}} stops", { count: this.stopsCount }),
from: this.startPoint ? a("From {{name}}", { name: this.startPoint.name }) : void 0,
distance: e ? e.distance : void 0,
travelTime: t
};
}
get routeFloors() {
let e = this.rootStore.routeStore.pathLayers;
return e.map((t, n) => {
var r, i, a, o, s, c;
let l = e[n + 1], u = (r = (i = t.layer) == null ? void 0 : i.basePriority) == null ? 0 : r, ee = (a = l == null || (o = l.layer) == null ? void 0 : o.basePriority) == null ? 0 : a, d = l ? ee < u ? "up" : "down" : void 0;
return {
id: t.id,
name: (s = t.layer) == null ? void 0 : s.shortName,
description: (c = t.layer) == null ? void 0 : c.description,
directionToNext: d
};
});
}
get currentRouteFloor() {
let e = this.routeFloors, t = this.rootStore.routeStore.currentRouteLayer;
if (!e.length) return;
if (!t) return e[0] ? {
id: e[0].id,
name: e[0].name
} : void 0;
let n = e.find((e) => {
var n, r;
return ((n = e.description) == null ? void 0 : n.toLowerCase()) === ((r = t.description) == null ? void 0 : r.toLowerCase());
});
return n ? {
id: n.id,
name: n.name
} : {
id: e[0].id,
name: e[0].name
};
}
setRouteFloor(e) {
let t = this.rootStore.routeStore.pathLayers.find((t) => t.id === e.id);
t != null && t.layer && this.rootStore.layerStore.updateVisibility(t.layer, !0);
}
launch(e, t = "custom", n) {
this.excludedVisitedCount = e.filter((e) => e.type === "exhibitor" && e.entity.visited).length, this.items = e.filter((e) => e.type !== "exhibitor" || !e.entity.visited), this.source = t, this.startPoint = n === void 0 ? this.detectStartPoint() : n;
let { uiState: r } = this.rootStore;
r.list = {
type: "route-planner",
source: t
}, r.details = null, r.menu = !1, this.buildRoute();
}
launchFromBookmarks(e) {
let { exhibitorStore: t, eventStore: n, boothStore: r } = this.rootStore, i = [];
t.bookmarked.forEach((e) => {
i.push({
type: "exhibitor",
entity: e,
booth: e.booths[0] || null
});
}), r.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly).forEach((e) => {
i.push({
type: "booth",
entity: e,
booth: e
});
}), this.launch(i, "bookmarks", e);
}
launchFromSlugs(e, t) {
let n = this.resolveSlugs(e);
this.launch(n, "custom", t);
}
resolveSlugs(e) {
let { exhibitorStore: t, eventStore: n, boothStore: r } = this.rootStore;
return e.filter(Boolean).map((e) => {
let n = e.toLowerCase(), r = t.exhibitors.find((e) => {
var t, r;
return ((t = e.slug) == null ? void 0 : t.toLowerCase()) === n || ((r = e.externalId) == null ? void 0 : r.toLowerCase()) === n;
});
if (r) return {
type: "exhibitor",
entity: r,
booth: r.booths[0] || null
};
let i = Re(e);
return i ? {
type: "booth",
entity: i,
booth: i
} : null;
}).filter((e) => e !== null);
}
buildRoute() {
let e = [];
if (this.startPoint && this.startPoint.name && e.push(this.startPoint.name), this.items.forEach((t) => {
t.booth && t.booth.name && e.push(t.booth.name);
}), e.length < 2) {
this.rootStore.routeStore.updateRoute([]);
return;
}
let t;
try {
var n, r;
let i = (n = this.rootStore.fp) == null || (r = n.getOptimizedRoutes) == null ? void 0 : r.call(n, e);
t = Array.isArray(i) ? i.flatMap((e) => {
var t;
return (t = e == null ? void 0 : e.waypoints) == null ? [] : t;
}) : [];
} catch {
t = [];
}
let i = new Set(e), a = new Set(t), o = e.length > 0 && [...i].every((e) => a.has(e));
(!t.length || !o) && (t = e.slice()), this.reorderItemsByNames(t);
let s = this.resolvedBooths;
if (s.length < 2) {
this.rootStore.routeStore.updateRoute([]);
return;
}
let c = s[0], l = s[s.length - 1], u = s.slice(1, -1), ee = new h(c, l, u);
this.rootStore.routeStore.selectRoute(ee, !1), this.rootStore.uiState.setIsMultiPointRoute(u.length > 0);
}
reorderItemsByNames(e) {
let t = this.startPoint ? this.startPoint.name : null, n = /* @__PURE__ */ new Map();
this.items.forEach((e) => {
let t = e.booth ? e.booth.name : null;
t && (n.has(t) || n.set(t, []), n.get(t).push(e));
});
let r = [];
e.forEach((e) => {
if (e !== t) {
let t = n.get(e);
t && t.length > 0 && r.push(...t.splice(0));
}
}), this.items = r;
}
detectStartPoint() {
let { boothStore: e, poiTypeStore: t } = this.rootStore, n = ["entrance", "entrances"], r = t.poiTypes.find((e) => n.includes(e.name.toLowerCase()));
return r && e.booths.find((e) => e.poiTypeId === r.id) || null;
}
setStartPoint(e) {
this.startPoint = e, this.buildRoute();
}
removeItem(e) {
this.items.splice(e, 1), this.buildRoute();
}
reorderItems(e, t) {
let [n] = this.items.splice(e, 1);
this.items.splice(t, 0, n), this.buildRoute();
}
close() {
this.items = [], this.startPoint = null, this.source = null, this.excludedVisitedCount = 0, this.rootStore.uiState.details = null, this.rootStore.uiState.list = {
type: "search",
text: "",
focused: !1
}, this.rootStore.routeStore.selectRoute(null, !1);
}
}, vn = N(M.prototype, "items", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), yn = N(M.prototype, "startPoint", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), bn = N(M.prototype, "source", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), xn = N(M.prototype, "excludedVisitedCount", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return 0;
}
}), N(M.prototype, "resolvedBooths", [c], Object.getOwnPropertyDescriptor(M.prototype, "resolvedBooths"), M.prototype), N(M.prototype, "stopsCount", [c], Object.getOwnPropertyDescriptor(M.prototype, "stopsCount"), M.prototype), N(M.prototype, "startPointBoothOptions", [c], Object.getOwnPropertyDescriptor(M.prototype, "startPointBoothOptions"), M.prototype), N(M.prototype, "startPointAutocompleteOptions", [c], Object.getOwnPropertyDescriptor(M.prototype, "startPointAutocompleteOptions"), M.prototype), N(M.prototype, "title", [c], Object.getOwnPropertyDescriptor(M.prototype, "title"), M.prototype), N(M.prototype, "subtitleParts", [c], Object.getOwnPropertyDescriptor(M.prototype, "subtitleParts"), M.prototype), N(M.prototype, "routeFloors", [c], Object.getOwnPropertyDescriptor(M.prototype, "routeFloors"), M.prototype), N(M.prototype, "currentRouteFloor", [c], Object.getOwnPropertyDescriptor(M.prototype, "currentRouteFloor"), M.prototype), N(M.prototype, "setRouteFloor", [u], Object.getOwnPropertyDescriptor(M.prototype, "setRouteFloor"), M.prototype), N(M.prototype, "launch", [u], Object.getOwnPropertyDescriptor(M.prototype, "launch"), M.prototype), N(M.prototype, "launchFromBookmarks", [u], Object.getOwnPropertyDescriptor(M.prototype, "launchFromBookmarks"), M.prototype), N(M.prototype, "launchFromSlugs", [u], Object.getOwnPropertyDescriptor(M.prototype, "launchFromSlugs"), M.prototype), N(M.prototype, "buildRoute", [u], Object.getOwnPropertyDescriptor(M.prototype, "buildRoute"), M.prototype), N(M.prototype, "setStartPoint", [u], Object.getOwnPropertyDescriptor(M.prototype, "setStartPoint"), M.prototype), N(M.prototype, "removeItem", [u], Object.getOwnPropertyDescriptor(M.prototype, "removeItem"), M.prototype), N(M.prototype, "reorderItems", [u], Object.getOwnPropertyDescriptor(M.prototype, "reorderItems"), M.prototype), N(M.prototype, "close", [u], Object.getOwnPropertyDescriptor(M.prototype, "close"), M.prototype), M), wn = class {
constructor() {
this.id = void 0;
}
invalidateCache() {}
shouldShowSubButtons() {
return !0;
}
}, Tn;
function En(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Dn = (Tn = class extends wn {
constructor(e) {
super(), this.rootStore = e, this.id = "sessions";
}
get computedSubButtons() {
let e = [];
return e.push({
id: "sessions_show_all",
label: "All Tracks",
text: "All Tracks",
enabled: !0,
active: this.rootStore.searchButtonsStore.activeSubButtonId === "sessions_show_all" || !this.rootStore.searchButtonsStore.activeSubButtonId && !this.rootStore.uiState.selectedTrack,
parentButtonId: "sessions",
type: "show_all",
onClick: () => this.handleSessionsShowAllClick()
}), this.rootStore.eventStore.tracks.forEach((t) => {
let n = this.rootStore.eventStore.getEventsByTrack(t.id).length;
e.push({
id: `sessions_track_${t.id}`,
label: t.name,
text: t.name,
enabled: !0,
active: this.rootStore.searchButtonsStore.activeSubButtonId === `sessions_track_${t.id}`,
parentButtonId: "sessions",
type: "track",
data: t,
count: n,
onClick: () => this.handleSessionsTrackClick(t)
});
}), e;
}
createSubButtons() {
return this.computedSubButtons;
}
handleSubButtonClick(e) {
if (e === "sessions_show_all") this.handleSessionsShowAllClick();
else if (e.startsWith("sessions_track_")) {
let t = parseInt(e.replace("sessions_track_", "")), n = this.rootStore.eventStore.tracks.find((e) => e.id === t);
n && this.handleSessionsTrackClick(n);
}
}
shouldShowSubButtons() {
return this.rootStore.eventStore.tracks.length > 0;
}
reportActivation(e) {
if (this.rootStore.searchButtonsStore.activeSubButtonId === e) return;
let t = this.computedSubButtons.find((t) => t.id === e);
!t || !t.label || He("sbtnview", t.label, "subbutton");
}
handleSessionsShowAllClick() {
this.reportActivation("sessions_show_all"), this.rootStore.uiState.list = {
type: "sessions",
text: "",
focused: !1
}, this.rootStore.uiState.selectedTrack = null, this.rootStore.searchButtonsStore.setSubButtonId("sessions_show_all");
}
handleSessionsTrackClick(e) {
this.reportActivation(`sessions_track_${e.id}`), this.rootStore.uiState.list = {
type: "sessions",
text: "",
focused: !1
}, this.rootStore.uiState.selectedTrack = e, this.rootStore.searchButtonsStore.setSubButtonId(`sessions_track_${e.id}`);
}
}, En(Tn.prototype, "computedSubButtons", [c], Object.getOwnPropertyDescriptor(Tn.prototype, "computedSubButtons"), Tn.prototype), Tn), On = class {
constructor() {
this.providers = /* @__PURE__ */ new Map(), this.cache = /* @__PURE__ */ new Map();
}
register(e) {
this.providers.set(e.id, e), this.cache.delete(e.id);
}
unregister(e) {
this.providers.delete(e), this.cache.delete(e);
}
getSubButtons(e) {
let t = this.providers.get(e);
return t ? t.createSubButtons() : [];
}
handleSubButtonClick(e, t) {
let n = this.providers.get(e);
n && n.handleSubButtonClick(t);
}
shouldShowSubButtons(e) {
let t = this.providers.get(e);
return t ? !t.shouldShowSubButtons || t.shouldShowSubButtons() : !1;
}
invalidateCache(e) {
this.cache.delete(e);
let t = this.providers.get(e);
t != null && t.invalidateCache && t.invalidateCache();
}
invalidateAllCache() {
this.cache.clear(), this.providers.forEach((e) => {
e.invalidateCache && e.invalidateCache();
});
}
getRegisteredProviders() {
return Array.from(this.providers.keys());
}
isProviderRegistered(e) {
return this.providers.has(e);
}
}, P;
function F(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var kn = (P = class {
constructor(e, t, n) {
this.rootStore = e, this.state = t, this.filters = n;
}
reportActivation(e) {
e && He("sbtnview", e);
}
handleSearchButtonClick(e, t) {
let n = {
[g.BOOKMARKS]: () => this.handleBookmarksClick(t),
[g.VISITED]: () => this.handleVisitedClick(t),
[g.SESSIONS]: () => this.handleSessionsClick(t),
[g.TOURS]: () => this.handleToursClick(t),
[g.CATEGORIES]: () => this.handleCategoriesClick(void 0, t),
[g.EXHIBITORS]: () => this.handleExhibitorsClick(t)
}[e];
if (n) {
n();
return;
}
e.startsWith(_.POI_TYPE) && this.handlePoiTypeClick(e, t);
}
handleExtendedSearchButtonClick(e) {
var t;
let n = v(e);
if (!n) return;
let r = n.name;
if (n.type === "link") {
this.handleLinkClick(n, r);
return;
}
let i = ((t = n.children) == null ? void 0 : t.filter((e) => e.visible)) || [];
if (i.length === 1 && i[0].type === "poi_types" && i[0].name === n.name) {
this.handleSearchButtonClick(e, r);
return;
}
if (n.type === g.CATEGORIES) {
this.handleCategoriesClick({
buttonId: e,
buttonConfig: n
}, r);
return;
}
n.children && i.length > 0 ? this.handleParentButton(e, n, r) : this.handleSearchButtonClick(e, r);
}
handleMainButtonClick(e) {
this.handleSearchButtonClick(e);
}
handleSessionsClick(e) {
let { uiState: t } = this.rootStore;
t.list.type === "sessions" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
type: "sessions",
text: "",
focused: !1
}, this.state.setSubButton(null), t.selectedTrack = null, this.state.subButtonsEnabled && this.showSubButtons("sessions"), this.isMobile && (t.desiredOverlaySize = "full"));
}
togglePoiType(e) {
this.handleSearchButtonClick(`${_.POI_TYPE}${e}`);
}
clearAllFilters() {
this.switchToSearch();
}
deactivateForNavigation() {
let { uiState: e } = this.rootStore;
(this.state.activePoiFilterId !== null || this.state.searchShortcutState.activeParentId !== null || e.hasAppliedFilters) && this.clearActiveFilters();
}
showSubButtons(e) {
this.state.subButtonsEnabled && (this.state.setSubButtonParent(e), this.state.setSubButton(null), this.rootStore.uiState.subButtonsVisible = !0);
}
hideSubButtons() {
this.state.setSubButtonParent(null), this.state.setSubButton(null), this.rootStore.uiState.subButtonsVisible = !1;
}
handleSubButtonClick(e) {
this.state.activeSubButtonId !== e && this.state.setSubButton(e);
}
toggleListView(e, t, n) {
this.rootStore.uiState.list.type === e ? this.switchToSearch() : (this.reportActivation(n), this.resetAllFilters(), t());
}
handleBookmarksClick(e) {
this.toggleListView("bookmarks", () => {
this.rootStore.clickBookmarks();
}, e);
}
handleVisitedClick(e) {
this.toggleListView("visited", () => {
this.rootStore.clickVisited();
}, e);
}
handleToursClick(e) {
let { uiState: t } = this.rootStore;
t.list.type === "tours" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
type: "tours",
text: "",
focused: !1
}, this.isMobile && (t.desiredOverlaySize = "full"));
}
handleCategoriesClick(e, t) {
let { uiState: n } = this.rootStore;
this.reportActivation(t), n.list.type === "search" ? this.state.activePoiFilterId && this.filters.clearPoiTypeFilters() : this.switchToSearch(), this.state.searchShortcutState.activeParentId && (this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters()), e ? this.rootStore.categoryFilterStore.openFilterForButton(e.buttonId, lt(e.buttonConfig), e.buttonConfig.name) : this.rootStore.categoryFilterStore.openFilter();
}
handleExhibitorsClick(e) {
let { uiState: t } = this.rootStore;
t.list.type === "exhibitors" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
type: "exhibitors",
text: "",
focused: !1
}, this.isMobile && (t.desiredOverlaySize = "full"));
}
handlePoiTypeClick(e, t) {
let { uiState: n } = this.rootStore, r = this.state.activePoiFilterId !== e;
r && this.reportActivation(t);
let i = n.list.type === "search" && n.list.text || "";
n.list.type === "search" ? n.selectedCategoryFilters.length > 0 && this.filters.clearCategoryFilters() : this.switchToSearch(!0), this.state.searchShortcutState.activeParentId && (this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters()), r ? this.setPoiFilterFromString(e) : this.filters.clearPoiTypeFilters(), i && n.list.type === "search" && (n.list = {
type: "search",
text: i,
focused: !1
}), this.rootStore.searchStore.selectSearchAndFocus(i);
}
handleLinkClick(e, t) {
var n;
let r = (n = e.children) == null ? void 0 : n.find((e) => e.type === "link");
r && "linkUrl" in r && (this.reportActivation(t), window.open(r.linkUrl, "_blank"));
}
handleParentButton(e, t, n) {
let { uiState: r } = this.rootStore;
if (this.state.searchShortcutState.activeParentId === e) {
this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters(), this.rootStore.urlFilterManager.clearAllFilters(), r.centerMap = !0, r.overlaySize === "full" && r.searchFocused && this.rootStore.searchStore.setFocused(!1);
return;
}
this.reportActivation(n), r.list.type !== "search" && this.switchToSearch(), this.state.activePoiFilterId && this.state.setPoiFilter(null), this.state.setActiveParentId(e), this.state.showShortcuts(!0), this.state.clearChildren(), this.filters.applyAllChildrenFilters(t), this.rootStore.searchStore.selectSearchAndFocus();
}
preserveSearchText(e) {
let { uiState: t } = this.rootStore, n = t.list.type === "search" && t.list.text || "";
e(), t.list.type === "search" && n && (t.list = {
type: "search",
text: n,
focused: !1
});
}
switchToSearch(e = !1) {
let t = () => {
this.resetAllFilters(), this.rootStore.uiState.details = null, this.rootStore.uiState.menu = !1, this.rootStore.uiState.list = {
type: "search",
text: "",
focused: !1
};
};
e ? this.preserveSearchText(t) : t();
}
resetAllFilters() {
this.clearActiveFilters(), this.rootStore.fp.hidePathways();
}
clearActiveFilters() {
this.state.reset(), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.categoryFilterStore.clearSelection(), this.rootStore.urlFilterManager.clearAllFilters();
}
setPoiFilterFromString(e) {
this.state.setPoiFilter(e);
let t = st(e);
if (t !== null) {
let e = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === t);
e && (this.rootStore.uiState.selectedPoiTypeFilters = [e], this.rootStore.urlFilterManager.setPoiType(e.name));
}
}
get isMobile() {
return typeof window < "u" && window.innerWidth <= 768;
}
}, F(P.prototype, "handleSearchButtonClick", [u], Object.getOwnPropertyDescriptor(P.prototype, "handleSearchButtonClick"), P.prototype), F(P.prototype, "handleExtendedSearchButtonClick", [u], Object.getOwnPropertyDescriptor(P.prototype, "handleExtendedSearchButtonClick"), P.prototype), F(P.prototype, "handleMainButtonClick", [u], Object.getOwnPropertyDescriptor(P.prototype, "handleMainButtonClick"), P.prototype), F(P.prototype, "handleSessionsClick", [u], Object.getOwnPropertyDescriptor(P.prototype, "handleSessionsClick"), P.prototype), F(P.prototype, "togglePoiType", [u], Object.getOwnPropertyDescriptor(P.prototype, "togglePoiType"), P.prototype), F(P.prototype, "clearAllFilters", [u], Object.getOwnPropertyDescriptor(P.prototype, "clearAllFilters"), P.prototype), F(P.prototype, "deactivateForNavigation", [u], Object.getOwnPropertyDescriptor(P.prototype, "deactivateForNavigation"), P.prototype), F(P.prototype, "showSubButtons", [u], Object.getOwnPropertyDescriptor(P.prototype, "showSubButtons"), P.prototype), F(P.prototype, "hideSubButtons", [u], Object.getOwnPropertyDescriptor(P.prototype, "hideSubButtons"), P.prototype), F(P.prototype, "handleSubButtonClick", [u], Object.getOwnPropertyDescriptor(P.prototype, "handleSubButtonClick"), P.prototype), P), An = class {
constructor(e, t, n) {
this.rootStore = e, this.state = t, this.actions = n, this.buttonFactories = void 0, this.buttonFactories = {
[g.BOOKMARKS]: (e) => this.createBookmarksButton(e),
[g.VISITED]: (e) => this.createVisitedButton(e),
[g.CATEGORIES]: (e) => this.createCategoriesButton(e),
[g.SESSIONS]: (e) => this.createSessionsButton(e),
[g.TOURS]: (e) => this.createGuidedToursButton(e),
[g.POI_TYPE]: (e) => this.createPoiTypeButton(e),
[g.POI_TYPES]: (e) => this.createPoiTypesButton(e),
[g.LINK]: (e) => this.createLinkButton(e),
[g.EXHIBITORS]: (e) => this.createExhibitorsButton(e)
};
}
createButtons(e) {
return this.dedupeButtons(e).filter((e) => e.visible).map((e) => {
var t;
return {
button: this.createButton(e),
order: (t = e.order) == null ? 2 ** 53 - 1 : t
};
}).filter((e) => e.button !== null).sort((e, t) => e.order - t.order).map((e) => e.button);
}
createButton(e) {
let t = this.buttonFactories[e.type];
return t ? t(e) : null;
}
createBaseButton(e) {
let t = e.color && e.color.toUpperCase() !== "#FFFFFF", n = r(e.name);
return {
id: ct(e),
label: n,
text: n,
enabled: !0,
isDimmed: !1,
isClickable: !0,
backgroundColor: t ? e.color : void 0,
textColor: t && e.color ? Ge(e.color) : void 0
};
}
createBookmarksButton(e) {
let { uiState: t } = this.rootStore;
return t.kiosk || t.disableBookmarked || p.hideBookmarks ? null : {
...this.createBaseButton(e),
id: g.BOOKMARKS,
icon: ot.BOOKMARKS,
active: t.list.type === "bookmarks",
count: this.countBookmarks(),
onClick: () => this.actions.handleSearchButtonClick(g.BOOKMARKS, e.name)
};
}
createVisitedButton(e) {
let { uiState: t } = this.rootStore;
return t.kiosk ? null : {
...this.createBaseButton(e),
id: g.VISITED,
icon: ot.VISITED,
active: t.list.type === "visited",
count: this.countVisited(),
onClick: () => this.actions.handleSearchButtonClick(g.VISITED, e.name)
};
}
createCategoriesButton(e) {
var t;
if (!((t = e.children) != null && t.length)) {
let t = this.getCategoriesTotalCount();
return t > 0 ? this.createSimpleCategoriesButton(e, t) : null;
}
let n = ut(this.rootStore.categoryStore.categories, lt(e));
if (n === 0) return null;
let r = ct(e), { categoryFilterStore: i, uiState: a } = this.rootStore, o = i.scopeButtonId === r ? a.selectedCategoryFilters.length : 0, s = this.isModalOpenFor(r);
return {
...this.createBaseButton(e),
id: r,
active: o > 0 || s,
expanded: s,
count: o > 0 ? o : n,
showZeroCount: !0,
variant: "action",
onClick: () => this.actions.handleExtendedSearchButtonClick(r)
};
}
createSimpleCategoriesButton(e, t) {
let { categoryFilterStore: n, uiState: r } = this.rootStore, i = n.scopeButtonId === null ? r.selectedCategoryFilters.length : 0, a = i > 0 ? i : t;
return {
...this.createBaseButton(e),
id: g.CATEGORIES,
active: i > 0 && !this.state.searchShortcutState.activeParentId,
expanded: this.isModalOpenFor(null),
count: a,
showZeroCount: !0,
variant: "action",
onClick: () => this.actions.handleSearchButtonClick(g.CATEGORIES, e.name)
};
}
isModalOpenFor(e) {
var t;
let { categoryFilterStore: n } = this.rootStore;
return n.state.isOpen && ((t = n.viewScope) == null ? void 0 : t.buttonId) === e;
}
createSessionsButton(e) {
let { uiState: t } = this.rootStore, n = this.getSessionsTotalCount();
return n === 0 ? null : {
...this.createBaseButton(e),
id: g.SESSIONS,
icon: ot.SESSIONS,
active: t.list.type === "sessions",
count: n,
showZeroCount: !0,
hasSubButtons: !0,
onClick: () => this.actions.handleSessionsClick(e.name)
};
}
createGuidedToursButton(e) {
let { uiState: t } = this.rootStore, n = this.getGuidedToursTotalCount();
return n === 0 ? null : {
...this.createBaseButton(e),
id: "guided_tours",
active: t.list.type === "tours" || t.list.type === "multi-point-tour",
count: n,
showZeroCount: !0,
onClick: () => this.actions.handleSearchButtonClick("guided_tours", e.name)
};
}
createPoiTypeButton(e) {
let t = this.rootStore.poiTypeStore.poiTypes.find((t) => t.name === e.name);
if (!t) return null;
let n = `${_.POI_TYPE}${t.id}`, r = this.getPoiTypeTotalCount(t.id);
return r === 0 ? null : {
...this.createBaseButton(e),
id: n,
active: this.state.activePoiFilterId === n,
count: r,
showZeroCount: !0,
onClick: () => this.actions.handleSearchButtonClick(n, e.name)
};
}
createPoiTypesButton(e) {
var t;
if (!((t = e.children) != null && t.length)) return this.createPoiTypeButton(e);
let n = e.children.filter((e) => e.visible);
if (n.length === 0) return null;
if (this.shouldFlattenToSinglePoiType(n, e)) return this.createPoiTypeButton(e);
let r = n.filter((e) => e.type !== "link"), i = this.countPoiTypes(r), a = ct(e);
return {
...this.createBaseButton(e),
id: a,
active: this.state.searchShortcutState.activeParentId === a,
count: i,
showZeroCount: !0,
onClick: () => this.actions.handleExtendedSearchButtonClick(a)
};
}
shouldFlattenToSinglePoiType(e, t) {
return e.length === 1 && e[0].type === "poi_types" && e[0].name === t.name;
}
createLinkButton(e) {
let t = ct(e);
return {
...this.createBaseButton(e),
id: t,
active: !1,
onClick: () => this.actions.handleExtendedSearchButtonClick(t)
};
}
createExhibitorsButton(e) {
let { uiState: t } = this.rootStore, n = this.getExhibitorsTotalCount();
return n === 0 ? null : {
...this.createBaseButton(e),
id: g.EXHIBITORS,
icon: ot.EXHIBITORS,
active: t.list.type === "exhibitors",
count: n,
showZeroCount: !0,
onClick: () => this.actions.handleSearchButtonClick(g.EXHIBITORS, e.name)
};
}
countPoiTypes(e) {
return e.reduce((e, t) => {
if (t.type !== "poi_types") return e;
if (t.count !== void 0) return e + t.count;
let n = Number(t.id), r = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === n);
return r ? e + this.rootStore.boothStore.booths.filter((e) => e.poiTypeId === r.id).length : e;
}, 0);
}
dedupeButtons(e) {
let t = /* @__PURE__ */ new Set();
return e.filter((e) => {
let n = `${e.type}_${e.name}`;
return t.has(n) ? !1 : (t.add(n), !0);
});
}
countBookmarks() {
return this.rootStore.exhibitorStore.bookmarked.length + this.rootStore.eventStore.bookmarked.length + this.rootStore.speakerStore.bookmarked.length + this.rootStore.boothStore.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly).length;
}
countVisited() {
return this.rootStore.exhibitorStore.visited.length + this.rootStore.eventStore.visited.length;
}
getSessionsTotalCount() {
return this.rootStore.eventStore.eventItems.length;
}
getGuidedToursTotalCount() {
return this.rootStore.toursStore.hasTours ? this.rootStore.toursStore.tourItems.length : 0;
}
getCategoriesTotalCount() {
return this.rootStore.categoryStore.categories.filter((e) => e.exhibitors.length > 0).length;
}
getPoiTypeTotalCount(e) {
return this.rootStore.boothStore.booths.filter((t) => t.poiTypeId === e).length;
}
getExhibitorsTotalCount() {
return this.rootStore.exhibitorStore.exhibitors.length;
}
}, I;
function jn(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Mn = (I = class {
constructor(e, t) {
this.rootStore = e, this.state = t;
}
applyAllChildrenFilters(e) {
if (!e.children) return;
let { uiState: t } = this.rootStore, n = e.children.filter((e) => e.visible);
t.selectedPoiTypeFilters = this.collectPoiTypes(n), this.rootStore.categoryFilterStore.clearSelection();
}
applyChildFilters() {
let { uiState: e } = this.rootStore, t = Array.from(this.state.searchShortcutState.activeChildren);
if (e.selectedPoiTypeFilters = [], this.rootStore.categoryFilterStore.clearSelection(), t.length === 0) return;
let n = v(this.state.searchShortcutState.activeParentId);
if (!(n != null && n.children)) return;
let r = n.children.filter((e) => e.visible);
e.selectedPoiTypeFilters = this.collectSelectedPoiTypes(r, t);
}
clearAllChildFilters() {
this.state.clearChildren(), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.categoryFilterStore.clearSelection();
}
clearCategoryFilters() {
this.rootStore.categoryFilterStore.clearSelection(), this.rootStore.urlFilterManager.setCategories([]);
}
clearPoiTypeFilters() {
this.state.setPoiFilter(null), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.urlFilterManager.setPoiType(null);
}
toggleChildFilter(e) {
let t = v(this.state.searchShortcutState.activeParentId);
t != null && t.children && (this.state.toggleChild(e), this.state.hasActiveChildren ? this.applyChildFilters() : this.applyAllChildrenFilters(t));
}
getActiveParent() {
return this.state.searchShortcutState.activeParentId ? v(this.state.searchShortcutState.activeParentId) : null;
}
areAllSelected() {
if (!this.state.searchShortcutState.activeParentId) return !1;
let e = v(this.state.searchShortcutState.activeParentId);
if (!(e != null && e.children)) return !1;
let t = e.children.filter((e) => e.visible).filter((e) => e.type !== "link");
return t.length > 0 && t.every((e) => {
var t;
let n = ((t = e.id) == null ? void 0 : t.toString()) || e.name;
return this.state.isChildActive(n);
});
}
getChildrenCount() {
if (!this.state.searchShortcutState.activeParentId) return 0;
let e = v(this.state.searchShortcutState.activeParentId);
return e != null && e.children ? e.children.filter((e) => e.visible).filter((e) => e.type !== "link").length : 0;
}
collectPoiTypes(e) {
let t = [];
return e.forEach((e) => {
if (e.type !== "poi_types") return;
let n = this.rootStore.poiTypeStore.poiTypes.find((t) => t.id === Number(e.id));
n && t.push(n);
}), t;
}
collectSelectedPoiTypes(e, t) {
let n = [];
return t.forEach((t) => {
let r = e.find((e) => {
var n;
return e.type !== "link" && (((n = e.id) == null ? void 0 : n.toString()) || e.name) === t;
});
if ((r == null ? void 0 : r.type) !== "poi_types") return;
let i = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === Number(r.id));
i && n.push(i);
}), n;
}
}, jn(I.prototype, "applyAllChildrenFilters", [u], Object.getOwnPropertyDescriptor(I.prototype, "applyAllChildrenFilters"), I.prototype), jn(I.prototype, "applyChildFilters", [u], Object.getOwnPropertyDescriptor(I.prototype, "applyChildFilters"), I.prototype), jn(I.prototype, "clearAllChildFilters", [u], Object.getOwnPropertyDescriptor(I.prototype, "clearAllChildFilters"), I.prototype), jn(I.prototype, "clearCategoryFilters", [u], Object.getOwnPropertyDescriptor(I.prototype, "clearCategoryFilters"), I.prototype), jn(I.prototype, "clearPoiTypeFilters", [u], Object.getOwnPropertyDescriptor(I.prototype, "clearPoiTypeFilters"), I.prototype), jn(I.prototype, "toggleChildFilter", [u], Object.getOwnPropertyDescriptor(I.prototype, "toggleChildFilter"), I.prototype), I), L, Nn, Pn, Fn, In, Ln, Rn;
function zn(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function R(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Bn = (L = class {
constructor() {
zn(this, "isVisible", Nn, this), zn(this, "activePoiFilterId", Pn, this), zn(this, "activeSubButtonsParentId", Fn, this), zn(this, "activeSubButtonId", In, this), zn(this, "subButtonsEnabled", Ln, this), zn(this, "searchShortcutState", Rn, this);
}
setVisible(e) {
this.isVisible = e;
}
setSubButtonParent(e) {
this.activeSubButtonsParentId = e;
}
setPoiFilter(e) {
this.activePoiFilterId = e;
}
setSubButton(e) {
this.activeSubButtonId = e;
}
setSubButtonsEnabled(e) {
this.subButtonsEnabled = e;
}
setActiveParentId(e) {
this.searchShortcutState.activeParentId = e;
}
showShortcuts(e) {
this.searchShortcutState.isShortcutsVisible = e;
}
clearChildren() {
this.searchShortcutState.activeChildren.clear();
}
toggleChild(e) {
this.searchShortcutState.activeChildren.has(e) ? this.searchShortcutState.activeChildren.delete(e) : this.searchShortcutState.activeChildren.add(e);
}
reset() {
this.activePoiFilterId = null, this.searchShortcutState.activeParentId = null, this.searchShortcutState.activeChildren.clear(), this.searchShortcutState.isShortcutsVisible = !1;
}
get hasActiveChildren() {
return this.searchShortcutState.activeChildren.size > 0;
}
get activeChildrenCount() {
return this.searchShortcutState.activeChildren.size;
}
get hasActiveParentWithChildren() {
return this.searchShortcutState.isShortcutsVisible && this.searchShortcutState.activeParentId !== null;
}
isChildActive(e) {
return this.searchShortcutState.activeChildren.has(e);
}
}, Nn = R(L.prototype, "isVisible", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !0;
}
}), Pn = R(L.prototype, "activePoiFilterId", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Fn = R(L.prototype, "activeSubButtonsParentId", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), In = R(L.prototype, "activeSubButtonId", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Ln = R(L.prototype, "subButtonsEnabled", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Rn = R(L.prototype, "searchShortcutState", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
activeParentId: null,
activeChildren: /* @__PURE__ */ new Set(),
isShortcutsVisible: !1
};
}
}), R(L.prototype, "setVisible", [u], Object.getOwnPropertyDescriptor(L.prototype, "setVisible"), L.prototype), R(L.prototype, "setSubButtonParent", [u], Object.getOwnPropertyDescriptor(L.prototype, "setSubButtonParent"), L.prototype), R(L.prototype, "setPoiFilter", [u], Object.getOwnPropertyDescriptor(L.prototype, "setPoiFilter"), L.prototype), R(L.prototype, "setSubButton", [u], Object.getOwnPropertyDescriptor(L.prototype, "setSubButton"), L.prototype), R(L.prototype, "setSubButtonsEnabled", [u], Object.getOwnPropertyDescriptor(L.prototype, "setSubButtonsEnabled"), L.prototype), R(L.prototype, "setActiveParentId", [u], Object.getOwnPropertyDescriptor(L.prototype, "setActiveParentId"), L.prototype), R(L.prototype, "showShortcuts", [u], Object.getOwnPropertyDescriptor(L.prototype, "showShortcuts"), L.prototype), R(L.prototype, "clearChildren", [u], Object.getOwnPropertyDescriptor(L.prototype, "clearChildren"), L.prototype), R(L.prototype, "toggleChild", [u], Object.getOwnPropertyDescriptor(L.prototype, "toggleChild"), L.prototype), R(L.prototype, "reset", [u], Object.getOwnPropertyDescriptor(L.prototype, "reset"), L.prototype), R(L.prototype, "hasActiveChildren", [c], Object.getOwnPropertyDescriptor(L.prototype, "hasActiveChildren"), L.prototype), R(L.prototype, "activeChildrenCount", [c], Object.getOwnPropertyDescriptor(L.prototype, "activeChildrenCount"), L.prototype), R(L.prototype, "hasActiveParentWithChildren", [c], Object.getOwnPropertyDescriptor(L.prototype, "hasActiveParentWithChildren"), L.prototype), L), z;
function B(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var Vn = (z = class {
constructor(e) {
this.rootStore = void 0, this._subButtonRegistry = void 0, this.state = void 0, this.filters = void 0, this.actions = void 0, this.factory = void 0, this.poiTypeCountsCache = /* @__PURE__ */ new Map(), this.keepFiltersOnNextEntry = !1, this.lastPoiTypeCountUpdate = 0, this.rootStore = e, this.state = new Bn(), this.filters = new Mn(e, this.state), this.actions = new kn(e, this.state, this.filters), this.factory = new An(e, this.state, this.actions), this.setupReactions();
}
setupReactions() {
be(() => this.rootStore.boothStore.booths.length, () => this.invalidatePoiTypeCounts()), be(() => this.isNavigationOpen, (e) => {
if (e) {
if (this.keepFiltersOnNextEntry) {
this.keepFiltersOnNextEntry = !1;
return;
}
this.actions.deactivateForNavigation();
}
});
}
keepFiltersOnNextNavigation() {
this.keepFiltersOnNextEntry = !0;
}
get isNavigationOpen() {
let { uiState: e } = this.rootStore;
return e.selectedRoute !== null || e.list.type === "route-planner";
}
get subButtonRegistry() {
return this._subButtonRegistry || (this._subButtonRegistry = new On(), this.registerSubButtonProviders()), this._subButtonRegistry;
}
registerSubButtonProviders() {
this.subButtonRegistry.register(new Dn(this.rootStore));
}
invalidatePoiTypeCounts() {
this.poiTypeCountsCache.clear(), this.lastPoiTypeCountUpdate = 0;
}
get isVisible() {
return this.state.isVisible;
}
get shouldShow() {
let { uiState: e } = this.rootStore;
if (e.screenSize.width >= 768) return this.state.isVisible;
let t = !!(e.selectedExhibitor || e.selectedBooth || e.selectedEventItem || e.selectedRoute || e.menu || e.list.type === "language");
return this.state.isVisible && !t;
}
get activePoiFilterId() {
return this.state.activePoiFilterId;
}
get activeSubButtonsParentId() {
return this.state.activeSubButtonsParentId;
}
get activeSubButtonId() {
return this.state.activeSubButtonId;
}
get subButtonsEnabled() {
return this.state.subButtonsEnabled;
}
get searchShortcutState() {
return this.state.searchShortcutState;
}
get searchButtons() {
let e = p.filterButtonsConfig;
if (!ft(e)) return console.warn("[SearchButtonsStore] Invalid filterButtonsConfig detected"), [];
let t = e.searchButtons;
return this.factory.createButtons(t);
}
get hasAnySearchButtons() {
return this.searchButtons.length > 0;
}
get hasActiveSearchButton() {
return this.state.activePoiFilterId !== null || this.rootStore.uiState.selectedCategoryFilters.length > 0;
}
get activeSearchButtonLabel() {
if (this.state.activePoiFilterId) {
let e = this.searchButtons.find((e) => e.id === this.state.activePoiFilterId);
return (e == null ? void 0 : e.label) || null;
}
return this.rootStore.uiState.selectedCategoryFilters.length > 0 ? "Categories" : null;
}
get activeSubButtons() {
return this.state.activeSubButtonsParentId ? this.subButtonRegistry.getSubButtons(this.state.activeSubButtonsParentId) : [];
}
get shouldShowSubButtons() {
if (!this.state.subButtonsEnabled || !this.state.activeSubButtonsParentId) return !1;
let e = this.searchButtons.find((e) => e.id === this.state.activeSubButtonsParentId);
return !e || !e.active ? !1 : this.subButtonRegistry.shouldShowSubButtons(this.state.activeSubButtonsParentId) && this.activeSubButtons.length > 0;
}
get hasActiveParentWithChildren() {
return this.state.hasActiveParentWithChildren;
}
get areAllSelected() {
return this.filters.areAllSelected();
}
get activeChildrenCount() {
return this.state.activeChildrenCount;
}
get totalChildrenCount() {
return this.filters.getChildrenCount();
}
get poiTypeCounts() {
let e = Date.now();
if (e - this.lastPoiTypeCountUpdate < 1e3 && this.poiTypeCountsCache.size > 0) return this.poiTypeCountsCache;
let t = /* @__PURE__ */ new Map();
return this.rootStore.boothStore.booths.forEach((e) => {
e.poiTypeId && t.set(e.poiTypeId, (t.get(e.poiTypeId) || 0) + 1);
}), this.poiTypeCountsCache = t, this.lastPoiTypeCountUpdate = e, t;
}
get totalPoiTypeCount() {
return dt(this.poiTypeCounts);
}
get activePoiTypeId() {
var e;
return (e = this.state.activePoiFilterId) != null && e.startsWith(_.POI_TYPE) ? st(this.state.activePoiFilterId) : null;
}
handleSearchButtonClick(e, t) {
this.actions.handleSearchButtonClick(e, t);
}
handleExtendedSearchButtonClick(e) {
this.actions.handleExtendedSearchButtonClick(e);
}
handleMainButtonClick(e) {
this.actions.handleMainButtonClick(e);
}
handleSessionsClick(e) {
this.actions.handleSessionsClick(e);
}
togglePoiType(e) {
this.actions.togglePoiType(e);
}
clearAllFilters() {
this.actions.clearAllFilters();
}
showSubButtons(e) {
this.actions.showSubButtons(e);
}
hideSubButtons() {
this.actions.hideSubButtons();
}
handleSubButtonClick(e) {
this.state.activeSubButtonId !== e && (this.state.setSubButton(e), this.state.activeSubButtonsParentId && this.subButtonRegistry.handleSubButtonClick(this.state.activeSubButtonsParentId, e));
}
toggleChildFilter(e) {
this.filters.toggleChildFilter(e);
}
clearPoiTypeFilters() {
this.filters.clearPoiTypeFilters();
}
clearAllChildFilters() {
this.filters.clearAllChildFilters();
}
setActiveParentId(e) {
this.state.setActiveParentId(e);
}
showShortcuts(e) {
this.state.showShortcuts(e);
}
clearChildren() {
this.state.clearChildren();
}
setSubButtonId(e) {
this.state.setSubButton(e);
}
setPoiFilterId(e) {
this.state.setPoiFilter(e);
}
getPoiTypeTotalCount(e) {
return this.poiTypeCounts.get(e) || 0;
}
isChildActive(e) {
return this.state.isChildActive(e);
}
getActiveParent() {
return this.filters.getActiveParent();
}
}, B(z.prototype, "invalidatePoiTypeCounts", [u], Object.getOwnPropertyDescriptor(z.prototype, "invalidatePoiTypeCounts"), z.prototype), B(z.prototype, "isVisible", [c], Object.getOwnPropertyDescriptor(z.prototype, "isVisible"), z.prototype), B(z.prototype, "shouldShow", [c], Object.getOwnPropertyDescriptor(z.prototype, "shouldShow"), z.prototype), B(z.prototype, "activePoiFilterId", [c], Object.getOwnPropertyDescriptor(z.prototype, "activePoiFilterId"), z.prototype), B(z.prototype, "activeSubButtonsParentId", [c], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtonsParentId"), z.prototype), B(z.prototype, "activeSubButtonId", [c], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtonId"), z.prototype), B(z.prototype, "subButtonsEnabled", [c], Object.getOwnPropertyDescriptor(z.prototype, "subButtonsEnabled"), z.prototype), B(z.prototype, "searchShortcutState", [c], Object.getOwnPropertyDescriptor(z.prototype, "searchShortcutState"), z.prototype), B(z.prototype, "searchButtons", [c], Object.getOwnPropertyDescriptor(z.prototype, "searchButtons"), z.prototype), B(z.prototype, "hasAnySearchButtons", [c], Object.getOwnPropertyDescriptor(z.prototype, "hasAnySearchButtons"), z.prototype), B(z.prototype, "hasActiveSearchButton", [c], Object.getOwnPropertyDescriptor(z.prototype, "hasActiveSearchButton"), z.prototype), B(z.prototype, "activeSearchButtonLabel", [c], Object.getOwnPropertyDescriptor(z.prototype, "activeSearchButtonLabel"), z.prototype), B(z.prototype, "activeSubButtons", [c], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtons"), z.prototype), B(z.prototype, "shouldShowSubButtons", [c], Object.getOwnPropertyDescriptor(z.prototype, "shouldShowSubButtons"), z.prototype), B(z.prototype, "hasActiveParentWithChildren", [c], Object.getOwnPropertyDescriptor(z.prototype, "hasActiveParentWithChildren"), z.prototype), B(z.prototype, "areAllSelected", [c], Object.getOwnPropertyDescriptor(z.prototype, "areAllSelected"), z.prototype), B(z.prototype, "activeChildrenCount", [c], Object.getOwnPropertyDescriptor(z.prototype, "activeChildrenCount"), z.prototype), B(z.prototype, "totalChildrenCount", [c], Object.getOwnPropertyDescriptor(z.prototype, "totalChildrenCount"), z.prototype), B(z.prototype, "poiTypeCounts", [c], Object.getOwnPropertyDescriptor(z.prototype, "poiTypeCounts"), z.prototype), B(z.prototype, "totalPoiTypeCount", [c], Object.getOwnPropertyDescriptor(z.prototype, "totalPoiTypeCount"), z.prototype), B(z.prototype, "activePoiTypeId", [c], Object.getOwnPropertyDescriptor(z.prototype, "activePoiTypeId"), z.prototype), B(z.prototype, "handleSearchButtonClick", [u], Object.getOwnPropertyDescriptor(z.prototype, "handleSearchButtonClick"), z.prototype), B(z.prototype, "handleExtendedSearchButtonClick", [u], Object.getOwnPropertyDescriptor(z.prototype, "handleExtendedSearchButtonClick"), z.prototype), B(z.prototype, "handleMainButtonClick", [u], Object.getOwnPropertyDescriptor(z.prototype, "handleMainButtonClick"), z.prototype), B(z.prototype, "handleSessionsClick", [u], Object.getOwnPropertyDescriptor(z.prototype, "handleSessionsClick"), z.prototype), B(z.prototype, "togglePoiType", [u], Object.getOwnPropertyDescriptor(z.prototype, "togglePoiType"), z.prototype), B(z.prototype, "clearAllFilters", [u], Object.getOwnPropertyDescriptor(z.prototype, "clearAllFilters"), z.prototype), B(z.prototype, "showSubButtons", [u], Object.getOwnPropertyDescriptor(z.prototype, "showSubButtons"), z.prototype), B(z.prototype, "hideSubButtons", [u], Object.getOwnPropertyDescriptor(z.prototype, "hideSubButtons"), z.prototype), B(z.prototype, "handleSubButtonClick", [u], Object.getOwnPropertyDescriptor(z.prototype, "handleSubButtonClick"), z.prototype), B(z.prototype, "toggleChildFilter", [u], Object.getOwnPropertyDescriptor(z.prototype, "toggleChildFilter"), z.prototype), B(z.prototype, "clearPoiTypeFilters", [u], Object.getOwnPropertyDescriptor(z.prototype, "clearPoiTypeFilters"), z.prototype), B(z.prototype, "clearAllChildFilters", [u], Object.getOwnPropertyDescriptor(z.prototype, "clearAllChildFilters"), z.prototype), B(z.prototype, "setActiveParentId", [u], Object.getOwnPropertyDescriptor(z.prototype, "setActiveParentId"), z.prototype), B(z.prototype, "showShortcuts", [u], Object.getOwnPropertyDescriptor(z.prototype, "showShortcuts"), z.prototype), B(z.prototype, "clearChildren", [u], Object.getOwnPropertyDescriptor(z.prototype, "clearChildren"), z.prototype), B(z.prototype, "setSubButtonId", [u], Object.getOwnPropertyDescriptor(z.prototype, "setSubButtonId"), z.prototype), B(z.prototype, "setPoiFilterId", [u], Object.getOwnPropertyDescriptor(z.prototype, "setPoiFilterId"), z.prototype), z), V, Hn, Un, Wn, Gn;
function Kn(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function H(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var U = class {
static closeDetails(e) {
return e.details ? (e.details = null, !0) : !1;
}
static closeMultiPointTour(e) {
return e.rootStore.fp.hidePathways(), !0;
}
static clearSearchAndFocus(e) {
return e.searchText ? (e.setSearchText(""), e.setFocused(!0), !0) : !1;
}
static returnToSearch(e, t = !1) {
e.list = {
type: "search",
text: "",
focused: t
};
}
static returnToSessions(e, t = !1) {
e.list = {
type: "sessions",
text: "",
focused: t
};
}
static returnToTours(e, t = !1) {
e.list = {
type: "tours",
text: "",
focused: t
};
}
static openMenu(e) {
e.menu = !0;
}
static closeMenu(e) {
e.menu = !1;
}
static clearListScroll(e, t) {
e.clearListScroll(t);
}
static resetActiveListIndex(e) {
e.activeListIndex = -1;
}
}, qn = (V = class {
constructor(e) {
this.rootStore = void 0, Kn(this, "searchText", Hn, this), Kn(this, "isFocused", Un, this), Kn(this, "isClearMode", Wn, this), Kn(this, "skipInputFocus", Gn, this), this.rootStore = e;
}
get uiState() {
return this.rootStore.uiState;
}
get searchBoxConfig() {
return this.uiState.searchBoxConfig;
}
get searchBoxMode() {
return this.searchBoxConfig.mode;
}
get searchBoxTitle() {
return this.searchBoxConfig.title;
}
get searchBoxSubtitle() {
return this.searchBoxConfig.subtitle;
}
get searchBoxBadge() {
return this.searchBoxConfig.badge;
}
get searchBoxIcon() {
return this.searchBoxConfig.icon;
}
get searchBoxActions() {
return this.uiState.searchBoxActions;
}
get shouldShowSearchInput() {
return this.searchBoxMode === "search";
}
get shouldShowCloseButton() {
let { menu: e, details: t, list: n } = this.uiState, r = p.isRebooking && n.type === "exhibitors";
return !this.shouldShowSearchInput || n.type === "sessions" || n.type === "tours" || n.type === "speakers" || n.type === "exhibitors" && !r || e || t !== null || !!this.searchText || this.isClearMode || this.isFocused;
}
get closeButtonAction() {
return !this.shouldShowSearchInput || this.searchBoxMode === "details" || this.uiState.list.type === "sessions" || this.uiState.list.type === "speakers" || this.uiState.list.type === "exhibitors" && !p.isRebooking ? "close" : this.searchText ? "clear" : "close";
}
get shouldShowShadow() {
let { menu: e, details: t, list: n } = this.uiState, r = n.type === "search" && !!n.text;
return !(this.rootStore.fp.alwaysShowSidebar || e || t !== null || n.type !== "search" || r || this.isFocused || this.uiState.heatmap);
}
get placeholder() {
let { list: e, heatmapYah: t } = this.uiState;
return e.type === "sessions" ? a("Search sessions") : e.type === "tours" ? a("Search Guided Tours") : e.type === "exhibitors" ? a("Search exhibitors") : e.type === "speakers" ? a("Search speakers") : we.EXPO.startsWith("lenzerheidemotorclassics") ? "SUCHE" : we.EXPO.startsWith("jetlag") ? "Search location or artist" : t ? a("Find values greater than") : this.uiState.hasAppliedFilters ? a("Search") : p.searchText || a("Search");
}
get searchBoxClass() {
return {
"is-details": this.searchBoxMode === "details" && !(this.uiState.details instanceof h),
"is-interface": this.searchBoxMode === "interface",
"has-shadow": this.shouldShowShadow,
"has-subtitle": !!this.searchBoxConfig.subtitle,
"has-badge": !!this.searchBoxConfig.badge,
"has-icon": !!this.searchBoxConfig.icon,
"is-overlay-full": this.uiState.isOverlayOpen && this.uiState.overlaySize === "full",
"is-featured-exhibitor": this.uiState.isFeaturedExhibitorActive,
"is-route": this.uiState.details instanceof h,
"is-guided-tours": this.uiState.isGuidedToursActive,
"is-overlay-scrolled": this.uiState.isOverlayScrolled,
"overlay-pulse": this.uiState.kiosk && this.uiState.inIdle && !this.uiState.setKioskModeEnabled
};
}
get ariaLabel() {
return !this.shouldShowSearchInput || this.searchBoxMode === "details" ? a("Close") : this.searchText ? a("Clear search") : a("Close");
}
selectSearch(e) {
window.__resett && window.__resett(), this.uiState.details = null;
let t = ce(e || "", Object.keys(this.uiState.mapSettings).map((e) => `${e}=`));
this.setSearchText(t), this.uiState.activeListIndex = -1;
}
selectSearchAndFocus(e) {
this.selectSearch(e), this.setFocused(!0);
}
setSearchText(e) {
this.searchText = e, this.uiState.hasAppliedFilters ? this.rootStore.moveToList() : this.uiState.centerMap = !0, this.uiState.activeListIndex = e ? 0 : -1, this.uiState.list.type !== "sessions" && this.uiState.list.type !== "tours" && this.uiState.list.type !== "speakers" && this.uiState.list.type !== "exhibitors" ? this.uiState.list = {
type: "search",
text: e,
focused: this.isFocused
} : this.uiState.list.type === "exhibitors" && (this.uiState.list = {
type: "exhibitors",
text: e,
focused: this.isFocused
}), this.uiState.searchClearMode = this.isClearMode;
}
setFocused(e) {
this.isFocused = e, this.isClearMode = !1, this.skipInputFocus = !1, this.uiState.searchFocused = e, this.uiState.searchClearMode = !1, this.uiState.desiredOverlaySize = "full";
}
handleBackAction() {
let { uiState: t } = this, { list: n } = t;
if (t.desiredOverlaySize = "full", this.backMode === "menu") {
this.resetSearchButtonState(), U.openMenu(t);
return;
}
if (n.type === "route-planner") {
this.rootStore.routePlannerStore.close(), this.rootStore.selectBookmarks(), We();
return;
}
if (n.type === "multi-point-tour" && !t.details) {
U.returnToTours(t, !1), this.rootStore.fp.hidePathways();
return;
}
if (t.details) {
t.details = null, We();
return;
}
if (t.menu) {
n.type === "sessions" ? t.list = {
type: "sessions",
text: "",
focused: !0
} : n.type === "exhibitors" ? t.list = {
type: "exhibitors",
text: "",
focused: !0
} : t.list = {
type: "search",
text: "",
focused: !0
}, this.setFocused(!0), this.isClearMode = !0, U.closeMenu(t);
return;
}
if (n.type === "tours" && t.details instanceof h) {
t.details = null;
return;
}
if (n.type === "sessions" || n.type === "tours" || n.type === "exhibitors") {
if (U.closeDetails(t)) return;
this.clearActiveFilters(), U.returnToSearch(t, !1), this.selectSearchAndFocus();
return;
}
switch (n.type) {
case "filter":
t.details = null;
return;
case "multi-point-tour":
this.rootStore.fp.hidePathways(), U.closeDetails(t) ? U.returnToTours(t, !1) : We();
return;
case "category":
this.rootStore.selectCategory(n.category);
return;
case "speakers":
if (U.closeDetails(t)) return;
U.returnToSessions(t, !1);
return;
case "bookmarks":
case "visited":
if (U.closeDetails(t)) return;
this.selectSearchAndFocus();
return;
case e:
U.returnToSearch(t, !1), U.openMenu(t);
return;
}
U.closeDetails(t) || U.clearSearchAndFocus(this) || U.openMenu(t);
}
closeSearch() {
let { uiState: e } = this, { list: t } = e;
if (t.type === "route-planner") {
this.rootStore.routePlannerStore.close(), U.returnToSearch(e, !1), this.resetSearchBox();
return;
}
if (U.closeDetails(e), U.clearListScroll(e, t.type), U.closeMultiPointTour(e), t.type === "bookmarks") {
U.returnToSearch(e, !1), this.resetSearchBox();
return;
}
if (e.selectedCategory) {
U.returnToSearch(e, !1), this.resetSearchBox();
return;
}
if (t.type === "sessions") {
this.closeSessions();
return;
}
if (t.type === "exhibitors") {
if (p.isRebooking) {
this.searchBoxMode === "search" && this.searchText ? (this.setSearchText(""), this.isClearMode = !0, this.clearActiveFilters()) : this.resetSearchBox();
return;
}
this.closeExhibitors();
return;
}
if (e.menu) {
U.closeMenu(e), this.resetSearchBox();
return;
}
if (this.searchBoxMode === "search" && !e.details && this.searchText) {
this.setSearchText(""), this.isClearMode = !0, this.clearActiveFilters();
return;
}
U.returnToSearch(e, !1), this.searchText = "", this.resetSearchBox(), e.details = null, this.clearActiveFilters();
}
clearActiveFilters() {
this.rootStore.searchButtonsStore.setPoiFilterId(null), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.categoryFilterStore.state.selectedItems = [], this.rootStore.categoryFilterStore.state.pendingItems = [], this.rootStore.categoryFilterStore.setOwner(null), this.rootStore.searchButtonsStore.searchShortcutState.activeParentId = null, this.rootStore.searchButtonsStore.searchShortcutState.activeChildren.clear(), this.rootStore.searchButtonsStore.searchShortcutState.isShortcutsVisible = !1, this.rootStore.urlFilterManager && this.rootStore.urlFilterManager.isInitialized && this.rootStore.urlFilterManager.clearAllFilters();
}
resetSearchButtonState() {
let { uiState: e } = this;
this.rootStore.searchButtonsStore.clearAllFilters(), this.rootStore.searchButtonsStore.setSubButtonId(null), this.rootStore.searchButtonsStore.hideSubButtons(), e.selectedTrack = null, this.searchText = "", this.isClearMode = !1;
}
handleSearchAction() {
this.isFocused || this.setFocused(!0);
}
openOverlayWithoutInputFocus() {
this.skipInputFocus = !0, this.isFocused = !0, this.isClearMode = !1, this.uiState.searchFocused = !0, this.uiState.searchClearMode = !1, this.uiState.desiredOverlaySize = "full";
}
closeSessions() {
this.searchText = "", U.returnToSearch(this.uiState, !1), this.uiState.details = null, U.resetActiveListIndex(this.uiState), this.uiState.selectedTrack = null, this.rootStore.searchButtonsStore.setSubButtonId(null), this.rootStore.searchButtonsStore.hideSubButtons();
}
closeExhibitors() {
this.searchText = "", U.returnToSearch(this.uiState, !1), this.uiState.details = null, U.resetActiveListIndex(this.uiState);
}
resetSearchBox() {
this.setFocused(!1), this.isClearMode = !1, this.syncWithUIState();
}
syncWithUIState() {
this.searchText = (this.uiState.list.type === "search" || this.uiState.list.type === "exhibitors") && this.uiState.list.text || "", this.isFocused = this.uiState.searchFocused, this.isClearMode = this.uiState.searchClearMode;
}
get actionButtonIcon() {
return this.shouldShowSearchInput ? this.shouldShowCloseButton ? "icon-close" : "icon-search" : "icon-close";
}
clearAndSelectSearch() {
this.selectSearch(""), this.setFocused(!1);
}
get backMode() {
let e = this.uiState.list.type;
return (e === "bookmarks" || e === "visited") && !this.uiState.details && !this.uiState.menu || this.shouldShowSearchInput && !this.searchText ? "menu" : "back";
}
get isMobileDetailsMode() {
return window.innerWidth < 768 && this.uiState.details !== null && this.uiState.overlaySize === "full" && !(this.uiState.details instanceof h);
}
get shouldShowTitle() {
return !this.shouldShowSearchInput;
}
get searchState() {
return {
text: this.searchText,
isFocused: this.isFocused,
isClearMode: this.isClearMode,
mode: this.searchBoxMode,
title: this.searchBoxConfig.title,
subtitle: this.searchBoxConfig.subtitle,
badge: this.searchBoxConfig.badge,
icon: this.searchBoxConfig.icon
};
}
}, Hn = H(V.prototype, "searchText", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return "";
}
}), Un = H(V.prototype, "isFocused", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Wn = H(V.prototype, "isClearMode", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Gn = H(V.prototype, "skipInputFocus", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), H(V.prototype, "searchBoxConfig", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxConfig"), V.prototype), H(V.prototype, "searchBoxMode", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxMode"), V.prototype), H(V.prototype, "searchBoxTitle", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxTitle"), V.prototype), H(V.prototype, "searchBoxSubtitle", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxSubtitle"), V.prototype), H(V.prototype, "searchBoxBadge", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxBadge"), V.prototype), H(V.prototype, "searchBoxIcon", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxIcon"), V.prototype), H(V.prototype, "searchBoxActions", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxActions"), V.prototype), H(V.prototype, "shouldShowSearchInput", [c], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowSearchInput"), V.prototype), H(V.prototype, "shouldShowCloseButton", [c], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowCloseButton"), V.prototype), H(V.prototype, "closeButtonAction", [c], Object.getOwnPropertyDescriptor(V.prototype, "closeButtonAction"), V.prototype), H(V.prototype, "shouldShowShadow", [c], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowShadow"), V.prototype), H(V.prototype, "placeholder", [c], Object.getOwnPropertyDescriptor(V.prototype, "placeholder"), V.prototype), H(V.prototype, "searchBoxClass", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxClass"), V.prototype), H(V.prototype, "ariaLabel", [c], Object.getOwnPropertyDescriptor(V.prototype, "ariaLabel"), V.prototype), H(V.prototype, "selectSearch", [u], Object.getOwnPropertyDescriptor(V.prototype, "selectSearch"), V.prototype), H(V.prototype, "selectSearchAndFocus", [u], Object.getOwnPropertyDescriptor(V.prototype, "selectSearchAndFocus"), V.prototype), H(V.prototype, "setSearchText", [u], Object.getOwnPropertyDescriptor(V.prototype, "setSearchText"), V.prototype), H(V.prototype, "setFocused", [u], Object.getOwnPropertyDescriptor(V.prototype, "setFocused"), V.prototype), H(V.prototype, "handleBackAction", [u], Object.getOwnPropertyDescriptor(V.prototype, "handleBackAction"), V.prototype), H(V.prototype, "closeSearch", [u], Object.getOwnPropertyDescriptor(V.prototype, "closeSearch"), V.prototype), H(V.prototype, "clearActiveFilters", [u], Object.getOwnPropertyDescriptor(V.prototype, "clearActiveFilters"), V.prototype), H(V.prototype, "resetSearchButtonState", [u], Object.getOwnPropertyDescriptor(V.prototype, "resetSearchButtonState"), V.prototype), H(V.prototype, "handleSearchAction", [u], Object.getOwnPropertyDescriptor(V.prototype, "handleSearchAction"), V.prototype), H(V.prototype, "openOverlayWithoutInputFocus", [u], Object.getOwnPropertyDescriptor(V.prototype, "openOverlayWithoutInputFocus"), V.prototype), H(V.prototype, "closeSessions", [u], Object.getOwnPropertyDescriptor(V.prototype, "closeSessions"), V.prototype), H(V.prototype, "closeExhibitors", [u], Object.getOwnPropertyDescriptor(V.prototype, "closeExhibitors"), V.prototype), H(V.prototype, "resetSearchBox", [u], Object.getOwnPropertyDescriptor(V.prototype, "resetSearchBox"), V.prototype), H(V.prototype, "syncWithUIState", [u], Object.getOwnPropertyDescriptor(V.prototype, "syncWithUIState"), V.prototype), H(V.prototype, "actionButtonIcon", [c], Object.getOwnPropertyDescriptor(V.prototype, "actionButtonIcon"), V.prototype), H(V.prototype, "clearAndSelectSearch", [u], Object.getOwnPropertyDescriptor(V.prototype, "clearAndSelectSearch"), V.prototype), H(V.prototype, "backMode", [c], Object.getOwnPropertyDescriptor(V.prototype, "backMode"), V.prototype), H(V.prototype, "isMobileDetailsMode", [c], Object.getOwnPropertyDescriptor(V.prototype, "isMobileDetailsMode"), V.prototype), H(V.prototype, "shouldShowTitle", [c], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowTitle"), V.prototype), H(V.prototype, "searchState", [c], Object.getOwnPropertyDescriptor(V.prototype, "searchState"), V.prototype), V), W, Jn;
function Yn(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function G(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var K = {
selectedTracks: [],
selectedVenues: [],
selectedSpeakers: [],
date: "all",
timeOfDay: "all",
sortOrder: "desc",
use24hFormat: !1,
showBookmarksOnly: !1,
showLiveOnly: !1
}, Xn = (W = class extends xt {
constructor(e) {
super(e), Yn(this, "state", Jn, this);
}
createInitialFilters() {
let e = {};
return Object.keys(K).forEach((t) => {
e[t] = {
value: K[t],
pending: K[t]
};
}), e;
}
setSearchText(e) {
this.state.searchText = e;
}
setPending(e, t) {
this.state.filters[e].pending = t;
}
applyFilters() {
this.commitFilters(), this.updateUIState();
}
commitFilters() {
let { filters: e } = this.state, t = e.selectedTracks.value.length > 0, n = e.selectedVenues.value.length > 0;
Object.keys(e).forEach((t) => {
e[t].value = e[t].pending;
});
let r = e.selectedTracks.value.length > 0, i = e.selectedVenues.value.length > 0;
t !== r && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "tracks", t, r), n !== i && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "venues", n, i), this.state.selectedItems = [...this.state.pendingItems], this.state.isOpen = !1;
}
resetFilters() {
let { filters: e } = this.state;
Object.keys(K).forEach((t) => {
e[t].pending = K[t];
}), this.state.pendingItems = [], this.state.searchText = "";
}
resetAndApplyFilters() {
let { filters: e } = this.state, t = e.selectedTracks.value.length > 0, n = e.selectedVenues.value.length > 0;
this.resetFilters(), Object.keys(e).forEach((t) => {
e[t].value = e[t].pending;
}), t !== !1 && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "tracks", t, !1), n !== !1 && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "venues", n, !1), this.state.selectedItems = [], this.state.isOpen = !1, this.rootStore.uiState.list = {
type: "sessions",
text: "",
focused: !1
};
}
openFilter() {
this.state.isOpen = !0, this.state.pendingItems = [...this.state.selectedItems];
let { filters: e } = this.state;
Object.keys(e).forEach((t) => {
e[t].pending = e[t].value;
});
}
closeFilter() {
this.state.isOpen = !1, this.state.pendingItems = [...this.state.selectedItems];
let { filters: e } = this.state;
Object.keys(e).forEach((t) => {
e[t].pending = e[t].value;
});
}
openFilterWithSections(e) {
this.state.visibleSections = e, this.openFilter();
}
get activeFiltersCount() {
let { filters: e } = this.state, t = 0;
return Object.keys(K).forEach((n) => {
let r = e[n].value, i = K[n];
Array.isArray(i) && Array.isArray(r) ? r.length > 0 && t++ : r !== i && t++;
}), t;
}
updateUIState() {
this.rootStore.uiState.list = {
type: "sessions",
text: "",
focused: !1
}, this.rootStore.searchStore.setFocused(!0);
}
getFilteredItems() {
return [];
}
}, Jn = G(W.prototype, "state", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
isOpen: !1,
selectedItems: [],
pendingItems: [],
searchText: "",
visibleSections: [
"tracks",
"venues",
"speakers",
"date",
"time",
"sort",
"settings"
],
filters: this.createInitialFilters()
};
}
}), G(W.prototype, "setSearchText", [u], Object.getOwnPropertyDescriptor(W.prototype, "setSearchText"), W.prototype), G(W.prototype, "setPending", [u], Object.getOwnPropertyDescriptor(W.prototype, "setPending"), W.prototype), G(W.prototype, "applyFilters", [u], Object.getOwnPropertyDescriptor(W.prototype, "applyFilters"), W.prototype), G(W.prototype, "commitFilters", [u], Object.getOwnPropertyDescriptor(W.prototype, "commitFilters"), W.prototype), G(W.prototype, "resetFilters", [u], Object.getOwnPropertyDescriptor(W.prototype, "resetFilters"), W.prototype), G(W.prototype, "resetAndApplyFilters", [u], Object.getOwnPropertyDescriptor(W.prototype, "resetAndApplyFilters"), W.prototype), G(W.prototype, "openFilter", [u], Object.getOwnPropertyDescriptor(W.prototype, "openFilter"), W.prototype), G(W.prototype, "closeFilter", [u], Object.getOwnPropertyDescriptor(W.prototype, "closeFilter"), W.prototype), G(W.prototype, "openFilterWithSections", [u], Object.getOwnPropertyDescriptor(W.prototype, "openFilterWithSections"), W.prototype), G(W.prototype, "activeFiltersCount", [c], Object.getOwnPropertyDescriptor(W.prototype, "activeFiltersCount"), W.prototype), W), Zn = class {
constructor() {
this.providers = /* @__PURE__ */ new Map(), this.activationOrder = /* @__PURE__ */ new Map();
}
register(e) {
if (!(e != null && e.id)) throw Error("Provider must have a valid id");
this.providers.set(e.id, e);
}
unregister(e) {
this.providers.delete(e), this.activationOrder.delete(e);
}
getShortcuts(e) {
let t = this.providers.get(e);
if (!t) return [];
let n = t.createShortcuts(), r = this.activationOrder.get(e);
return r ? this.sortShortcuts(n, r) : n;
}
sortShortcuts(e, t) {
let n = new Map(t.map((e, t) => [e, t]));
return e.sort((e, t) => {
if (e.active !== t.active) return e.active ? -1 : 1;
if (e.active && t.active) {
let r = n.get(e.id), i = n.get(t.id);
return r !== void 0 && i !== void 0 ? r - i : (r === void 0 ? 0 : -1) - (i === void 0 ? 0 : -1);
}
return 0;
});
}
handleShortcutClick(e, t) {
var n;
let r = this.providers.get(e);
if (!r) return;
let i = r.createShortcuts().find((e) => e.id === t), a = (n = i == null ? void 0 : i.active) != null && n;
r.handleShortcutClick(t);
let o = this.isShortcutActive(r, t);
this.reportClick(i, a, o), a !== o && this.updateActivationOrder(e, t, a, o);
}
reportClick(e, t, n) {
if (!e || !(e.action === "custom" || !t && n)) return;
let r = e.label || e.id;
r && He("sbtnview", r, "shortcut");
}
isShortcutActive(e, t) {
var n, r;
return (n = (r = e.createShortcuts().find((e) => e.id === t)) == null ? void 0 : r.active) != null && n;
}
handleShortcutReset(e, t) {
let n = this.providers.get(e);
if (!(n != null && n.handleShortcutReset)) return;
n.handleShortcutReset(t);
let r = this.activationOrder.get(e);
r != null && r.includes(t) && this.updateActivationOrder(e, t, !0, !1);
}
updateActivationOrder(e, t, n, r) {
let i = this.activationOrder.get(e) || [], a;
if (!n && r) a = i.includes(t) ? i : [...i, t];
else if (n && !r) a = i.filter((e) => e !== t);
else return;
a.length > 0 ? this.activationOrder.set(e, a) : this.activationOrder.delete(e);
}
updateActivationOrderFromState(e, t, n, r) {
this.updateActivationOrder(e, t, n, r);
}
shouldShowShortcuts(e) {
var t, n;
let r = this.providers.get(e);
return (t = r == null || (n = r.shouldShowShortcuts) == null ? void 0 : n.call(r)) == null || t;
}
getRegisteredProviders() {
return Array.from(this.providers.keys());
}
isProviderRegistered(e) {
return this.providers.has(e);
}
clear() {
this.providers.clear(), this.activationOrder.clear();
}
}, q, Qn, $n, J, er;
function tr(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function Y(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var nr = (q = class {
constructor(e) {
tr(this, "value", Qn, this), tr(this, "pending", $n, this), this.value = e, this.pending = e;
}
setValue(e) {
this.pending = e;
}
apply() {
this.value = this.pending;
}
reset() {
this.pending = this.value;
}
}, Qn = Y(q.prototype, "value", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), $n = Y(q.prototype, "pending", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), Y(q.prototype, "setValue", [u], Object.getOwnPropertyDescriptor(q.prototype, "setValue"), q.prototype), Y(q.prototype, "apply", [u], Object.getOwnPropertyDescriptor(q.prototype, "apply"), q.prototype), Y(q.prototype, "reset", [u], Object.getOwnPropertyDescriptor(q.prototype, "reset"), q.prototype), q), rr = (J = class {
constructor(e) {
this.rootStore = void 0, tr(this, "state", er, this), this.rootStore = e;
}
get activeFiltersCount() {
let e = 0, { filters: t } = this.state;
return t.selectedCompanies.value.length > 0 && e++, t.selectedJobTitles.value.length > 0 && e++, e;
}
applyFilters() {
let { filters: e } = this.state;
e.selectedCompanies.apply(), e.selectedJobTitles.apply(), this.closeFilter();
}
resetFilters() {
let { filters: e } = this.state;
e.selectedCompanies.pending = [], e.selectedJobTitles.pending = [];
}
resetAndApplyFilters() {
this.resetFilters(), this.applyFilters();
}
clearAllFilters() {
let { filters: e } = this.state;
e.selectedCompanies.pending = [], e.selectedJobTitles.pending = [], e.selectedCompanies.value = [], e.selectedJobTitles.value = [];
}
openFilter() {
this.state.isOpen = !0;
}
closeFilter() {
this.state.isOpen = !1;
}
openFilterWithSections(e) {
this.state.visibleSections = e, this.openFilter();
}
setPending(e, t) {
this.state.filters[e].setValue(t);
}
toggleCompanyFilter(e) {
let { selectedCompanies: t } = this.state.filters, n = t.value;
n.includes(e) ? t.setValue(n.filter((t) => t !== e)) : t.setValue([...n, e]);
}
toggleJobTitleFilter(e) {
let { selectedJobTitles: t } = this.state.filters, n = t.value;
n.includes(e) ? t.setValue(n.filter((t) => t !== e)) : t.setValue([...n, e]);
}
getDefaultValues() {
return {
selectedCompanies: [],
selectedJobTitles: []
};
}
}, er = Y(J.prototype, "state", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
isOpen: !1,
filters: {
selectedCompanies: new nr([]),
selectedJobTitles: new nr([])
},
visibleSections: ["companies", "jobTitles"]
};
}
}), Y(J.prototype, "activeFiltersCount", [c], Object.getOwnPropertyDescriptor(J.prototype, "activeFiltersCount"), J.prototype), Y(J.prototype, "applyFilters", [u], Object.getOwnPropertyDescriptor(J.prototype, "applyFilters"), J.prototype), Y(J.prototype, "resetFilters", [u], Object.getOwnPropertyDescriptor(J.prototype, "resetFilters"), J.prototype), Y(J.prototype, "resetAndApplyFilters", [u], Object.getOwnPropertyDescriptor(J.prototype, "resetAndApplyFilters"), J.prototype), Y(J.prototype, "clearAllFilters", [u], Object.getOwnPropertyDescriptor(J.prototype, "clearAllFilters"), J.prototype), Y(J.prototype, "openFilter", [u], Object.getOwnPropertyDescriptor(J.prototype, "openFilter"), J.prototype), Y(J.prototype, "closeFilter", [u], Object.getOwnPropertyDescriptor(J.prototype, "closeFilter"), J.prototype), Y(J.prototype, "openFilterWithSections", [u], Object.getOwnPropertyDescriptor(J.prototype, "openFilterWithSections"), J.prototype), Y(J.prototype, "setPending", [u], Object.getOwnPropertyDescriptor(J.prototype, "setPending"), J.prototype), Y(J.prototype, "toggleCompanyFilter", [u], Object.getOwnPropertyDescriptor(J.prototype, "toggleCompanyFilter"), J.prototype), Y(J.prototype, "toggleJobTitleFilter", [u], Object.getOwnPropertyDescriptor(J.prototype, "toggleJobTitleFilter"), J.prototype), J), ir = {
uitestdemo: [{
id: "connected-business-tour",
layers: [{
floor: "1",
id: "Pathway_1"
}, {
floor: "2",
id: "Pathway_2"
}],
name: "Connected Business Tour",
points: [
"2345",
"coffee-or-2119",
"11-or-1289"
]
}],
uitest2026: [
{
id: "knowledge-trail",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "Knowledge Trail",
description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
points: [
"2345",
"coffee-or-2119",
"11-or-1289",
"255",
"729"
]
},
{
id: "vip-express",
layers: [{
floor: "1",
id: "Pathway_2"
}],
name: "VIP Express",
description: "A reserved route created specifically for VIP guests, allowing them to move efficiently between exclusive areas without interruptions. It connects the VIP Lounge with private meeting rooms and a dedicated exit, ensuring comfort, privacy, and quick access to high-priority zones throughout the event.",
points: [
"365",
"burger-point",
"backyard-or-1813",
"2122",
"2164",
"mp12",
"11-or-1289"
]
},
{
id: "startup-discovery-walk",
layers: [{
floor: "1",
id: "Pathway_3"
}],
name: "Startup Discovery Walk",
description: "A route designed for attendees interested in exploring the newest and most innovative companies. It guides visitors through the Innovation Hub and Startup Pavilion, finishing at the Pitch Stage where emerging businesses showcase their ideas. This path helps attendees quickly discover fresh solutions and connect with founders shaping the future of logistics and supply chain.",
points: [
"mc7",
"1895",
"coffee-or-2183",
"2345",
"innovation-stage-or-1303",
"biergarten-or-620",
"spa-or-573"
]
},
{
id: "global-networking-path",
layers: [{
floor: "1",
id: "Pathway_4"
}],
name: "Global Networking Path",
description: "Created for participants who want to expand their global connections. This route leads from the Main Hall to the International Pavilion, highlighting exhibitors from around the world, and continues to the Networking Lounge. It ensures a smooth flow for meeting international partners, discovering global solutions, and engaging in meaningful business conversations.",
points: [
"puppy-park-or-184",
"ocado-intelligent-automation",
"533",
"mocktails-or-941",
"infios",
"slip-robotics",
"penske-transportation-solutions",
"headshot-studio-or-1988",
"coffee-or-2183"
]
}
],
uitestimex: [{
id: "startup-discovery-walk",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "Startup Discovery Walk",
description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
points: [
"84624",
"E1235",
"E1817",
"E2105"
]
}, {
id: "tech-innovation-trail",
layers: [{
floor: "1",
id: "Pathway_2"
}],
name: "Tech Innovation Trail",
description: "Focuses on technology exhibitors — mapping a route through companies offering event management software, AI tools, and digital signage solutions. Great for testing longer routes with multiple stops.",
points: [
"84628",
"95111",
"E1905",
"39440",
"91811",
"40760",
"10651"
]
}],
ifaberlin2025clone: [{
id: "knowledge-trail",
layers: [{
floor: "1",
id: "Pathway_2"
}],
name: "Knowledge Trail",
description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
points: [
"gr-ocg-107",
"gr-ocg-109",
"gr-ocg-102",
"gr-ocg-104",
"gr-ocg-106",
"gr-ocg-111",
"gr-ocg-110",
"Seating Lounge | Outdoor 1"
]
}],
demo: [{
id: "the-green-journey",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "The Green Journey — From Idea to Implementation",
description: "Embark on a curated journey through the exhibition’s most innovative sustainability zones. This tour highlights how modern industries rethink construction, manufacturing, and waste transformation to create a cleaner future. You’ll explore cutting-edge eco-materials, smart production methods, and next-generation recycling technologies — with a few pleasant stops along the way. The route ends in a relaxing lounge area, perfect for unwinding and reflecting on the ideas you’ve discovered.",
points: [
"RXhoaWJpdG9yXzE4OTc5ODY=",
"RXhoaWJpdG9yXzE4OTc5NTg=",
"RXhoaWJpdG9yXzE4OTc5Mzk=",
"RXhoaWJpdG9yXzE4OTc5Mjc=",
"Coffe Bar | Hall 5.1"
]
}],
wcc2026: [
{
id: "learning-on-show-floor",
layers: [{
floor: "L",
id: "Pathway_1"
}],
name: "Learning on show floor",
points: [
"Space Domain Theater | 723",
"3307",
"Unveiled Theater | 2241"
]
},
{
id: "networking-on-show-floor",
layers: [{
floor: "L",
id: "Pathway_2"
}],
name: "Networking on show floor",
points: [
"Restaurant | 406",
"Meeting Hub | 636",
"Brew Lounge | 1163"
]
},
{
id: "welcome-and-information-journey",
layers: [
{
floor: "1",
id: "Pathway_5"
},
{
floor: "3",
id: "Pathway_3"
},
{
floor: "2",
id: "Pathway_4"
},
{
floor: "C",
id: "Pathway_6"
}
],
name: "Welcome and Information Journey",
description: "Follow this route to get oriented, find visitor services, complete registration, and enter the exhibition hall."
}
],
lamma2026: [{
id: "innovation-trail",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "Innovation Trail",
points: [
"12120485",
"12120827",
"12120497",
"15552598",
"15552695",
"15552538",
"12120220",
"15552729",
"15784756",
"15552462",
"12120351",
"15552470"
]
}],
fdhw2026: [
{
id: "association-of-convenience-stores-trail",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "Association of Convenience Stores Trail",
description: "Show: IFE.\nData Types Allowed to View: IFE Visitors / IFE Suppliers / IFE Press / IFEM Visitors / IFEM Suppliers / IFEM Press.",
points: [
"16282530",
"16282664",
"16572191",
"16282882",
"16572254",
"16282294",
"16282527",
"16282319",
"16445163"
]
},
{
id: "newbies-at-the-pub-show",
layers: [{
floor: "1",
id: "Pathway_2"
}],
name: "Newbies at The Pub Show",
description: "Show: The Pub Show.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
points: [
"16282289",
"16282507",
"16282613",
"16282283",
"16282382",
"16282792",
"16830654",
"16282656",
"16282309",
"16282902",
"16282450",
"16283034",
"16282743",
"16572201",
"16282279",
"16369552",
"16282392",
"16282603"
]
},
{
id: "chef-steve-munkley-mbe-s-top-picks",
layers: [{
floor: "1",
id: "Pathway_3"
}],
name: "Chef Steve Munkley MBE's Top Picks",
description: "Show: HRC.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
points: [
"16282438",
"16282525",
"16282753",
"16282554",
"16282784",
"16282440",
"16282479",
"16282833",
"PastryHQ | S1290",
"16282914",
"16282776"
]
},
{
id: "radford-chancellor-s-must-see-exhibitors",
layers: [{
floor: "1",
id: "Pathway_4"
}],
name: "Radford Chancellor's Must See Exhibitors",
description: "Show: HRC.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
points: [
"16282429",
"16283073",
"16600529"
]
},
{
id: "anna-sebastian-s-top-tipples",
layers: [{
floor: "1",
id: "Pathway_5"
}],
name: "Anna Sebastian's Top Tipples",
description: "Show: HRC & The Pub Show.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
points: [
"16282311",
"16445141",
"16837929",
"16369552",
"16282279",
"16282289",
"16282603"
]
},
{
id: "fcsi-members-trail",
layers: [{
floor: "1",
id: "Pathway_6"
}],
name: "\xA0FCSI Members Trail",
points: [
"16282429",
"16600529",
"16282606",
"16282806",
"16282745",
"16282964"
]
}
],
retailtechnologyshow2026: [{
id: "innovation-awards-finalists",
layers: [{
floor: "1",
id: "Pathway_1"
}],
name: "Innovation Awards Finalists",
points: [
"Business France | K10",
"16528837",
"16528943",
"16528881",
"16528816",
"16529021",
"16529050",
"16528953",
"16528893",
"16529071"
]
}, {
id: "zebra-partners-scavenger-hunt",
layers: [{
floor: "1",
id: "Pathway_2"
}],
name: "Zebra Partners Scavenger Hunt",
points: [
"16528708",
"16528793",
"16529002",
"16529036",
"16529030",
"16529038",
"16528903",
"16528855",
"16528716",
"16528967",
"16528895",
"16529088",
"16529055",
"16529024"
]
}]
}, X, ar, or, sr, cr;
function lr(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function Z(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var ur = 1, dr = (X = class {
constructor(e) {
this.rootStore = void 0, lr(this, "tours", ar, this), lr(this, "currentExpo", or, this), lr(this, "hasTours", sr, this), lr(this, "toursLoadError", cr, this), this.rootStore = e, this.loadTours();
}
loadTours() {
try {
if (this.currentExpo = we.EXPO || "default", this.toursLoadError = null, !this.isValidToursData(ir)) {
this.toursLoadError = "Invalid tours data format", this.resetTours();
return;
}
let e = ir[this.currentExpo] || [];
if (!this.validateToursStructure(e)) {
this.toursLoadError = "Invalid tour items structure", this.resetTours();
return;
}
this.tours = e, this.hasTours = e.length > 0;
} catch (e) {
console.error("Error loading tours:", e), this.toursLoadError = e instanceof Error ? e.message : "Failed to load tours", this.resetTours();
}
}
resetTours() {
this.tours = [], this.hasTours = !1;
}
isValidToursData(e) {
return typeof e == "object" && !!e && !Array.isArray(e);
}
validateToursStructure(e) {
return Array.isArray(e) ? e.every((e) => e && typeof e == "object" && typeof e.id == "string" && Array.isArray(e.layers) && e.layers.length >= ur && (e.points === void 0 || Array.isArray(e.points))) : !1;
}
get tourItems() {
return this.tours;
}
getTourById(e) {
return this.tours.find((t) => t.id === e);
}
getToursByPoint(e) {
return this.tours.filter((t) => {
var n;
return (n = t.points) == null ? void 0 : n.includes(e);
});
}
getToursForExpo(e) {
return this.isValidToursData(ir) && ir[e] || [];
}
get currentTour() {
let { list: e } = this.rootStore.uiState;
return e.type !== "multi-point-tour" || !this.isMultiPointTourList(e) ? null : this.getTourById(e.tourId) || null;
}
isMultiPointTourList(e) {
return e.type === "multi-point-tour" && typeof e.tourId == "string";
}
get isActive() {
return this.rootStore.uiState.list.type === "multi-point-tour";
}
get tourLayers() {
let e = this.currentTour;
return e ? e.layers.map((e) => this.rootStore.layerStore.findLayer(e.floor)).filter((e) => e != null) : [];
}
getTourLayerInfo(e) {
let t = this.currentTour;
if (t) return t.layers.find((t) => {
let n = this.rootStore.layerStore.findLayer(t.floor);
return n && (n.name === e || n.description === e);
});
}
launchTour(e, t, n) {
let r = this.validateTourForLaunch(e);
if (r) return console.warn(`Cannot launch tour: ${r}`), !1;
let i = e.layers[0].id, a = e.layers[0].floor;
return e.points && e.points.length > 0 ? this.rootStore.fp.showPathway(i, e.points) : this.rootStore.fp.showPathwayOnly(i, a), this.rootStore.uiState.setTourTitle(t), this.rootStore.uiState.setTourDescription(n), this.rootStore.uiState.setIsMultiPointTour(!0), this.rootStore.uiState.setMultiPointTourList(e.id), window.setTimeout(() => {
this.rootStore.showMap();
}, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50), !0;
}
validateTourForLaunch(e) {
return e.layers.length < ur ? `Tour must have at least ${ur} layer` : null;
}
stopTour() {
this.rootStore.uiState.setIsMultiPointTour(!1), this.rootStore.uiState.setPathwayOnlyMode(!1);
let e = this.rootStore.uiState.list.type;
(e === "tours" || e === "multi-point-tour") && (this.rootStore.uiState.list = {
type: "search",
text: "",
focused: !1
}), this.rootStore.fp.hidePathways();
}
}, ar = Z(X.prototype, "tours", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), or = Z(X.prototype, "currentExpo", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return "";
}
}), sr = Z(X.prototype, "hasTours", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), cr = Z(X.prototype, "toursLoadError", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Z(X.prototype, "loadTours", [u], Object.getOwnPropertyDescriptor(X.prototype, "loadTours"), X.prototype), Z(X.prototype, "resetTours", [u], Object.getOwnPropertyDescriptor(X.prototype, "resetTours"), X.prototype), Z(X.prototype, "tourItems", [c], Object.getOwnPropertyDescriptor(X.prototype, "tourItems"), X.prototype), Z(X.prototype, "currentTour", [c], Object.getOwnPropertyDescriptor(X.prototype, "currentTour"), X.prototype), Z(X.prototype, "isActive", [c], Object.getOwnPropertyDescriptor(X.prototype, "isActive"), X.prototype), Z(X.prototype, "tourLayers", [c], Object.getOwnPropertyDescriptor(X.prototype, "tourLayers"), X.prototype), Z(X.prototype, "launchTour", [u], Object.getOwnPropertyDescriptor(X.prototype, "launchTour"), X.prototype), Z(X.prototype, "stopTour", [u], Object.getOwnPropertyDescriptor(X.prototype, "stopTour"), X.prototype), X), Q, fr, pr;
function mr(e, t, n, r) {
n && Object.defineProperty(e, t, {
enumerable: n.enumerable,
configurable: n.configurable,
writable: n.writable,
value: n.initializer ? n.initializer.call(r) : void 0
});
}
function $(e, t, n, r, i) {
var a = {};
return Object.keys(r).forEach(function(e) {
a[e] = r[e];
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
return r(e, t, n) || n;
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
}
var hr = (Q = class {
setResetCameraFn(e) {
this.resetCameraFn = e;
}
constructor() {
this.categoryStore = void 0, this.exhibitorStore = void 0, this.boothStore = void 0, this.uiState = void 0, this.overlayStore = void 0, this.routeStore = void 0, this.routePlannerStore = void 0, this.toursStore = void 0, this.maplibreStore = void 0, this.layerStore = void 0, this.intercomStore = void 0, this.eventStore = void 0, this.poiTypeStore = void 0, this.poiMarkerStore = void 0, this.heatmapStore = void 0, this.fuzzySearchEngineStore = void 0, this.categoryFilterStore = void 0, this.sessionsFilterStore = void 0, this.speakerStore = void 0, this.speakerFilterStore = void 0, this.searchStore = void 0, this.searchButtonsStore = void 0, this.bookmarksStore = void 0, this.urlFilterManager = void 0, this.shortcutRegistry = void 0, this.fp = void 0, mr(this, "initialized", fr, this), mr(this, "resetCameraFn", pr, this), this.categoryStore = new ae(this), this.exhibitorStore = new Ee(this), this.boothStore = new Pe(this), this.routeStore = new Be(this), this.routePlannerStore = new Cn(this), this.toursStore = new dr(this), this.uiState = new ue(this), this.overlayStore = new Zt(this), this.maplibreStore = new Yt(this), this.layerStore = new je(), this.intercomStore = new Lt(), this.eventStore = new re(this), this.heatmapStore = new te(), this.poiTypeStore = new sn(this), this.poiMarkerStore = new on(this), this.fuzzySearchEngineStore = new Mt([
"name",
"title",
"fullName",
"booths.name"
]), this.categoryFilterStore = new Dt(this), this.sessionsFilterStore = new Xn(this), this.speakerStore = new le(this), this.speakerFilterStore = new rr(this), this.searchStore = new qn(this), this.searchButtonsStore = new Vn(this), this.bookmarksStore = new vt(this), this.urlFilterManager = new gt(this), this.shortcutRegistry = new Zn(), this.registerShortcutProviders();
}
selectExhibitor(e, t = !0) {
this.uiState.hoveredExhibitor = null, this.uiState.details = e;
var n = e.booths.filter((e) => e.visible), r = e.booths.filter((e) => !e.visible);
!n.length && r.length && this.layerStore.updateVisibility(r[0].layer, !0), t && setTimeout(() => this.moveToList(e.booths.filter((e) => e.visible)), d || f ? 500 : 50);
}
selectBooth(e, t = !0) {
var n, r;
let i = Array.isArray(e) ? e : [e];
this.uiState.details = (n = i[0]) == null ? null : n, i.length === 1 && (r = i[0].schedule) != null && r.length && (this.uiState.desiredOverlaySize = "medium"), i.length === 1 && i[0].layer && !i[0].visible && this.layerStore.mode === Ne.Radio && this.layerStore.updateVisibility(i[0].layer, !0), t && setTimeout(() => this.moveToList(i), d || f ? 500 : 50);
}
reset() {
let e = window.__searchi;
e && e.querySelector && e.querySelector("input[type=search]") && e.querySelector("input[type=search]").blur && e.querySelector("input[type=search]").blur(), window.setTimeout(() => {
this.uiState.setKioskModeEnabled || n().then(() => {
ee(() => {
var e;
this.selectSearch(""), this.uiState.details = null, (e = this.resetCameraFn) == null || e.call(this), this.uiState.menu = !1, this.searchStore.resetSearchBox(), this.searchButtonsStore.clearAllFilters();
}), setTimeout(() => {
ee(() => {
this.uiState.inIdle = !0;
});
}, 100);
});
}, 1e3);
}
selectNone() {
window.__resett && window.__resett(), this.uiState.details = this.uiState.selectedCategory;
}
selectBookmarks() {
this.uiState.details = null, this.uiState.list = { type: "bookmarks" };
}
selectVisited() {
this.uiState.details = null, this.uiState.list = { type: "visited" };
}
selectLanguage() {
this.uiState.details = null, this.uiState.list = { type: e };
}
selectCategory(e) {
var t;
window.__resett && window.__resett(), this.uiState.details = e, this.uiState.list = {
type: "category",
category: e
}, this.uiState.desiredOverlaySize = "full", e.exhibitors.find((e) => e.booths.find((e) => e.visible)) || this.layerStore.updateVisibility((t = e.exhibitors[0]) == null || (t = t.booths[0]) == null ? void 0 : t.layer, !0), setTimeout(() => {
this.uiState.moveToBooths = e.exhibitors.filter((e) => e.booths.find((e) => e.visible)).flatMap((e) => e.booths);
}, 200);
}
selectEventItem(e, t = !0) {
if (this.uiState.hoveredExhibitor = null, this.uiState.details = e, this.uiState.desiredOverlaySize = "medium", e.boothId) {
let t = this.boothStore.booths.find((t) => t.id === e.boothId);
t && t.layer && !t.visible && this.layerStore.mode === Ne.Radio && this.layerStore.updateVisibility(t.layer, !0);
}
t && setTimeout(() => {
if (e.boothId) {
let t = this.boothStore.booths.find((t) => t.id === e.boothId);
t && this.moveToList([t]);
}
}, d || f ? 500 : 50);
}
selectSearch(e) {
window.__resett && window.__resett(), this.uiState.details = null, this.speakerStore.clearSelectedSpeaker(), this.uiState.list = {
type: "search",
text: ce(e, Object.keys(this.uiState.mapSettings).map((e) => `${e}=`)),
focused: !1
}, this.uiState.activeListIndex = -1;
}
clickBookmarks() {
window.__resett && window.__resett(), this.uiState.menu = !1, this.selectBookmarks(), this.moveToList(), this.showMap();
}
clickVisited() {
window.__resett && window.__resett(), this.uiState.menu = !1, this.selectVisited(), this.moveToList(), this.showMap();
}
clickLanguage() {
window.__resett && window.__resett(), this.uiState.menu = !1, this.selectLanguage();
}
clickCategory(e) {
window.__resett && window.__resett(), this.uiState.menu = !1, this.selectCategory(e), this.uiState.onCategoryClick && this.uiState.onCategoryClick({
id: e.id,
name: e.name,
exhibitors: e.exhibitors.map((e) => e.id)
}), setTimeout(() => {
this.moveToList(), this.showMap();
}, 100);
}
clickSeminars() {
this.clickCategory(this.categoryStore.seminarsCategory);
}
clickBoothInList(e) {
window.__resett && window.__resett(), this.uiState.hoveredBooth = null, this.selectBooth(e), this.moveToList([e]), this.showMap();
}
clickBoothInList2(e) {
window.__resett && window.__resett(), this.uiState.hoveredBooth = null, this.selectBooth(e, !1), window.setTimeout(() => {
this.moveToList([e]), this.showMap();
}, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50);
}
clickBooth(e) {
var t, n, r, i;
let a = this.uiState.details;
if (this.uiState.menu = !1, this.uiState.list.type === "sessions" && this.searchStore.selectSearch(), this.uiState.list.type === "speakers" && this.searchStore.selectSearch(), this.uiState.list.type === "tours" && this.searchStore.selectSearch(), this.uiState.list.type === "multi-point-tour" && this.searchStore.selectSearch(), !((t = this.uiState.selectedRoute) != null && t.from && (n = this.uiState.selectedRoute) != null && n.to)) {
if ((r = this.uiState.selectedRoute) != null && r.to && !((i = this.uiState.selectedRoute) != null && i.from) && e) {
this.routeStore.setStartPoint(e);
return;
}
if (e) this.routeStore.tempToBooth = e;
else {
this.uiState.details = null, this.fp.hidePathways(), this.uiState.list = {
type: "search",
text: "",
focused: !1
}, this.uiState.onBoothClick && this.uiState.onBoothClick({ target: null });
return;
}
if (this.uiState.onBoothClick) {
let t = {
name: "",
description: ""
}, n = { target: {
...e,
layer: e.layer || t
} };
this.uiState.onBoothClick(n);
}
if (e.exhibitors.length === 1 && e instanceof Me) {
let t = e.exhibitors[0];
a === t ? ze(Ve.ViewBooth, e.name) : this.heatmapStore.forceTrack = {
action: Ve.ViewBooth,
label: e.name,
exhibitor: t
}, this.selectExhibitor(t, !1);
} else a === e && ze(Ve.ViewBooth, e.name), this.selectBooth(e, !1);
this.showMap();
}
}
clickExhibitor2(e) {
this.selectExhibitor(e, !0), this.showMap();
}
clickExhibitor(e) {
window.setTimeout(() => {
this.clickExhibitor2(e);
}, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50);
}
showMap() {
this.uiState.overlayPosition === "bottom" && ye && (this.uiState.desiredOverlaySize = "medium");
}
showOverlay() {
this.uiState.overlayPosition === "bottom" && (this.uiState.desiredOverlaySize = "full");
}
toggleMapOverlay() {
this.uiState.overlayPosition === "bottom" && this.uiState.overlaySize === "full" ? this.uiState.desiredOverlaySize = "medium" : this.uiState.overlayPosition === "bottom" && this.uiState.overlaySize !== "full" && (this.uiState.desiredOverlaySize = "full");
}
moveToList(e) {
e = e || this.uiState.listItems;
let t = [];
e.forEach((e) => {
if (e instanceof Oe) t.push(...e.booths.filter((e) => e.visible));
else if (e instanceof De) e.visible && t.push(e);
else if (e instanceof ne && e.boothId) {
let n = this.boothStore.boothById.get(e.boothId);
n != null && n.visible && t.push(n);
} else e instanceof oe && this.speakerStore.getEventsBySpeaker(e.id).forEach((e) => {
if (!e.boothId) return;
let n = this.boothStore.boothById.get(e.boothId);
n != null && n.visible && t.push(n);
});
}), this.uiState.moveToBooths = t;
}
moveToExhibitor(e) {
this.moveToList([e]);
}
changeActiveListIndex(e) {
let t = this.uiState.activeListIndex + e;
t = Math.max(0, Math.min(this.uiState.listItems.length - 1, t)), this.uiState.activeListIndex = t;
}
toggleModal(e) {
this.uiState.modalActive[e] = !this.uiState.modalActive[e];
}
openGallery() {
this.uiState.galleryActive = !0;
}
closeGallery() {
this.uiState.galleryActive = !1;
}
openActiveListItem() {
let e = this.uiState.listItems[this.uiState.activeListIndex];
e && (s.log("Opening", e), e instanceof Oe ? this.clickExhibitor(e) : e instanceof se ? this.clickCategory(e) : e instanceof De && this.clickBoothInList2(e));
}
toggleCategoryFilter() {
this.uiState.categoryFilterOpen = !this.uiState.categoryFilterOpen;
}
applyCategoryFilters(e) {
this.uiState.selectedCategoryFilters = e, this.uiState.categoryFilterOpen = !1;
}
get filteredExhibitors() {
return this.uiState.selectedCategoryFilters.length === 0 ? this.exhibitorStore.exhibitors : this.exhibitorStore.exhibitors.filter((e) => this.uiState.selectedCategoryFilters.some((t) => e.categories.some((e) => e.id === t.id)));
}
selectSessions() {
this.uiState.list = {
type: "sessions",
text: "",
focused: !1
}, this.uiState.menu = !1, this.uiState.selectedTrack = null, this.searchButtonsStore.setSubButtonId(null), this.searchButtonsStore.subButtonsEnabled && this.searchButtonsStore.showSubButtons("sessions"), f && (this.uiState.desiredOverlaySize = "full");
}
selectExhibitors() {
this.uiState.list = {
type: "exhibitors",
text: "",
focused: !1
}, this.uiState.menu = !1, f && (this.uiState.desiredOverlaySize = "full");
}
selectTours() {
this.uiState.list = {
type: "tours",
text: "",
focused: !1
}, this.uiState.menu = !1, f && (this.uiState.desiredOverlaySize = "full");
}
selectSpeakers() {
this.uiState.list = {
type: "speakers",
text: "",
focused: !1
}, this.uiState.menu = !1, f && (this.uiState.desiredOverlaySize = "full");
}
selectSpeaker(e, t = !0) {
this.speakerStore.selectSpeaker(e, t);
}
resetFilters() {
this.searchButtonsStore.clearAllFilters();
}
registerShortcutProviders() {
this.shortcutRegistry.register(new mn(this)), this.shortcutRegistry.register(new _n(this)), this.shortcutRegistry.register(new dn(this));
}
}, fr = $(Q.prototype, "initialized", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), pr = $(Q.prototype, "resetCameraFn", [l], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), $(Q.prototype, "setResetCameraFn", [u], Object.getOwnPropertyDescriptor(Q.prototype, "setResetCameraFn"), Q.prototype), $(Q.prototype, "selectExhibitor", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectExhibitor"), Q.prototype), $(Q.prototype, "selectBooth", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectBooth"), Q.prototype), $(Q.prototype, "reset", [u], Object.getOwnPropertyDescriptor(Q.prototype, "reset"), Q.prototype), $(Q.prototype, "selectNone", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectNone"), Q.prototype), $(Q.prototype, "selectBookmarks", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectBookmarks"), Q.prototype), $(Q.prototype, "selectVisited", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectVisited"), Q.prototype), $(Q.prototype, "selectLanguage", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectLanguage"), Q.prototype), $(Q.prototype, "selectCategory", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectCategory"), Q.prototype), $(Q.prototype, "selectEventItem", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectEventItem"), Q.prototype), $(Q.prototype, "selectSearch", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectSearch"), Q.prototype), $(Q.prototype, "clickBookmarks", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickBookmarks"), Q.prototype), $(Q.prototype, "clickVisited", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickVisited"), Q.prototype), $(Q.prototype, "clickLanguage", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickLanguage"), Q.prototype), $(Q.prototype, "clickCategory", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickCategory"), Q.prototype), $(Q.prototype, "clickSeminars", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickSeminars"), Q.prototype), $(Q.prototype, "clickBoothInList", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickBoothInList"), Q.prototype), $(Q.prototype, "clickBoothInList2", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickBoothInList2"), Q.prototype), $(Q.prototype, "clickBooth", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickBooth"), Q.prototype), $(Q.prototype, "clickExhibitor2", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickExhibitor2"), Q.prototype), $(Q.prototype, "clickExhibitor", [u], Object.getOwnPropertyDescriptor(Q.prototype, "clickExhibitor"), Q.prototype), $(Q.prototype, "showMap", [u], Object.getOwnPropertyDescriptor(Q.prototype, "showMap"), Q.prototype), $(Q.prototype, "showOverlay", [u], Object.getOwnPropertyDescriptor(Q.prototype, "showOverlay"), Q.prototype), $(Q.prototype, "toggleMapOverlay", [u], Object.getOwnPropertyDescriptor(Q.prototype, "toggleMapOverlay"), Q.prototype), $(Q.prototype, "moveToList", [u], Object.getOwnPropertyDescriptor(Q.prototype, "moveToList"), Q.prototype), $(Q.prototype, "moveToExhibitor", [u], Object.getOwnPropertyDescriptor(Q.prototype, "moveToExhibitor"), Q.prototype), $(Q.prototype, "changeActiveListIndex", [u], Object.getOwnPropertyDescriptor(Q.prototype, "changeActiveListIndex"), Q.prototype), $(Q.prototype, "toggleModal", [u], Object.getOwnPropertyDescriptor(Q.prototype, "toggleModal"), Q.prototype), $(Q.prototype, "openGallery", [u], Object.getOwnPropertyDescriptor(Q.prototype, "openGallery"), Q.prototype), $(Q.prototype, "closeGallery", [u], Object.getOwnPropertyDescriptor(Q.prototype, "closeGallery"), Q.prototype), $(Q.prototype, "openActiveListItem", [u], Object.getOwnPropertyDescriptor(Q.prototype, "openActiveListItem"), Q.prototype), $(Q.prototype, "toggleCategoryFilter", [u], Object.getOwnPropertyDescriptor(Q.prototype, "toggleCategoryFilter"), Q.prototype), $(Q.prototype, "applyCategoryFilters", [u], Object.getOwnPropertyDescriptor(Q.prototype, "applyCategoryFilters"), Q.prototype), $(Q.prototype, "filteredExhibitors", [c], Object.getOwnPropertyDescriptor(Q.prototype, "filteredExhibitors"), Q.prototype), $(Q.prototype, "selectSessions", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectSessions"), Q.prototype), $(Q.prototype, "selectExhibitors", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectExhibitors"), Q.prototype), $(Q.prototype, "selectTours", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectTours"), Q.prototype), $(Q.prototype, "selectSpeakers", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectSpeakers"), Q.prototype), $(Q.prototype, "selectSpeaker", [u], Object.getOwnPropertyDescriptor(Q.prototype, "selectSpeaker"), Q.prototype), $(Q.prototype, "resetFilters", [u], Object.getOwnPropertyDescriptor(Q.prototype, "resetFilters"), Q.prototype), Q);
//#endregion
//#region src/store/create-live-plan.ts
function gr() {
let e = new hr();
de(e), o(() => de(null)), at(e), window.__store = fe;
}
//#endregion
export { gr as createLivePlan };