UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

1,331 lines (1,330 loc) 42.9 kB
(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.7.8" }; var t = new e.Error().stack; t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d6365f01-7da5-4415-9198-98574e9b8cdd", e._sentryDebugIdIdentifier = "sentry-dbid-d6365f01-7da5-4415-9198-98574e9b8cdd"); } catch {} })(); import { r as e } from "./rolldown-runtime-YBAZwyzS.js"; import { t } from "./react-Di3Pmpio.js"; import { t as n } from "./jsx-runtime-C8yjdFgZ.js"; import { t as r } from "./browser-CIXTbsxm.js"; import { G as i, J as a, U as o, W as s, _ as c, c as l, n as u, r as d } from "./i18n-BEer1tI4.js"; import { a as f, i as p, n as m, r as h, t as ee } from "./floorplan.loader-Cq_YmcPJ.js"; import { C as te, E as ne, S as re, Z as ie, i as ae, n as oe, pt as g } from "./exports-Bo62ffaz.js"; import { t as se } from "./client-D-xRoQOb.js"; import { C as ce, D as _, H as le, O as ue, S as de, dn as fe, dt as pe, g as me, k as he, ln as v, m as ge, nt as _e, o as y, rt as b, st as x, v as S, vt as ve, w as ye, x as be, y as xe, yt as Se } from "./store-DTwRqruF.js"; import { t as Ce } from "./components-BnQ6F4_Y.js"; //#region ../../node_modules/.pnpm/@sentry+browser@10.58.0/node_modules/@sentry/browser/build/npm/esm/prod/report-dialog.js function C(e = {}) { let t = h.document, n = (t == null ? void 0 : t.head) || (t == null ? void 0 : t.body); if (!n) { m && g.error("[showReportDialog] Global document not defined"); return; } let r = te(), i = re(), a = i == null ? void 0 : i.getDsn(); if (!a) { m && g.error("[showReportDialog] DSN not configured"); return; } let o = { ...e, user: { ...r.getUser(), ...e.user }, eventId: e.eventId || ae() }, s = h.document.createElement("script"); s.async = !0, s.crossOrigin = "anonymous", s.src = p(a, o); let { onLoad: c, onClose: l } = o; if (c && (s.onload = c), l) { let e = (t) => { if (t.data === "__sentry_reportdialog_closed__") try { l(); } finally { h.removeEventListener("message", e); } }; h.addEventListener("message", e); } n.appendChild(s); } //#endregion //#region ../../node_modules/.pnpm/@sentry+react@10.58.0_react@19.2.7/node_modules/@sentry/react/build/esm/error.js var w = /* @__PURE__ */ e(t()); function we(e) { let t = e.match(/^([^.]+)/); return t !== null && parseInt(t[0]) >= 17; } function Te(e, t) { let n = /* @__PURE__ */ new WeakSet(); function r(e, t) { if (!n.has(e)) { if (e.cause) return n.add(e), r(e.cause, t); e.cause = t; } } r(e, t); } function Ee(e, { componentStack: t }, n) { if (we(w.version) && ie(e) && t) { let n = Error(e.message); n.name = `React ErrorBoundary ${e.name}`, n.stack = t, Te(e, n); } return oe(e, n); } //#endregion //#region ../../node_modules/.pnpm/@sentry+react@10.58.0_react@19.2.7/node_modules/@sentry/react/build/esm/debug-build.js var De = typeof __SENTRY_DEBUG__ > "u" || __SENTRY_DEBUG__, T = { componentStack: null, error: null, eventId: null }, Oe = class extends w.Component { constructor(e) { super(e), this.state = T, this._openFallbackReportDialog = !0; let t = re(); t && e.showDialog && (this._openFallbackReportDialog = !1, this._cleanupHook = t.on("afterSendEvent", (t) => { !t.type && this._lastEventId && t.event_id === this._lastEventId && C({ ...e.dialogOptions, eventId: this._lastEventId }); })); } componentDidCatch(e, t) { let { componentStack: n } = t, { beforeCapture: r, onError: i, showDialog: a, dialogOptions: o } = this.props; ne((s) => { r && r(s, e, n); let c = Ee(e, t, { mechanism: { handled: this.props.handled == null ? !!this.props.fallback : this.props.handled, type: "auto.function.react.error_boundary" } }); i && i(e, n, c), a && (this._lastEventId = c, this._openFallbackReportDialog && C({ ...o, eventId: c })), this.setState({ error: e, componentStack: n, eventId: c }); }); } componentDidMount() { let { onMount: e } = this.props; e && e(); } componentWillUnmount() { let { error: e, componentStack: t, eventId: n } = this.state, { onUnmount: r } = this.props; r && (this.state === T ? r(null, null, null) : r(e, t, n)), this._cleanupHook && (this._cleanupHook(), this._cleanupHook = void 0); } resetErrorBoundary() { let { onReset: e } = this.props, { error: t, componentStack: n, eventId: r } = this.state; e && e(t, n, r), this.setState(T); } render() { let { fallback: e, children: t } = this.props, n = this.state; if (n.componentStack === null) return typeof t == "function" ? t() : t; let r = typeof e == "function" ? w.createElement(e, { error: n.error, componentStack: n.componentStack, resetError: () => this.resetErrorBoundary(), eventId: n.eventId }) : e; return w.isValidElement(r) ? r : (e && De && g.warn("fallback did not produce a valid ReactElement"), null); } }, ke = /* @__PURE__ */ e(r(), 1), Ae = se(), je = Se(); function Me() { let e = new URLSearchParams(window.location.search).get(o), t = l ? window.localStorage.getItem(o) : null, n = e == null ? t : e; return n == null ? l && pe() != null : n === "1"; } function Ne() { let e = window.location.hostname.split("."); return e.length >= 3 && e[e.length - 2] === "expofp" && e[e.length - 1] === "com"; } function Pe() { return Ne() ? window.location.hostname.split(".")[0] : "main"; } function Fe(e) { if ((e == null ? void 0 : e.free) === !0) return "Free"; let t = e == null ? void 0 : e.trialExpiresAt; if (t) { let e = new Date(t).getTime(); if (!Number.isNaN(e)) return Date.now() < e ? "Trial Active" : "Trial Expired"; } return "Active"; } function Ie() { return !1; } function Le(e) { return e; } function Re(e) { if (Ie() || !Ne() || Me() || !window.navigator.onLine) return null; let t = Le({ subDomain: Pe(), subscriptionStatus: Fe(e) }); return t.subDomain !== "demo" && t.subscriptionStatus !== "Free" && t.subscriptionStatus !== "Trial Expired" ? null : t; } Object.freeze({ status: "aborted" }); function E(e, t, n) { var r; function i(n, r) { if (n._zod || Object.defineProperty(n, "_zod", { value: { def: r, constr: s, traits: /* @__PURE__ */ new Set() }, enumerable: !1 }), n._zod.traits.has(e)) return; n._zod.traits.add(e), t(n, r); let i = s.prototype, a = Object.keys(i); for (let e = 0; e < a.length; e++) { let t = a[e]; t in n || (n[t] = i[t].bind(n)); } } let a = (r = n == null ? void 0 : n.Parent) == null ? Object : r; class o extends a {} Object.defineProperty(o, "name", { value: e }); function s(e) { var t; let r = n != null && n.Parent ? new o() : this; i(r, e), (t = r._zod).deferred != null || (t.deferred = []); for (let e of r._zod.deferred) e(); return r; } return Object.defineProperty(s, "init", { value: i }), Object.defineProperty(s, Symbol.hasInstance, { value: (t) => { var r; return n != null && n.Parent && t instanceof n.Parent ? !0 : t == null || (r = t._zod) == null || (r = r.traits) == null ? void 0 : r.has(e); } }), Object.defineProperty(s, "name", { value: e }), s; } var D = class extends Error { constructor() { super("Encountered Promise during synchronous parse. Use .parseAsync() instead."); } }, ze = {}; function O(e) { return e && Object.assign(ze, e), ze; } //#endregion //#region ../../node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js function Be(e, t) { return typeof t == "bigint" ? t.toString() : t; } function Ve(e) { return { get value() { { let t = e(); return Object.defineProperty(this, "value", { value: t }), t; } throw Error("cached value already set"); } }; } function He(e) { let t = +!!e.startsWith("^"), n = e.endsWith("$") ? e.length - 1 : e.length; return e.slice(t, n); } var Ue = Symbol("evaluating"); function k(e, t, n) { let r; Object.defineProperty(e, t, { get() { if (r !== Ue) return r === void 0 && (r = Ue, r = n()), r; }, set(n) { Object.defineProperty(e, t, { value: n }); }, configurable: !0 }); } var We = "captureStackTrace" in Error ? Error.captureStackTrace : (...e) => {}; function Ge(e) { return typeof e == "object" && !!e && !Array.isArray(e); } function Ke(e, t, n) { let r = new e._zod.constr(t == null ? e._zod.def : t); return (!t || n != null && n.parent) && (r._zod.parent = e), r; } function A(e) { let t = e; if (!t) return {}; if (typeof t == "string") return { error: () => t }; if ((t == null ? void 0 : t.message) !== void 0) { if ((t == null ? void 0 : t.error) !== void 0) throw Error("Cannot specify both `message` and `error` params"); t.error = t.message; } return delete t.message, typeof t.error == "string" ? { ...t, error: () => t.error } : t; } function qe(e) { return Object.keys(e).filter((t) => e[t]._zod.optin === "optional" && e[t]._zod.optout === "optional"); } -Number.MAX_VALUE, Number.MAX_VALUE; function j(e, t = 0) { if (e.aborted === !0) return !0; for (let r = t; r < e.issues.length; r++) { var n; if (((n = e.issues[r]) == null ? void 0 : n.continue) !== !0) return !0; } return !1; } function M(e, t) { return t.map((t) => { var n; return (n = t).path != null || (n.path = []), t.path.unshift(e), t; }); } function N(e) { return typeof e == "string" ? e : e == null ? void 0 : e.message; } function P(e, t, n) { var r; let i = { ...e, path: (r = e.path) == null ? [] : r }; if (!e.message) { var a, o, s, c, l, u, d, f, p; i.message = (a = (o = (s = (c = N((l = e.inst) == null || (l = l._zod.def) == null || (u = l.error) == null ? void 0 : u.call(l, e))) == null ? N(t == null || (d = t.error) == null ? void 0 : d.call(t, e)) : c) == null ? N((f = n.customError) == null ? void 0 : f.call(n, e)) : s) == null ? N((p = n.localeError) == null ? void 0 : p.call(n, e)) : o) == null ? "Invalid input" : a; } return delete i.inst, delete i.continue, t != null && t.reportInput || delete i.input, i; } function Je(...e) { let [t, n, r] = e; return typeof t == "string" ? { message: t, code: "custom", input: n, inst: r } : { ...t }; } //#endregion //#region ../../node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js var F = (e, t) => { e.name = "$ZodError", Object.defineProperty(e, "_zod", { value: e._zod, enumerable: !1 }), Object.defineProperty(e, "issues", { value: t, enumerable: !1 }), e.message = JSON.stringify(t, Be, 2), Object.defineProperty(e, "toString", { value: () => e.message, enumerable: !1 }); }, Ye = E("$ZodError", F), I = E("$ZodError", F, { Parent: Error }), Xe = /* @__PURE__*/ ((e) => (t, n, r, i) => { let a = r ? Object.assign(r, { async: !1 }) : { async: !1 }, o = t._zod.run({ value: n, issues: [] }, a); if (o instanceof Promise) throw new D(); if (o.issues.length) { var s; let t = new ((s = i == null ? void 0 : i.Err) == null ? e : s)(o.issues.map((e) => P(e, a, O()))); throw We(t, i == null ? void 0 : i.callee), t; } return o.value; })(I), Ze = /* @__PURE__*/ ((e) => async (t, n, r, i) => { let a = r ? Object.assign(r, { async: !0 }) : { async: !0 }, o = t._zod.run({ value: n, issues: [] }, a); if (o instanceof Promise && (o = await o), o.issues.length) { var s; let t = new ((s = i == null ? void 0 : i.Err) == null ? e : s)(o.issues.map((e) => P(e, a, O()))); throw We(t, i == null ? void 0 : i.callee), t; } return o.value; })(I), L = /* @__PURE__*/ ((e) => (t, n, r) => { let i = r ? { ...r, async: !1 } : { async: !1 }, a = t._zod.run({ value: n, issues: [] }, i); if (a instanceof Promise) throw new D(); return a.issues.length ? { success: !1, error: new (e == null ? Ye : e)(a.issues.map((e) => P(e, i, O()))) } : { success: !0, data: a.value }; })(I), R = /* @__PURE__*/ ((e) => async (t, n, r) => { let i = r ? Object.assign(r, { async: !0 }) : { async: !0 }, a = t._zod.run({ value: n, issues: [] }, i); return a instanceof Promise && (a = await a), a.issues.length ? { success: !1, error: new e(a.issues.map((e) => P(e, i, O()))) } : { success: !0, data: a.value }; })(I), Qe = (e) => { var t, n; let r = e ? `[\\s\\S]{${(t = e == null ? void 0 : e.minimum) == null ? 0 : t},${(n = e == null ? void 0 : e.maximum) == null ? "" : n}}` : "[\\s\\S]*"; return RegExp(`^${r}$`); }, $e = /^-?\d+(?:\.\d+)?$/, et = /*@__PURE__*/ E("$ZodCheck", (e, t) => { var n; e._zod != null || (e._zod = {}), e._zod.def = t, (n = e._zod).onattach != null || (n.onattach = []); }), tt = { major: 4, minor: 3, patch: 5 }, z = /*@__PURE__*/ E("$ZodType", (e, t) => { var n, r; e != null || (e = {}), e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = tt; let i = [...(n = e._zod.def.checks) == null ? [] : n]; e._zod.traits.has("$ZodCheck") && i.unshift(e); for (let t of i) for (let n of t._zod.onattach) n(e); if (i.length === 0) { var a; (r = e._zod).deferred != null || (r.deferred = []), (a = e._zod.deferred) == null || a.push(() => { e._zod.run = e._zod.parse; }); } else { let t = (e, t, n) => { let r = j(e), i; for (let o of t) { if (o._zod.def.when) { if (!o._zod.def.when(e)) continue; } else if (r) continue; let t = e.issues.length, s = o._zod.check(e); if (s instanceof Promise && (n == null ? void 0 : n.async) === !1) throw new D(); if (i || s instanceof Promise) { var a; i = ((a = i) == null ? Promise.resolve() : a).then(async () => { await s, e.issues.length !== t && (r || (r = j(e, t))); }); } else { if (e.issues.length === t) continue; r || (r = j(e, t)); } } return i ? i.then(() => e) : e; }, n = (n, r, a) => { if (j(n)) return n.aborted = !0, n; let o = t(r, i, a); if (o instanceof Promise) { if (a.async === !1) throw new D(); return o.then((t) => e._zod.parse(t, a)); } return e._zod.parse(o, a); }; e._zod.run = (r, a) => { if (a.skipChecks) return e._zod.parse(r, a); if (a.direction === "backward") { let t = e._zod.parse({ value: r.value, issues: [] }, { ...a, skipChecks: !0 }); return t instanceof Promise ? t.then((e) => n(e, r, a)) : n(t, r, a); } let o = e._zod.parse(r, a); if (o instanceof Promise) { if (a.async === !1) throw new D(); return o.then((e) => t(e, i, a)); } return t(o, i, a); }; } k(e, "~standard", () => ({ validate: (t) => { try { var n; let r = L(e, t); return r.success ? { value: r.data } : { issues: (n = r.error) == null ? void 0 : n.issues }; } catch { return R(e, t).then((e) => { var t; return e.success ? { value: e.data } : { issues: (t = e.error) == null ? void 0 : t.issues }; }); } }, vendor: "zod", version: 1 })); }), nt = /*@__PURE__*/ E("$ZodString", (e, t) => { var n, r, i; z.init(e, t), e._zod.pattern = (n = [...(r = e == null || (i = e._zod.bag) == null ? void 0 : i.patterns) == null ? [] : r].pop()) == null ? Qe(e._zod.bag) : n, e._zod.parse = (n, r) => { if (t.coerce) try { n.value = String(n.value); } catch {} return typeof n.value == "string" || n.issues.push({ expected: "string", code: "invalid_type", input: n.value, inst: e }), n; }; }), rt = /*@__PURE__*/ E("$ZodNumber", (e, t) => { var n; z.init(e, t), e._zod.pattern = (n = e._zod.bag.pattern) == null ? $e : n, e._zod.parse = (n, r) => { if (t.coerce) try { n.value = Number(n.value); } catch {} let i = n.value; if (typeof i == "number" && !Number.isNaN(i) && Number.isFinite(i)) return n; let a = typeof i == "number" ? Number.isNaN(i) ? "NaN" : Number.isFinite(i) ? void 0 : "Infinity" : void 0; return n.issues.push({ expected: "number", code: "invalid_type", input: i, inst: e, ...a ? { received: a } : {} }), n; }; }), it = /*@__PURE__*/ E("$ZodNever", (e, t) => { z.init(e, t), e._zod.parse = (t, n) => (t.issues.push({ expected: "never", code: "invalid_type", input: t.value, inst: e }), t); }); function at(e, t, n) { e.issues.length && t.issues.push(...M(n, e.issues)), t.value[n] = e.value; } var ot = /*@__PURE__*/ E("$ZodArray", (e, t) => { z.init(e, t), e._zod.parse = (n, r) => { let i = n.value; if (!Array.isArray(i)) return n.issues.push({ expected: "array", code: "invalid_type", input: i, inst: e }), n; n.value = Array(i.length); let a = []; for (let e = 0; e < i.length; e++) { let o = i[e], s = t.element._zod.run({ value: o, issues: [] }, r); s instanceof Promise ? a.push(s.then((t) => at(t, n, e))) : at(s, n, e); } return a.length ? Promise.all(a).then(() => n) : n; }; }); function B(e, t, n, r, i) { if (e.issues.length) { if (i && !(n in r)) return; t.issues.push(...M(n, e.issues)); } e.value === void 0 ? n in r && (t.value[n] = void 0) : t.value[n] = e.value; } function st(e) { let t = Object.keys(e.shape); for (let r of t) { var n; if (!(!((n = e.shape) == null || (n = n[r]) == null || (n = n._zod) == null || (n = n.traits) == null) && n.has("$ZodType"))) throw Error(`Invalid element at key "${r}": expected a Zod schema`); } let r = qe(e.shape); return { ...e, keys: t, keySet: new Set(t), numKeys: t.length, optionalKeys: new Set(r) }; } function ct(e, t, n, r, i, a) { let o = [], s = i.keySet, c = i.catchall._zod, l = c.def.type, u = c.optout === "optional"; for (let i in t) { if (s.has(i)) continue; if (l === "never") { o.push(i); continue; } let a = c.run({ value: t[i], issues: [] }, r); a instanceof Promise ? e.push(a.then((e) => B(e, n, i, t, u))) : B(a, n, i, t, u); } return o.length && n.issues.push({ code: "unrecognized_keys", keys: o, input: t, inst: a }), e.length ? Promise.all(e).then(() => n) : n; } var lt = /*@__PURE__*/ E("$ZodObject", (e, t) => { z.init(e, t); let n = Object.getOwnPropertyDescriptor(t, "shape"); if (!(n != null && n.get)) { let e = t.shape; Object.defineProperty(t, "shape", { get: () => { let n = { ...e }; return Object.defineProperty(t, "shape", { value: n }), n; } }); } let r = Ve(() => st(t)); k(e._zod, "propValues", () => { let e = t.shape, n = {}; for (let t in e) { let r = e[t]._zod; if (r.values) { n[t] != null || (n[t] = /* @__PURE__ */ new Set()); for (let e of r.values) n[t].add(e); } } return n; }); let i = Ge, a = t.catchall, o; e._zod.parse = (t, n) => { o != null || (o = r.value); let s = t.value; if (!i(s)) return t.issues.push({ expected: "object", code: "invalid_type", input: s, inst: e }), t; t.value = {}; let c = [], l = o.shape; for (let e of o.keys) { let r = l[e], i = r._zod.optout === "optional", a = r._zod.run({ value: s[e], issues: [] }, n); a instanceof Promise ? c.push(a.then((n) => B(n, t, e, s, i))) : B(a, t, e, s, i); } return a ? ct(c, s, t, n, r.value, e) : c.length ? Promise.all(c).then(() => t) : t; }; }); function ut(e, t) { return e.issues.length && t === void 0 ? { issues: [], value: void 0 } : e; } var dt = /*@__PURE__*/ E("$ZodOptional", (e, t) => { z.init(e, t), e._zod.optin = "optional", e._zod.optout = "optional", k(e._zod, "values", () => t.innerType._zod.values ? new Set([...t.innerType._zod.values, void 0]) : void 0), k(e._zod, "pattern", () => { let e = t.innerType._zod.pattern; return e ? RegExp(`^(${He(e.source)})?$`) : void 0; }), e._zod.parse = (e, n) => { if (t.innerType._zod.optin === "optional") { let r = t.innerType._zod.run(e, n); return r instanceof Promise ? r.then((t) => ut(t, e.value)) : ut(r, e.value); } return e.value === void 0 ? e : t.innerType._zod.run(e, n); }; }), ft = /*@__PURE__*/ E("$ZodCustom", (e, t) => { et.init(e, t), z.init(e, t), e._zod.parse = (e, t) => e, e._zod.check = (n) => { let r = n.value, i = t.fn(r); if (i instanceof Promise) return i.then((t) => pt(t, n, r, e)); pt(i, n, r, e); }; }); function pt(e, t, n, r) { if (!e) { var i; let e = { code: "custom", input: n, inst: r, path: [...(i = r._zod.def.path) == null ? [] : i], continue: !r._zod.def.abort }; r._zod.def.params && (e.params = r._zod.def.params), t.issues.push(Je(e)); } } //#endregion //#region ../../node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js // @__NO_SIDE_EFFECTS__ function mt(e, t) { return new e({ type: "string", ...A(t) }); } // @__NO_SIDE_EFFECTS__ function ht(e, t) { return new e({ type: "number", checks: [], ...A(t) }); } // @__NO_SIDE_EFFECTS__ function gt(e, t) { return new e({ type: "never", ...A(t) }); } // @__NO_SIDE_EFFECTS__ function _t(e, t, n) { return new e({ type: "custom", check: "custom", fn: t, ...A(n) }); } //#endregion //#region ../../node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/schemas.js var V = /*@__PURE__*/ E("ZodMiniType", (e, t) => { if (!e._zod) throw Error("Uninitialized schema in ZodMiniType."); z.init(e, t), e.def = t, e.type = t.type, e.parse = (t, n) => Xe(e, t, n, { callee: e.parse }), e.safeParse = (t, n) => L(e, t, n), e.parseAsync = async (t, n) => Ze(e, t, n, { callee: e.parseAsync }), e.safeParseAsync = async (t, n) => R(e, t, n), e.check = (...n) => { var r; return e.clone({ ...t, checks: [...(r = t.checks) == null ? [] : r, ...n.map((e) => typeof e == "function" ? { _zod: { check: e, def: { check: "custom" }, onattach: [] } } : e)] }, { parent: !0 }); }, e.with = e.check, e.clone = (t, n) => Ke(e, t, n), e.brand = () => e, e.register = ((t, n) => (t.add(e, n), e)), e.apply = (t) => t(e); }), vt = /*@__PURE__*/ E("ZodMiniString", (e, t) => { nt.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function yt(e) { return /* @__PURE__ */ mt(vt, e); } var bt = /*@__PURE__*/ E("ZodMiniNumber", (e, t) => { rt.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function H(e) { return /* @__PURE__ */ ht(bt, e); } var xt = /*@__PURE__*/ E("ZodMiniNever", (e, t) => { it.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function St(e) { return /* @__PURE__ */ gt(xt, e); } var Ct = /*@__PURE__*/ E("ZodMiniArray", (e, t) => { ot.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function wt(e, t) { return new Ct({ type: "array", element: e, ...A(t) }); } var Tt = /*@__PURE__*/ E("ZodMiniObject", (e, t) => { lt.init(e, t), V.init(e, t), k(e, "shape", () => t.shape); }); // @__NO_SIDE_EFFECTS__ function U(e, t) { return new Tt({ type: "object", shape: e, catchall: /* @__PURE__ */ St(), ...A(t) }); } var Et = /*@__PURE__*/ E("ZodMiniOptional", (e, t) => { dt.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function W(e) { return new Et({ type: "optional", innerType: e }); } var Dt = /*@__PURE__*/ E("ZodMiniCustom", (e, t) => { ft.init(e, t), V.init(e, t); }); // @__NO_SIDE_EFFECTS__ function Ot(e, t = {}) { return /* @__PURE__ */ _t(Dt, e, t); } //#endregion //#region src/schemas/sdk.schemas.ts var kt = /* @__PURE__ */ U({ x: /* @__PURE__ */ H(), y: /* @__PURE__ */ H() }), At = /* @__PURE__ */ U({ leftTop: kt, rightBottom: kt }), jt = (/* @__PURE__ */ U({ name: /* @__PURE__ */ W(/* @__PURE__ */ yt()), externalId: /* @__PURE__ */ W(/* @__PURE__ */ yt()) })).check(/* @__PURE__ */ Ot((e) => !!(e.name || e.externalId), "Either name or externalId must be provided")), Mt = (/* @__PURE__ */ U({ booths: /* @__PURE__ */ W(/* @__PURE__ */ wt(jt)), exhibitors: /* @__PURE__ */ W(/* @__PURE__ */ wt(jt)) })).check(/* @__PURE__ */ Ot((e) => { var t, n; return !!((t = e.booths) != null && t.length || (n = e.exhibitors) != null && n.length); }, "Selector must contain booths or exhibitors")), G = /* @__PURE__ */ W(/* @__PURE__ */ U({ padding: /* @__PURE__ */ W(/* @__PURE__ */ H()) })); //#endregion //#region src/tools/reset.ts function Nt() { K("floorplan"), K("__data"), K("__dataUrlBase"), K("__searchi"), K("__wfData"), K("__mobxGlobals"), K("__store"), K("__mobxInstanceCount"); for (let e in window) e !== "__efpStyleElements" && (e.includes("__fp") || e.includes("__efp")) && K(e); } function K(e) { Pt(e) ? delete window[e] : window[e] = void 0; } function Pt(e) { let t = Object.getOwnPropertyDescriptor(window, e); return t && t.configurable; } //#endregion //#region src/utils/mapEntity.ts function q(e) { switch (e.entity.type) { case "booth": var t, n; return { id: e.id, name: Y(e.name), externalId: Y(e.externalId), isSpecial: e.entity.variant === "special", exhibitors: J(e.exhibitors), layer: { name: Y((t = e.layer) == null ? void 0 : t.name), description: Y((n = e.layer) == null ? void 0 : n.description) }, meta: e.meta, description: Y(e.description), entity: e.entity, title: Y(e.title) }; case "category": return { id: e.id, name: Y(e.name), exhibitors: J(e.exhibitors), entity: e.entity, slug: Y(e.slug) }; case "exhibitor": return { id: e.id, name: Y(e.name), externalId: Y(e.externalId), booths: J(e.booths), entity: e.entity, slug: Y(e.slug) }; case "schedule": return { id: e.id, externalId: Y(e.externalId), boothId: e.boothId, exhibitorId: e.exhibitorId, name: Y(e.name), description: Y(e.description), startDate: Y(e.startDate), endDate: Y(e.endDate), link: Y(e.link), entity: e.entity, isEnded: e.isEnded }; case s: return { id: e.id, name: Y(e.name), entity: e.entity }; case "heatmap-yah": return { id: Y(e.id), name: Y(e.name), viewCount: e.viewCount || 0, x: e.x || 0, y: e.y || 0, z: e.z, entity: e.entity }; default: return e; } } function J(e) { return Array.isArray(e) ? e.filter(Boolean).map((e) => e.id).filter(Boolean) : []; } function Y(e) { return typeof e == "string" ? e : ""; } //#endregion //#region src/floorplan.ready.tsx var X = n(), Z = (0, ke.default)("efp:api"); (0, je.install)(); var Ft = class extends ee { constructor(...e) { super(...e), this.root = void 0; } init() { this.ignoreQuery || ye(this.offHistory), be("load"), y.fp = this, xe(this.allowConsent), S(ge.Load, ""), this.root = (0, Ae.createRoot)(this.renderTarget), this.root.render(/* @__PURE__ */ (0, X.jsx)(Oe, { children: /* @__PURE__ */ (0, X.jsx)(Ce, { offHistory: this.offHistory, allowConsent: this.allowConsent }) })), S(ge.Rendered, ""), c(() => y.layerStore.layersLoaded, () => { if (this.resolveReady(), !y.initialized) { var e; (e = this.onInit) == null || e.call(this, this); } y.initialized = !0; }); let e = Re(window.__data); e && import("./bootIntercom-5z1JP_AO.js").then(({ bootIntercom: t }) => t(e)).catch(() => {}); } selectBooth(e) { if (typeof e != "string" && !Array.isArray(e)) { $("selectBooth", "Parameter must be a string or an array of strings.", "EFP000000"); return; } let t = y.boothStore.booths.filter((t) => typeof e == "string" ? t.name === e || t.externalId === e : e.includes(t.name) || e.includes(t.externalId)); y.selectBooth(t); } selectExhibitor(e) { if (typeof e != "string" && !Array.isArray(e)) { $("selectExhibitor", "Parameter must be a string or an array of strings.", "EFP000100"); return; } if (!(e != null && e.length)) { y.uiState.menu = !1, y.searchStore.resetSearchBox(), y.uiState.details = null; return; } let t = y.exhibitorStore.exhibitors.filter((t) => typeof e == "string" ? t.name === e || t.externalId === e : e.includes(t.name) || e.includes(t.externalId)); if (!(t != null && t.length)) return; if (typeof e == "string") { y.selectExhibitor(t[0]), y.moveToList([t[0]]); return; } let n = t.flatMap((e) => e.booths.map((e) => e.layer)), { description: r } = n.reduce((e, t) => (e.freq[t.description] = (e.freq[t.description] || 0) + 1, e.freq[t.description] > e.maxCount && (e.maxCount = e.freq[t.description], e.mostFrequent = t), e), { freq: {}, mostFrequent: n[0], maxCount: 0 }).mostFrequent; y.layerStore.updateVisibility(r, !0), y.uiState.menu = !1, y.searchStore.resetSearchBox(), y.uiState.details = null, y.uiState.list = { type: "filter", items: t, query: { key: "exhibitors", value: t.map((e) => e.externalId).join(",") } }, y.moveToList(); } highlightExhibitors(e) { Array.isArray(e) || $("highlightExhibitors", "Parameter must be an array of strings.", "EFP000200"), y.boothStore.highlightedByExternalIds = [], y.exhibitorStore.highlightedByExternalIds = [...e]; } highlightBooths(e) { Array.isArray(e) || $("highlightBooths", "Parameter must be an array of strings.", "EFP000300"), y.exhibitorStore.highlightedByExternalIds = [], y.boothStore.highlightedByExternalIds = [...e]; } highlightEntities(e) { Array.isArray(e) || $("highlightEntities", "Parameter must be an array of strings.", "EFP000400"); let { boothExternalIds: t, exhibitorExternalIds: n } = he(e); y.boothStore.highlightedByExternalIds = [...t], y.exhibitorStore.highlightedByExternalIds = [...n]; } selectRoute(e, t) { if (Array.isArray(e)) { let t = [...e], n = t.shift(), r = t.pop(); if (t.length > 8) throw Error("The maximum number of waypoints is 8."); if (!n || !r) { $("selectRoute", "Invalid route format: When providing an array, it must include at least two points: a start and a destination.", "EFP000401"); return; } y.routeStore.selectRoute(new _(Q(n), Q(r), t.map(Q))); return; } e || $("selectRoute", "At a minimum, the starting point must be passed.", "EFP000402"), y.routeStore.selectRoute(new _(Q(e), Q(t))); } getOptimizedRoutes(e) { if (!Array.isArray(e)) return $("getOptimizedRoutes", "Parameter must be an array.", "EFP000500"), []; if (e.length > 8) throw Error("The maximum number of waypoints is 8."); let t = e.map(Q).filter((e) => !!e); if (!t.length) throw Error("No booths found for the provided waypoints."); let n = /* @__PURE__ */ new Map(); for (let e of t) { var r, i; let t = (r = (i = e.layer) == null ? void 0 : i.name) == null ? "" : r, a = n.get(t); a ? a.push(e) : n.set(t, [e]); } return Array.from(n.values()).map((e) => ({ waypoints: le(e.map((e) => [e.name, { cx: e.rect.cx, cy: e.rect.cy }])) })); } selectCurrentPosition(e, t, n) { var r; let i = b(e.x) && b(e.y), a = b(e.lng) && b(e.lat); !i && !a && $("selectCurrentPosition", "A point must be passed. Either (x,y) or (lat,lng) are required.", "EFP000600"), y.routeStore.selectCurrentPosition(e, t, n), (r = this.onCurrentPositionChanged) == null || r.call(this, e); } setBookmarks(e) { (!Array.isArray(e) || !e.length) && $("setBookmarks", "Parameter must be an array.", "EFP000700"), e.forEach((e) => { let t = y.exhibitorStore.exhibitors.find((t) => t.name === e.name || t.externalId === e.externalId); t && (t.bookmarked = e.bookmarked); }); } setEntitiesBookmarks(e) { if (!Array.isArray(e) || !e.length) { $("setEntitiesBookmarks", "Parameter must be an array.", "EFP000701"); return; } let t = [ "exhibitor", "event", "speaker", "booth" ], n = e.find((e) => !e.type || !t.includes(e.type)); if (n) { $("setEntitiesBookmarks", `Invalid entity type: ${n.type}. Must be one of: ${t.join(", ")}.`, "EFP000702"); return; } let r = fe("bookmarked"), i = { exhibitor: { existingIds: new Set(r.exhibitors || []), finder: (e) => y.exhibitorStore.findExhibitor(e), replacer: (e) => y.exhibitorStore.replaceBookmarked(e) }, event: { existingIds: new Set(r.events || []), finder: (e) => y.eventStore.findByNameOrSlug(e), replacer: (e) => y.eventStore.replaceBookmarked(e) }, speaker: { existingIds: new Set(r.speakers || []), finder: (e) => y.speakerStore.speakers.find((t) => t.name === e || t.externalId === e || t.slug === e), replacer: (e) => y.speakerStore.replaceBookmarked(e) }, booth: { existingIds: new Set(r.booths || []), finder: (e) => { let t = y.boothStore.findBooth(e); return (t == null ? void 0 : t.exhibitors.length) === 0 ? t : void 0; }, replacer: (e) => y.boothStore.replaceBookmarked(e) } }; e.forEach((e) => { let t = i[e.type], n = e.name || e.externalId || "", r = t.finder(n); r ? e.bookmarked ? t.existingIds.add(r.id) : t.existingIds.delete(r.id) : console.warn(`Entity not found: ${e.type} with query "${n}"`); }), Object.values(i).forEach((e) => { e.replacer(Array.from(e.existingIds)); }); } setEntitiesVisited(e) { if (!Array.isArray(e) || !e.length) { $("setEntitiesVisited", "Parameter must be an array.", "EFP000703"); return; } let t = ["exhibitor", "event"], n = e.find((e) => !e.type || !t.includes(e.type)); if (n) { $("setEntitiesVisited", `Invalid entity type: ${n.type}. Must be one of: ${t.join(", ")}.`, "EFP000704"); return; } let r = fe("visited"), i = { exhibitor: { existingIds: new Set(r.exhibitors || []), finder: (e) => y.exhibitorStore.findExhibitor(e), replacer: (e) => y.exhibitorStore.replaceVisited(e) }, event: { existingIds: new Set(r.events || []), finder: (e) => y.eventStore.findByNameOrSlug(e), replacer: (e) => y.eventStore.replaceVisited(e) } }; e.forEach((e) => { let t = i[e.type], n = e.name || e.externalId || "", r = t.finder(n); r ? e.visited ? t.existingIds.add(r.id) : t.existingIds.delete(r.id) : console.warn(`Entity not found: ${e.type} with query "${n}"`); }), Object.values(i).forEach((e) => { e.replacer(Array.from(e.existingIds)); }); } setMarkers(e) { if (!e || !Array.isArray(e.icons) || !Array.isArray(e.markers)) { $("setMarkers", "Invalid input.", "EFP000800"); return; } y.routeStore.setMarkers(e); } selectMarker(e, t = !0) { return typeof e != "string" && $("selectMarker", "The identifier must be passed.", "EFP000900"), y.routeStore.selectMarker(e, t); } drawCircles(e) { Array.isArray(e) || $("drawCircles", "Invalid input.", "EFP000A00"), y.uiState.debugCircles = e; } checkRoutes() { y.routeStore.checkRoutes(); } updateLayerVisibility(e, t) { typeof e != "string" && $("updateLayerVisibility", "The layer name (string) must be passed.", "EFP000B00"), t || $("updateLayerVisibility", "Passing a false value to visible will have no effect.", "EFP000B01"), y.layerStore.updateVisibility(e, t); } getCenterCoordinates() { return y.fp.getCenterCoordinates(); } exhibitorsList() { return y.exhibitorStore.exhibitors.map((e) => q(e)); } boothsList() { return y.boothStore.booths.map((e) => q(e)); } categoriesList() { return y.categoryStore.categories.map((e) => q(e)); } selectCategory(e) { if (e == null || typeof e != "string") { y.searchStore.selectSearch(); return; } let t = e == null ? void 0 : e.toLowerCase(), n = y.categoryStore.categories.find(({ name: e, slug: n }) => (e == null ? void 0 : e.toLowerCase()) === t || (n == null ? void 0 : n.toLowerCase()) === t); if (!n) { $("selectCategory", `Category ${e} not found.`, "EFP000C01"); return; } y.selectCategory(n); } applyParameters(e) { typeof e != "string" && $("applyParameters", "A query string must be passed.", "EFP000D00"), de(e); } getVisibility() { return y.uiState.visibility; } setVisibility(e) { (typeof e != "object" || !Object.keys(e).length) && $("setVisibility", "The parameter must be passed.", "EFP000E00"), y.uiState.setVisibility(e); } findLocation() { y.routeStore.findLocation(); } zoomIn() { y.uiState.zoomIn(); } zoomOut() { y.uiState.zoomOut(); } switchView() { y.maplibreStore.activateMaplibre(); } zoomTo(e, t) { Z("zoomTo called with selectors=%O options=%O", e, t); let n = Mt.safeParse(e); if (!n.success) { $("zoomTo", n.error.message, "EFP001600"); return; } let r = G.safeParse(t); if (!r.success) { $("zoomTo", r.error.message, "EFP001601"); return; } let i = this.getBounds(e); i && this.fitBounds(i, t); } getBounds(e) { var t, n; Z("getBounds called with selectors=%O", e); let r = Mt.safeParse(e); if (!r.success) { $("getBounds", r.error.message, "EFP001400"); return; } let i = []; if ((t = e.booths) == null || t.forEach((e) => { let t; e.externalId ? t = y.boothStore.boothByExternalId.get(e.externalId) : e.name && (t = y.boothStore.boothByName.get(e.name.toLowerCase())), t != null && t.rect && i.push(t.rect); }), (n = e.exhibitors) == null || n.forEach((e) => { var t; let n; e.externalId ? n = y.exhibitorStore.exhibitorByExternalId.get(e.externalId) : e.name && (n = y.exhibitorStore.exhibitorByName.get(e.name.toLowerCase())), n == null || (t = n.booths) == null || t.forEach((e) => { e.rect && i.push(e.rect); }); }), i.length === 0) return; let a = v.fromMultiple(i); return { leftTop: { x: a.x1, y: a.y1 }, rightBottom: { x: a.x2, y: a.y2 } }; } fitBounds(e, t) { if (Z("fitBounds called with bounds=%O options=%O", e, t), !e) { y.uiState.fitBounds(); return; } let n = At.safeParse(e); if (!n.success) { $("fitBounds", n.error.message, "EFP001500"); return; } let r = G.safeParse(t); if (!r.success) { $("fitBounds", r.error.message, "EFP001501"); return; } let i; if (t != null && t.padding) { let n = t.padding; i = v.fromX1y1x2y2(e.leftTop.x - n, e.leftTop.y - n, e.rightBottom.x + n, e.rightBottom.y + n); } else i = v.fromX1y1x2y2(e.leftTop.x, e.leftTop.y, e.rightBottom.x, e.rightBottom.y); y.uiState.moveToRect = i; } getBoothRect(e) { var t; return typeof e != "string" && $("getBoothRect", "A booth name must be passed.", "EFP000F00"), (t = ue(e)) == null ? void 0 : t.rect; } convertToGeo(e, t) { var n; if (!(!(x == null || (n = x.properties) == null) && n.config)) { $("convertToGeo", "The coordinates cannot be converted because the GPS configuration is not defined.", "EFP001000"); return; } if (!e || !t) { $("convertToGeo", "Both coordinates must be passed.", "EFP001001"); return; } return _e(e, t, x.properties.config); } getGeoConfig() { var e, t; let n = x == null || (e = x.properties) == null ? void 0 : e.config; return n ? { bearing: (t = n.bearing) == null ? 0 : t, p0: n.p0, p1: n.p1, p2: n.p2 } : null; } unstable_destroy() { let e = window.__efpElement.firstChild; Nt(), window.removeEventListener("__efpStyleLoad", this.efpStyleLoadHandler), window.removeEventListener("error", f), y.maplibreStore.dispose(), ce(), ve(), me(), [...document.getElementsByTagName("script")].filter((e) => e.src.indexOf("/fp.svg") > -1 || e.src.indexOf("/wf.data.js") > -1 || e.src.indexOf("/data.js") > -1).forEach((e) => e.remove()), this.root.unmount(), e.remove(); } search(e) { return typeof e != "string" && $("search", "A search string must be passed.", "EFP001100"), y.fuzzySearchEngineStore.loadEngine().then(() => (y.searchStore.selectSearch(e), y.uiState.fuzzySearchItems.map((e) => ({ item: q(e.item), score: e.score })))); } getFloors() { return y.layerStore.floors.map((e) => ({ name: e.name, shortName: e.shortName, description: e.description, active: e.active, disabled: e.disabled, index: e.index })); } activateFloor(e) { if (!(e != null && e.name) && (e == null ? void 0 : e.index) == null) { $("activateFloor", "Invalid floorId. It must contain either a name or an index.", "EFP001200"); return; } let t = this.getFloors(); if (e.name) { let n = t.find((t) => t.name === e.name || t.shortName === e.name); if (!n) { $("activateFloor", `Floor with name "${e.name}" not found.`, "EFP001201"); return; } if (n.active) return; this.updateLayerVisibility(n.name, !0); return; } if (e.index !== null) { let n = t.find((t) => t.index === e.index), r = n == null ? void 0 : n.name; if (!r) { $("activateFloor", `Floor at index ${e.index} does not exist.`, "EFP001203"); return; } if (n.active) return; this.updateLayerVisibility(r, !0); return; } } showPathway(e, t) { let n = new URLSearchParams(); if (n.set(a, e), t != null && t.length) { let { boothExternalIds: e, exhibitorExternalIds: r } = he(t); e.length > 0 && n.set("booths", e.join(",")), r.length > 0 && n.set("exhibitors", r.join(",")); } this.applyParameters(n.toString()); } showPathwayOnly(e, t) { this.activateFloor({ name: t }), y.layerStore.showPathWay(e), y.uiState.setPathwayOnlyMode(!0); let n = y.layerStore.findLayer(e), r = y.layerStore.findLayer(t), i = n != null && n.rect || n != null && n.viewbox ? n : r; if (i != null && i.rect || i != null && i.viewbox) { var a; let e = (a = i.viewbox) == null ? i.rect : a; y.uiState.moveToRect = v.fromX1y1x2y2(e.x1, e.y1, e.x2, e.y2); } } hidePathways() { this.highlightBooths([]), y.layerStore.hidePathways(), y.uiState.setPathwayOnlyMode(!1); } showSearch() { y.selectSearch(""); } changeLanguage(e) { var t; let n = e == null || (t = e.toLowerCase) == null ? void 0 : t.call(e); if (!d(n)) { $("changeLanguage", `Language "${e}" was not found. Available languages: ${u().map((e) => e.id).join(",")}`, "EFP001300"); return; } let r = new URLSearchParams(); r.set(i, n), this.applyParameters(r.toString()); } isGpsTrackingEnabled() { return y.routeStore.gpsEnabled; } setGpsTrackingEnabled(e) { y.routeStore.setGpsTrackingEnabled(e); } deselectCurrentPosition() { y.routeStore.selectCurrentPosition(null, !1); } deselectRoute() { y.routeStore.selectRoute(null), y.routeStore.setOnlyAccessible(!1); } reset() { if (this.selectBooth(""), this.selectExhibitor(""), this.selectCategory(), this.deselectCurrentPosition(), this.deselectRoute(), this.highlightEntities([]), y.uiState.kioskData && y.resetCameraFn) { var e; (e = y.resetCameraFn) == null || e.call(y); } else this.fitBounds(); } selectAccessibleRoute(e) { y.routeStore.setOnlyAccessible(!0), this.selectRoute(e); } }; function Q(e) { return typeof e == "string" ? ue(e) : y.routeStore.getNearestBooth(e); } var It = 0; function $(e, t, n) { let r = `Error calling "${e}" SDK method.`, i = `${t.endsWith(".") ? t : t + "."} More information at`, a = "https://js-sdk.expofp.com/api/packages"; if (n && (a += `#error-${n}`), console.error(`${r} ${i} ${a}`), y.fp.disableRuntimeAlerts) return; y.uiState.setGlobalErrorMessage({ title: r, body: /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [ i, " ", /* @__PURE__ */ (0, X.jsx)("a", { href: a, target: "_blank", rel: "noreferrer", children: a }) ] }) }), clearTimeout(It); let o = 8e3; It = window.setTimeout(() => { let e = async () => { y.uiState.globalErrorMessages.length > 0 && (y.uiState.popGlobalErrorMessage(), await new Promise((e) => setTimeout(e, o / 2)), e()); }; e(); }, o); } //#endregion export { Ft as default };