@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2,046 lines • 85.1 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] = "f2d4ba0c-abb5-477e-ab59-50fb5e1af18e", e._sentryDebugIdIdentifier = "sentry-dbid-f2d4ba0c-abb5-477e-ab59-50fb5e1af18e");
} catch {}
})();
import { r as e, t } from "./rolldown-runtime-5rOLGCTp.js";
import { A as n, D as r, O as i, U as a, V as o, k as s, l as c, m as l, n as u, s as d, t as f } from "./i18n-DlquqKCP.js";
import { o as p } from "./is-debug-IkNSAGo8.js";
import { a as m, c as h, n as g } from "./mobx.module-BTnTbXnp.js";
import { s as _, u as v } from "./kioskApi-CG3QGuUx.js";
import { u as y } from "./store-DTvNQcN7.js";
import { n as b } from "./freeBanner-BQ-1hI0V.js";
import { $t as x, G as S, Gt as ee, Jt as C, L as w, Ut as T, Vt as E, bt as te, et as D, g as O, in as ne, nt as k, rt as A } from "./LayerStore-DCg-juRT.js";
import { f as re, n as j, o as ie } from "./RouteStore-B82dztUW.js";
import { n as ae } from "./kiosk-mode-zD8K_fUT.js";
import { c as oe, o as se, r as M, s as ce, t as le } from "./scene-CeKqMicD.js";
//#region ../../node_modules/.pnpm/resize-observer@1.0.4/node_modules/resize-observer/lib/ContentRect.js
var ue = /* @__PURE__ */ t(((e) => {
Object.defineProperty(e, "__esModule", { value: !0 }), e.ContentRect = function(e) {
if ("getBBox" in e) {
var t = e.getBBox();
return Object.freeze({
height: t.height,
left: 0,
top: 0,
width: t.width
});
} else {
var n = window.getComputedStyle(e);
return Object.freeze({
height: parseFloat(n.height || "0"),
left: parseFloat(n.paddingLeft || "0"),
top: parseFloat(n.paddingTop || "0"),
width: parseFloat(n.width || "0")
});
}
};
})), de = /* @__PURE__ */ t(((e) => {
Object.defineProperty(e, "__esModule", { value: !0 });
var t = ue();
e.ResizeObservation = function() {
function e(e) {
this.target = e, this.$$broadcastWidth = this.$$broadcastHeight = 0;
}
return Object.defineProperty(e.prototype, "broadcastWidth", {
get: function() {
return this.$$broadcastWidth;
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(e.prototype, "broadcastHeight", {
get: function() {
return this.$$broadcastHeight;
},
enumerable: !0,
configurable: !0
}), e.prototype.isActive = function() {
var e = t.ContentRect(this.target);
return !!e && (e.width !== this.broadcastWidth || e.height !== this.broadcastHeight);
}, e;
}();
})), fe = /* @__PURE__ */ t(((e) => {
Object.defineProperty(e, "__esModule", { value: !0 });
var t = ue();
e.ResizeObserverEntry = function() {
function e(e) {
this.target = e, this.contentRect = t.ContentRect(e);
}
return e;
}();
})), pe = /* @__PURE__ */ t(((e) => {
Object.defineProperty(e, "__esModule", { value: !0 });
var t = de(), n = fe(), r = [], i = function() {
function e(e) {
this.$$observationTargets = [], this.$$activeTargets = [], this.$$skippedTargets = [];
var t = s(e);
if (t) throw TypeError(t);
this.$$callback = e;
}
return e.prototype.observe = function(e) {
var n = c("observe", e);
if (n) throw TypeError(n);
l(this.$$observationTargets, e) >= 0 || (this.$$observationTargets.push(new t.ResizeObservation(e)), a(this));
}, e.prototype.unobserve = function(e) {
var t = c("unobserve", e);
if (t) throw TypeError(t);
var n = l(this.$$observationTargets, e);
n < 0 || (this.$$observationTargets.splice(n, 1), this.$$observationTargets.length === 0 && o(this));
}, e.prototype.disconnect = function() {
this.$$observationTargets = [], this.$$activeTargets = [], o(this);
}, e;
}();
e.ResizeObserver = i;
function a(e) {
r.indexOf(e) < 0 && (r.push(e), v());
}
function o(e) {
var t = r.indexOf(e);
t >= 0 && (r.splice(t, 1), b());
}
function s(e) {
if (e === void 0) return "Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.";
if (typeof e != "function") return "Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.";
}
function c(e, t) {
if (t === void 0) return "Failed to execute '" + e + "' on 'ResizeObserver': 1 argument required, but only 0 present.";
if (!(t && t.nodeType === window.Node.ELEMENT_NODE)) return "Failed to execute '" + e + "' on 'ResizeObserver': parameter 1 is not of type 'Element'.";
}
function l(e, t) {
for (var n = 0; n < e.length; n += 1) if (e[n].target === t) return n;
return -1;
}
var u = function(e) {
r.forEach(function(t) {
t.$$activeTargets = [], t.$$skippedTargets = [], t.$$observationTargets.forEach(function(n) {
n.isActive() && (h(n.target) > e ? t.$$activeTargets.push(n) : t.$$skippedTargets.push(n));
});
});
}, d = function() {
return r.some(function(e) {
return !!e.$$activeTargets.length;
});
}, f = function() {
return r.some(function(e) {
return !!e.$$skippedTargets.length;
});
}, p = function() {
var e = Infinity;
return r.forEach(function(t) {
if (t.$$activeTargets.length) {
var r = [];
t.$$activeTargets.forEach(function(t) {
var i = new n.ResizeObserverEntry(t.target);
r.push(i), t.$$broadcastWidth = i.contentRect.width, t.$$broadcastHeight = i.contentRect.height;
var a = h(t.target);
a < e && (e = a);
}), t.$$callback(r, t), t.$$activeTargets = [];
}
}), e;
}, m = function() {
var e = new window.ErrorEvent("ResizeLoopError", { message: "ResizeObserver loop completed with undelivered notifications." });
window.dispatchEvent(e);
}, h = function(e) {
for (var t = 0; e.parentNode;) e = e.parentNode, t += 1;
return t;
}, g = function() {
var e = 0;
for (u(e); d();) e = p(), u(e);
f() && m();
}, _, v = function() {
_ || y();
}, y = function() {
_ = window.requestAnimationFrame(function() {
g(), y();
});
}, b = function() {
_ && !r.some(function(e) {
return !!e.$$observationTargets.length;
}) && (window.cancelAnimationFrame(_), _ = void 0);
};
e.install = function() {
return window.ResizeObserver = i;
};
})), me = () => _;
//#endregion
//#region src/components/Kiosk/SetKiosk/getKioskUrlParamKey.ts
function N(e) {
return `${v}${e}`;
}
//#endregion
//#region src/store/CategoryStore.ts
var he = /* @__PURE__ */ e(te(), 1), P, F;
function I(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 ge = (P = m({ keepAlive: !0 }), F = class {
get categoryById() {
return new Map(this.categories.map((e) => [e.id, e]));
}
get seminarsCategory() {
return this.categories.find((e) => e.slug === "seminars");
}
constructor(e) {
this.rootStore = void 0, this.categories = [], this.rootStore = e;
}
}, I(F.prototype, "categoryById", [P], Object.getOwnPropertyDescriptor(F.prototype, "categoryById"), F.prototype), I(F.prototype, "seminarsCategory", [m], Object.getOwnPropertyDescriptor(F.prototype, "seminarsCategory"), F.prototype), F), L = class {
constructor() {
this.store = void 0, this.id = void 0, this.name = void 0, this.slug = void 0, this.sponsorship = void 0, this.exhibitors = void 0, this.entity = { type: "category" };
}
}, R, z, _e, B;
function ve(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 V(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 ye = (B = class {
constructor(e) {
this.rootStore = void 0, this.eventItems = [], this.rootStore = e;
}
findByNameOrSlug(e) {
return this.eventItems.find((t) => t.name === e || t.slug === e || t.externalId === e);
}
get bookmarked() {
return this.eventItems.filter((e) => e.bookmarked);
}
get visited() {
return this.eventItems.filter((e) => e.visited);
}
get tracks() {
let e = /* @__PURE__ */ new Map();
return this.eventItems.forEach((t) => {
t.tracks.forEach((t) => {
e.set(t.id, t);
});
}), Array.from(e.values()).sort((e, t) => e.name.localeCompare(t.name));
}
getEventsByTrack(e) {
return this.eventItems.filter((t) => t.tracks.some((t) => t.id === e));
}
getEventsBySpeaker(e) {
return this.eventItems.filter((t) => t.speakers.some((t) => t.id === e));
}
get venues() {
let e = /* @__PURE__ */ new Map();
return this.eventItems.forEach((t) => {
if (t.boothId) {
let n = this.rootStore.boothStore.booths.find((e) => e.id === t.boothId);
n && e.set(n.id, n);
}
}), Array.from(e.values()).sort((e, t) => e.name.localeCompare(t.name));
}
getEventsByVenue(e) {
return this.eventItems.filter((t) => t.boothId === e);
}
get pastEvents() {
let e = /* @__PURE__ */ new Date();
return this.eventItems.filter((t) => new Date(t.endDate) < e);
}
get futureEvents() {
let e = /* @__PURE__ */ new Date();
return this.eventItems.filter((t) => new Date(t.startDate) > e);
}
get liveEvents() {
let e = /* @__PURE__ */ new Date();
return this.eventItems.filter((t) => {
let n = new Date(t.startDate), r = new Date(t.endDate);
return n <= e && e <= r;
});
}
get todayEvents() {
let e = /* @__PURE__ */ new Date();
return e.setHours(0, 0, 0, 0), this.eventItems.filter((t) => {
let n = new Date(t.startDate);
return n.setHours(0, 0, 0, 0), n.getTime() === e.getTime();
});
}
get tomorrowEvents() {
let e = /* @__PURE__ */ new Date();
return e.setDate(e.getDate() + 1), e.setHours(0, 0, 0, 0), this.eventItems.filter((t) => {
let n = new Date(t.startDate);
return n.setHours(0, 0, 0, 0), n.getTime() === e.getTime();
});
}
replaceBookmarked(e) {
let t = (e || []).map((e) => this.eventItems.find((t) => t.id === e)).filter((e) => e), n = new Set(t), r = this.bookmarked.filter((e) => !n.has(e));
for (let e of r) e.bookmarked = !1;
for (let e of t) e.bookmarked = !0;
}
replaceVisited(e) {
let t = (e || []).map((e) => this.eventItems.find((t) => t.id === e)).filter((e) => e), n = new Set(t), r = this.visited.filter((e) => !n.has(e));
for (let e of r) e.visited = !1;
for (let e of t) e.visited = !0;
}
}, V(B.prototype, "bookmarked", [m], Object.getOwnPropertyDescriptor(B.prototype, "bookmarked"), B.prototype), V(B.prototype, "visited", [m], Object.getOwnPropertyDescriptor(B.prototype, "visited"), B.prototype), V(B.prototype, "tracks", [m], Object.getOwnPropertyDescriptor(B.prototype, "tracks"), B.prototype), V(B.prototype, "venues", [m], Object.getOwnPropertyDescriptor(B.prototype, "venues"), B.prototype), V(B.prototype, "pastEvents", [m], Object.getOwnPropertyDescriptor(B.prototype, "pastEvents"), B.prototype), V(B.prototype, "futureEvents", [m], Object.getOwnPropertyDescriptor(B.prototype, "futureEvents"), B.prototype), V(B.prototype, "liveEvents", [m], Object.getOwnPropertyDescriptor(B.prototype, "liveEvents"), B.prototype), V(B.prototype, "todayEvents", [m], Object.getOwnPropertyDescriptor(B.prototype, "todayEvents"), B.prototype), V(B.prototype, "tomorrowEvents", [m], Object.getOwnPropertyDescriptor(B.prototype, "tomorrowEvents"), B.prototype), V(B.prototype, "replaceBookmarked", [g], Object.getOwnPropertyDescriptor(B.prototype, "replaceBookmarked"), B.prototype), V(B.prototype, "replaceVisited", [g], Object.getOwnPropertyDescriptor(B.prototype, "replaceVisited"), B.prototype), B), H = (R = class {
constructor(e, t, n, r, i, a, o, s, c = [], l = [], u = { type: "event" }) {
this.id = e, this.externalId = t, this.boothId = n, this.name = r, this.description = i, this.startDate = a, this.endDate = o, this.logoFile = s, this.speakers = c, this.tracks = l, this.entity = u, this.slug = void 0, ve(this, "bookmarked", z, this), ve(this, "visited", _e, this), this.slug = S(r || `event-${e}`);
}
get isEnded() {
return this.endDate && new Date(this.endDate).getTime() < (/* @__PURE__ */ new Date()).getTime();
}
get hasSpeakers() {
return this.speakers.length > 0;
}
get hasTracks() {
return this.tracks.length > 0;
}
get primaryTrack() {
return this.tracks.length > 0 ? this.tracks[0] : null;
}
get speakerNames() {
return this.speakers.map((e) => e.name).join(", ");
}
get trackNames() {
return this.tracks.map((e) => e.name).join(", ");
}
}, z = V(R.prototype, "bookmarked", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), _e = V(R.prototype, "visited", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), R);
//#endregion
//#region src/utils/color-gradient.ts
function be(e, t, n, r) {
if (r.length === 0) return "transparent";
let i = r.map((e) => (0, he.default)(e)), a = Math.max(0, Math.min((e - t) / (n - t) || 0, 1)), o = Math.sqrt(a) * (i.length - 1), s = Math.min(Math.floor(o), i.length - 1), c = i[s], l = i[Math.min(s + 1, i.length - 1)], u = o - s;
return c.mix(l, u).hex();
}
//#endregion
//#region src/store/HeatmapStore.ts
var xe, U;
function Se(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 Ce = (xe = m({ keepAlive: !0 }), U = class {
constructor() {
this.heatmapData = {}, this.forceTrack = null;
}
get minAndMaxClicks() {
let { booths: e = [], exhibitors: t = [], yah: n = [] } = this.heatmapData, r = [
...e,
...t,
...n
];
if (r.length === 0) return {
min: 0,
max: 0
};
let { min: i, max: a } = ((e) => e.reduce((e, t) => (t.viewCount > e.max && (e.max = t.viewCount), t.viewCount < e.min && (e.min = t.viewCount), e), {
min: e[0].viewCount,
max: e[0].viewCount
}))(r);
return {
min: i,
max: a
};
}
getClicksByType(e) {
return e instanceof L ? -1 : e instanceof O || e instanceof W ? this.getClicksByItem(e) : e instanceof H ? 0 : this.getClicksByItem(e);
}
getClicksByItem(e) {
if (e instanceof O) {
var t;
return ((t = this.heatmapData) == null || (t = t.exhibitors) == null || (t = t.find((t) => t.id === e.id)) == null ? void 0 : t.viewCount) || 0;
}
if (e instanceof D) {
var n;
return ((n = this.heatmapData) == null || (n = n.booths) == null || (n = n.find((t) => t.id === e.id)) == null ? void 0 : n.viewCount) || 0;
}
if (e instanceof W) {
var r;
return ((r = this.heatmapData) == null || (r = r.yah) == null || (r = r.find((t) => t.id === e.id)) == null ? void 0 : r.viewCount) || 0;
}
return 0;
}
getTotalClicksByBooth(e) {
let t = this.getClicksByItem(e);
for (let n of e.exhibitors) {
let e = this.getClicksByItem(n);
t += e;
}
return t;
}
getColorByClicks(e) {
let { min: t, max: n } = this.minAndMaxClicks;
return be(e, t, n, E.heatmapColors);
}
getHeatmapColorForBooth(e) {
let t = this.getTotalClicksByBooth(e);
return (0, he.default)(this.getColorByClicks(t));
}
}, Se(U.prototype, "minAndMaxClicks", [xe], Object.getOwnPropertyDescriptor(U.prototype, "minAndMaxClicks"), U.prototype), U), W = class {
constructor(e, t, n, r, i, a) {
this.id = e, this.name = t, this.viewCount = n, this.x = r, this.y = i, this.z = a, this.entity = { type: "heatmap-yah" };
}
}, G, we, K, Te;
function Ee(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 q(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 J = (G = class {
constructor(e, t, n, r, i, a, o = { type: "speaker" }) {
this.id = e, this.externalId = t, this.name = n, this.company = r, this.jobTitle = i, this.photoFile = a, this.entity = o, this.slug = void 0, Ee(this, "bookmarked", we, this), this.slug = S(n || `speaker-${e}`);
}
get displayName() {
return this.name;
}
get fullTitle() {
let e = [this.name];
return this.jobTitle && e.push(this.jobTitle), this.company && e.push(this.company), e.join(" - ");
}
get hasPhoto() {
return !!this.photoFile;
}
get hasCompany() {
return !!this.company;
}
get hasJobTitle() {
return !!this.jobTitle;
}
}, we = q(G.prototype, "bookmarked", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), G), De = (K = class {
constructor(e) {
this.rootStore = void 0, this.speakersMap = /* @__PURE__ */ new Map(), Ee(this, "selectedSpeaker", Te, this), this.rootStore = e;
}
get speakers() {
return Array.from(this.speakersMap.values()).sort((e, t) => e.name.localeCompare(t.name));
}
getSpeakerById(e) {
return this.speakersMap.get(e);
}
getSpeakerBySlug(e) {
return Array.from(this.speakersMap.values()).find((t) => t.slug === e);
}
addSpeaker(e) {
if (this.speakersMap.has(e.id)) return this.speakersMap.get(e.id);
let t = new J(e.id, e.externalId, e.name, e.company, e.jobTitle, e.photoFile);
return this.speakersMap.set(e.id, t), t;
}
get companies() {
let e = /* @__PURE__ */ new Set();
return this.speakers.forEach((t) => {
t.company && e.add(t.company);
}), Array.from(e).sort();
}
get jobTitles() {
let e = /* @__PURE__ */ new Set();
return this.speakers.forEach((t) => {
t.jobTitle && e.add(t.jobTitle);
}), Array.from(e).sort();
}
getSpeakersByCompany(e) {
return this.speakers.filter((t) => t.company === e);
}
getSpeakersByJobTitle(e) {
return this.speakers.filter((t) => t.jobTitle === e);
}
getEventsBySpeaker(e) {
return this.rootStore.eventStore.eventItems.filter((t) => t.speakers.some((t) => t.id === e));
}
findBySlug(e) {
return this.getSpeakerBySlug(e);
}
selectSpeaker(e, t = !0) {
this.selectedSpeaker = e, this.rootStore.uiState.details = e, this.rootStore.uiState.desiredOverlaySize = "medium";
}
get bookmarked() {
return this.speakers.filter((e) => e.bookmarked);
}
replaceBookmarked(e) {
let t = (e || []).map((e) => this.speakersMap.get(e)).filter((e) => e), n = new Set(t), r = this.bookmarked.filter((e) => !n.has(e));
for (let e of r) e.bookmarked = !1;
for (let e of t) e.bookmarked = !0;
}
clearSelectedSpeaker() {
this.selectedSpeaker = null, this.rootStore.uiState.details = null;
}
}, Te = q(K.prototype, "selectedSpeaker", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), q(K.prototype, "speakers", [m], Object.getOwnPropertyDescriptor(K.prototype, "speakers"), K.prototype), q(K.prototype, "companies", [m], Object.getOwnPropertyDescriptor(K.prototype, "companies"), K.prototype), q(K.prototype, "jobTitles", [m], Object.getOwnPropertyDescriptor(K.prototype, "jobTitles"), K.prototype), q(K.prototype, "selectSpeaker", [g], Object.getOwnPropertyDescriptor(K.prototype, "selectSpeaker"), K.prototype), q(K.prototype, "bookmarked", [m], Object.getOwnPropertyDescriptor(K.prototype, "bookmarked"), K.prototype), q(K.prototype, "replaceBookmarked", [g], Object.getOwnPropertyDescriptor(K.prototype, "replaceBookmarked"), K.prototype), q(K.prototype, "clearSelectedSpeaker", [g], Object.getOwnPropertyDescriptor(K.prototype, "clearSelectedSpeaker"), K.prototype), K), Oe = [
"x",
"y",
"z"
];
function ke(e) {
let t = {}, n = je(e, "x");
n !== null && (t.x = n);
let r = je(e, "y");
r !== null && (t.y = r);
let i = e.get(N("z"));
return i !== null && (t.z = i), t;
}
function Ae(e, t) {
if (t) for (let n of Oe) {
let r = t[n];
r != null && e.set(N(n), typeof r == "number" ? r.toFixed(2) : `${r}`);
}
}
function je(e, t) {
let n = e.get(N(t));
if (n === null) return null;
let r = parseFloat(n);
return Number.isNaN(r) ? null : r;
}
//#endregion
//#region src/tools/has-html-tags.ts
function Me(e) {
return /<[^>]*>/.test(e);
}
//#endregion
//#region src/tools/strip-html.ts
function Ne(e) {
var t;
if (typeof document > "u") return e;
let n = document.createElement("div");
return n.innerHTML = e, (t = n.textContent) == null ? "" : t;
}
//#endregion
//#region src/utils/responsiveClass.ts
var Pe = {
xs: 0,
sm: 480,
md: 768,
lg: 998,
xl: 1100
};
function Fe(e) {
let { sm: t, md: n, lg: r, xl: i } = Pe;
return e < t ? "xs" : e >= t && e < n ? "sm" : e >= n && e < r ? "md" : e >= r && e < i ? "lg" : "xl";
}
//#endregion
//#region src/utils/trackingParams.ts
var Ie = [
"_gl",
"_ga",
"_ga_[\\w-]+",
"gclid",
"gclsrc",
"gbraid",
"wbraid",
"gad_source",
"fbclid",
"utm_[\\w-]+"
], Le = RegExp(`^(${Ie.join("|")})$`, "i");
function Re(e) {
let t = e.startsWith("?") ? e.slice(1) : e;
if (!t) return null;
let n = t.split("&"), r = n.filter((e) => !Le.test(e.split("=")[0]));
return r.length === n.length ? null : r.join("&");
}
//#endregion
//#region src/utils/sanitizeText.ts
var ze = (e) => e.trim().replace(/[^a-z0-9]/gi, "");
function Be(e, t = []) {
if (!e) return "";
let n = [
...Ie,
"ref=",
"lp_id=",
"lp_token=",
`${me()}=`
].concat(t), r = RegExp(`(^|\\?|&)(${n.join("|")})[^&]*`, "g");
return e.replace(r, "").replace(/(^|[?&])([^=&#]+)=(?=&|$)/g, (e, t, n) => `${t}${n}`);
}
//#endregion
//#region src/store/UIState.ts
var Ve, He, Ue, We, Ge, Ke, qe, Je, Ye, Xe, Ze, Qe, $e, et, tt, nt, rt, it, at, ot, st, Y, ct, lt, ut, dt, ft, pt, mt, ht, gt, _t, vt, yt, bt, xt, St, Ct, wt, Tt, Et, Dt, Ot, kt, At, jt, Mt, Nt, Pt, Ft, It, Lt, Rt, zt, Bt, Vt, Ht, Ut, Wt, Gt, Kt, qt, Jt, Yt, Xt, Zt, Qt, $t, en, tn, nn, rn, an, on, sn, cn, ln, un, X, dn, fn, pn, mn, hn, gn, _n, vn, yn, bn, xn, Sn, Cn, wn, Tn;
function Z(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 Q(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 En = 1.5, Dn = .66, On = ["dimensions25"], kn = (Ve = h.struct, He = h.ref, Ue = h.ref, We = h.ref, Ge = h.struct, Ke = m({ keepAlive: !0 }), qe = m({ keepAlive: !0 }), Je = m({ keepAlive: !0 }), Ye = m({ keepAlive: !0 }), Xe = m({ keepAlive: !0 }), Ze = m({ keepAlive: !0 }), Qe = m({ keepAlive: !0 }), $e = m({ keepAlive: !0 }), et = m({ keepAlive: !0 }), tt = m({ keepAlive: !0 }), nt = m({ keepAlive: !0 }), rt = m({ keepAlive: !0 }), it = m({ keepAlive: !0 }), at = m({ keepAlive: !0 }), ot = m({ keepAlive: !0 }), st = m({ keepAlive: !0 }), Y = class {
setSelectedCategoryFilters(e) {
this.selectedCategoryFilters = e;
}
resetCategoryFilter() {
this.selectedCategoryFilters = [], this.categoryFilterOpen = !1;
}
setSearchClearMode(e) {
this.searchClearMode = e;
}
setRouteTitle(e) {
this.routeTitle = e;
}
setRouteDescription(e) {
this.routeDescription = e;
}
setIsMultiPointRoute(e) {
this.isMultiPointRoute = e;
}
setTourTitle(e) {
this.tourTitle = e;
}
setTourDescription(e) {
this.tourDescription = e;
}
setIsMultiPointTour(e) {
this.isMultiPointTour = e;
}
setPathwayOnlyMode(e) {
this.pathwayOnlyMode = e;
}
setMultiPointTourList(e) {
this.list = {
type: "multi-point-tour",
tourId: e
};
}
get activePathwayLayers() {
var e;
if (((e = this.list) == null ? void 0 : e.type) === "multi-point-tour") {
var t;
let e = this.rootStore.toursStore.getTourById(this.list.tourId);
return (e == null || (t = e.layers) == null ? void 0 : t.map((e) => e.id)) || [];
}
return [];
}
get highlightedBooths() {
var e, t, n, r, i, a, o;
let s = new Set(this.rootStore.exhibitorStore.highlightedByExternalIds), c = new Set(this.rootStore.boothStore.highlightedByExternalIds), l = /* @__PURE__ */ new Set([...this.rootStore.exhibitorStore.exhibitors.filter((e) => s.has(e.externalId)).flatMap((e) => e.booths.filter((e) => e instanceof k)).map((e) => e.id.toString()), ...this.rootStore.boothStore.booths.filter((e) => c.has(e.externalId)).map((e) => e.id.toString())]);
if (((e = this.list) == null ? void 0 : e.type) === "search" && !((t = this.list) == null || (t = t.text) == null) && t.trim().length) {
l.clear();
let e = this.fuzzySearchItems.filter((e) => e.score === 0).map((e) => e.item);
e.length ? $(e, this.rootStore.boothStore.booths, this.rootStore.eventStore.eventItems).forEach((e) => l.add(e.id.toString())) : this.listBooths.forEach((e) => l.add(e.id.toString()));
}
if (((n = this.list) == null ? void 0 : n.type) === "filter" && (l.clear(), this.list.items.flatMap((e) => e.booths.filter((e) => e instanceof k)).forEach((e) => l.add(e.id.toString()))), this.categoryFilterOpen && this.selectedCategoryFilters.length > 0 ? (l.clear(), this.selectedCategoryFilters.forEach((e) => {
e.exhibitors.flatMap((e) => e.booths).forEach((e) => l.add(e.id.toString()));
})) : ((r = this.list) == null ? void 0 : r.type) === "category" && (l.clear(), this.list.category.exhibitors.flatMap((e) => e.booths).forEach((e) => l.add(e.id.toString()))), ((i = this.list) == null ? void 0 : i.type) === "bookmarks" && (l.clear(), $(this.listItems, this.rootStore.boothStore.booths, this.rootStore.eventStore.eventItems).forEach((e) => l.add(e.id.toString()))), ((a = this.list) == null ? void 0 : a.type) === "visited" && (l.clear(), $(this.listItems, this.rootStore.boothStore.booths, this.rootStore.eventStore.eventItems).forEach((e) => l.add(e.id.toString()))), ((o = this.list) == null ? void 0 : o.type) === "exhibitors") {
var u;
l.clear();
let e = (u = this.list.text) == null ? void 0 : u.toLowerCase().trim(), t = this.rootStore.exhibitorStore.exhibitors;
e && (t = t.filter((t) => t.name.toLowerCase().includes(e))), t.flatMap((e) => e.booths.filter((e) => e instanceof k)).forEach((e) => l.add(e.id.toString()));
}
if (this.selectedPoiTypeFilters.length > 0 && (l.clear(), this.selectedPoiTypeFilters.forEach((e) => {
this.rootStore.boothStore.booths.filter((t) => t.poiTypeId === e.id).forEach((e) => l.add(e.id.toString()));
})), this.details instanceof j) {
var d;
l.clear(), this.details.from instanceof D && l.add(this.details.from.id.toString()), this.details.to instanceof D && l.add(this.details.to.id.toString()), (d = this.details.waypoints) == null || d.forEach((e) => l.add(e.id.toString()));
}
if (this.details instanceof D && (l.clear(), l.add(this.details.id.toString())), this.details instanceof O && (l.clear(), this.details.booths.filter((e) => e instanceof k).forEach((e) => l.add(e.id.toString()))), this.details instanceof H) {
let e = this.details;
if (e.boothId) {
l.clear();
let t = this.rootStore.boothStore.booths.find((t) => t.id === e.boothId);
t && l.add(t.id.toString());
}
}
return l;
}
constructor(e) {
this.rootStore = void 0, this.interfaceMetadata = Object.freeze([
{
id: "menu",
className: "efp-overlay-menu",
priority: 80,
isActive: () => this.menu,
searchBoxConfig: () => ({
mode: "interface",
title: d("Menu")
})
},
{
id: "exhibitor",
className: "efp-overlay-exhibitor",
priority: 70,
isActive: () => this.details instanceof O,
searchBoxConfig: () => ({
mode: "details",
title: this.details.name
})
},
{
id: "booth",
className: "efp-overlay-booth",
priority: 70,
isActive: () => this.details instanceof D,
searchBoxConfig: () => {
let e = this.details;
return {
mode: "details",
title: e.title || e.name
};
}
},
{
id: "event",
className: "efp-overlay-event",
priority: 70,
isActive: () => this.details instanceof H,
searchBoxConfig: () => ({
mode: "details",
title: this.details.name
})
},
{
id: "route",
className: "efp-overlay-route",
priority: 70,
isActive: () => this.details instanceof j,
searchBoxConfig: () => ({
mode: "details",
title: d("Directions")
})
},
{
id: "search",
className: "efp-overlay-search",
priority: 60,
isActive: () => !this.details && !this.menu && this.list.type === "search" && (this.rootStore.fp.alwaysShowSidebar && !this.overlayOnDemand || this.heatmap || this.searchFocused || this.list.text.length > 0 || this.searchClearMode),
searchBoxConfig: () => ({
mode: "search",
title: d("Search")
})
},
{
id: "exhibitors",
className: "efp-overlay-exhibitors",
priority: 50,
isActive: () => this.list.type === "exhibitors" && !this.details,
searchBoxConfig: () => ({
mode: "search",
title: d("Exhibitors")
})
},
{
id: "filter",
className: "efp-overlay-filter",
priority: 50,
isActive: () => this.list.type === "filter" && !this.details,
searchBoxConfig: () => ({
mode: "search",
title: d("Filter")
})
},
{
id: "bookmarks",
className: "efp-overlay-bookmarks",
priority: 50,
isActive: () => this.list.type === "bookmarks" && !this.details,
searchBoxConfig: () => ({
mode: "interface",
title: d("Bookmarks"),
badge: this.rootStore.bookmarksStore.total
})
},
{
id: "visited",
className: "efp-overlay-visited",
priority: 50,
isActive: () => this.list.type === "visited" && !this.details,
searchBoxConfig: () => ({
mode: "interface",
title: d("Visited"),
badge: this.rootStore.exhibitorStore.visited.length
})
},
{
id: r,
className: "efp-overlay-language",
priority: 50,
isActive: () => this.list.type === r,
searchBoxConfig: () => ({
mode: "interface",
title: d("Language")
})
},
{
id: "category",
className: "efp-overlay-category",
priority: 50,
isActive: () => !y.menu && !!y.selectedCategory,
searchBoxConfig: () => {
var e;
return {
mode: "interface",
title: this.list.type === "category" && ((e = this.list.category) == null ? void 0 : e.name) || d("Categories")
};
}
},
{
id: "sessions",
className: "efp-overlay-sessions",
priority: 50,
isActive: () => this.list.type === "sessions" && !this.details,
searchBoxConfig: () => ({
mode: "search",
title: d("Sessions"),
subtitle: this.selectedTrack ? this.selectedTrack.name : void 0
})
},
{
id: "speakers",
className: "efp-overlay-speakers",
priority: 50,
isActive: () => this.list.type === "speakers" && !this.details,
searchBoxConfig: () => ({
mode: "search",
title: d("Speakers")
})
},
{
id: "speaker",
className: "efp-overlay-speaker",
priority: 50,
isActive: () => this.details instanceof J,
searchBoxConfig: () => ({
mode: "details",
title: this.details.name
})
},
{
id: "tours",
className: "efp-overlay-tours",
priority: 50,
isActive: () => this.list.type === "tours" && !this.details,
searchBoxConfig: () => ({
mode: "search",
title: d("Guided Tours")
})
},
{
id: "multi-point-wayfinding",
className: "efp-overlay-multi-point",
priority: 75,
isActive: () => !!(this.isMultiPointRoute && this.selectedRoute && this.list.type !== "route-planner"),
searchBoxConfig: () => ({
mode: "interface",
title: this.routeTitle || d("Multi-point route")
})
},
{
id: "multi-point-tour",
className: "efp-overlay-multi-point-tour",
priority: 75,
isActive: () => this.list.type === "multi-point-tour" && !this.details,
searchBoxConfig: () => ({
mode: "interface",
title: this.tourTitle || d("Multi-point route")
})
},
{
id: "route-planner",
className: "efp-overlay-route-planner",
priority: 76,
isActive: () => this.list.type === "route-planner" && (!this.details || this.details instanceof j),
searchBoxConfig: () => ({
mode: "interface",
title: d("Route planner")
})
}
].sort((e, t) => t.priority - e.priority)), Z(this, "list", ct, this), Z(this, "details", lt, this), Z(this, "hoveredExhibitor", ut, this), Z(this, "hoveredBooth", dt, this), Z(this, "zoomBy", ft, this), Z(this, "rollReset", pt, this), Z(this, "moveToBooths", mt, this), Z(this, "moveToRect", ht, this), Z(this, "moveToRectPaddingPercent", gt, this), Z(this, "moveToLocation", _t, this), Z(this, "menu", vt, this), Z(this, "searchFocused", yt, this), Z(this, "searchClearMode", bt, this), Z(this, "printingPdf", xt, this), Z(this, "screenSize", St, this), Z(this, "desiredOverlaySize", Ct, this), Z(this, "overlayShowsAll", wt, this), Z(this, "centerMap", Tt, this), Z(this, "zoomAfTransformK", Et, this), Z(this, "activeListIndex", Dt, this), Z(this, "devicePixelRatio", Ot, this), this.previewExhibitor = null, Z(this, "wsStarted", kt, this), Z(this, "canvasStarted", At, this), Z(this, "inIdle", jt, this), Z(this, "modalActive", Mt, this), Z(this, "galleryActive", Nt, this), Z(this, "hideOverlay", Pt, this), Z(this, "searchButtonsOverride", Ft, this), Z(this, "hideCookieConsent", It, this), Z(this, "hideHeaderLogo", Lt, this), Z(this, "hideLogoInBooth", Rt, this), Z(this, "disableBookmarked", zt, this), Z(this, "hideLanguage", Bt, this), Z(this, "monochrome", Vt, this), Z(this, "heatmap", Ht, this), Z(this, "heatmapYah", Ut, this), this.rootElement = null, Z(this, "debugCircles", Wt, this), Z(this, "mapControlsHidden", Gt, this), Z(this, "floorsControlHidden", Kt, this), Z(this, "hideFreeOrDemo", qt, this), Z(this, "freeBannerDismissed", Jt, this), Z(this, "currentBanner", Yt, this), Z(this, "sceneDefReady", Xt, this), Z(this, "categoryFilterOpen", Zt, this), Z(this, "selectedCategoryFilters", Qt, this), Z(this, "selectedPoiTypeFilters", $t, this), Z(this, "selectedTrack", en, this), Z(this, "subButtonsVisible", tn, this), Z(this, "searchBoxMode", nn, this), Z(this, "searchBoxTitle", rn, this), Z(this, "searchBoxSubtitle", an, this), Z(this, "routeTitle", on, this), Z(this, "routeDescription", sn, this), Z(this, "isMultiPointRoute", cn, this), Z(this, "tourTitle", ln, this), Z(this, "tourDescription", un, this), Z(this, "isMultiPointTour", X, this), Z(this, "pathwayOnlyMode", dn, this), Z(this, "isOverlayScrolled", fn, this), Z(this, "listScrollTop", pn, this), Z(this, "listScrollItemId", mn, this), Z(this, "listScrollIndex", hn, this), this.scrollPositions = /* @__PURE__ */ new Map(), this.scrollItemIds = /* @__PURE__ */ new Map(), Z(this, "_customUIScale", gn, this), this.searchFilterHeightPx = 54, this.searchInputHeightPx = 54, this.overlayUISizePx = 390, this.overlayKioskSizePx = 450, this.overlayMediumHeightRems = 10, this.headerHeightRem = 0, this.wsHeightRems = 54 / 16, this.mapVisibleStart = 0, Z(this, "forceDim", _n, this), Z(this, "mapSettings", vn, this), this.maxPitch = 60, Z(this, "animatePitch", yn, this), Z(this, "forceShowDetails", bn, this), Z(this, "buildRoute", xn, this), Z(this, "globalErrorMessages", Sn, this), this.minUIScale = .8, this.maxUIScale = 1.4, Z(this, "kioskEnabled", Cn, this), Z(this, "setKioskModeEnabled", wn, this), Z(this, "kioskData", Tn, this), this.rootStore = e, this.mapSettings = { ...this.defaultMapSettings }, this.initializeUIScale();
}
get rtl() {
let e = f();
return e === "ar" || e === "he";
}
get noOverlay() {
return this.rootStore.fp.noOverlay || this.hideOverlay;
}
get overlayOnDemand() {
return this.noOverlay && this.searchButtonsOverride === !0;
}
get overlayHiddenNow() {
return this.noOverlay && !(this.overlayOnDemand && this.isOverlayOpen);
}
get onBoothClick() {
return this.rootStore.fp.onBoothClick;
}
get onMarkerClick() {
return this.rootStore.fp.onMarkerClick;
}
get onBookmarkClick() {
return this.rootStore.fp.onBookmarkClick;
}
get onVisitedClick() {
return this.rootStore.fp.onVisitedClick;
}
get onCategoryClick() {
return this.rootStore.fp.onCategoryClick;
}
get onDirection() {
return this.rootStore.fp.onDirection;
}
get onDetails() {
return this.rootStore.fp.onDetails;
}
get onExhibitorCustomButtonClick() {
return this.rootStore.fp.onExhibitorCustomButtonClick;
}
get onGetCoordsClick() {
return this.rootStore.fp.onGetCoordsClick;
}
get selectedExhibitor() {
return this.details instanceof O ? this.details : null;
}
get selectedBooth() {
return this.details instanceof D ? this.details : null;
}
get selectedCategory() {
return this.list.type === "category" ? this.list.category : null;
}
get selectedRoute() {
return this.details instanceof j ? this.details : null;
}
get selectedSpeaker() {
return this.details instanceof J ? this.details : null;
}
get uiScale() {
return this._customUIScale === null ? this.kiosk ? 1.2 : 1 : this._customUIScale;
}
get isGuidedToursActive() {
return this.rootStore.toursStore.isActive;
}
get getRouteNextFloor() {
var e, t, n;
let r = this.rootStore.routeStore.pathLayers, i = (e = this.rootStore.routeStore.currentRouteLayer) == null ? void 0 : e.name;
if (!i) return null;
let a = r.findIndex((e) => {
var t;
return ((t = e.layer) == null ? void 0 : t.name) === i;
});
return a === -1 || (t = (n = r[a + 1]) == null || (n = n.layer) == null ? void 0 : n.name) == null ? null : t;
}
get headerHeightPx() {
return w(this.headerHeightRem);
}
get screenWidth() {
return this.screenSize.width;
}
get overlayPosition() {
return this.screenSize.width > 768 || this.kiosk ? "left" : "bottom";
}
get overlayCollapsed() {
return this.kiosk && this.overlayPosition === "left" && !this.searchFocused && !this.menu && !this.details && !this.selectedCategory && !this.selectedExhibitor && this.list.type !== "bookmarks" && this.list.type !== "language" && !("text" in this.list && this.list.text.length);
}
get overlaySize() {
return this.overlayLeft ? "full" : this.desiredOverlaySize;
}
get overlayBottom() {
return this.overlayPosition === "bottom";
}
get overlayLeft() {
return this.overlayPosition === "left";
}
get overlayWidthPx() {
return this.overlayHiddenNow ? 0 : this.overlayLeft ? this.kiosk ? this.overlayKioskSizePx : this.overlayUISizePx : w(this.screenSize.width);
}
get wsHeightCss() {
return this.wsShown ? `calc(${this.wsHeightRems}rem * var(--ui-scale))` : "0px";
}
scaledRemsToPixels(e) {
return w(e) * this.uiScale;
}
get wsOccupiedHeightPx() {
return this.wsShown ? this.scaledRemsToPixels(this.wsHeightRems) : 0;
}
get wsShown() {
return !this.hideHeaderLogo && this.rootStore.exhibitorStore.advertised.length > 0;
}
get wsDesktopPosition() {
return E.EXPO === "cbresupplypartner" ? "bottom" : "top";
}
get wsPosition() {
return this.overlayBottom ? "top" : this.wsDesktopPosition;
}
get responsiveClass() {
return Fe(this.screenSize.width);
}
get mapVisibleTop() {
return (this.wsPosition === "top" ? this.wsOccupiedHeightPx : 0) + this.headerHeightPx;
}
get mapVisibleBottom() {
return this.overlayLeft || this.overlayHiddenNow ? this.wsPosition === "bottom" ? this.wsOccupiedHeightPx : 0 : w(this.overlayMediumHeightRems);
}
get searchActionsHeightPx() {
return this.overlayPosition === "bottom" ? this.searchInputHeightPx + this.searchFilterHeightPx : this.searchInputHeightPx;
}
get shouldShowSearchButtons() {
return this.rootStore.searchButtonsStore.hasAnySearchButtons && !this.details && !this.menu && !["language", "filter"].includes(this.list.type);
}
get shouldShowMobileToggle() {
let e = this.list.type === "route-planner";
return this.overlayPosition === "bottom" && (e || !this.details && !this.menu && this.list.type !== "language" && this.list.type !== "bookmarks" && this.list.type !== "sessions");
}
get mobileToggleTopPx() {
return this.shouldShowMobileToggle ? w(58 / 16) : 0;
}
get mobileToggleIsListMode() {
return !this.isOverlayOpen || this.overlaySize !== "full";
}
get canvasVisibleRectPx() {
let e = this.screenSize;
return x.fromMinMax({
x: y.rtl ? 0 : this.mapVisibleStart,
y: this.mapVisibleTop + this.searchActionsHeightPx
}, {
x: y.rtl ? e.width - this.mapVisibleStart : e.width,
y: e.height - this.mapVisibleBottom
});
}
get shouldShiftMapRect() {
return this.overlayPosition === "left" && (this.details || this.hasAppliedFilters || this.selectedRoute);
}
get hasAppliedFilters() {
return this.selectedCategoryFilters.length > 0 || this.selectedPoiTypeFilters.length > 0;
}
get canvasVisibleRectPt() {
return this.canvasVisibleRectPx.scale(this.devicePixelRatio, {
x: 0,
y: 0
});
}
get canvasSizePt() {
return this.screenSize.multiply(this.devicePixelRatio);
}
get shouldUseBackdrop() {
var e, t;
if (y.overlayCollapsed) return !1;
if (c && localStorage.getItem("forcebackdrop") === "1") return !0;
if (this.overlayBottom || (e = this.selectedExhibitor) != null && e.leadingImageUrl && !((t = this.selectedExhibitor) != null && t.leadingImageLinkUrl)) return !1;
let n = l.satisfies({ safari: ">=13" }), r = l.satisfies({ chrome: ">=77" });
return /(android)/i.test(navigator.userAgent) ? !1 : n || r && y.canvasSizePt.height * y.canvasSizePt.width < 3e6;
}
setForceDim(e) {
this.forceDim = e;
}
get dimmed() {
var e, t, n;
return this.forceDim || this.pathwayOnlyMode ? !0 : this.highlightedBooths.size > 0 || ((e = this.list) == null ? void 0 : e.type) === "search" && ((t = this.list) == null || (t = t.text) == null ? void 0 : t.trim().length) > 0 || ((n = this.list) == null ? void 0 : n.type) === "exhibitors";
}
get defaultSearchItems() {
let { exhibitorStore: e, categoryStore: t, boothStore: n, heatmapStore: r } = this.rootStore, i = e.exhibitors, a = t.categories.filter((e) => e.exhibitors.length), o = n.booths;
this.selectedPoiTypeFilters.length > 0 && (i = i.filter((e) => e.booths.some((e) => this.selectedPoiTypeFilters.some((t) => e.poiTypeId === t.id))));
let s = [], c = !this.selectedCategoryFilters.length && C.showCategories ? a.filter((e) => !On.includes(E.EXPO) || !e.name.includes("/")) : [], l = o.filter((e) => e instanceof A);
if (this.selectedCategoryFilters.length > 0 ? s = [...i] : (C.showCompaniesAndBooths && (s = s.concat(i)), C.showOtherSpaces && (s = s.concat(l))), this.heatmap) return [...i, ...o].sort((e, t) => r.getClicksByType(t) - r.getClicksByType(e));
if (this.heatmapYah) {
var u;
return ((u = r.heatmapData) == null || (u = u.yah) == null ? void 0 : u.sort((e, t) => r.getClicksByType(t) - r.getClicksByType(e))) || [];
}
return i.length === 0 ? o : [...c, ...s.sort((e, t) => {
let n = e instanceof O && e.featured !== void 0;
if (n !== (t instanceof O && t.featured !== void 0)) return n ? -1 : 1;
let r = e instanceof A && e.title ? e.title : e.name, i = t instanceof A && t.title ? t.title : t.name;
return r.localeCompare(i, void 0, {
sensitivity: "base",
numeric: !0
});
})];
}
get searchItems() {
var e;
if (this.list.type !== "search") return [];
let t = ((e = this.list.text) == null ? void 0 : e.trim().toLowerCase()) || "", { exhibitorStore: n, boothStore: r, eventStore: i, speakerStore: a, heatmapStore: o } = this.rootStore, s = n.exhibitors, c = r.booths, l = i.eventItems, u = a.speakers;
if (this.selectedCategoryFilters.length > 0 && (s = s.filter((e) => this.selectedCategoryFilters.some((t) => e.categories.some((e) => e.id === t.id)))), this.selectedPoiTypeFilters.length > 0 && (s = s.filter((e) => e.booths.some((e) => this.selectedPoiTypeFilters.some((t) => e.poiTypeId === t.id)))), !t) return this.defaultSearchItems;
let d = [t.replace(/&[^&=]+=[^&]+/g, "")];
if (this.heatmapYah) {
var f;
return ((f = o.heatmapData.yah) == null ? [] : f).filter((e) => Number.isNaN(Number(t)) ? e : e.viewCount >= Number(t)).sort((e, t) => o.getClicksByType(t) - o.getClicksByType(e));
}
let p = [], m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), g = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Set();
function v(e) {
return e ? e.replace(/[!@#$%^*\-.,()^#$%:?_+'"/]/g, " ").replace(/\s\s+/g, " ") : "";
}
function y(e, t) {
return !e || !t ? !1 : v(e).toLowerCase().includes(v(t).toLowerCase());
}
function b(e, t) {
return e ? y(e, t) || y(C.levelTerm + " " + e, t) : !1;
}
s.forEach((e) => {
d.some((t) => y(e.name, t) || e.booths.some((e) => {
var n, r;
return !t && y(e.name, t) || b((n = (r = e.layer) == null ? void 0 : r.name) == null ? null : n, t);
})) && m.add(e);
}), this.selectedCategoryFilters.length > 0 && c.forEach((e) => {
(this.heatmap || !(e instanceof k) || !Array.from(m).find((t) => t.booths.includes(e))) && d.some((t) => {
var n, r;
return y(e.title || "", t) || y(e.name, t) || y(e.fullName, t) || b((n = (r = e.layer) == null ? void 0 : r.name) == null ? null : n, t);
}) && h.add(e);
});
let x = l, S = u;
if (x.forEach((e) => {
d.some((t) => y(e.name || "", t) || y(e.description || "", t)) && g.add(e);
}), S.forEach((e) => {
d.some((t) => y(e.name, t) || y(e.company, t) || y(e.jobTitle, t)) && _.add(e);
}), p.push(...g), p.push(...m), this.heatmap) return p.sort((e, t) => o.getClicksByType(t) - o.getClicksByType(e));
let ee = new Map(p.map((e) => [e.id, e]));
return p.map((e) => {
if (!e.name) return null;
let n = ze(e instanceof D && e.fullName.toLowerCase() || e.name.toLowerCase()), r = n.indexOf(ze(t));
if (r === -1) return null;
let i = {
id: e.id,
position: r,
lowerCaseName: n,
featured: !1
};
return e instanceof O && (i.featured = e.featured), i;
}).filter((e) => !!e).sort((e, t) => (e.featured || t.featured) && e.featured !== t.featured ? e.featured ? -1 : 1 : e.position === t.position ? e.lowerCaseName.localeCompare(t.lowerCaseName) || String(e.id).localeCompare(String(t.id)) : e.position - t.position).map(({ id: e }) => ee.get(e)).filter((e) => !!e);
}
get searchList() {
return [
...this.rootStore.eventStore.eventItems,
...this.rootStore.speakerStore.speakers,
...this.rootStore.categoryStore.categories.filter((e) => e.exhibitors.length),
...this.rootStore.exhibitorStore.exhibitors,
...this.rootStore.boothStore.booths
];
}
get foundInDescription() {
var e, t;
if (((e = this.list) == null ? void 0 : e.type) !== "search") return [];
let n = (t = this.list) == null || (t = t.text) == null ? void 0 : t.trim().toLowerCase();
if (!n) return [];
let r = this.fuzzySearchItems.map(({ item: e }) => e), i = new Set(r.map((e) => e.name)), a = this.categoryFilteredSearchList.filter((e) => !i.has(e.name)), o = [];
for (let e of a) {
let t = An(e);
if (!t) continue;
let r = (Me(t) ? Ne(t) : t).toLowerCase().indexOf(n);
r !== -1 && o.push({
item: e,
pos: r
});
}
return o.sort((e, t) => e.pos - t.pos), o.map((e) => e.item);
}
get foundInDescriptionStruct() {
var e, t;
let n = {};
if (((e = this.list) == null ? void 0 : e.type) !== "search") return n;
let r = (t = this.list) == null || (t = t.text) == null ? void 0 : t.trim().toLowerCase();
return this.foundInDescription.forEach((e) => {
let t = An(e);
if (!t) return;
Me(t) && (t = Ne(t));
let i = t.toLowerCase().indexOf(r);
if (i === -1) return;
let a = i > 3 ? i - 3 : 0, o = t.substring(a).trim();
n[e.id] = i > 0 ? `...${o}` : o;
}), n;
}
get categoryFilteredSearchList() {
return this.selectedCategoryFilters.length === 0 ? this.searchList : this.searchList.filter((e) => e instanceof O && this.selectedCategoryFilters.some((t) => e.categories.some((e) => e.id === t.id)));
}
get fuzzySearchItems() {
var e, t;
if (((e = this.list) == null ? void 0 : e.type) !== "search") return [];
let n = (t = this.list) == null || (t = t.text) == null ? void 0 : t.trim().toLowerCase();
if (!n) return this.defaultSearchItems.map((e) => ({
item: e,
score: 0,
matches: []
}));
let r = this.rootStore.fuzzySearchEngineStore.search(this.categoryFilteredSearchList, n), i = [], a = [];
for (let e of r) {
var o, s, c, l, u, d, f, p;
let t = e.item, r = t.entity.type, m = r === "booth" ? t : null, h = r === "exhibitor" ? t : null, g = [
(o = (s = t.name) == null ? void 0 : s.toLowerCase()) == null ? "" : o,
(c = m == null || (l = m.title) == null ? void 0 : l.toLowerCase()) == null ? "" : c,
(u = m == null || (d = m.fullName) == null ? void 0 : d.toLowerCase()) == null ? "" : u,
...(f = h == null || (p = h.booths) == null ? void 0 : p.map((e) => {
var t, n;
return (t = (n = e.name) == null ? void 0 : n.toLowerCase()) == null ? "" : t;
})) == null ? [] : f
], _ = Infinity;
for (let e of g) {
let t = e.indexOf(n);
t !== -1 && t < _ && (_ = t);
}
_ === Infinity ? a.push(e) : i.push({
result: {
item: t,
score: 0
},
pos: _
});
}
return i.sort((e, t) => e.pos - t.pos), [...i.map((e) => e.result), ...a];
}
get listItems() {
if (this.details instanceof j && this.list.type !== "multi-point-tour") return [this.details.from, this.details.to].filter((e) => e instanceof D);
switch (this.list.type) {
case "search": {
let e = !(this.heatmap || this.heatmapYah) && this.rootStore.fuzzySearchEngineStore.engine ? this.fuzzySearchItems.map(({ item: e }) => e).concat(this.foundInDescription) : this.searchItems;
return e = e.filter((e) => e.entity.type !== "booth" || !e.exhibitors.length), this.hasAppliedFilters ? e.filter((e) => {
if (this.selectedCategoryFilters.length > 0 && e instanceof O && !this.selectedCategoryFilters.some((t) => e.categories.some((e) => e.id === t.id))) return !1;
if (this.selectedPoiTypeFilters.length > 0) {
if (e instanceof O && !e.booths.some((e) => this.selectedPoiTypeFilters.some((t) => e.poiTypeId === t.id)) || e instanceof D && !this.selectedPoiTypeFilters.some((t) => e.poiTypeId === t.id)) return !1;
if (e instanceof H && e.boothId) {
let t = this.rootStore.boothStore.booths.find((t) => t.id === e.boothId);
if (!t || !this.selectedPoiTypeFilters.some((e) => t.poiTypeId === e.id)) return !1;
}
}
return !0;
}) : e;
}
case "bookmarks": return [
...this.rootStore.exhibitorStore.bookmarked,
...this.rootStore.eventStore.bookmarked,
...this.rootStore.speakerStore.bookmarked,
...this.rootStore.boothStore.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly)
];
case "visited": return [...this.rootStore.exhibitorStore.visited, ...this.rootStore.eventStore.visited];
case "category": return this.list.category.exhibitors;
case r: return u();
case "filter": return this.list.items;
case "sessions": return this.rootStore.eventStore.eventItems;
case "exhibitors": {
var e;
let t = this.rootStore.exhibitorStore.exhibitors, n = (e = this.list.text) == null ? void 0 : e.toLowerCase().trim();
return n ? t.filter((e) => e.name.toLowerCase().includes(n)) : t;
}
case "multi-point-tour": {
let e = this.rootStore.toursStore.getTourById(this.list.tourId);
return !e || !e.points || e.points.length === 0 ? [] : e.points.map((e) => {
let t = parseInt(e);
if (!isNaN(t)) {
let e = this.rootStore.boothStore.boothById.get(t);
if (e) return e;
}
let n = ie(e);
return (n == null ? void 0 : n.entity) || null;
}).filter((e) => !!e);
}
case "route-planner": return this.rootStore.routePlannerStore.resolvedBooths;
}
throw Error("Unknown list.type");
}
get listBooths() {
return $(this.listItems, this.rootStore.boothStore.booths, this.rootStore.eventStore.eventItems);
}
get selectedBooths() {
var e;
let t = [];
this.selectedExhibitor ? t = this.selectedExhibitor.booths : this.selectedBooth && (t = [this.selectedBooth]);
let n = this.selectedRoute, r = [
n == null ? void 0 : n.from,
n == null ? void 0 : n.to,
...(e = n == null ? void 0 : n.waypoints) == null ? [] : e
].filter((e) => e instanceof D);
return t.push(...r), new Set(t);
}
get hoveredBooths() {
let e = [];
return this.hoveredBooth ? e = [this.hoveredBooth] : this.hoveredExhibitor && (e = this.hoveredExhibitor.booths), new Set(e);
}
get visibility() {
var e;
return {
controls: !this.mapControlsHidden,
levels: !this.floorsControlHidden,
header: this.wsShown,
overlay: !this.hideOverlay,
searchButtons: (e = this.searchButtonsOverride) == null ? !this.hideOverlay : e
};
}
setVisibility(e) {
let t = [
"controls",
"levels",
"header",
"overlay"
], n = {
...t.reduce((e, t) => ({
...e,
[t]: !0
}), {}),
...t.filter((t) => t in e).reduce((t, n) => ({
...t,
[n]: e[n]
}), {})
}, r = typeof e.searchButtons == "boolean" ? e.searchButtons : null;
c && (Object.values(n).every(Boolean) && r === null ? localStorage.removeItem(a) : localStorage.setItem(a, JSON.stringify(r === null ? n : {
...n,
searchButtons: r
}))), this.mapControlsHidden = !n.controls, this.floorsControlHidden = !n.levels, this.hideHeaderLogo = !n.header, this.hideFreeOrDemo = !n.header, this.hideOverlay = !n.overlay, this.searchButtonsOverride = r;
}
toggleMapOverlay() {
this.overlayPosition === "bottom" && this.overlaySize === "full" ? this.desiredOverlaySize = "medium" : this.overlayPosition === "bottom" && this.overlaySize !== "full" && (this.desiredOverlaySize = "full");
}
changeZoom(e) {
this.zoomBy = e;
}
zoomIn() {
this.changeZoom(En);
}
zoomOut() {
this.changeZoom(Dn);
}
fitBounds() {
var e;
let { rect: t, source: n } = oe({
layerViewbox: this.rootStore.layerStore.viewboxRectangle,
explicitArea: ee() ? T() : null,
layerRectangle: this.rootStore.layerStore.rectangle,
sceneDef: (e = le()) == null ? null : e,
svgArea: T()
});
this.moveToRect = t, this.moveToRectPaddingPercent = se(n) ? 0 : ce(t, T()), this.rollReset = !0;
}
get previewMode() {
var e;
let t = c ? (e = localStorage.getItem("efp-previewMode")) == null ? localStorage.getItem(i) : e : null;
return t === "true" || t === "1" || this.rootStore.fp.previewMode;
}
get viewerMode() {
var e;
let t = c ? (e = localStorage.getItem("efp-viewerMode")) == null ? localStorage.getItem(n) : e : null;
return t === "true" || t === "1" || this.rootStore.fp.viewerMode;
}
get selectedEventItem() {
return this.details instanceof H ? this.details : null;
}
get defaultMapSettings() {
return {
zoomtime: 500,
pitchtime: 500,
center: void 0,
centerxy: void 0,
z: void 0,
bearing: 0,
roll: 1,
pitch: 1,
pitchdegrees: this.pitchEnabled ? 30 : 0
};
}
setMapSettings(e) {
let t = {};
for (let n of Object.keys(e)) {
let r = e[n];
r != null && (n === "zoomtime" || n === "pitchtime" ? t[n] = Math.min(Math.max(e[n] || this.mapSettings[n] || 0, 500), 5e3) : Object.assign(t, { [n]: r }));
}
this.mapSettings = {
...this.mapSettings,
...t
};
}
resetMapSettings() {
this.mapSettings = { ...this.defaultMapSettings };
}
get is3DView() {
return !!C.allow3dView;
}
get pitchEnabled() {
return this.is3DView ? this.mapSettings.pitch === void 0 || Number(this.mapSettings.pitch) === 1 : !1;
}
get rollEnabled() {
return this.rootStore.fp.enableRotation ? this.mapSettings.roll === void 0 || Number(this.mapSettings.roll) === 1 : !1;
}
get baseQRCodeUrl() {
return `https://${E.EXPO}.expofp.com`;
}
get viewMapOnPhoneQRCodeUrl() {
if (C != null && C.customKioskQrCodeUrl) return C.customKioskQrCodeUrl;
let e = new URL(this.baseQRCodeUrl);
e.search = window.location.search;
let t = e.toString();
return console.log("View Map On Phone QR Code Url", t), t;
}
get routeQRCodeUrl() {
var e, t;
let n = new URL(this.baseQRCodeUrl), r = (e = this.selectedRoute) == null ? void 0 : e.from, i = (t = this.selectedRoute) == null ? void 0 : t.to, a = r instanceof D ? r.slug : "", o = i instanceof D ? i.slug : "";
n.search = `?route%3A${encodeURIComponent(o)}%3A${encodeURIComponent(a)}%3Afalse`, Ae(n.searchParams, this.kioskData);
let s = n.toString();
return console.log("Route QR Code Url", s), s;
}
get isFeaturedExhibitorActive() {
return this.details instanceof O && !!this.details.featured;
}
get activeInterfaceData() {
for (let e of this.interfaceMetadata) if (e.isActive()) return e;
return null;
}
get activeInterfaceId() {
var e;
return (e = this.activeInterfaceData) == null ? void 0 : e.id;
}
get searchBoxConfig() {
let e = this.activeInterfaceData;
return !e || !e.searchBoxConfig ? {
mode: "search",
title: "",
subtitle: void 0,
badge: void 0,
icon: void 0
} : e.searchBoxConfig() || {
mode: "search",
title: "",
subtitle: void 0,
badge: void 0,
icon: void 0
};
}
get searchBoxActions() {
var e, t, n;
return (e = (t = this.activeInterfaceData) == null || (n = t.actions) == null ? void 0 : n.call(t)) == null ? [] : e;
}
get overlayInterfaceClasses() {
let e = [], t = this.activeInterfaceData;
return t && (e.push(t.className), t.additionalClasses && e.push(...t.additionalClasses())), this.details && e.push("overlay-has-details"), this.list.type && e.push(`overlay-list-${this.list.type}`), this.isFeaturedExhibitorActive && e.push("overlay-exhibitor-featured"), e;
}
get isOverlayOpen() {
return this.noOverlay && !this.overlayOnDemand ? !1 : this.activeInterfaceData !== null;
}
setOverlayScrolled(e) {
this.isOverlayScrolled = e;
}
setListScrollTop(e, t) {
this.listScrollTop = t, this.scrollPositions.set(e, t);
}
setListScrollItemId(e, t) {
this.listScrollItemId = t, this.scrollItemIds.set(e, t);
}
getListScrollTop(e) {
return this.scrollPositions.get(e) || 0;
}
getListScrollItemId(e) {
return this.scrollItemIds.get(e) || null;
}
clearListScroll(e) {
this.scrollPositions.delete(e), this.scrollItemIds.delete(e), this.list.type === e && (this.listScrollTop = 0, this.listScrollItemId = null);
}
get bannerType() {
return this.hideFreeOrDemo || this.heatmap ? null : E.EXPO === "expo" ? "demo" : C.expoFpAd || C.isTrial ? "free" : null;
}
setCurrentBanner(e) {
this.currentBanner = e;
}
setForceShowDetails(e) {
this.forceShowDetails = e;
}
get showRouteInstantly() {
return !!(this.kiosk && !this.forceShowDetails);
}
startBuildRoute() {
this.rootStore.selectSearch(""), this.mapControlsHidden = !0, this.floorsControlHidden = !0, this.hideHeaderLogo = !0, this.hideFreeOrDemo = !0, this.hideOverlay = !0, this.hideCookieConsent = !0, this.buildRoute = !0;
}
setGlobalErrorMessage(e) {
this.globalErrorMessages.push(e);
}
popGlobalErrorMessage() {
this.globalErrorMessages.pop();
}
initializeUIScale() {
if (new URLSearchParams(window.location.search).get("kiosk") !== "0" && !(M && ae()) && c) {
var e;
let t = (e = localStorage.getItem("efp-uiScale")) == null ? localStorage.getItem(s) : e;
if (t) {
let e = parseFloat(t);
!isNaN(e) && e >= .8 && e <= 1.4 && (this._customUIScale = e);
}
}
}
setUIScale(e, t = !0) {
if (e === void 0 || isNaN(e) || e < this.minUIScale || e > this.maxUIScale) {
p.warn(`Invalid ui-scale value: ${e}. Must be between ${this.minUIScale} and ${this.maxUIScale}.`);
return;
}
this._customUIScale = e, t && c && (localStorage.setItem(o, e.toString()), localStorage.removeItem(s));
}
setKioskUIScale(e, t) {
M || this.setUIScale(e, t);
}
resetUIScale() {
this._customUIScale = null, c && (localStorage.removeItem(o), localStorage.removeItem(s));
}
restoreUIScale() {
this._customUIScale = null, this.initializeUIScale();
}
get kiosk() {
return this.kioskEnabled;
}
set kiosk(e) {
this.kioskEnabled = e && !M;
}
enableSetKioskMode(e) {
this.setKioskModeEnabled = e;
}
setKioskData(e) {
this.kioskData = e;
}
}, ct = Q(Y.prototype, "list", [Ve], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {
type: "search",
text: "",
focused: !1
};
}
}), lt = Q(Y.prototype, "details", [He], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), ut = Q(Y.prototype, "hoveredExhibitor", [Ue], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), dt = Q(Y.prototype, "hoveredBooth", [We], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), ft = Q(Y.prototype, "zoomBy", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), pt = Q(Y.prototype, "rollReset", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), mt = Q(Y.prototype, "moveToBooths", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), ht = Q(Y.prototype, "moveToRect", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), gt = Q(Y.prototype, "moveToRectPaddingPercent", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), _t = Q(Y.prototype, "moveToLocation", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), vt = Q(Y.prototype, "menu", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), yt = Q(Y.prototype, "searchFocused", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), bt = Q(Y.prototype, "searchClearMode", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), xt = Q(Y.prototype, "printingPdf", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), St = Q(Y.prototype, "screenSize", [Ge], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return new ne(window.innerWidth, window.innerHeight);
}
}), Ct = Q(Y.prototype, "desiredOverlaySize", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), wt = Q(Y.prototype, "overlayShowsAll", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Tt = Q(Y.prototype, "centerMap", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Et = Q(Y.prototype, "zoomAfTransformK", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return 1;
}
}), Dt = Q(Y.prototype, "activeListIndex", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return -1;
}
}), Ot = Q(Y.prototype, "devicePixelRatio", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return window.devicePixelRatio;
}
}), kt = Q(Y.prototype, "wsStarted", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), At = Q(Y.prototype, "canvasStarted", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), jt = Q(Y.prototype, "inIdle", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Mt = Q(Y.prototype, "modalActive", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return { share: !1 };
}
}), Nt = Q(Y.prototype, "galleryActive", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Pt = Q(Y.prototype, "hideOverlay", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Ft = Q(Y.prototype, "searchButtonsOverride", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), It = Q(Y.prototype, "hideCookieConsent", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !!re();
}
}), Lt = Q(Y.prototype, "hideHeaderLogo", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Rt = Q(Y.prototype, "hideLogoInBooth", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), zt = Q(Y.prototype, "disableBookmarked", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Bt = Q(Y.prototype, "hideLanguage", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Vt = Q(Y.prototype, "monochrome", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Ht = Q(Y.prototype, "heatmap", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Ut = Q(Y.prototype, "heatmapYah", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Wt = Q(Y.prototype, "debugCircles", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), Gt = Q(Y.prototype, "mapControlsHidden", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Kt = Q(Y.prototype, "floorsControlHidden", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), qt = Q(Y.prototype, "hideFreeOrDemo", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Jt = Q(Y.prototype, "freeBannerDismissed", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return b(sessionStorage);
}
}), Yt = Q(Y.prototype, "currentBanner", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Xt = Q(Y.prototype, "sceneDefReady", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Zt = Q(Y.prototype, "categoryFilterOpen", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Qt = Q(Y.prototype, "selectedCategoryFilters", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), $t = Q(Y.prototype, "selectedPoiTypeFilters", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), en = Q(Y.prototype, "selectedTrack", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), tn = Q(Y.prototype, "subButtonsVisible", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), nn = Q(Y.prototype, "searchBoxMode", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return "search";
}
}), rn = Q(Y.prototype, "searchBoxTitle", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return "";
}
}), an = Q(Y.prototype, "searchBoxSubtitle", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), on = Q(Y.prototype, "routeTitle", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), sn = Q(Y.prototype, "routeDescription", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), cn = Q(Y.prototype, "isMultiPointRoute", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), ln = Q(Y.prototype, "tourTitle", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), un = Q(Y.prototype, "tourDescription", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: null
}), X = Q(Y.prototype, "isMultiPointTour", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), dn = Q(Y.prototype, "pathwayOnlyMode", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), fn = Q(Y.prototype, "isOverlayScrolled", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), pn = Q(Y.prototype, "listScrollTop", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return 0;
}
}), mn = Q(Y.prototype, "listScrollItemId", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), hn = Q(Y.prototype, "listScrollIndex", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return 0;
}
}), gn = Q(Y.prototype, "_customUIScale", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Q(Y.prototype, "setSelectedCategoryFilters", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setSelectedCategoryFilters"), Y.prototype), Q(Y.prototype, "resetCategoryFilter", [g], Object.getOwnPropertyDescriptor(Y.prototype, "resetCategoryFilter"), Y.prototype), Q(Y.prototype, "setSearchClearMode", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setSearchClearMode"), Y.prototype), Q(Y.prototype, "setRouteTitle", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setRouteTitle"), Y.prototype), Q(Y.prototype, "setRouteDescription", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setRouteDescription"), Y.prototype), Q(Y.prototype, "setIsMultiPointRoute", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setIsMultiPointRoute"), Y.prototype), Q(Y.prototype, "setTourTitle", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setTourTitle"), Y.prototype), Q(Y.prototype, "setTourDescription", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setTourDescription"), Y.prototype), Q(Y.prototype, "setIsMultiPointTour", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setIsMultiPointTour"), Y.prototype), Q(Y.prototype, "setPathwayOnlyMode", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setPathwayOnlyMode"), Y.prototype), Q(Y.prototype, "setMultiPointTourList", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setMultiPointTourList"), Y.prototype), Q(Y.prototype, "activePathwayLayers", [m], Object.getOwnPropertyDescriptor(Y.prototype, "activePathwayLayers"), Y.prototype), Q(Y.prototype, "highlightedBooths", [m], Object.getOwnPropertyDescriptor(Y.prototype, "highlightedBooths"), Y.prototype), Q(Y.prototype, "rtl", [m], Object.getOwnPropertyDescriptor(Y.prototype, "rtl"), Y.prototype), Q(Y.prototype, "noOverlay", [Ke], Object.getOwnPropertyDescriptor(Y.prototype, "noOverlay"), Y.prototype), Q(Y.prototype, "overlayOnDemand", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayOnDemand"), Y.prototype), Q(Y.prototype, "overlayHiddenNow", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayHiddenNow"), Y.prototype), Q(Y.prototype, "selectedExhibitor", [qe], Object.getOwnPropertyDescriptor(Y.prototype, "selectedExhibitor"), Y.prototype), Q(Y.prototype, "selectedBooth", [Je], Object.getOwnPropertyDescriptor(Y.prototype, "selectedBooth"), Y.prototype), Q(Y.prototype, "selectedCategory", [Ye], Object.getOwnPropertyDescriptor(Y.prototype, "selectedCategory"), Y.prototype), Q(Y.prototype, "selectedRoute", [Xe], Object.getOwnPropertyDescriptor(Y.prototype, "selectedRoute"), Y.prototype), Q(Y.prototype, "selectedSpeaker", [Ze], Object.getOwnPropertyDescriptor(Y.prototype, "selectedSpeaker"), Y.prototype), Q(Y.prototype, "uiScale", [Qe], Object.getOwnPropertyDescriptor(Y.prototype, "uiScale"), Y.prototype), Q(Y.prototype, "isGuidedToursActive", [$e], Object.getOwnPropertyDescriptor(Y.prototype, "isGuidedToursActive"), Y.prototype), Q(Y.prototype, "getRouteNextFloor", [et], Object.getOwnPropertyDescriptor(Y.prototype, "getRouteNextFloor"), Y.prototype), Q(Y.prototype, "headerHeightPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "headerHeightPx"), Y.prototype), Q(Y.prototype, "screenWidth", [m], Object.getOwnPropertyDescriptor(Y.prototype, "screenWidth"), Y.prototype), Q(Y.prototype, "overlayPosition", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayPosition"), Y.prototype), Q(Y.prototype, "overlayCollapsed", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayCollapsed"), Y.prototype), Q(Y.prototype, "overlaySize", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlaySize"), Y.prototype), Q(Y.prototype, "overlayBottom", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayBottom"), Y.prototype), Q(Y.prototype, "overlayLeft", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayLeft"), Y.prototype), Q(Y.prototype, "overlayWidthPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayWidthPx"), Y.prototype), Q(Y.prototype, "wsHeightCss", [m], Object.getOwnPropertyDescriptor(Y.prototype, "wsHeightCss"), Y.prototype), Q(Y.prototype, "wsOccupiedHeightPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "wsOccupiedHeightPx"), Y.prototype), Q(Y.prototype, "wsShown", [tt], Object.getOwnPropertyDescriptor(Y.prototype, "wsShown"), Y.prototype), Q(Y.prototype, "wsDesktopPosition", [m], Object.getOwnPropertyDescriptor(Y.prototype, "wsDesktopPosition"), Y.prototype), Q(Y.prototype, "wsPosition", [m], Object.getOwnPropertyDescriptor(Y.prototype, "wsPosition"), Y.prototype), Q(Y.prototype, "responsiveClass", [m], Object.getOwnPropertyDescriptor(Y.prototype, "responsiveClass"), Y.prototype), Q(Y.prototype, "mapVisibleTop", [m], Object.getOwnPropertyDescriptor(Y.prototype, "mapVisibleTop"), Y.prototype), Q(Y.prototype, "mapVisibleBottom", [m], Object.getOwnPropertyDescriptor(Y.prototype, "mapVisibleBottom"), Y.prototype), Q(Y.prototype, "searchActionsHeightPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "searchActionsHeightPx"), Y.prototype), Q(Y.prototype, "shouldShowSearchButtons", [m], Object.getOwnPropertyDescriptor(Y.prototype, "shouldShowSearchButtons"), Y.prototype), Q(Y.prototype, "shouldShowMobileToggle", [m], Object.getOwnPropertyDescriptor(Y.prototype, "shouldShowMobileToggle"), Y.prototype), Q(Y.prototype, "mobileToggleTopPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "mobileToggleTopPx"), Y.prototype), Q(Y.prototype, "mobileToggleIsListMode", [m], Object.getOwnPropertyDescriptor(Y.prototype, "mobileToggleIsListMode"), Y.prototype), Q(Y.prototype, "canvasVisibleRectPx", [m], Object.getOwnPropertyDescriptor(Y.prototype, "canvasVisibleRectPx"), Y.prototype), Q(Y.prototype, "shouldShiftMapRect", [m], Object.getOwnPropertyDescriptor(Y.prototype, "shouldShiftMapRect"), Y.prototype), Q(Y.prototype, "hasAppliedFilters", [m], Object.getOwnPropertyDescriptor(Y.prototype, "hasAppliedFilters"), Y.prototype), Q(Y.prototype, "canvasVisibleRectPt", [m], Object.getOwnPropertyDescriptor(Y.prototype, "canvasVisibleRectPt"), Y.prototype), Q(Y.prototype, "canvasSizePt", [m], Object.getOwnPropertyDescriptor(Y.prototype, "canvasSizePt"), Y.prototype), Q(Y.prototype, "shouldUseBackdrop", [nt], Object.getOwnPropertyDescriptor(Y.prototype, "shouldUseBackdrop"), Y.prototype), _n = Q(Y.prototype, "forceDim", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Q(Y.prototype, "setForceDim", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setForceDim"), Y.prototype), Q(Y.prototype, "dimmed", [m], Object.getOwnPropertyDescriptor(Y.prototype, "dimmed"), Y.prototype), Q(Y.prototype, "defaultSearchItems", [m], Object.getOwnPropertyDescriptor(Y.prototype, "defaultSearchItems"), Y.prototype), Q(Y.prototype, "searchItems", [m], Object.getOwnPropertyDescriptor(Y.prototype, "searchItems"), Y.prototype), Q(Y.prototype, "searchList", [m], Object.getOwnPropertyDescriptor(Y.prototype, "searchList"), Y.prototype), Q(Y.prototype, "foundInDescription", [m], Object.getOwnPropertyDescriptor(Y.prototype, "foundInDescription"), Y.prototype), Q(Y.prototype, "foundInDescriptionStruct", [m], Object.getOwnPropertyDescriptor(Y.prototype, "foundInDescriptionStruct"), Y.prototype), Q(Y.prototype, "categoryFilteredSearchList", [m], Object.getOwnPropertyDescriptor(Y.prototype, "categoryFilteredSearchList"), Y.prototype), Q(Y.prototype, "fuzzySearchItems", [m], Object.getOwnPropertyDescriptor(Y.prototype, "fuzzySearchItems"), Y.prototype), Q(Y.prototype, "listItems", [m], Object.getOwnPropertyDescriptor(Y.prototype, "listItems"), Y.prototype), Q(Y.prototype, "listBooths", [rt], Object.getOwnPropertyDescriptor(Y.prototype, "listBooths"), Y.prototype), Q(Y.prototype, "selectedBooths", [it], Object.getOwnPropertyDescriptor(Y.prototype, "selectedBooths"), Y.prototype), Q(Y.prototype, "hoveredBooths", [at], Object.getOwnPropertyDescriptor(Y.prototype, "hoveredBooths"), Y.prototype), Q(Y.prototype, "visibility", [m], Object.getOwnPropertyDescriptor(Y.prototype, "visibility"), Y.prototype), Q(Y.prototype, "setVisibility", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setVisibility"), Y.prototype), Q(Y.prototype, "toggleMapOverlay", [g], Object.getOwnPropertyDescriptor(Y.prototype, "toggleMapOverlay"), Y.prototype), Q(Y.prototype, "changeZoom", [g], Object.getOwnPropertyDescriptor(Y.prototype, "changeZoom"), Y.prototype), Q(Y.prototype, "zoomIn", [g], Object.getOwnPropertyDescriptor(Y.prototype, "zoomIn"), Y.prototype), Q(Y.prototype, "zoomOut", [g], Object.getOwnPropertyDescriptor(Y.prototype, "zoomOut"), Y.prototype), Q(Y.prototype, "fitBounds", [g], Object.getOwnPropertyDescriptor(Y.prototype, "fitBounds"), Y.prototype), Q(Y.prototype, "selectedEventItem", [ot], Object.getOwnPropertyDescriptor(Y.prototype, "selectedEventItem"), Y.prototype), vn = Q(Y.prototype, "mapSettings", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return {};
}
}), Q(Y.prototype, "setMapSettings", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setMapSettings"), Y.prototype), Q(Y.prototype, "resetMapSettings", [g], Object.getOwnPropertyDescriptor(Y.prototype, "resetMapSettings"), Y.prototype), yn = Q(Y.prototype, "animatePitch", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !0;
}
}), Q(Y.prototype, "pitchEnabled", [st], Object.getOwnPropertyDescriptor(Y.prototype, "pitchEnabled"), Y.prototype), Q(Y.prototype, "rollEnabled", [m], Object.getOwnPropertyDescriptor(Y.prototype, "rollEnabled"), Y.prototype), Q(Y.prototype, "baseQRCodeUrl", [m], Object.getOwnPropertyDescriptor(Y.prototype, "baseQRCodeUrl"), Y.prototype), Q(Y.prototype, "viewMapOnPhoneQRCodeUrl", [m], Object.getOwnPropertyDescriptor(Y.prototype, "viewMapOnPhoneQRCodeUrl"), Y.prototype), Q(Y.prototype, "routeQRCodeUrl", [m], Object.getOwnPropertyDescriptor(Y.prototype, "routeQRCodeUrl"), Y.prototype), Q(Y.prototype, "isFeaturedExhibitorActive", [m], Object.getOwnPropertyDescriptor(Y.prototype, "isFeaturedExhibitorActive"), Y.prototype), Q(Y.prototype, "activeInterfaceData", [m], Object.getOwnPropertyDescriptor(Y.prototype, "activeInterfaceData"), Y.prototype), Q(Y.prototype, "activeInterfaceId", [m], Object.getOwnPropertyDescriptor(Y.prototype, "activeInterfaceId"), Y.prototype), Q(Y.prototype, "searchBoxConfig", [m], Object.getOwnPropertyDescriptor(Y.prototype, "searchBoxConfig"), Y.prototype), Q(Y.prototype, "searchBoxActions", [m], Object.getOwnPropertyDescriptor(Y.prototype, "searchBoxActions"), Y.prototype), Q(Y.prototype, "overlayInterfaceClasses", [m], Object.getOwnPropertyDescriptor(Y.prototype, "overlayInterfaceClasses"), Y.prototype), Q(Y.prototype, "isOverlayOpen", [m], Object.getOwnPropertyDescriptor(Y.prototype, "isOverlayOpen"), Y.prototype), Q(Y.prototype, "setOverlayScrolled", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setOverlayScrolled"), Y.prototype), Q(Y.prototype, "setListScrollTop", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setListScrollTop"), Y.prototype), Q(Y.prototype, "setListScrollItemId", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setListScrollItemId"), Y.prototype), Q(Y.prototype, "getListScrollTop", [g], Object.getOwnPropertyDescriptor(Y.prototype, "getListScrollTop"), Y.prototype), Q(Y.prototype, "getListScrollItemId", [g], Object.getOwnPropertyDescriptor(Y.prototype, "getListScrollItemId"), Y.prototype), Q(Y.prototype, "clearListScroll", [g], Object.getOwnPropertyDescriptor(Y.prototype, "clearListScroll"), Y.prototype), Q(Y.prototype, "bannerType", [m], Object.getOwnPropertyDescriptor(Y.prototype, "bannerType"), Y.prototype), Q(Y.prototype, "setCurrentBanner", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setCurrentBanner"), Y.prototype), bn = Q(Y.prototype, "forceShowDetails", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Q(Y.prototype, "setForceShowDetails", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setForceShowDetails"), Y.prototype), Q(Y.prototype, "showRouteInstantly", [m], Object.getOwnPropertyDescriptor(Y.prototype, "showRouteInstantly"), Y.prototype), xn = Q(Y.prototype, "buildRoute", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Q(Y.prototype, "startBuildRoute", [g], Object.getOwnPropertyDescriptor(Y.prototype, "startBuildRoute"), Y.prototype), Sn = Q(Y.prototype, "globalErrorMessages", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return [];
}
}), Q(Y.prototype, "setGlobalErrorMessage", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setGlobalErrorMessage"), Y.prototype), Q(Y.prototype, "popGlobalErrorMessage", [g], Object.getOwnPropertyDescriptor(Y.prototype, "popGlobalErrorMessage"), Y.prototype), Q(Y.prototype, "initializeUIScale", [g], Object.getOwnPropertyDescriptor(Y.prototype, "initializeUIScale"), Y.prototype), Q(Y.prototype, "setUIScale", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setUIScale"), Y.prototype), Q(Y.prototype, "setKioskUIScale", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setKioskUIScale"), Y.prototype), Q(Y.prototype, "resetUIScale", [g], Object.getOwnPropertyDescriptor(Y.prototype, "resetUIScale"), Y.prototype), Q(Y.prototype, "restoreUIScale", [g], Object.getOwnPropertyDescriptor(Y.prototype, "restoreUIScale"), Y.prototype), Cn = Q(Y.prototype, "kioskEnabled", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), wn = Q(Y.prototype, "setKioskModeEnabled", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return !1;
}
}), Q(Y.prototype, "enableSetKioskMode", [g], Object.getOwnPropertyDescriptor(Y.prototype, "enableSetKioskMode"), Y.prototype), Tn = Q(Y.prototype, "kioskData", [h], {
configurable: !0,
enumerable: !0,
writable: !0,
initializer: function() {
return null;
}
}), Q(Y.prototype, "setKioskData", [g], Object.getOwnPropertyDescriptor(Y.prototype, "setKioskData"), Y.prototype), Y);
function An(e) {
return "description" in e && typeof e.description == "string" ? e.description : void 0;
}
function $(e, t, n = []) {
let r = [];
return e.forEach((e) => {
if (e instanceof O) r.push(...e.booths);
else if (e instanceof D) r.push(e);
else if (e instanceof H) {
let n = t.find((t) => t.id === e.boothId);
e.boothId && n && r.push(n);
} else e instanceof J && n.filter((t) => t.speakers.some((t) => t.id === e.id) && t.boothId).forEach((e) => {
let n = t.find((t) => t.id === e.boothId);
n && r.push(n);
});
}), new Set(r.filter(Boolean));
}
//#endregion
export { ke as a, Ce as c, H as d, ye as f, pe as h, Re as i, W as l, ge as m, En as n, J as o, L as p, Be as r, De as s, kn as t, be as u };