@expofp/floorplan 3.1.4 → 3.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{CookieConsent-A4g2GEnB.js → CookieConsent-BQRtYE9s.js} +31 -31
- package/dist/browser/{Debug-okM_H6zB.js → Debug-CqIDicZk.js} +8 -8
- package/dist/browser/{Demo-3Yx1xi6F.js → Demo-DHwBBvDj.js} +10 -10
- package/dist/browser/{Free-Iqh_45NP.js → Free-CGFqucK0.js} +10 -10
- package/dist/browser/{Gallery-CMu4jjUa.js → Gallery-brxxV-es.js} +10 -10
- package/dist/browser/{GpsLoader-xmUlSf3T.js → GpsLoader-huNG_SEW.js} +8 -8
- package/dist/browser/{KioskStore-DomUDeuw.js → KioskStore-OxVGiMqM.js} +3 -3
- package/dist/browser/{Mapbox-D3-e_F58.js → Mapbox-B6Bc6kvJ.js} +8 -8
- package/dist/browser/{SetKioskMode-BOvxWaGI.js → SetKioskMode-kMWI1Ank.js} +7 -7
- package/dist/browser/{ShowKiosk-xp1WbCm-.js → ShowKiosk-BIauf0VT.js} +9 -9
- package/dist/browser/{ThreeComponent-C7dPjvKl.js → ThreeComponent-BB2oeLUQ.js} +9 -9
- package/dist/browser/{TouchHand-QzRQPyEl.js → TouchHand-s_3z3HHs.js} +6 -6
- package/dist/browser/{ViewerMenuPanel-lREjYMl2.js → ViewerMenuPanel-DmR7UZRv.js} +9 -9
- package/dist/browser/{add-debug-secret-listener-s_Acfb_j.js → add-debug-secret-listener-DzCEnj9u.js} +1 -1
- package/dist/browser/{boolean-editor-BN7VDvLb.js → boolean-editor-7sR_iyHL.js} +6 -6
- package/dist/browser/{bootIntercom-BsKv9v5g.js → bootIntercom-CdouL-BE.js} +1 -1
- package/dist/browser/bundle.json +44 -44
- package/dist/browser/{chunk-CilcQ-DK.js → chunk-5s3M-J3g.js} +1 -1
- package/dist/browser/{classnames-BG0vlDcj.js → classnames-DLZ1u1dy.js} +2 -2
- package/dist/browser/{client-CfMi8siJ.js → client-D37dTvOp.js} +4 -4
- package/dist/browser/{data-a-dtD_1P.js → data-CGWR_QAC.js} +5 -5
- package/dist/browser/{debug-overlay-CoH7X4al.js → debug-overlay-C0eS2gGV.js} +10 -10
- package/dist/browser/{debug-ui-DouD3wg5.js → debug-ui-CC3jwsbR.js} +6 -6
- package/dist/browser/{dist-CzsjAsAg.js → dist-DshHlWqx.js} +5 -5
- package/dist/browser/{exports-BWEh5Wje.js → exports-DotumsAg.js} +1 -1
- package/dist/browser/{favicon-CmG6QFs2.js → favicon-DMl0QnQC.js} +1 -1
- package/dist/browser/{fetch-retry.umd-B_g_JELw.js → fetch-retry.umd-DIvq8vBo.js} +2 -2
- package/dist/browser/{flex-BQA_6ztI.js → flex-CvtwJKEH.js} +6 -6
- package/dist/browser/{floorplan.loader-CrKDeH3d.js → floorplan.loader-DNg31ZpC.js} +9 -9
- package/dist/browser/{floorplan.ready-xulLyTpM.js → floorplan.ready-CcU0CPvR.js} +10 -10
- package/dist/browser/{fuse-Cxy73jl3.js → fuse-FpOCifji.js} +2 -2
- package/dist/browser/index.js +11 -11
- package/dist/browser/{is-debug-BMJczZcU.js → is-debug-DTyH3H5u.js} +2 -2
- package/dist/browser/{jsx-runtime-DDrJF8xL.js → jsx-runtime-DGpX2A7L.js} +2 -2
- package/dist/browser/{lib-B1mH8TSv.js → lib-o2gJt9qP.js} +4 -4
- package/dist/browser/{main-CTfIntH-.js → main-D8Wb0Q22.js} +1 -1
- package/dist/browser/{mobx-CNTM25Oc.js → mobx-TBqijVh8.js} +4 -4
- package/dist/browser/{particles.min-DHOz1yro.js → particles.min-Doq-QEvC.js} +2 -2
- package/dist/browser/{prop-types-B-y83www.js → prop-types-Ca2dELmw.js} +2 -2
- package/dist/browser/{react-VoeHpohi.js → react-CeEvNmEB.js} +2 -2
- package/dist/browser/{react-dom-CN7XBo22.js → react-dom-BB0C4Sxg.js} +3 -3
- package/dist/browser/{reset-all-settings-x3j4rKGC.js → reset-all-settings-BAfPvEum.js} +1 -1
- package/dist/browser/{settings-DYv1eHiY.js → settings-VfT-AYP7.js} +6 -6
- package/dist/browser/{src-CdV1RTUv.js → src-BLrvRGCp.js} +4 -4
- package/dist/browser/{store-BkBqfYWF.js → store-DZdC2ZQ6.js} +22 -16
- package/dist/browser/{ui-DqL_r_LU.js → ui-Dyvo4yyp.js} +6 -6
- package/dist/esm/components/Layout.js +1 -1
- package/dist/esm/components/LogoOverlay.js +1 -1
- package/dist/esm/components/Map/Map.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
- package/dist/esm/components/Mapbox/utils/data.js +1 -1
- package/dist/esm/floorplan.ready.js +1 -1
- package/dist/esm/store/MapboxStore.js +1 -1
- package/dist/esm/store/RouteStore.js +1 -1
- package/dist/esm/utils/gps.js +1 -1
- package/package.json +4 -4
- /package/dist/esm/{components/Mapbox/utils → data}/fpGeo.d.ts +0 -0
- /package/dist/esm/{components/Mapbox/utils → data}/fpGeo.js +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
function __vite_inject_css__(css, id){ if (typeof document==='undefined') return; var
|
|
1
|
+
function __vite_inject_css__(css, id, forceLightDom){ if (typeof document==='undefined') return; var shadow=!forceLightDom&&typeof window!=='undefined'&&window.__efpShadowDOMStyleParent; var parent=shadow||document.head; var s=document.createElement('style'); s.setAttribute('data-chunk-style', id); s.appendChild(document.createTextNode(css)); parent.appendChild(s);}
|
|
2
2
|
(function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
5
|
-
e.SENTRY_RELEASE = { id: "3.1.
|
|
5
|
+
e.SENTRY_RELEASE = { id: "3.1.6" };
|
|
6
6
|
var t = new e.Error().stack;
|
|
7
|
-
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "
|
|
7
|
+
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "9ac08e03-9f1e-4686-ba05-0c79e562e821", e._sentryDebugIdIdentifier = "sentry-dbid-9ac08e03-9f1e-4686-ba05-0c79e562e821");
|
|
8
8
|
} catch {}
|
|
9
9
|
})();
|
|
10
|
-
import { r as e, t } from "./chunk-
|
|
11
|
-
import { $ as n, C as r, D as i, E as a, Et as o, F as s, G as c, H as l, I as u, K as d, L as f, M as p, N as m, O as h, P as g, St as _, Tt as v, W as y, Y as b, _ as x, a as S, b as C, bt as w, c as T, d as E, dt as D, et as O, f as k, ft as ee, g as te, gt as ne, h as A, i as re, j as ie, l as ae, lt as oe, m as se, mt as ce, n as le, o as ue, ot as de, p as j, pt as fe, q as pe, r as me, st as he, t as ge, u as M, v as N, x as _e, xt as ve, y as P, yt as ye } from "./is-debug-
|
|
12
|
-
import { t as be } from "./react-
|
|
13
|
-
import { t as xe } from "./jsx-runtime-
|
|
14
|
-
import { t as Se } from "./classnames-
|
|
10
|
+
import { r as e, t } from "./chunk-5s3M-J3g.js";
|
|
11
|
+
import { $ as n, C as r, D as i, E as a, Et as o, F as s, G as c, H as l, I as u, K as d, L as f, M as p, N as m, O as h, P as g, St as _, Tt as v, W as y, Y as b, _ as x, a as S, b as C, bt as w, c as T, d as E, dt as D, et as O, f as k, ft as ee, g as te, gt as ne, h as A, i as re, j as ie, l as ae, lt as oe, m as se, mt as ce, n as le, o as ue, ot as de, p as j, pt as fe, q as pe, r as me, st as he, t as ge, u as M, v as N, x as _e, xt as ve, y as P, yt as ye } from "./is-debug-DTyH3H5u.js";
|
|
12
|
+
import { t as be } from "./react-CeEvNmEB.js";
|
|
13
|
+
import { t as xe } from "./jsx-runtime-DGpX2A7L.js";
|
|
14
|
+
import { t as Se } from "./classnames-DLZ1u1dy.js";
|
|
15
15
|
//#region ../../node_modules/.pnpm/mobx-react-lite@1.5.2_mobx@5.15.7_react@19.2.5/node_modules/mobx-react-lite/dist/index.module.js
|
|
16
16
|
var Ce = /* @__PURE__ */ e(be());
|
|
17
17
|
if (!Ce.useState) throw Error("mobx-react-lite requires React with Hooks support");
|
|
@@ -23697,7 +23697,7 @@ function H(e, t, n) {
|
|
|
23697
23697
|
}) : e[t] = n, e;
|
|
23698
23698
|
}
|
|
23699
23699
|
//#endregion
|
|
23700
|
-
//#region ../../node_modules/.pnpm/@expofp+renderer@3.1.
|
|
23700
|
+
//#region ../../node_modules/.pnpm/@expofp+renderer@3.1.4/node_modules/@expofp/renderer/dist/index.js
|
|
23701
23701
|
var zC = /* @__PURE__ */ e(o(), 1), BC, VC;
|
|
23702
23702
|
function HC(e) {
|
|
23703
23703
|
let t = (0, zC.default)(e ? `renderer:${e}` : "renderer");
|
|
@@ -23861,7 +23861,7 @@ var JC = HC("SquareDataTexture"), YC = class extends Hp {
|
|
|
23861
23861
|
"a"
|
|
23862
23862
|
], ZC = "batchId", QC = HC("BatchedMesh"), $C = (BC = class e extends mm {
|
|
23863
23863
|
constructor(t, n, r, i) {
|
|
23864
|
-
super(t, n, r, i), H(this, "uniformsTexture", void 0), H(this, "uniformSchema", {}), H(this, "isMaterialPatched", !1), H(this, "batchCount", 0), H(this, "indexBuffer", void 0), H(this, "geometryById", /* @__PURE__ */ new Map()), H(this, "mapGeometryToInstanceId", /* @__PURE__ */ new Map()), i.forceSinglePass = !0, Cw(this), e.useMultiDraw || this.addEventListener("added", () => {
|
|
23864
|
+
super(t, n, r, i), H(this, "uniformsTexture", void 0), H(this, "uniformSchema", {}), H(this, "isMaterialPatched", !1), H(this, "boundsNeedsUpdate", !1), H(this, "batchCount", 0), H(this, "indexBuffer", void 0), H(this, "geometryById", /* @__PURE__ */ new Map()), H(this, "mapGeometryToInstanceId", /* @__PURE__ */ new Map()), i.forceSinglePass = !0, Cw(this), e.useMultiDraw || this.addEventListener("added", () => {
|
|
23865
23865
|
this.geometry.index !== null && (this.geometry = this.geometry.toNonIndexed(), this.resizeToFitGeometry(this.geometry));
|
|
23866
23866
|
});
|
|
23867
23867
|
}
|
|
@@ -23912,6 +23912,12 @@ var JC = HC("SquareDataTexture"), YC = class extends Hp {
|
|
|
23912
23912
|
}
|
|
23913
23913
|
this.uniformsTexture.setUniformAt(e, t, n);
|
|
23914
23914
|
}
|
|
23915
|
+
updateMatrixWorld(e) {
|
|
23916
|
+
super.updateMatrixWorld(e), this.boundsNeedsUpdate && (this.computeBoundingBox(), this.computeBoundingSphere(), this.boundsNeedsUpdate = !1);
|
|
23917
|
+
}
|
|
23918
|
+
setMatrixAt(e, t) {
|
|
23919
|
+
return super.setMatrixAt(e, t), this.boundsNeedsUpdate = !0, this;
|
|
23920
|
+
}
|
|
23915
23921
|
dispose() {
|
|
23916
23922
|
var e;
|
|
23917
23923
|
return this.indexBuffer && this.geometry.setIndex(this.indexBuffer), super.dispose(), this.uniformSchema = {}, (e = this.uniformsTexture) == null || e.dispose(), this.uniformsTexture = void 0, this.indexBuffer = void 0, this.geometryById.forEach((e) => e.dispose()), this.geometryById.clear(), this.mapGeometryToInstanceId.clear(), this;
|
|
@@ -26378,8 +26384,8 @@ var VE = HC("cameraController"), HE = .1, UE = .98, WE = 2 ** 24, GE = class e e
|
|
|
26378
26384
|
this.controller.mouseButtons.left = GE.ACTION.NONE, this.controller.touches.one = GE.ACTION.NONE, this.inertia.disconnect();
|
|
26379
26385
|
}
|
|
26380
26386
|
}, JE = class extends GT {
|
|
26381
|
-
constructor(
|
|
26382
|
-
super(
|
|
26387
|
+
constructor(e, t, n, r) {
|
|
26388
|
+
super(e, t, n, r), H(this, "minPitch", 0), H(this, "maxPitch", 85), H(this, "isValid", void 0), H(this, "firstMove", void 0), H(this, "lastPoints", void 0), H(this, "p0", new R()), H(this, "p1", new R()), H(this, "prevTwoFingerAction", void 0), H(this, "onPitchStart", (e) => {
|
|
26383
26389
|
let t = e.pointers.sort((e, t) => e.pointerId - t.pointerId);
|
|
26384
26390
|
t.length === 2 && (this.p0.copy(WT(t[0])), this.p1.copy(WT(t[1])), this.lastPoints = [new R().copy(this.p0), new R().copy(this.p1)], this.isVertical(this.p0.sub(this.p1)) && (this.isValid = !1));
|
|
26385
26391
|
}), H(this, "onPitchEnd", () => {
|
|
@@ -26392,7 +26398,7 @@ var VE = HC("cameraController"), HE = .1, UE = .98, WE = 2 ** 24, GE = class e e
|
|
|
26392
26398
|
this.prevTwoFingerAction === void 0 && (this.prevTwoFingerAction = this.controller.touches.two, this.controller.touches.two = GE.ACTION.NONE), t[0].add(this.p0), t[1].add(this.p1);
|
|
26393
26399
|
let r = (this.p0.y + this.p1.y) / 2 * -.5 * Hx;
|
|
26394
26400
|
this.controller.rotatePolarTo(this.controller.polarAngle + r, !1);
|
|
26395
|
-
});
|
|
26401
|
+
}), this.updatePolarAngles();
|
|
26396
26402
|
}
|
|
26397
26403
|
reset(e = !0) {
|
|
26398
26404
|
let t = this.enabled ? this.minPitch * Hx : 0;
|
|
@@ -29219,7 +29225,7 @@ function LA(e, t) {
|
|
|
29219
29225
|
return !1;
|
|
29220
29226
|
}
|
|
29221
29227
|
//#endregion
|
|
29222
|
-
//#region src/
|
|
29228
|
+
//#region src/data/fpGeo.ts
|
|
29223
29229
|
var RA = window.__fpGeo, zA = 6371e3, BA = -180, VA = 180, HA = (e) => e * Math.PI / 180, UA = (e) => e * 180 / Math.PI;
|
|
29224
29230
|
function WA(e, t, n, r) {
|
|
29225
29231
|
let i = e * Math.PI / 180, a = n * Math.PI / 180, o = (n - e) * Math.PI / 180, s = (r - t) * Math.PI / 180, c = Math.sin(o / 2) * Math.sin(o / 2) + Math.cos(i) * Math.cos(a) * Math.sin(s / 2) * Math.sin(s / 2);
|
|
@@ -34209,7 +34215,7 @@ var hL = (dL = class {
|
|
|
34209
34215
|
}
|
|
34210
34216
|
async buildEngine() {
|
|
34211
34217
|
try {
|
|
34212
|
-
let { default: e } = await import("./fuse-
|
|
34218
|
+
let { default: e } = await import("./fuse-FpOCifji.js").then((e) => e.n);
|
|
34213
34219
|
C(() => {
|
|
34214
34220
|
this.engine = new e([], {
|
|
34215
34221
|
keys: this.keys,
|
|
@@ -36585,4 +36591,4 @@ Q.toursStore, window.__store = Q;
|
|
|
36585
36591
|
export { JA as $, Wd as $t, pN as A, ba as An, TD as At, fM as B, ei as Bn, Jh as Bt, ZN as C, ld as Cn, jD as Ct, TN as D, _a as Dn, BD as Dt, EN as E, ya as En, zD as Et, eN as F, Hi as Fn, Im as Ft, rM as G, dr as Gn, gh as Gt, uM as H, Er as Hn, fh as Ht, wM as I, Ti as In, zc as It, eM as J, Zn as Jn, lh as Jt, iM as K, I as Kn, hm as Kt, SM as L, yi as Ln, B as Lt, rN as M, ha as Mn, Hb as Mt, nN as N, ua as Nn, $v as Nt, wN as O, ga as On, VD as Ot, QM as P, na as Pn, tp as Pt, qA as Q, Pe as Qn, zu as Qt, pM as R, Qr as Rn, $u as Rt, $N as S, z as Sn, LD as St, ON as T, Pc as Tn, PD as Tt, sM as U, hr as Un, qf as Ut, dM as V, kr as Vn, ch as Vt, aM as W, pr as Wn, Fp as Wt, Lj as X, Fe as Xn, Ic as Xt, Jj as Y, Xe as Yn, Th as Yt, GA as Z, Ve as Zn, zf as Zt, EP as _, qh as _n, tO as _t, Q as a, kp as an, eA as at, mP as b, mh as bn, ID as bt, xF as c, Nm as cn, Ak as ct, _F as d, Ud as dn, mk as dt, pp as en, WA as et, dF as f, Wh as fn, lk as ft, SP as g, zm as gn, mO as gt, kP as h, Rp as hn, wO as ht, tz as i, Vc as in, dA as it, uN as j, xa as jn, fD as jt, gN as k, va as kn, SD as kt, bF as l, Om as ln, gk as lt, xP as m, ru as mn, ek as mt, ZR as n, Wm as nn, RA as nt, $ as o, qp as on, Jk as ot, bP as p, Rc as pn, rk as pt, nM as q, tr as qn, Dm as qt, $R as r, Um as rn, LA as rt, uR as s, Rm as sn, jk as st, QR as t, Bf as tn, KA as tt, gF as u, md as un, hk as ut, TP as v, Lc as vn, GD as vt, DN as w, Fc as wn, ND as wt, QN as x, R as xn, FD as xt, CP as y, cd as yn, MD as yt, gM as z, $r as zn, Fm as zt };
|
|
36586
36592
|
|
|
36587
36593
|
;/* vite-per-chunk-css */
|
|
36588
|
-
__vite_inject_css__(".rebooking-radio-group{padding:calc(1rem * var(--ui-scale))}.rebooking-radio-group__title{padding-bottom:calc(.625rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.rebooking-radio-group__options{gap:calc(.625rem * var(--ui-scale));flex-flow:column wrap;display:flex}.rebooking-radio__icon{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));background:var(--rebooking-color-primary);border-radius:var(--border-radius-full);color:var(--color-white);justify-content:center;align-items:center;display:flex}.rebooking-radio__icon>i{font-size:18px;line-height:0}.rebooking-radio__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.rebooking-radio>input{display:none}.rebooking-radio>input~label{padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale)) calc(.75rem * var(--ui-scale)) calc(3rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-md);color:var(--color-black);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;line-height:1;display:flex;position:relative}.rebooking-radio>input~label:before{content:\"\";top:50%;left:calc(.875rem * var(--ui-scale));width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));margin-top:calc(-.625rem * var(--ui-scale));border:2px solid #98a2b3;border-radius:50%;position:absolute}.rebooking-radio>input~label:hover{background:#eaecf0}.rebooking-radio>input:checked~label{background:var(--rebooking-color-primary);color:var(--color-white)}.rebooking-radio>input:checked~label:before{border:5px solid var(--color-white)}.rebooking-radio>input:checked~label>.rebooking-radio__icon{background:var(--color-white);color:var(--rebooking-color-primary)}.rebooking-radio>input:disabled~label{background:var(--color-gray-200);color:var(--color-gray);cursor:default}.rebooking-radio>input:disabled~label:before{border-color:var(--color-gray-400)}.rebooking-radio>input:disabled~label>.rebooking-radio__icon{color:var(--color-gray)}.efp-set-kiosk-form{border-radius:var(--border-radius-xl);background:var(--color-white);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));display:grid;position:relative}.efp-set-kiosk-form__content{gap:calc(1rem * var(--ui-scale));display:grid}.efp-set-kiosk-form__inputs{gap:calc(.625rem * var(--ui-scale));display:grid}.efp-set-kiosk-form__controls{gap:calc(.625rem * var(--ui-scale));grid-template-columns:1fr 2fr;display:grid}.efp-range-input{gap:calc(.3125rem * var(--ui-scale));width:100%;font-size:var(--font-size-lg);display:grid}.efp-range-input__header{text-align:center;color:var(--color-black);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);grid-template-columns:auto 1fr auto;place-items:center;display:grid}.efp-range-input__header strong{font-weight:var(--font-weight-medium)}.efp-range-input__control{width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));box-shadow:none;cursor:pointer;border:0;outline:none;place-content:center;place-items:center;margin:0;padding:0;display:grid}.efp-range-input__control i{font-size:var(--icon-size-xxs)}.efp-range-input__input-block{width:100%;height:calc(1.375rem * var(--ui-scale));place-items:center;display:grid;position:relative}.efp-range-input__input{opacity:0;z-index:2;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.efp-range-input__custom-input{height:calc(.375rem * var(--ui-scale));background:var(--color-gray-400);border-radius:calc(.1875rem * var(--ui-scale));pointer-events:none;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.efp-range-input__progress{background:var(--color-primary);border-radius:inherit;height:100%;position:absolute;top:0}.efp-range-input__progress:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__progress:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__progress:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__progress:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__thumb{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));background:var(--color-white);border:calc(.1875rem * var(--ui-scale)) solid var(--color-primary-dark);pointer-events:none;box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:50%}.efp-range-input__thumb:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__thumb:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__thumb:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__thumb:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-button,a.efp-button{justify-content:center;align-items:center;gap:calc(.375rem * var(--ui-scale));width:100%;max-width:calc(25rem * var(--ui-scale));border-radius:var(--border-radius-full);font-family:var(--app-font-family);font-weight:var(--font-weight-medium);cursor:pointer;border:0;outline:none;text-decoration:none;transition:background-color .1s ease-in-out;display:flex}.efp-button:hover,a.efp-button:hover{background:var(--color-primary-dark);color:var(--color-white)}.efp-button:active,a.efp-button:active{box-shadow:0 0 8px #3d91f74d}.efp-button:disabled,.efp-button--disabled,a.efp-button:disabled,a.efp-button--disabled{background:var(--color-gray-500);pointer-events:none}.efp-button:disabled:hover,.efp-button:disabled:active,.efp-button--disabled:hover,.efp-button--disabled:active,a.efp-button:disabled:hover,a.efp-button:disabled:active,a.efp-button--disabled:hover,a.efp-button--disabled:active{background:var(--color-gray-500);box-shadow:unset}.efp-button--primary,a.efp-button--primary{background:var(--color-primary);color:var(--color-white)}.efp-button--primary .efp-button-badge,a.efp-button--primary .efp-button-badge,.efp-button--primary:hover,.efp-button--primary:active,a.efp-button--primary:hover,a.efp-button--primary:active{background:var(--color-primary-dark);color:var(--color-white)}.efp-button--primary:hover .efp-button-badge,.efp-button--primary:active .efp-button-badge,a.efp-button--primary:hover .efp-button-badge,a.efp-button--primary:active .efp-button-badge{background:var(--color-primary-ultra-dark)}.efp-button--secondary,a.efp-button--secondary{background:var(--color-primary-ultra-light);color:var(--color-primary)}.efp-button--secondary .efp-button-badge,a.efp-button--secondary .efp-button-badge{background:var(--color-white);color:var(--color-primary)}.efp-button--secondary:hover,.efp-button--secondary:active,a.efp-button--secondary:hover,a.efp-button--secondary:active{background:var(--color-primary-ultra-light);color:var(--color-primary-dark)}.efp-button--secondary:hover .efp-button-badge,.efp-button--secondary:active .efp-button-badge,a.efp-button--secondary:hover .efp-button-badge,a.efp-button--secondary:active .efp-button-badge{color:var(--color-primary-dark)}.efp-button--gray,a.efp-button--gray{background:var(--color-gray-200);color:var(--color-black)}.efp-button--gray .efp-button-badge,a.efp-button--gray .efp-button-badge,.efp-button--gray:hover,.efp-button--gray:active,a.efp-button--gray:hover,a.efp-button--gray:active{background:var(--color-gray-300);color:var(--color-black)}.efp-button--gray:disabled,.efp-button--gray--disabled,a.efp-button--gray:disabled,a.efp-button--gray--disabled,.efp-button--gray:disabled:hover,.efp-button--gray:disabled:active,.efp-button--gray--disabled:hover,.efp-button--gray--disabled:active,a.efp-button--gray:disabled:hover,a.efp-button--gray:disabled:active,a.efp-button--gray--disabled:hover,a.efp-button--gray--disabled:active{background:var(--color-gray-100);color:var(--color-gray-400)}.efp-button--gray-border,a.efp-button--gray-border{background:var(--color-white);border:1px solid var(--color-gray-300);color:var(--color-black)}.efp-button--gray-border .efp-button-badge,a.efp-button--gray-border .efp-button-badge{background:var(--color-gray-200);color:var(--color-black)}.efp-button--gray-border:hover,.efp-button--gray-border:active,a.efp-button--gray-border:hover,a.efp-button--gray-border:active{background:var(--color-gray-300);color:var(--color-black)}.efp-button--gray-border:hover .efp-button-badge,.efp-button--gray-border:active .efp-button-badge,a.efp-button--gray-border:hover .efp-button-badge,a.efp-button--gray-border:active .efp-button-badge{background:var(--color-gray-400)}.efp-button--ghost,a.efp-button--ghost{color:var(--color-gray-900);background:0 0;border:0}.efp-button--ghost .efp-button-badge,a.efp-button--ghost .efp-button-badge,.efp-button--ghost:hover,.efp-button--ghost:active,a.efp-button--ghost:hover,a.efp-button--ghost:active{background:var(--color-gray-200);color:var(--color-black)}.efp-button--ghost:hover .efp-button-badge,.efp-button--ghost:active .efp-button-badge,a.efp-button--ghost:hover .efp-button-badge,a.efp-button--ghost:active .efp-button-badge{background:var(--color-gray-300)}.efp-button--lg,a.efp-button--lg{min-width:calc(10rem * var(--ui-scale));min-height:calc(2.625rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) calc(1.25rem * var(--ui-scale));font-size:var(--font-size-xl)}.efp-button--lg .efp-button-badge,a.efp-button--lg .efp-button-badge{min-width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--md,a.efp-button--md{min-width:calc(8.75rem * var(--ui-scale));min-height:calc(2.375rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));font-size:var(--font-size-lg)}.efp-button--md .efp-button-badge,a.efp-button--md .efp-button-badge{min-width:calc(1.625rem * var(--ui-scale));height:calc(1.625rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--sm,a.efp-button--sm{min-width:calc(6.25rem * var(--ui-scale));min-height:calc(1.875rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(1rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--sm .efp-button-badge,a.efp-button--sm .efp-button-badge{min-width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));font-size:var(--font-size-xs)}.efp-button--inline,a.efp-button--inline{width:auto;min-width:auto;display:inline-flex}.efp-button--round,a.efp-button--round{width:auto;min-width:auto;height:auto;min-height:auto;padding:calc(.5rem * var(--ui-scale))}.efp-button--round i,a.efp-button--round i{font-size:var(--icon-size-xs)}.efp-button--danger,a.efp-button--danger{background:var(--color-red);color:var(--color-white)}.efp-button--danger:hover,.efp-button--danger:active,a.efp-button--danger:hover,a.efp-button--danger:active{background:var(--color-red-dark)}.efp-button>i,a.efp-button>i{font-size:var(--icon-size-sm)}.efp-button-badge{padding:0 calc(.3125rem * var(--ui-scale));border-radius:var(--border-radius-full);justify-content:center;align-items:center;transition:background-color .1s ease-in-out;display:flex}.efp-info-message{border-radius:var(--border-radius-xl);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));background:var(--color-white);gap:calc(.5rem * var(--ui-scale));display:grid;position:relative}.efp-info-message__item{gap:calc(.625rem * var(--ui-scale));font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);grid-auto-flow:column;place-content:flex-start;place-items:center;line-height:1;display:grid}.efp-info-message__item strong{font-weight:var(--font-weight-bold)}.efp-info-message__img{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale))}.efp-set-kiosk-mode{left:.6rem;bottom:calc(1.25rem * var(--ui-scale));z-index:9999;width:calc(23.75rem * var(--ui-scale));background:var(--color-primary);box-shadow:var(--shadow-md);border-radius:var(--border-radius-xl);line-height:1;display:grid;position:fixed}.efp-set-kiosk-mode__header{text-align:center;padding:calc(.625rem * var(--ui-scale)) calc(1rem * var(--ui-scale));color:var(--color-white);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);grid-template-columns:auto 1fr auto;place-items:center;display:grid}.efp-set-kiosk-mode__header i{font-size:var(--icon-size-xl)}.efp-set-kiosk-mode__header img{width:var(--icon-size-xl);height:var(--icon-size-xl)}.efp-set-kiosk-mode__close{box-shadow:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.efp-confirm-dialog{background:var(--color-white);box-shadow:var(--shadow-md);border-radius:var(--border-radius-xl);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));gap:calc(1rem * var(--ui-scale));display:grid;position:relative}.efp-confirm-dialog__content{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal)}.efp-confirm-dialog__content strong{font-weight:var(--font-weight-medium)}.efp-confirm-dialog__controls{gap:calc(.625rem * var(--ui-scale));grid-template-columns:1fr 1fr;display:grid}.efp-status-messages{height:calc(calc(2.75rem * var(--ui-scale)) + var(--border-radius-2xl));border-radius:var(--border-radius-xl);grid-template-rows:1fr;display:grid;position:absolute;top:0;left:0;right:0;overflow:hidden}.efp-status-messages__message{gap:calc(.375rem * var(--ui-scale));color:var(--color-white);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);padding-bottom:var(--border-radius-2xl);grid-auto-flow:column;place-content:center;place-items:center;display:grid}.efp-status-messages__message i{font-size:var(--icon-size-md)}.efp-status-messages__message--success{background:var(--color-green)}.efp-status-messages__message--error{background:var(--color-red)}\n/*$vite$:1*/", "store.css");
|
|
36594
|
+
__vite_inject_css__(".rebooking-radio-group{padding:calc(1rem * var(--ui-scale))}.rebooking-radio-group__title{padding-bottom:calc(.625rem * var(--ui-scale));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.rebooking-radio-group__options{gap:calc(.625rem * var(--ui-scale));flex-flow:column wrap;display:flex}.rebooking-radio__icon{width:calc(1.5rem * var(--ui-scale));height:calc(1.5rem * var(--ui-scale));background:var(--rebooking-color-primary);border-radius:var(--border-radius-full);color:var(--color-white);justify-content:center;align-items:center;display:flex}.rebooking-radio__icon>i{font-size:18px;line-height:0}.rebooking-radio__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.rebooking-radio>input{display:none}.rebooking-radio>input~label{padding:calc(.75rem * var(--ui-scale)) calc(.875rem * var(--ui-scale)) calc(.75rem * var(--ui-scale)) calc(3rem * var(--ui-scale));background:var(--color-gray-200);border-radius:var(--border-radius-md);color:var(--color-black);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;line-height:1;display:flex;position:relative}.rebooking-radio>input~label:before{content:\"\";top:50%;left:calc(.875rem * var(--ui-scale));width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));margin-top:calc(-.625rem * var(--ui-scale));border:2px solid #98a2b3;border-radius:50%;position:absolute}.rebooking-radio>input~label:hover{background:#eaecf0}.rebooking-radio>input:checked~label{background:var(--rebooking-color-primary);color:var(--color-white)}.rebooking-radio>input:checked~label:before{border:5px solid var(--color-white)}.rebooking-radio>input:checked~label>.rebooking-radio__icon{background:var(--color-white);color:var(--rebooking-color-primary)}.rebooking-radio>input:disabled~label{background:var(--color-gray-200);color:var(--color-gray);cursor:default}.rebooking-radio>input:disabled~label:before{border-color:var(--color-gray-400)}.rebooking-radio>input:disabled~label>.rebooking-radio__icon{color:var(--color-gray)}.efp-set-kiosk-form{border-radius:var(--border-radius-xl);background:var(--color-white);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));display:grid;position:relative}.efp-set-kiosk-form__content{gap:calc(1rem * var(--ui-scale));display:grid}.efp-set-kiosk-form__inputs{gap:calc(.625rem * var(--ui-scale));display:grid}.efp-set-kiosk-form__controls{gap:calc(.625rem * var(--ui-scale));grid-template-columns:1fr 2fr;display:grid}.efp-range-input{gap:calc(.3125rem * var(--ui-scale));width:100%;font-size:var(--font-size-lg);display:grid}.efp-range-input__header{text-align:center;color:var(--color-black);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);grid-template-columns:auto 1fr auto;place-items:center;display:grid}.efp-range-input__header strong{font-weight:var(--font-weight-medium)}.efp-range-input__control{width:calc(1.25rem * var(--ui-scale));height:calc(1.25rem * var(--ui-scale));box-shadow:none;cursor:pointer;border:0;outline:none;place-content:center;place-items:center;margin:0;padding:0;display:grid}.efp-range-input__control i{font-size:var(--icon-size-xxs)}.efp-range-input__input-block{width:100%;height:calc(1.375rem * var(--ui-scale));place-items:center;display:grid;position:relative}.efp-range-input__input{opacity:0;z-index:2;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.efp-range-input__custom-input{height:calc(.375rem * var(--ui-scale));background:var(--color-gray-400);border-radius:calc(.1875rem * var(--ui-scale));pointer-events:none;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.efp-range-input__progress{background:var(--color-primary);border-radius:inherit;height:100%;position:absolute;top:0}.efp-range-input__progress:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__progress:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__progress:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__progress:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__thumb{width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));background:var(--color-white);border:calc(.1875rem * var(--ui-scale)) solid var(--color-primary-dark);pointer-events:none;box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:50%}.efp-range-input__thumb:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__thumb:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.efp-range-input__thumb:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-range-input__thumb:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.efp-button,a.efp-button{justify-content:center;align-items:center;gap:calc(.375rem * var(--ui-scale));width:100%;max-width:calc(25rem * var(--ui-scale));border-radius:var(--border-radius-full);font-family:var(--app-font-family);font-weight:var(--font-weight-medium);cursor:pointer;border:0;outline:none;text-decoration:none;transition:background-color .1s ease-in-out;display:flex}.efp-button:hover,a.efp-button:hover{background:var(--color-primary-dark);color:var(--color-white)}.efp-button:active,a.efp-button:active{box-shadow:0 0 8px #3d91f74d}.efp-button:disabled,.efp-button--disabled,a.efp-button:disabled,a.efp-button--disabled{background:var(--color-gray-500);pointer-events:none}.efp-button:disabled:hover,.efp-button:disabled:active,.efp-button--disabled:hover,.efp-button--disabled:active,a.efp-button:disabled:hover,a.efp-button:disabled:active,a.efp-button--disabled:hover,a.efp-button--disabled:active{background:var(--color-gray-500);box-shadow:unset}.efp-button--primary,a.efp-button--primary{background:var(--color-primary);color:var(--color-white)}.efp-button--primary .efp-button-badge,a.efp-button--primary .efp-button-badge,.efp-button--primary:hover,.efp-button--primary:active,a.efp-button--primary:hover,a.efp-button--primary:active{background:var(--color-primary-dark);color:var(--color-white)}.efp-button--primary:hover .efp-button-badge,.efp-button--primary:active .efp-button-badge,a.efp-button--primary:hover .efp-button-badge,a.efp-button--primary:active .efp-button-badge{background:var(--color-primary-ultra-dark)}.efp-button--secondary,a.efp-button--secondary{background:var(--color-primary-ultra-light);color:var(--color-primary)}.efp-button--secondary .efp-button-badge,a.efp-button--secondary .efp-button-badge{background:var(--color-white);color:var(--color-primary)}.efp-button--secondary:hover,.efp-button--secondary:active,a.efp-button--secondary:hover,a.efp-button--secondary:active{background:var(--color-primary-ultra-light);color:var(--color-primary-dark)}.efp-button--secondary:hover .efp-button-badge,.efp-button--secondary:active .efp-button-badge,a.efp-button--secondary:hover .efp-button-badge,a.efp-button--secondary:active .efp-button-badge{color:var(--color-primary-dark)}.efp-button--gray,a.efp-button--gray{background:var(--color-gray-200);color:var(--color-black)}.efp-button--gray .efp-button-badge,a.efp-button--gray .efp-button-badge,.efp-button--gray:hover,.efp-button--gray:active,a.efp-button--gray:hover,a.efp-button--gray:active{background:var(--color-gray-300);color:var(--color-black)}.efp-button--gray:disabled,.efp-button--gray--disabled,a.efp-button--gray:disabled,a.efp-button--gray--disabled,.efp-button--gray:disabled:hover,.efp-button--gray:disabled:active,.efp-button--gray--disabled:hover,.efp-button--gray--disabled:active,a.efp-button--gray:disabled:hover,a.efp-button--gray:disabled:active,a.efp-button--gray--disabled:hover,a.efp-button--gray--disabled:active{background:var(--color-gray-100);color:var(--color-gray-400)}.efp-button--gray-border,a.efp-button--gray-border{background:var(--color-white);border:1px solid var(--color-gray-300);color:var(--color-black)}.efp-button--gray-border .efp-button-badge,a.efp-button--gray-border .efp-button-badge{background:var(--color-gray-200);color:var(--color-black)}.efp-button--gray-border:hover,.efp-button--gray-border:active,a.efp-button--gray-border:hover,a.efp-button--gray-border:active{background:var(--color-gray-300);color:var(--color-black)}.efp-button--gray-border:hover .efp-button-badge,.efp-button--gray-border:active .efp-button-badge,a.efp-button--gray-border:hover .efp-button-badge,a.efp-button--gray-border:active .efp-button-badge{background:var(--color-gray-400)}.efp-button--ghost,a.efp-button--ghost{color:var(--color-gray-900);background:0 0;border:0}.efp-button--ghost .efp-button-badge,a.efp-button--ghost .efp-button-badge,.efp-button--ghost:hover,.efp-button--ghost:active,a.efp-button--ghost:hover,a.efp-button--ghost:active{background:var(--color-gray-200);color:var(--color-black)}.efp-button--ghost:hover .efp-button-badge,.efp-button--ghost:active .efp-button-badge,a.efp-button--ghost:hover .efp-button-badge,a.efp-button--ghost:active .efp-button-badge{background:var(--color-gray-300)}.efp-button--lg,a.efp-button--lg{min-width:calc(10rem * var(--ui-scale));min-height:calc(2.625rem * var(--ui-scale));padding:calc(.5rem * var(--ui-scale)) calc(1.25rem * var(--ui-scale));font-size:var(--font-size-xl)}.efp-button--lg .efp-button-badge,a.efp-button--lg .efp-button-badge{min-width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--md,a.efp-button--md{min-width:calc(8.75rem * var(--ui-scale));min-height:calc(2.375rem * var(--ui-scale));padding:calc(.375rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));font-size:var(--font-size-lg)}.efp-button--md .efp-button-badge,a.efp-button--md .efp-button-badge{min-width:calc(1.625rem * var(--ui-scale));height:calc(1.625rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--sm,a.efp-button--sm{min-width:calc(6.25rem * var(--ui-scale));min-height:calc(1.875rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(1rem * var(--ui-scale));font-size:var(--font-size-md)}.efp-button--sm .efp-button-badge,a.efp-button--sm .efp-button-badge{min-width:calc(1.375rem * var(--ui-scale));height:calc(1.375rem * var(--ui-scale));font-size:var(--font-size-xs)}.efp-button--inline,a.efp-button--inline{width:auto;min-width:auto;display:inline-flex}.efp-button--round,a.efp-button--round{width:auto;min-width:auto;height:auto;min-height:auto;padding:calc(.5rem * var(--ui-scale))}.efp-button--round i,a.efp-button--round i{font-size:var(--icon-size-xs)}.efp-button--danger,a.efp-button--danger{background:var(--color-red);color:var(--color-white)}.efp-button--danger:hover,.efp-button--danger:active,a.efp-button--danger:hover,a.efp-button--danger:active{background:var(--color-red-dark)}.efp-button>i,a.efp-button>i{font-size:var(--icon-size-sm)}.efp-button-badge{padding:0 calc(.3125rem * var(--ui-scale));border-radius:var(--border-radius-full);justify-content:center;align-items:center;transition:background-color .1s ease-in-out;display:flex}.efp-info-message{border-radius:var(--border-radius-xl);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));background:var(--color-white);gap:calc(.5rem * var(--ui-scale));display:grid;position:relative}.efp-info-message__item{gap:calc(.625rem * var(--ui-scale));font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);grid-auto-flow:column;place-content:flex-start;place-items:center;line-height:1;display:grid}.efp-info-message__item strong{font-weight:var(--font-weight-bold)}.efp-info-message__img{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale))}.efp-set-kiosk-mode{left:.6rem;bottom:calc(1.25rem * var(--ui-scale));z-index:9999;width:calc(23.75rem * var(--ui-scale));background:var(--color-primary);box-shadow:var(--shadow-md);border-radius:var(--border-radius-xl);line-height:1;display:grid;position:fixed}.efp-set-kiosk-mode__header{text-align:center;padding:calc(.625rem * var(--ui-scale)) calc(1rem * var(--ui-scale));color:var(--color-white);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);grid-template-columns:auto 1fr auto;place-items:center;display:grid}.efp-set-kiosk-mode__header i{font-size:var(--icon-size-xl)}.efp-set-kiosk-mode__header img{width:var(--icon-size-xl);height:var(--icon-size-xl)}.efp-set-kiosk-mode__close{box-shadow:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.efp-confirm-dialog{background:var(--color-white);box-shadow:var(--shadow-md);border-radius:var(--border-radius-xl);padding:calc(1rem * var(--ui-scale)) calc(1.125rem * var(--ui-scale));gap:calc(1rem * var(--ui-scale));display:grid;position:relative}.efp-confirm-dialog__content{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal)}.efp-confirm-dialog__content strong{font-weight:var(--font-weight-medium)}.efp-confirm-dialog__controls{gap:calc(.625rem * var(--ui-scale));grid-template-columns:1fr 1fr;display:grid}.efp-status-messages{height:calc(calc(2.75rem * var(--ui-scale)) + var(--border-radius-2xl));border-radius:var(--border-radius-xl);grid-template-rows:1fr;display:grid;position:absolute;top:0;left:0;right:0;overflow:hidden}.efp-status-messages__message{gap:calc(.375rem * var(--ui-scale));color:var(--color-white);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);padding-bottom:var(--border-radius-2xl);grid-auto-flow:column;place-content:center;place-items:center;display:grid}.efp-status-messages__message i{font-size:var(--icon-size-md)}.efp-status-messages__message--success{background:var(--color-green)}.efp-status-messages__message--error{background:var(--color-red)}\n/*$vite$:1*/", "store.css", false);
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.1.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.1.6" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "366e3673-c350-4f8b-b0f3-9cc93894014c", e._sentryDebugIdIdentifier = "sentry-dbid-366e3673-c350-4f8b-b0f3-9cc93894014c");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./chunk-
|
|
10
|
-
import { t } from "./jsx-runtime-
|
|
11
|
-
import { t as n } from "./settings-
|
|
12
|
-
import { t as r } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./chunk-5s3M-J3g.js";
|
|
10
|
+
import { t } from "./jsx-runtime-DGpX2A7L.js";
|
|
11
|
+
import { t as n } from "./settings-VfT-AYP7.js";
|
|
12
|
+
import { t as r } from "./add-debug-secret-listener-DzCEnj9u.js";
|
|
13
13
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
14
14
|
var i = t(), a = !1;
|
|
15
15
|
function o() {
|
|
16
16
|
if (a) return;
|
|
17
17
|
a = !0;
|
|
18
18
|
let t = n("Show Debug Button Overlay"), o = async (n) => {
|
|
19
|
-
let { DebugUi: r } = await import("./debug-ui-
|
|
19
|
+
let { DebugUi: r } = await import("./debug-ui-CC3jwsbR.js"), { createRoot: a } = await import("./client-D37dTvOp.js").then((t) => /* @__PURE__ */ e(t.default, 1)), o = document.createElement("div");
|
|
20
20
|
document.body.appendChild(o), a(o).render(/* @__PURE__ */ (0, i.jsx)(r, {
|
|
21
21
|
useDebugButtonState: t.useState,
|
|
22
22
|
open: n
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as M}from"react";import w from"classnames";import t,{layersStore as d,uiState as e}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import D from"./LevelSelector";import G from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import T from"./LogoOverlay";import A from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"
|
|
1
|
+
import{jsx as o,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as M}from"react";import w from"classnames";import t,{layersStore as d,uiState as e}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import D from"./LevelSelector";import G from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import T from"./LogoOverlay";import A from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"../data/fpGeo";import{checkUserIsGDPR as X,GaEventActions as s,hasUserConsent as q,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=r.lazy(()=>import("./Demo")),ee=r.lazy(()=>import("./Free")),oe=r.lazy(()=>import("./Debug")),te=r.lazy(()=>import("./Mapbox/Mapbox")),ie=r.lazy(()=>import("./Threejs/ThreeComponent")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),ne=r.lazy(()=>import("./Kiosk/SetKioskMode")),se=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default z(function({offHistory:b,allowConsent:p}){const[u,c]=M(!1);let n=null;e.bannerType==="demo"?n=o(Z,{}):e.bannerType==="free"&&(n=o(ee,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await X();c(!!(k||k===null))}q(p)?c(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(s.ViewExhibitor,i.name))}),m(()=>e.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),m(()=>e.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),m(()=>e.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const h=!e.hideCookieConsent&&!e.kiosk&&u&&p===void 0;return o("div",{id:"efp-layout",className:w("layout",{"efp-kiosk":e.kiosk,"efp-kiosk-route-active":e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":e.wsShown,"efp-no-overlay":e.noOverlay,"efp-top-banner":e.bannerType==="free"&&!e.freeBannerDismissed}),dir:e.rtl?"rtl":"ltr",style:{"--ui-scale":e.uiScale.toString()},children:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(D,{}),!e.noOverlay&&t.initialized&&o(K,{isGDPR:u,allowConsent:p}),t.initialized&&o(T,{}),!e.noOverlay&&t.initialized&&o(A,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.noOverlay&&t.initialized&&o(F,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),!e.hideHeaderLogo&&t.initialized&&o(N,{}),t.routeStore.gpsEnabled&&o(le,{requestCompassAllowed:!h}),L&&o($,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&o(a,{fallback:o(H,{}),children:W?.properties?.mode==="threejs"?o(ie,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):o(te,{})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),R?o(a,{fallback:null,children:o(oe,{})}):null,O&&o(G,{}),e.modalActive.share?o(a,{fallback:null,children:o(re,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(_,{title:e.selectedExhibitor?.name||e.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(e.selectedExhibitor?.slug||e.selectedEventItem?.slug)}`:window.location.href})})}):null,e.heatmap||e.heatmapYah?o(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:f.heatmapColors}):null,o(U,{active:!d.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(P,{}),t.initialized&&o(I,{store:t.sessionsFilterStore}),t.initialized&&o(V,{store:t.speakerFilterStore}),o(Q,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(ne,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})})]})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as R}from"mobx-react-lite";import _ from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./Alert";import"./Alert.scss";import"./LogoOverlay.scss";import{fpGeo as h}from"
|
|
1
|
+
import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as R}from"mobx-react-lite";import _ from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./Alert";import"./Alert.scss";import"./LogoOverlay.scss";import{fpGeo as h}from"../data/fpGeo";import O from"../tools/base-runtime-url";import{buildExpofpUrl as C,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function D(){const b=P(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.mapboxStore.showMapbox&&(e=a(.5)),s("bottom",n,20,"4.5rem")}},get warningStyle(){const i=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*i;return s("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*i;return f.mapboxStore.showMapbox&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,x=c&&!h&&_.allow3dView&&!o.kiosk&&!o.heatmap,v=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,y=l("efp-qr",{"is-right":g||o.rtl});return R(()=>m("div",{children:[t("a",{href:C(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${O}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),x&&t(d,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),v&&t(M,{fallback:null,children:m("div",{className:l(y,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as S,jsxs as _,Fragment as K}from"react/jsx-runtime";import{useObserver as U}from"mobx-react-lite";import Y from"classnames";import{useEffect as q,useMemo as J,useRef as z,useState as Q}from"react";import{observable as ee}from"mobx";import i,{boothStore as oe,layersStore as R,uiState as e}from"../../store";import te from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as re}from"../../store/BoothStore";import{CurrentPosition as ne,Route as ie}from"../../store/RouteStore";import{Category as ae}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as se,getMarkerFromClick as le}from"./drawing/config/config-markers";import me from"color";import ce from"./drawing/config/config-wf";import{createSceneDef as fe}from"../../renderer";import{convertGpsToLocal as de}from"../../utils/gps";import{fpGeo as ue}from"
|
|
1
|
+
import{jsx as S,jsxs as _,Fragment as K}from"react/jsx-runtime";import{useObserver as U}from"mobx-react-lite";import Y from"classnames";import{useEffect as q,useMemo as J,useRef as z,useState as Q}from"react";import{observable as ee}from"mobx";import i,{boothStore as oe,layersStore as R,uiState as e}from"../../store";import te from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as re}from"../../store/BoothStore";import{CurrentPosition as ne,Route as ie}from"../../store/RouteStore";import{Category as ae}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as se,getMarkerFromClick as le}from"./drawing/config/config-markers";import me from"color";import ce from"./drawing/config/config-wf";import{createSceneDef as fe}from"../../renderer";import{convertGpsToLocal as de}from"../../utils/gps";import{fpGeo as ue}from"../../data/fpGeo";import v from"../../utils/is-debug";import{Draggable as pe}from"../Draggable";import{useBuildRoute as he}from"./traffic/useBuildRoute";import{useManageTraffic as ve}from"./traffic/useManageTraffic";import{PATHWAY_KEY as G}from"../../constants";import N from"./booth-by-xy";import{mapRollSetting as O}from"../../renderer";import{loadLayersImages as be}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ye}from"../../utils/areLayersEnabled";import{pickDefaultScene as X,pickDefaultScenePoint as ge}from"../../renderer/engine-core/defs";const j=Number.isFinite(p.maxZoom);export default function xe(){let k={};const A="#ebebeb",h=z(),b=J(()=>ee({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=z(null);let M=null,B=null;const[V,W]=Q(()=>typeof window<"u"&&window.localStorage?localStorage.getItem("debug")!=="0":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),d(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),q(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=L.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(n?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),t={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx)),te(s).then(a=>{v&&console.log("Renderer settings",l);const r=me(p.backgroundColor==="none"?A:p.backgroundColor).string("rgba");k=fe(a,x.fromCoreRect(D),r),s.start(k),O(l,i.fp.enableRotation?1:0),j&&l.viewport.setMaxZoom(p.maxZoom),R.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),M=ce(s),B=se(s),be(s)}),l.events.addEventListener("pointer:move",({data:a})=>{if(e.setKioskModeEnabled)return;const{point:r,defs:n}=X(a),c=N(r.x,r.y),m=P(n[0]);e.hoveredBooth=c||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:a})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{point:r,defs:n}=X(a),{x:c,y:m}=r;if(e.onGetCoordsClick){const y=i.layerStore.layers.find(w=>w.visible&&(w.mode===g.TurnedOn||w.mode===g.TurnedOff));e.onGetCoordsClick({x:c,y:m,z:y?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const y=le(c,m,s.scale);v&&console.log("marker",y),e.onMarkerClick(y)}const f=N(r.x,r.y),u=P(n[0]);v&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",r),i.clickBooth(f||u)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=$,()=>Z()},[]);function Z(){M?.(),B?.(),s.dispose()}function $(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=ge(l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2})),r=i.layerStore.visible.find(n=>n.mode===g.TurnedOff||n.mode===g.TurnedOn)?.name||null;return{...t,z:r}}function P(o){return!o||!o.shape?null:oe.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof F&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof F?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,c)=>n==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):o instanceof re?(t="booth",a=[o.name]):o instanceof ie?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof ae&&(t="category",a=o.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&I(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(T.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;T.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(I(C.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:c})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&O(l,n);let m;if(t){const f=t.split(",").map(Number),u=new ne(void 0,void 0,void 0,void 0,f[0],f[1]);m=de(u,ue.properties.config)}else if(a){const f=a.split(",").map(Number);m={x:f[0],y:f[1]}}c&&i.fp.activateFloor({name:c}),(m?.x||m?.y)&&s.renderer.controls.panTo(m.x,m.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(m){T.error("Error in mapSettings reaction",m)}}),he({enabled:R.layersLoaded&&e.buildRoute,rendererService:s});const E="routes-api.expofp.com";ve({permission:R.layersLoaded,rendererService:s,dataJsonUrl:`https://${E}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${E}/locations?expo=${p.EXPO}`}),d(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>n.name.toLowerCase().includes(G)),r=s.scene.rootLayer.children.filter(n=>n.name.toLowerCase().includes(G));r.forEach(n=>{n.hidden=!t.find(c=>c.name===n.name)}),s.update(...r)});function I(o){let t=o;const a=H(o,D);e.kioskData&&(!ye()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=C.fromMultiple([o,C.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=x.fromCoreRect(t),n={paddingPercent:a,maxZoom:j?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx};try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function H(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return U(()=>_(K,{children:[S("canvas",{style:{width:"100%",height:"100%"},ref:h,className:Y({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&V&&_(pe,{className:"debug-fps",children:[S("div",{ref:L}),S("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem("debug","0"),W(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import ne from"color";import{observable as he,reaction as q}from"mobx";import{lineLength as Se}from"simple-geometry";import We from"../../../../core/Rect";import o,{layersStore as Ae,uiState as c}from"../../../../store";import{LayersMode as _e}from"../../../../store/LayerStore";import{boothToWaypoint as me,getGraphLines as Ye,graphDataSource as Ue,computeTransitionPoints as Ge,normalizeRouteDirection as qe,bezierCurve as Ke,splitPolyLine as Ve}from"../../../../wayfinding";import{decreaseByPercentage as oe}from"../../../../utils/math";import{strEqual as ie}from"../../../../utils/strEqual";import{createArrowCurrentCanvas as De,createCurrentCanvas as re,createImageCanvas as k,createTargetCanvas as Xe,createYahCanvas as je}from"./canvases";import{toRadians as Ie}from"../../../../utils/math";import{areLayersEnabled as ve}from"../../../../utils/areLayersEnabled";import{createImageDef as H,createLineDef as ye,createCircleCanvas as Je,getBounds as R,getRotation as Qe}from"../../../../renderer";import{animateLineSegments as Ze}from"../../../../renderer/engine-core/animation";import{splitRouteByPoint as et,snapPositionToRoute as tt,getThresholdSafe as nt,getThresholdFromMetersToSvg as ot,SNAP_THRESHOLD_METERS as it}from"./route-snapping";import{fpGeo as Ne}from"../../../Mapbox/utils/fpGeo";import{getRouteLength as pe}from"../../../../wayfinding";import{pickDefaultScene as Fe}from"../../../../renderer/engine-core/defs";const L=devicePixelRatio;let I=[],X=null,T=[],Q=ne("#00A2FF"),rt=ne("#FF9F06"),ke="#A4CCE2",at="#0794EA";const W=34;let z,B,M,$,Y,ge,Re,Le,xe,Z,C,E,N,F,O,we=[];function st(){I=[];const t=o.routeStore.currentRouteLayer?.name;X=ct();const r=X&&(ve()?ie(t,X.destination?.layer):!0);if(X){const l=X?.routePoint;l&&ie(t,l.layer)&&(I=dt(l,I))}let a=[],f=[];for(let l=0;l<T.length;l++){let _=T[l],x=o.layerStore.mode==_e.Default?!0:o.layerStore.layers.find(m=>m.name==t&&t===_.p0.layer)?.visible||!1;!_.virtual&&x&&a.push(_),(_.virtual||!x||l===T.length-1)&&a.length&&(f=a.map(({p0:m,p1:w})=>(I.push({x:m.x,y:m.y},{x:w.x,y:w.y}),{p0:m,p1:w})))}I.length||(E.hidden=!0,C.hidden=!0);let y=1e6,s=1e6,p=0,u=0;I.forEach(l=>{l.x<y&&(y=l.x),l.y<s&&(s=l.y),l.x>p&&(p=l.x),l.y>u&&(u=l.y)});const d=We.fromX1y1x2y2(y,s,p,u);return{rect:I.length&&(d.w||d.h)?d.withPadding(d.w,d.h):null,lines:f,addTrailPoints:r}}export const WF_TRAIL_LAYER_NAME="wf-trail-points",WF_POINTS_LAYER_NAME="wf-points",WF_CURRENT_POSITION_NAME="wf-current-position",WF_LINES_LAYER_NAME="wf-lines",WF_LINES_ANIMATED_LAYER_NAME="wf-lines-animated";export default function ut(t){let r=null;const a=[];let f=null,y=he.box([]),s=he.box([],{deep:!1}),p=[],u=he.box([],{deep:!1});const d=t.scene.rootLayer.children,l=d.find(e=>e.name===WF_POINTS_LAYER_NAME),_=d.find(e=>e.name===WF_CURRENT_POSITION_NAME),x=d.find(e=>e.name===WF_LINES_LAYER_NAME),m=d.find(e=>e.name===WF_TRAIL_LAYER_NAME),w=d.find(e=>e.name===WF_LINES_ANIMATED_LAYER_NAME),U=nt(Ne?.properties?.config?.snapThreshold)||it,ae=ot({thresholdInMeters:U,gpsConfig:Ne?.properties?.config});let ee=[];const j=o.fp.icons.get("destination");j?(j.id="destination",B=k(j,W,W,L)):B=Xe(L,rt.hex()),E=H(B,R(0,0,B.width,B.height),{hidden:!0});const G=o.fp.icons.get("departure");G?(G.id="departure",z=k(G,W,W,L)):z=re(L,Q.hex()),C=H(z,R(0,0,z.width,z.height),{hidden:!0}),M=re(L,Q.hex()),M.id="current-location",N=H(M,R(0,0,M.width,M.height),{hidden:!0,origin:[.5,.5]});const K=o.fp.icons.get("transition");K?(K.id="transition",ge=k(K,34,34,L)):ge=re(L,Q.hex());const se=o.fp.icons.get("transition_up");se&&(se.id="transition_up",Re=k(se,56,34,L));const ue=o.fp.icons.get("transition_down");ue&&(ue.id="transition_down",Le=k(ue,56,34,L)),G?xe=k(G,W,W,L):xe=re(L,Q.hex());const le=o.fp.icons.get("direction");le?(le.id="direction",$=k(le,W,W,L)):$=De(L,Q.hex()),F=H($,R(0,0,$.width,$.height),{hidden:!0});const Pe=o.fp.icons.get("yah");Pe?Y=k(Pe,oe(64,32),oe(90,32),L):Y=je(L,"#ff4343"),Y.id="current-location-2",O=H(Y,R(0,0,Y.width,Y.height),{hidden:!0,origin:[.5,1]}),Z=Je(4,ne("#b5b7bc").hex());function ce(e=null){const n=o.layerStore.visible.map(i=>i.name);if(I=[],y.set([]),e||(T=[]),n.length&&c.selectedRoute?.from?.rect&&c.selectedRoute?.to?.rect){let i=c.selectedRoute.from,h=c.selectedRoute.to;if(!T.length&&!e&&(T=Ye(Ue,me(i),me(h),o.routeStore.onlyAccessible,c.selectedRoute.waypoints?.map(me))),!T.length){if(o.routeStore.updateRoute(T),o.routeStore.updateRouteDistance(0),i.name!==h.name)throw new Error(`Route not found. From: ${i.name} to: ${h.name}`);return}const{rect:g,lines:D,addTrailPoints:b}=st();D.length?(lt(t.scale),ft(t.scale,s,p),ze(t,m,!b),t.ptScaleRegistry.unregisterByName(m.name),b&&t.onPtScale(m.name,()=>{const P=ze(t,m)||[];return m.children=P,we=P,m})):t.ptScaleRegistry.unregisterByName(m.name),ee=D,fe(),g&&(c.moveToRect=g)}else C.hidden=!0,E.hidden=!0;o.routeStore.updateRoute(T.filter(i=>!i.virtual)),y.get()||(C.hidden=!0,E.hidden=!0)}function J(){const e=o.routeStore.currentPosition,n=e?.angle?Ie(e.angle):null,i=o.routeStore.currentRouteLayer?.name,h=T.filter(A=>o.layerStore.mode==_e.Default?!0:o.layerStore.layers.find(He=>He.name==i&&i===A.p0.layer)?.visible).filter(A=>!A.virtual);if(c.kioskData&&c.selectedRoute?.from){const A=o.routeStore.currentRouteLayer;C.hidden=c.selectedRoute?.from?.entity?.type==="route-cut-in"&&A?.name===c.selectedRoute?.from?.layer?.name,E.hidden=c.selectedRoute?.to?.entity?.type==="route-cut-in"&&A?.name===c.selectedRoute?.to?.layer?.name}if(e){const A=Ae.findLayer(e.z)?.visible??!0;o.routeStore.iconType===0||c.selectedRoute?.from&&c.selectedRoute?.to?(O.hidden=!0,N.hidden=!A,N.dim=!A,N.bounds=R(e.x,e.y,M.width,M.height,t.scale),n!=null?(N.hidden=!0,F.hidden=!A,F.dim=!A,F.bounds=R(e.x,e.y,$.width,$.height,t.scale,n)):F.hidden=!0):(N.hidden=!0,F.hidden=!0,O.dim=!A,O.hidden=!A,O.bounds=R(e.x,e.y,Y.width,Y.height,t.scale))}else N.hidden=!0,O.hidden=!0,F.hidden=!0,de(),fe();if(!e||!I.length){t.update(F,N,O);return}const g=c.selectedRoute?.to,D=c.selectedRoute?.from,b={layer:D?.layer?.name,x:C.bounds.center.x,y:C.bounds.center.y},P={layer:g?.layer?.name,x:E.bounds.center.x,y:E.bounds.center.y},S=tt(e,h,{snapThreshold:ae,fromPoint:b,toPoint:P,fromRect:D?.rect,toRect:g?.rect}),v=S.snapped?S.snappedPoint:e;fe(S,!0),F.bounds=R(v.x,v.y,$.width,$.height,t.scale,n),N.bounds=R(v.x,v.y,M.width,M.height,t.scale,n),t.update(F,N,O)}function Be(){const e=[{point:F,name:"wf-current-arrow"},{point:N,name:"wf-current-location"},{point:O,name:"wf-current-location-2"}];_.children=e.map(({point:n})=>n),e.forEach(({point:n,name:i})=>te(n,i)),t.update(_)}function V(e=!1){const n=[C,E,...s.get(),...u.get()];e&&(Me(!0),m.children=[],n.forEach(i=>{i.source.id.includes("kiosk")||(i.hidden=!0)})),l.children=n,t.update(l,m)}function de(e,n){const i=T.filter(P=>!P.virtual),h=pe(i);if(!e?.snapped){o.routeStore.updateRouteDistance(h);return}const g=c.selectedRoute?.to,D=pe(n);let b;if(e.snappedPoint?.layer===g?.layer?.name||g?.layer?.name===o.routeStore.currentRouteLayer?.name)b=D;else if(e.snappedPoint?.layer!==g?.layer?.name&&e.snappedPoint?.layer===o.routeStore.currentRouteLayer?.name){const P=i.filter(v=>v.p0.layer!==e?.snappedPoint?.layer&&v.p1.layer!==e?.snappedPoint?.layer),S=pe(P);b=D+S}b&&o.routeStore.updateRouteDistance(b)}function fe(e,n=!1){const i=c.selectedRoute?.from,h=c.selectedRoute?.to;if(!i||!h)return;const g=T[0]?.p0.layer,D=qe(T,ee,{layer:i.layer?.name??g,x:i.rect.cx,y:i.rect.cy},{layer:h.layer?.name??g,x:h.rect.cx,y:h.rect.cy});if(!e?.snapped){const S=D.map(v=>ye(v,ke));o.routeStore.currentPosition&&o.routeStore.currentRouteLayer&&o.routeStore.currentPosition?.z?.toString()===o.routeStore.currentRouteLayer?.name.toString()&&de(),Ce([],S,n);return}const{passed:b,remaining:P}=et(D,e.snappedPoint);P.length&&(P[0]={...P[0],p0:e.snappedPoint}),de(e,P),Ce(b.map(S=>ye(S,"#B5B7BC")),P.map(S=>ye(S,ke)),n)}const te=(e,n)=>t.onPtScale(n,i=>(e.hidden||(e.bounds=R(e.bounds.center.x,e.bounds.center.y,e.source.width,e.source.height,i,e.bounds.rotation)),e)),be=(e,n)=>t.onRoll(n,i=>{const h=Qe(i,e.bounds.rotation);return h!==void 0&&(e.bounds.rotation=e.bounds.rotation+h),e});function Me(e){r&&(r.stop(),r=null),w.children=[],e&&(x.children=[]),t.update(w,x)}function Ce(e=[],n=[],i=!1){let h=0;if(r&&(i&&(h=r.getProgress()),r.stop(),r=null),x.children=[...e,...n],!n.length){w.children=[],t.update(w,x);return}const g=n.map(b=>({...b,color:at}));r=Ze(g,(b,P,S)=>{if(S)w.children=[];else{const v=g.slice(0,P);w.children=[...v,b]}t.update(w)},()=>t.scale,h)??null,t.update(x)}a.push(q(()=>[o.layerStore.layersLoaded],()=>{ce(),J(),V()}));const $e=q(()=>[o.routeStore.currentRouteLayer,c.getRouteNextFloor],()=>{o.layerStore.layersLoaded&&(f!==null&&clearTimeout(f),f=setTimeout(()=>{ce(o.routeStore.currentRouteLayer),J(),V(),f=null},0))});a.push(()=>{f!==null&&(clearTimeout(f),f=null),$e()}),a.push(q(()=>[c.selectedRoute,o.routeStore.onlyAccessible],()=>{ce(),J(),V(!c.selectedRoute)})),a.push(q(()=>o.routeStore.currentPosition,()=>{J(),V()})),a.push(q(()=>s.get(),e=>{const n="transitionPoints";t.ptScaleRegistry.unregisterByPrefix(n),t.rollRegistry.unregisterByPrefix(n),e.length&&e.forEach((i,h)=>{const g=`${n}-${h}`;te(i,g),be(i,g)})})),a.push(q(()=>[u.get()],()=>{const e=u.get(),n="kioskArrows";t.ptScaleRegistry.unregisterByPrefix(n),e.length&&e.forEach((i,h)=>te(i,`${n}-${h}`))})),a.push(q(()=>[c.kioskData,Ae.floors.find(e=>e.active),c.selectedRoute],([e,n])=>{u.set([]);const i=ve()?e?.z===n?.name:!0;e&&i&&ht(e,{skipdim:!0,visible:!0,pixelRatio:L},t.scale,u),V()}));function Ee({data:e}){const{defs:n}=Fe(e),i=p.find(h=>n.includes(h.imageDef));i&&o.layerStore.updateVisibility(i.targetLayer,!0)}t.renderer.events.addEventListener("pointer:click",Ee),a.push(()=>t.renderer.events.removeEventListener("pointer:click",Ee));function Te({data:e}){const{defs:n}=Fe(e),i=p.some(h=>n.includes(h.imageDef));t.renderer.canvas.style.cursor=i?"pointer":""}t.renderer.events.addEventListener("pointer:move",Te),a.push(()=>t.renderer.events.removeEventListener("pointer:move",Te)),[{point:C,name:"wf-source"},{point:E,name:"wf-destination"}].forEach(({point:e,name:n})=>{te(e,n),be(e,n)}),V(),J(),Be();function Oe(){r&&(r.stop(),r=null),a.forEach(e=>e()),a.length=0}return Oe}function lt(t){const r=o.routeStore.currentRouteLayer?.name,a=I;let f=c.selectedRoute?.from,y=c.selectedRoute?.to;const s=c.selectedRoute?.waypoints;if(f?.entity.type==="route-cut-in"&&(f=null),y?.entity.type==="route-cut-in"&&(y=null),!a.length)return;const p=[{key:"sourceLocation",rect:f?.rect,index:void 0},{key:"destinationLocation",rect:y?.rect,index:void 0}];s&&p.push(...s?.map((x,m)=>({key:`waypoint-${x.externalId}`,index:m,rect:x.rect})));const u=r?ie(r,f?.layer?.name):!0,d=r?ie(r,y?.layer?.name):!0;let l=!1,_=!1;a.forEach(({x,y:m})=>{for(const{key:w,rect:U,index:ae}of p)if(U?.containsPoint(x,m)){w==="sourceLocation"&&(C.bounds=R(x,m,z.width,z.height,t),C.hidden=!u,C.dim=!u,l=u),w==="destinationLocation"&&(E.bounds=R(x,m,B.width,B.height,t),E.hidden=!d,E.dim=!d,_=d);break}}),l||(C.bounds=R(a[a.length-1].x,a[a.length-1].y,z.width,z.height,t),C.hidden=!1,C.dim=!1),_||(E.bounds=R(a[0].x,a[0].y,B.width,B.height,t),E.hidden=!d,E.dim=!d)}function ct(){const{from:t,to:r}=o.uiState.selectedRoute||{},a="route-cut-in";return t&&t?.entity.type===a||r&&r?.entity.type===a?o.routeStore.defaultFrom:null}function dt(t,r){if(!t||!r.length)return r;const a=r.reduce((f,y,s)=>Se(t,y)<Se(t,r[f])?s:f,0);return a<=r.length/2?r.slice(a):r.slice(0,a)}function ft(t,r,a){const f=o.routeStore.currentRouteLayer?.name,y=o.layerStore.floors.map(u=>u.name).reverse(),s=Ge({routeLines:T,currentLayerName:f,floorOrder:y});a.length=0;const p=s.map(u=>{const d=u.role==="entry"?xe:u.direction==="up"&&Re?Re:u.direction==="down"&&Le?Le:ge,l=H(d,R(u.x,u.y,d.width,d.height,t),{hidden:!1,dim:!1});return u.role==="exit"&&a.push({imageDef:l,targetLayer:u.targetLayer}),l});r.set(p)}function ht(t,r,a=1,f){if(!t)return;const y=o.fp.icons.get("kiosk");y.id="kiosk";let s;if(y){const u=t?.iconSizePercent?t.iconSizePercent/100:1,d=55;s=k(y,oe(199*u,d),oe(152*u,d),L)}else s=De(L,ne("#ee4422").hex());const p=H(s,R(t.x,t.y,s.width,s.height,a,Ie(t.heading||0)),{hidden:!r.visible,dim:!r.skipdim});f.set([...f.get(),p])}function ze(t,r,a=!1){let f=I.length-1;if(c.selectedRoute?.to?.entity.type==="route-cut-in"&&(f=0),a){we=[],r.children=[],t.update(r);return}const y=t.scale,s=I[f],p=X?.destination;if(!s||!p)return;const u=Z.width,d=Ve([{p0:s,p1:p}],u*2*y);if(d.length<2)return;const l=p.x-s.x,_=p.y-s.y,x=Math.hypot(l,_),m={x:(s.x+p.x)/2,y:(s.y+p.y)/2-x*.2},w=[s,m,p],U=d.map((ae,ee,j)=>{const G=(ee+1)/(j.length+1),K=Ke(w,G);return H(Z,R(K.x,K.y,Z.width,Z.height,y),{hidden:!1,dim:!1})})||[];return r.children=U,we=U,U}
|
|
1
|
+
import ne from"color";import{observable as he,reaction as q}from"mobx";import{lineLength as Se}from"simple-geometry";import We from"../../../../core/Rect";import o,{layersStore as Ae,uiState as c}from"../../../../store";import{LayersMode as _e}from"../../../../store/LayerStore";import{boothToWaypoint as me,getGraphLines as Ye,graphDataSource as Ue,computeTransitionPoints as Ge,normalizeRouteDirection as qe,bezierCurve as Ke,splitPolyLine as Ve}from"../../../../wayfinding";import{decreaseByPercentage as oe}from"../../../../utils/math";import{strEqual as ie}from"../../../../utils/strEqual";import{createArrowCurrentCanvas as De,createCurrentCanvas as re,createImageCanvas as k,createTargetCanvas as Xe,createYahCanvas as je}from"./canvases";import{toRadians as Ie}from"../../../../utils/math";import{areLayersEnabled as ve}from"../../../../utils/areLayersEnabled";import{createImageDef as H,createLineDef as ye,createCircleCanvas as Je,getBounds as R,getRotation as Qe}from"../../../../renderer";import{animateLineSegments as Ze}from"../../../../renderer/engine-core/animation";import{splitRouteByPoint as et,snapPositionToRoute as tt,getThresholdSafe as nt,getThresholdFromMetersToSvg as ot,SNAP_THRESHOLD_METERS as it}from"./route-snapping";import{fpGeo as Ne}from"../../../../data/fpGeo";import{getRouteLength as pe}from"../../../../wayfinding";import{pickDefaultScene as Fe}from"../../../../renderer/engine-core/defs";const L=devicePixelRatio;let I=[],X=null,T=[],Q=ne("#00A2FF"),rt=ne("#FF9F06"),ke="#A4CCE2",at="#0794EA";const W=34;let z,B,M,$,Y,ge,Re,Le,xe,Z,C,E,N,F,O,we=[];function st(){I=[];const t=o.routeStore.currentRouteLayer?.name;X=ct();const r=X&&(ve()?ie(t,X.destination?.layer):!0);if(X){const l=X?.routePoint;l&&ie(t,l.layer)&&(I=dt(l,I))}let a=[],f=[];for(let l=0;l<T.length;l++){let _=T[l],x=o.layerStore.mode==_e.Default?!0:o.layerStore.layers.find(m=>m.name==t&&t===_.p0.layer)?.visible||!1;!_.virtual&&x&&a.push(_),(_.virtual||!x||l===T.length-1)&&a.length&&(f=a.map(({p0:m,p1:w})=>(I.push({x:m.x,y:m.y},{x:w.x,y:w.y}),{p0:m,p1:w})))}I.length||(E.hidden=!0,C.hidden=!0);let y=1e6,s=1e6,p=0,u=0;I.forEach(l=>{l.x<y&&(y=l.x),l.y<s&&(s=l.y),l.x>p&&(p=l.x),l.y>u&&(u=l.y)});const d=We.fromX1y1x2y2(y,s,p,u);return{rect:I.length&&(d.w||d.h)?d.withPadding(d.w,d.h):null,lines:f,addTrailPoints:r}}export const WF_TRAIL_LAYER_NAME="wf-trail-points",WF_POINTS_LAYER_NAME="wf-points",WF_CURRENT_POSITION_NAME="wf-current-position",WF_LINES_LAYER_NAME="wf-lines",WF_LINES_ANIMATED_LAYER_NAME="wf-lines-animated";export default function ut(t){let r=null;const a=[];let f=null,y=he.box([]),s=he.box([],{deep:!1}),p=[],u=he.box([],{deep:!1});const d=t.scene.rootLayer.children,l=d.find(e=>e.name===WF_POINTS_LAYER_NAME),_=d.find(e=>e.name===WF_CURRENT_POSITION_NAME),x=d.find(e=>e.name===WF_LINES_LAYER_NAME),m=d.find(e=>e.name===WF_TRAIL_LAYER_NAME),w=d.find(e=>e.name===WF_LINES_ANIMATED_LAYER_NAME),U=nt(Ne?.properties?.config?.snapThreshold)||it,ae=ot({thresholdInMeters:U,gpsConfig:Ne?.properties?.config});let ee=[];const j=o.fp.icons.get("destination");j?(j.id="destination",B=k(j,W,W,L)):B=Xe(L,rt.hex()),E=H(B,R(0,0,B.width,B.height),{hidden:!0});const G=o.fp.icons.get("departure");G?(G.id="departure",z=k(G,W,W,L)):z=re(L,Q.hex()),C=H(z,R(0,0,z.width,z.height),{hidden:!0}),M=re(L,Q.hex()),M.id="current-location",N=H(M,R(0,0,M.width,M.height),{hidden:!0,origin:[.5,.5]});const K=o.fp.icons.get("transition");K?(K.id="transition",ge=k(K,34,34,L)):ge=re(L,Q.hex());const se=o.fp.icons.get("transition_up");se&&(se.id="transition_up",Re=k(se,56,34,L));const ue=o.fp.icons.get("transition_down");ue&&(ue.id="transition_down",Le=k(ue,56,34,L)),G?xe=k(G,W,W,L):xe=re(L,Q.hex());const le=o.fp.icons.get("direction");le?(le.id="direction",$=k(le,W,W,L)):$=De(L,Q.hex()),F=H($,R(0,0,$.width,$.height),{hidden:!0});const Pe=o.fp.icons.get("yah");Pe?Y=k(Pe,oe(64,32),oe(90,32),L):Y=je(L,"#ff4343"),Y.id="current-location-2",O=H(Y,R(0,0,Y.width,Y.height),{hidden:!0,origin:[.5,1]}),Z=Je(4,ne("#b5b7bc").hex());function ce(e=null){const n=o.layerStore.visible.map(i=>i.name);if(I=[],y.set([]),e||(T=[]),n.length&&c.selectedRoute?.from?.rect&&c.selectedRoute?.to?.rect){let i=c.selectedRoute.from,h=c.selectedRoute.to;if(!T.length&&!e&&(T=Ye(Ue,me(i),me(h),o.routeStore.onlyAccessible,c.selectedRoute.waypoints?.map(me))),!T.length){if(o.routeStore.updateRoute(T),o.routeStore.updateRouteDistance(0),i.name!==h.name)throw new Error(`Route not found. From: ${i.name} to: ${h.name}`);return}const{rect:g,lines:D,addTrailPoints:b}=st();D.length?(lt(t.scale),ft(t.scale,s,p),ze(t,m,!b),t.ptScaleRegistry.unregisterByName(m.name),b&&t.onPtScale(m.name,()=>{const P=ze(t,m)||[];return m.children=P,we=P,m})):t.ptScaleRegistry.unregisterByName(m.name),ee=D,fe(),g&&(c.moveToRect=g)}else C.hidden=!0,E.hidden=!0;o.routeStore.updateRoute(T.filter(i=>!i.virtual)),y.get()||(C.hidden=!0,E.hidden=!0)}function J(){const e=o.routeStore.currentPosition,n=e?.angle?Ie(e.angle):null,i=o.routeStore.currentRouteLayer?.name,h=T.filter(A=>o.layerStore.mode==_e.Default?!0:o.layerStore.layers.find(He=>He.name==i&&i===A.p0.layer)?.visible).filter(A=>!A.virtual);if(c.kioskData&&c.selectedRoute?.from){const A=o.routeStore.currentRouteLayer;C.hidden=c.selectedRoute?.from?.entity?.type==="route-cut-in"&&A?.name===c.selectedRoute?.from?.layer?.name,E.hidden=c.selectedRoute?.to?.entity?.type==="route-cut-in"&&A?.name===c.selectedRoute?.to?.layer?.name}if(e){const A=Ae.findLayer(e.z)?.visible??!0;o.routeStore.iconType===0||c.selectedRoute?.from&&c.selectedRoute?.to?(O.hidden=!0,N.hidden=!A,N.dim=!A,N.bounds=R(e.x,e.y,M.width,M.height,t.scale),n!=null?(N.hidden=!0,F.hidden=!A,F.dim=!A,F.bounds=R(e.x,e.y,$.width,$.height,t.scale,n)):F.hidden=!0):(N.hidden=!0,F.hidden=!0,O.dim=!A,O.hidden=!A,O.bounds=R(e.x,e.y,Y.width,Y.height,t.scale))}else N.hidden=!0,O.hidden=!0,F.hidden=!0,de(),fe();if(!e||!I.length){t.update(F,N,O);return}const g=c.selectedRoute?.to,D=c.selectedRoute?.from,b={layer:D?.layer?.name,x:C.bounds.center.x,y:C.bounds.center.y},P={layer:g?.layer?.name,x:E.bounds.center.x,y:E.bounds.center.y},S=tt(e,h,{snapThreshold:ae,fromPoint:b,toPoint:P,fromRect:D?.rect,toRect:g?.rect}),v=S.snapped?S.snappedPoint:e;fe(S,!0),F.bounds=R(v.x,v.y,$.width,$.height,t.scale,n),N.bounds=R(v.x,v.y,M.width,M.height,t.scale,n),t.update(F,N,O)}function Be(){const e=[{point:F,name:"wf-current-arrow"},{point:N,name:"wf-current-location"},{point:O,name:"wf-current-location-2"}];_.children=e.map(({point:n})=>n),e.forEach(({point:n,name:i})=>te(n,i)),t.update(_)}function V(e=!1){const n=[C,E,...s.get(),...u.get()];e&&(Me(!0),m.children=[],n.forEach(i=>{i.source.id.includes("kiosk")||(i.hidden=!0)})),l.children=n,t.update(l,m)}function de(e,n){const i=T.filter(P=>!P.virtual),h=pe(i);if(!e?.snapped){o.routeStore.updateRouteDistance(h);return}const g=c.selectedRoute?.to,D=pe(n);let b;if(e.snappedPoint?.layer===g?.layer?.name||g?.layer?.name===o.routeStore.currentRouteLayer?.name)b=D;else if(e.snappedPoint?.layer!==g?.layer?.name&&e.snappedPoint?.layer===o.routeStore.currentRouteLayer?.name){const P=i.filter(v=>v.p0.layer!==e?.snappedPoint?.layer&&v.p1.layer!==e?.snappedPoint?.layer),S=pe(P);b=D+S}b&&o.routeStore.updateRouteDistance(b)}function fe(e,n=!1){const i=c.selectedRoute?.from,h=c.selectedRoute?.to;if(!i||!h)return;const g=T[0]?.p0.layer,D=qe(T,ee,{layer:i.layer?.name??g,x:i.rect.cx,y:i.rect.cy},{layer:h.layer?.name??g,x:h.rect.cx,y:h.rect.cy});if(!e?.snapped){const S=D.map(v=>ye(v,ke));o.routeStore.currentPosition&&o.routeStore.currentRouteLayer&&o.routeStore.currentPosition?.z?.toString()===o.routeStore.currentRouteLayer?.name.toString()&&de(),Ce([],S,n);return}const{passed:b,remaining:P}=et(D,e.snappedPoint);P.length&&(P[0]={...P[0],p0:e.snappedPoint}),de(e,P),Ce(b.map(S=>ye(S,"#B5B7BC")),P.map(S=>ye(S,ke)),n)}const te=(e,n)=>t.onPtScale(n,i=>(e.hidden||(e.bounds=R(e.bounds.center.x,e.bounds.center.y,e.source.width,e.source.height,i,e.bounds.rotation)),e)),be=(e,n)=>t.onRoll(n,i=>{const h=Qe(i,e.bounds.rotation);return h!==void 0&&(e.bounds.rotation=e.bounds.rotation+h),e});function Me(e){r&&(r.stop(),r=null),w.children=[],e&&(x.children=[]),t.update(w,x)}function Ce(e=[],n=[],i=!1){let h=0;if(r&&(i&&(h=r.getProgress()),r.stop(),r=null),x.children=[...e,...n],!n.length){w.children=[],t.update(w,x);return}const g=n.map(b=>({...b,color:at}));r=Ze(g,(b,P,S)=>{if(S)w.children=[];else{const v=g.slice(0,P);w.children=[...v,b]}t.update(w)},()=>t.scale,h)??null,t.update(x)}a.push(q(()=>[o.layerStore.layersLoaded],()=>{ce(),J(),V()}));const $e=q(()=>[o.routeStore.currentRouteLayer,c.getRouteNextFloor],()=>{o.layerStore.layersLoaded&&(f!==null&&clearTimeout(f),f=setTimeout(()=>{ce(o.routeStore.currentRouteLayer),J(),V(),f=null},0))});a.push(()=>{f!==null&&(clearTimeout(f),f=null),$e()}),a.push(q(()=>[c.selectedRoute,o.routeStore.onlyAccessible],()=>{ce(),J(),V(!c.selectedRoute)})),a.push(q(()=>o.routeStore.currentPosition,()=>{J(),V()})),a.push(q(()=>s.get(),e=>{const n="transitionPoints";t.ptScaleRegistry.unregisterByPrefix(n),t.rollRegistry.unregisterByPrefix(n),e.length&&e.forEach((i,h)=>{const g=`${n}-${h}`;te(i,g),be(i,g)})})),a.push(q(()=>[u.get()],()=>{const e=u.get(),n="kioskArrows";t.ptScaleRegistry.unregisterByPrefix(n),e.length&&e.forEach((i,h)=>te(i,`${n}-${h}`))})),a.push(q(()=>[c.kioskData,Ae.floors.find(e=>e.active),c.selectedRoute],([e,n])=>{u.set([]);const i=ve()?e?.z===n?.name:!0;e&&i&&ht(e,{skipdim:!0,visible:!0,pixelRatio:L},t.scale,u),V()}));function Ee({data:e}){const{defs:n}=Fe(e),i=p.find(h=>n.includes(h.imageDef));i&&o.layerStore.updateVisibility(i.targetLayer,!0)}t.renderer.events.addEventListener("pointer:click",Ee),a.push(()=>t.renderer.events.removeEventListener("pointer:click",Ee));function Te({data:e}){const{defs:n}=Fe(e),i=p.some(h=>n.includes(h.imageDef));t.renderer.canvas.style.cursor=i?"pointer":""}t.renderer.events.addEventListener("pointer:move",Te),a.push(()=>t.renderer.events.removeEventListener("pointer:move",Te)),[{point:C,name:"wf-source"},{point:E,name:"wf-destination"}].forEach(({point:e,name:n})=>{te(e,n),be(e,n)}),V(),J(),Be();function Oe(){r&&(r.stop(),r=null),a.forEach(e=>e()),a.length=0}return Oe}function lt(t){const r=o.routeStore.currentRouteLayer?.name,a=I;let f=c.selectedRoute?.from,y=c.selectedRoute?.to;const s=c.selectedRoute?.waypoints;if(f?.entity.type==="route-cut-in"&&(f=null),y?.entity.type==="route-cut-in"&&(y=null),!a.length)return;const p=[{key:"sourceLocation",rect:f?.rect,index:void 0},{key:"destinationLocation",rect:y?.rect,index:void 0}];s&&p.push(...s?.map((x,m)=>({key:`waypoint-${x.externalId}`,index:m,rect:x.rect})));const u=r?ie(r,f?.layer?.name):!0,d=r?ie(r,y?.layer?.name):!0;let l=!1,_=!1;a.forEach(({x,y:m})=>{for(const{key:w,rect:U,index:ae}of p)if(U?.containsPoint(x,m)){w==="sourceLocation"&&(C.bounds=R(x,m,z.width,z.height,t),C.hidden=!u,C.dim=!u,l=u),w==="destinationLocation"&&(E.bounds=R(x,m,B.width,B.height,t),E.hidden=!d,E.dim=!d,_=d);break}}),l||(C.bounds=R(a[a.length-1].x,a[a.length-1].y,z.width,z.height,t),C.hidden=!1,C.dim=!1),_||(E.bounds=R(a[0].x,a[0].y,B.width,B.height,t),E.hidden=!d,E.dim=!d)}function ct(){const{from:t,to:r}=o.uiState.selectedRoute||{},a="route-cut-in";return t&&t?.entity.type===a||r&&r?.entity.type===a?o.routeStore.defaultFrom:null}function dt(t,r){if(!t||!r.length)return r;const a=r.reduce((f,y,s)=>Se(t,y)<Se(t,r[f])?s:f,0);return a<=r.length/2?r.slice(a):r.slice(0,a)}function ft(t,r,a){const f=o.routeStore.currentRouteLayer?.name,y=o.layerStore.floors.map(u=>u.name).reverse(),s=Ge({routeLines:T,currentLayerName:f,floorOrder:y});a.length=0;const p=s.map(u=>{const d=u.role==="entry"?xe:u.direction==="up"&&Re?Re:u.direction==="down"&&Le?Le:ge,l=H(d,R(u.x,u.y,d.width,d.height,t),{hidden:!1,dim:!1});return u.role==="exit"&&a.push({imageDef:l,targetLayer:u.targetLayer}),l});r.set(p)}function ht(t,r,a=1,f){if(!t)return;const y=o.fp.icons.get("kiosk");y.id="kiosk";let s;if(y){const u=t?.iconSizePercent?t.iconSizePercent/100:1,d=55;s=k(y,oe(199*u,d),oe(152*u,d),L)}else s=De(L,ne("#ee4422").hex());const p=H(s,R(t.x,t.y,s.width,s.height,a,Ie(t.heading||0)),{hidden:!r.visible,dim:!r.skipdim});f.set([...f.get(),p])}function ze(t,r,a=!1){let f=I.length-1;if(c.selectedRoute?.to?.entity.type==="route-cut-in"&&(f=0),a){we=[],r.children=[],t.update(r);return}const y=t.scale,s=I[f],p=X?.destination;if(!s||!p)return;const u=Z.width,d=Ve([{p0:s,p1:p}],u*2*y);if(d.length<2)return;const l=p.x-s.x,_=p.y-s.y,x=Math.hypot(l,_),m={x:(s.x+p.x)/2,y:(s.y+p.y)/2-x*.2},w=[s,m,p],U=d.map((ae,ee,j)=>{const G=(ee+1)/(j.length+1),K=Ke(w,G);return H(Z,R(K.x,K.y,Z.width,Z.height,y),{hidden:!1,dim:!1})})||[];return r.children=U,we=U,U}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import x from"color";import z from"mapbox-gl";import y from"../../../core/Rect";import k from"../../../data";import{svgArea as w}from"../../../data/svg";import h,{uiState as m}from"../../../store";import{RegularBooth as T,SpecialBooth as E}from"../../../store/BoothStore";import L from"../../../tools/settings";import{bearing as I,convertLocalToGps as g}from"../../../utils/gps";import P from"../../../utils/imageloader";import{fpGeo as s}from"
|
|
1
|
+
import x from"color";import z from"mapbox-gl";import y from"../../../core/Rect";import k from"../../../data";import{svgArea as w}from"../../../data/svg";import h,{uiState as m}from"../../../store";import{RegularBooth as T,SpecialBooth as E}from"../../../store/BoothStore";import L from"../../../tools/settings";import{bearing as I,convertLocalToGps as g}from"../../../utils/gps";import P from"../../../utils/imageloader";import{fpGeo as s}from"../../../data/fpGeo";var c;(function(t){t.booth="booth",t.building="building",t.other="other"})(c||(c={}));function C(){if(!s)return 0;var t=s?.properties?.mpViewbox;if(!t||t.length<4)return 0;var o=s?.properties?.bearing;let e=o??-1*I(t[1],t[0],t[3],t[2])-90;return Math.abs(e)>=360&&(e=180),e}function j(){var t=1e3,o=1e3,e=-1e3,l=-1e3,r=s;if(!s||!r.features)return y.fromXywh(0,0,100,100);var n=r.features.filter(d=>d.properties.type===c.booth);if((Array.isArray(n)?n:[n]).forEach(d=>{var D=d.geometry.coordinates[0]||[];for(let v=1;v<D.length;v++){const f=D[v];f[0]<t&&(t=f[0]),f[1]<o&&(o=f[1]),f[0]>e&&(e=f[0]),f[1]>l&&(l=f[1])}}),t===1e3){var i=s?.properties?.mpViewbox,p=[i[0],i[2],i[4]],u=[i[1],i[3],i[5]];return y.fromX1y1x2y2(Math.min(...p),Math.min(...u),Math.max(...p),Math.max(...u))}return y.fromX1y1x2y2(t,o,e,l)}function X(){return s?.properties?.style||"light-v10"}export function actualBoothColor(t){let o;if(t instanceof E)o=t.color||L.colors.booths.empty;else if(t instanceof T){const e=L.colors.booths;t.onHold?o=t.holdColor||t.soldColor||e.default:t.exhibitors.length||t.reserved?o=t.soldColor||e.default:o=t.availColor||e.empty}return(o==="#666"||o==="#666666")&&(o="rgba(0,0,0,0.172)"),o}export function getBoothlabel(t){return t.noLabels?null:t instanceof E?t.title||t.name:((k.hideExhibitors?[]:k.onlyFeaturedExhibitors?t.exhibitors.filter(e=>e.featured):t.exhibitors)||[])[0]?.name||t.title||t.name}function S(t){var o=parseInt(t).toString(16);return o.length===1?"0"+o:o}export const props={token:"pk.eyJ1Ijoicm9kaW9ubmlrb2xhZXYiLCJhIjoiY2wwanE5aXB4MDM2NTNibGExd3k4bHhsaiJ9.wdpy8dJ1qktQXGtZYDNH3w",initBearing:C()+30,initPitch:30,bearing:C(),viewbox:j(),style:X(),edgeZoom:19,extrusion:{building:5,booths:.5,other:.5}};const G=props.style.indexOf("dark")>-1,H=G?["interpolate",["linear"],["line-progress"],0,"#ff9e2c",.5,"lime",1,"#30afeb"]:["interpolate",["linear"],["line-progress"],0,x("#ff9e2c").darken(.3).hex(),.5,x("lime").darken(.3).hex(),1,x("#30afeb").darken(.3).hex()];let M={},a;const B=document.createElement("canvas");var b=B.getContext("2d");function N(t){const{width:o,height:e}=t;return B.width=o,B.height=e,b.fillStyle="white",b.fillRect(0,0,o,e),b.drawImage(t,0,0),b.getImageData(0,0,o,e)}export async function loadLogos(t){const o=(await P(t)).filter(e=>!!e);return o.forEach(e=>a.addImage(e.name,N(e.htmlImage))),o}export function setMap(t){a=t}export function convertSvgPoint(t,o){return g(t,o,s.properties.config)}export function moveToRect(t,o=200,e=1e3,l=props.initPitch,r=props.initBearing){if(!a)return;const n=o/100*Math.max(Math.abs(t.x2-t.x1),Math.abs(t.y2-t.y1))||0;var i=convertSvgPoint(t.x1-n,t.y1-n),p=convertSvgPoint(t.x2+n,t.y2+n);a.fitBounds([i,p],{essential:!0,duration:e,pitch:l,bearing:r}),m.moveToRect=null}export function moveToLocation(t=1e3,o=props.initPitch,e=props.initBearing){const l=h.routeStore.currentPosition,{lng:r,lat:n,x:i,y:p}=l;if(!(r&&n)&&!s.properties.config)return;const[u,d]=r&&n?[r,n]:g(i,p,s.properties.config);a.flyTo({center:[u,d],essential:!0,duration:t,pitch:o,bearing:e}),a.once("moveend",()=>{m.moveToLocation=!1})}export function zoomMap(t){a.flyTo({zoom:a.getZoom()+(t?.5:-.5),animate:!0,duration:500,essential:!0})}export function switchViewbox(t){let o=1200;t?m.selectedBooths.size?moveToRect(y.fromMultiple([...m.selectedBooths].map(e=>e.rect))):m.moveToRect=h.layerStore.rectangle||w:(m.moveToRect=h.layerStore.rectangle||w,moveToRect(w,0,o,0,props.bearing)),h.mapboxStore.mapBoxSelected=t}export function setDataSource(t,o){return s.features.forEach(e=>{if(e.properties.id=e.properties.id?.substring(1),e.properties.height=props.extrusion[e.properties.type]||props.extrusion.booths,e.properties.type===c.booth){let i=t.filter(p=>p.name===e.properties.id)[0];if(i){e.properties.color=actualBoothColor(i),e.properties.description=getBoothlabel(i);const p=o.find(u=>u?.name===i.slug);if(p){var l=Math.max(i.rect.w,i.rect.h),r=l/p.htmlImage.width;e.properties.scale=Math.max(.08,r/5),e.properties.scale1=5*e.properties.scale;var n=i?.exhibitors?.find(u=>!!u.logo&&u.logoInBooth);n&&(e.properties.logo=i.slug)}}}else{let i=e.properties.color;e.properties.color=`#${S(i.R||i.r||0)}${S(i.G||i.g||0)}${S(i.B||i.b||0)}`}}),updateSelectionDataSource([...m.selectedBooths],h.boothStore.booths),a.addSource("data",{type:"geojson",data:s})}export function updateHoverDataSource(t,o){s.features.forEach(e=>{if(e.properties.type===c.booth){var l=o.find(r=>r.name===e.properties.id);t.indexOf(l)>-1?e.properties.height=4*props.extrusion.booths:e.properties.height=props.extrusion.booths}}),a.getSource("data")?.setData(s)}export function updateSelectionDataSource(t,o){s.features.forEach(e=>{if(e.properties.type===c.booth){const l=o.find(n=>n.name===e.properties.id),r=actualBoothColor(l);t.length?e.properties.color=t.indexOf(l)===-1?x(r).darken(.7).hex():"#f03b55":e.properties.color=r}}),a.getSource("data")?.setData(s)}export function setLayers(t){const o=[];return t.forEach(e=>{(s.images?.filter(r=>r.layer===e.name)??[]).forEach((r,n)=>{const i=e.name+"--bg_"+n;o.push(i),a.addSource(i,{type:"image",url:r.data,coordinates:r.points}),a.addLayer({id:i,source:i,type:"raster",layout:{visibility:e.visible?"visible":"none"}})}),o.push(e.name+"--other"),a.addLayer({id:e.name+"--other",type:"fill",source:"data",filter:["all",["in","type",c.other],["in","layer",e.name],["!in","value","3D"]],layout:{visibility:e.visible?"visible":"none"},paint:{"fill-color":["get","color"]}}),o.push(e.name+"--other-3D"),a.addLayer({id:e.name+"--other-3D",type:"fill-extrusion",source:"data",filter:["all",["in","type",c.other],["in","layer",e.name],["in","value","3D"]],layout:{visibility:e.visible?"visible":"none"},paint:{"fill-extrusion-color":["get","color"],"fill-extrusion-height":["get","height"]}})}),t.forEach(e=>{var l=s.features.filter(r=>r.properties.type===c.booth&&r.properties.layer===e.name);l.length&&(o.push(e.name),o.push(e.name+"--labels"),o.push(e.name+"--logos"),a.addLayer({id:e.name,type:"fill-extrusion",source:"data",filter:["all",["in","type",c.booth],["in","layer",e.name]],layout:{visibility:e.visible?"visible":"none"},paint:{"fill-extrusion-color":["get","color"],"fill-extrusion-height":["get","height"],"fill-extrusion-opacity":1}}),a.addLayer({id:e.name+"--labels",type:"symbol",source:"data",filter:["all",["in","type",c.booth],["in","layer",e.name],["!has","logo"]],minzoom:18,layout:{"text-field":["get","description"],"text-size":["interpolate",["linear"],["zoom"],18,8,19.5,10,20,11,20.5,11,21,16,22,20],"text-allow-overlap":!1,"text-ignore-placement":!1,visibility:e.visible?"visible":"none"},paint:{"text-color":L.boothLabelColor}}),a.addLayer({id:e.name+"--logos",type:"symbol",source:"data",filter:["all",["in","type",c.booth],["in","layer",e.name],["has","logo"]],minzoom:18,layout:{"icon-size":["interpolate",["exponential",2],["zoom"],18,["get","scale"],22,["get","scale1"]],"icon-image":["get","logo"],"icon-anchor":"bottom","icon-allow-overlap":!0,"icon-ignore-placement":!0,"icon-rotation-alignment":"viewport","icon-pitch-alignment":"viewport",visibility:e.visible?"visible":"none"}}))}),o}export function setBuildingsLayer(){a.addLayer({id:"buildings",type:"fill-extrusion",source:"data",filter:["in","type",c.building],paint:{"fill-extrusion-vertical-gradient":!0,"fill-extrusion-color":["get","color"],"fill-extrusion-height":["get","height"],"fill-extrusion-opacity":["interpolate",["linear",.5],["zoom"],16,.9,19,.1]}})}export function setMarker(t,o){var e=M[t];if(!o){e?.remove(),M[t]=null;return}const{x:l,y:r}=o,n=o.lat&&o.lng?[o.lng,o.lat]:g(l,r,s.properties.config);if(!e){var i=document.createElement("div");i.className=`marker ${t}`,e=new z.Marker(i,{rotationAlignment:t!=="to"&&t!=="yah"?"map":"auto"}).setLngLat(n),e.addTo(a),M[t]=e}e.setLngLat(n)}export function setWayfindingLayer(){a.addSource("wfData",{type:"geojson",lineMetrics:!0,data:null}),a.addLayer({id:"wf",type:"line",source:"wfData",minzoom:2,paint:{"line-color":"#30afeb","line-width":3,"line-gradient":H,"line-gap-width":2},layout:{"line-cap":"round","line-join":"round"}})}export function updateRouteLines(t){var o=a.getSource("wfData");o||(setWayfindingLayer(),o=a.getSource("wfData"));var e=t.routeLines.filter(p=>{let u=h.layerStore.layers.find(d=>d.name===p.p0.layer)?.visible??!0;return!p.virtual&&u}),l=e[0]?.p0,r=e[e.length-1]?.p1,n=[];r&&(n=e.map(p=>g(p.p0.x,p.p0.y,s.properties.config)),n.push(g(r.x,r.y,s.properties.config)));var i={type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:n}}]};o.setData(i),setMarker("from",r),setMarker("to",l)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as R}from"react-dom/client";import{install as I}from"resize-observer";import V from"./components/Layout";import $ from"./floorplan.loader";import{applyParameters as M,destroyHistory as j,initRouting as z}from"./services/routing";import t from"./store";import{Route as S,findBooth as x,separateExternalIds as E}from"./store/RouteStore";import{destroyUiHandlers as G}from"./store/init/init-ui";import{GaEventActions as P,destroyGtag as _,sendEventToGa as w,setConsentSettings as q}from"./tools/gtag";import N from"./tools/report-error";import{resetGlobalVariables as Y}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as v}from"./components/Mapbox/utils/fpGeo";import{convertLocalToGps as O,isValidPointCoords as d}from"./utils/gps";import m from"./core/Rect";import{mapEntity as y}from"./utils/mapEntity";import{LANG_KEY as X,MAX_ROUTE_WAYPOINTS as p,PATHWAY_KEY as U}from"./constants";import{getStorage as B}from"./utils/entity-storage";import{ErrorBoundary as D}from"@sentry/react";import{POISelectorsSchema as F,BoundsSchema as K,ZoomToOptionsSchema as A}from"./schemas/sdk.schemas";import W from"debug";import{buildOptimizedRoute as Q}from"./utils/buildOptimizedRoute";import{hasLocale as Z,getLocales as J}from"./utils/i18n";const b=W("efp:api");I();export default class ee extends ${root;init(){this.ignoreQuery||z(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),w(P.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),w(P.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const i=t.boothStore.booths.filter(o=>typeof e=="string"?o.name===e||o.externalId===e:e.includes(o.name)||e.includes(o.externalId));t.selectBooth(i)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const i=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!i?.length)return;if(typeof e=="string"){t.selectExhibitor(i[0]),t.moveToList([i[0]]);return}const o=i.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=o.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:o[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:i,query:{key:"exhibitors",value:i.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:i,exhibitorExternalIds:o}=E(e);t.boothStore.highlightedByExternalIds=[...i],t.exhibitorStore.highlightedByExternalIds=[...o]}selectRoute(e,i){if(Array.isArray(e)){let o=[...e];const n=o.shift(),s=o.pop();if(o.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new S(f(n),f(s),o.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new S(f(e),f(i)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);const i=e.map(f).filter(n=>!!n);if(!i.length)throw new Error("No booths found for the provided waypoints.");const o=new Map;for(const n of i){const s=n.layer?.name??"",r=o.get(s);r?r.push(n):o.set(s,[n])}return Array.from(o.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,i,o){const n=d(e.x)&&d(e.y),s=d(e.lng)&&d(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,i,o),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(i=>{const o=t.exhibitorStore.exhibitors.find(n=>n.name===i.name||n.externalId===i.externalId);o&&(o.bookmarked=i.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const i=["exhibitor","event","speaker","booth"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesBookmarks",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000702");return}const n=B("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const i=["exhibitor","event"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesVisited",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000704");return}const n=B("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,i=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,i)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,i){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),i||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,i)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>y(e))}boothsList(){return t.boothStore.booths.map(e=>y(e))}categoriesList(){return t.categoryStore.categories.map(e=>y(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const i=e?.toLowerCase(),o=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===i||s?.toLowerCase()===i);if(!o){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(o)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.mapboxStore.activateMapbox()}zoomTo(e,i){b("zoomTo called with selectors=%O options=%O",e,i);const o=F.safeParse(e);if(!o.success){a("zoomTo",o.error.message,"EFP001600");return}const n=A.safeParse(i);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,i)}getBounds(e){b("getBounds called with selectors=%O",e);const i=F.safeParse(e);if(!i.success){a("getBounds",i.error.message,"EFP001400");return}const o=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&o.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&o.push(l.rect)})}),o.length===0)return;const n=m.fromMultiple(o);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,i){if(b("fitBounds called with bounds=%O options=%O",e,i),!e){t.uiState.fitBounds();return}const o=K.safeParse(e);if(!o.success){a("fitBounds",o.error.message,"EFP001500");return}const n=A.safeParse(i);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(i?.padding){const r=i.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),x(e)?.rect}convertToGeo(e,i){if(!v?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!i){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,i,v.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),j(),G(),_(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(i=>({item:y(i.item),score:i.score}))))}getFloors(){return t.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?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const i=this.getFloors();if(e.name){const o=i.find(n=>n.name===e.name||n.shortName===e.name);if(!o){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(o.active)return;this.updateLayerVisibility(o.name,!0);return}if(e.index!==null){const o=i.find(s=>s.index===e.index),n=o?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(o.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,i){const o=new URLSearchParams;if(o.set(U,e),i?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=E(i);n.length>0&&o.set("booths",n.join(",")),s.length>0&&o.set("exhibitors",s.join(","))}this.applyParameters(o.toString())}showPathwayOnly(e,i){this.activateFloor({name:i}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const o=t.layerStore.findLayer(e),n=t.layerStore.findLayer(i),s=o?.rect||o?.viewbox?o:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const i=e?.toLowerCase?.();if(!Z(i)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const o=new URLSearchParams;o.set(X,i),this.applyParameters(o.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}}function f(u){return typeof u=="string"?x(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,i){const o=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://developer.expofp.com/guide/java-script-api-reference";if(i&&(s+=`#error-${i}`),console.error(`${o} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:o,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
|
|
1
|
+
import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as R}from"react-dom/client";import{install as I}from"resize-observer";import V from"./components/Layout";import $ from"./floorplan.loader";import{applyParameters as M,destroyHistory as j,initRouting as z}from"./services/routing";import t from"./store";import{Route as S,findBooth as x,separateExternalIds as E}from"./store/RouteStore";import{destroyUiHandlers as G}from"./store/init/init-ui";import{GaEventActions as P,destroyGtag as _,sendEventToGa as w,setConsentSettings as q}from"./tools/gtag";import N from"./tools/report-error";import{resetGlobalVariables as Y}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as v}from"./data/fpGeo";import{convertLocalToGps as O,isValidPointCoords as d}from"./utils/gps";import m from"./core/Rect";import{mapEntity as y}from"./utils/mapEntity";import{LANG_KEY as X,MAX_ROUTE_WAYPOINTS as p,PATHWAY_KEY as U}from"./constants";import{getStorage as B}from"./utils/entity-storage";import{ErrorBoundary as D}from"@sentry/react";import{POISelectorsSchema as F,BoundsSchema as K,ZoomToOptionsSchema as A}from"./schemas/sdk.schemas";import W from"debug";import{buildOptimizedRoute as Q}from"./utils/buildOptimizedRoute";import{hasLocale as Z,getLocales as J}from"./utils/i18n";const b=W("efp:api");I();export default class ee extends ${root;init(){this.ignoreQuery||z(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),w(P.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),w(P.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const i=t.boothStore.booths.filter(o=>typeof e=="string"?o.name===e||o.externalId===e:e.includes(o.name)||e.includes(o.externalId));t.selectBooth(i)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const i=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!i?.length)return;if(typeof e=="string"){t.selectExhibitor(i[0]),t.moveToList([i[0]]);return}const o=i.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=o.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:o[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:i,query:{key:"exhibitors",value:i.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:i,exhibitorExternalIds:o}=E(e);t.boothStore.highlightedByExternalIds=[...i],t.exhibitorStore.highlightedByExternalIds=[...o]}selectRoute(e,i){if(Array.isArray(e)){let o=[...e];const n=o.shift(),s=o.pop();if(o.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new S(f(n),f(s),o.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new S(f(e),f(i)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);const i=e.map(f).filter(n=>!!n);if(!i.length)throw new Error("No booths found for the provided waypoints.");const o=new Map;for(const n of i){const s=n.layer?.name??"",r=o.get(s);r?r.push(n):o.set(s,[n])}return Array.from(o.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,i,o){const n=d(e.x)&&d(e.y),s=d(e.lng)&&d(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,i,o),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(i=>{const o=t.exhibitorStore.exhibitors.find(n=>n.name===i.name||n.externalId===i.externalId);o&&(o.bookmarked=i.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const i=["exhibitor","event","speaker","booth"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesBookmarks",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000702");return}const n=B("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const i=["exhibitor","event"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesVisited",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000704");return}const n=B("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,i=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,i)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,i){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),i||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,i)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>y(e))}boothsList(){return t.boothStore.booths.map(e=>y(e))}categoriesList(){return t.categoryStore.categories.map(e=>y(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const i=e?.toLowerCase(),o=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===i||s?.toLowerCase()===i);if(!o){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(o)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.mapboxStore.activateMapbox()}zoomTo(e,i){b("zoomTo called with selectors=%O options=%O",e,i);const o=F.safeParse(e);if(!o.success){a("zoomTo",o.error.message,"EFP001600");return}const n=A.safeParse(i);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,i)}getBounds(e){b("getBounds called with selectors=%O",e);const i=F.safeParse(e);if(!i.success){a("getBounds",i.error.message,"EFP001400");return}const o=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&o.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&o.push(l.rect)})}),o.length===0)return;const n=m.fromMultiple(o);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,i){if(b("fitBounds called with bounds=%O options=%O",e,i),!e){t.uiState.fitBounds();return}const o=K.safeParse(e);if(!o.success){a("fitBounds",o.error.message,"EFP001500");return}const n=A.safeParse(i);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(i?.padding){const r=i.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),x(e)?.rect}convertToGeo(e,i){if(!v?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!i){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,i,v.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),j(),G(),_(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(i=>({item:y(i.item),score:i.score}))))}getFloors(){return t.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?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const i=this.getFloors();if(e.name){const o=i.find(n=>n.name===e.name||n.shortName===e.name);if(!o){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(o.active)return;this.updateLayerVisibility(o.name,!0);return}if(e.index!==null){const o=i.find(s=>s.index===e.index),n=o?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(o.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,i){const o=new URLSearchParams;if(o.set(U,e),i?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=E(i);n.length>0&&o.set("booths",n.join(",")),s.length>0&&o.set("exhibitors",s.join(","))}this.applyParameters(o.toString())}showPathwayOnly(e,i){this.activateFloor({name:i}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const o=t.layerStore.findLayer(e),n=t.layerStore.findLayer(i),s=o?.rect||o?.viewbox?o:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const i=e?.toLowerCase?.();if(!Z(i)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const o=new URLSearchParams;o.set(X,i),this.applyParameters(o.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}}function f(u){return typeof u=="string"?x(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,i){const o=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://developer.expofp.com/guide/java-script-api-reference";if(i&&(s+=`#error-${i}`),console.error(`${o} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:o,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__esDecorate as o,__runInitializers as a}from"tslib";import{action as g,computed as w,observable as s}from"mobx";import{fpGeo as A}from"../
|
|
1
|
+
import{__esDecorate as o,__runInitializers as a}from"tslib";import{action as g,computed as w,observable as s}from"mobx";import{fpGeo as A}from"../data/fpGeo";import d from"../data";import{uiState as k}from"./index";let E=(()=>{let l=[],r,n=[],c=[],p,m=[],x=[],h,u=[],b=[],_,B=[],f=[],M,v,S;return class{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;r=[s],p=[s],h=[s],_=[s],M=[g],v=[w({keepAlive:!0})],S=[w({keepAlive:!0})],o(this,null,M,{kind:"method",name:"activateMapbox",static:!1,private:!1,access:{has:t=>"activateMapbox"in t,get:t=>t.activateMapbox},metadata:e},null,l),o(this,null,v,{kind:"getter",name:"hideModeSwitchButton",static:!1,private:!1,access:{has:t=>"hideModeSwitchButton"in t,get:t=>t.hideModeSwitchButton},metadata:e},null,l),o(this,null,S,{kind:"getter",name:"showMapbox",static:!1,private:!1,access:{has:t=>"showMapbox"in t,get:t=>t.showMapbox},metadata:e},null,l),o(null,null,r,{kind:"field",name:"mapBoxSelected",static:!1,private:!1,access:{has:t=>"mapBoxSelected"in t,get:t=>t.mapBoxSelected,set:(t,i)=>{t.mapBoxSelected=i}},metadata:e},n,c),o(null,null,p,{kind:"field",name:"isMapbox",static:!1,private:!1,access:{has:t=>"isMapbox"in t,get:t=>t.isMapbox,set:(t,i)=>{t.isMapbox=i}},metadata:e},m,x),o(null,null,h,{kind:"field",name:"mapBoxActivated",static:!1,private:!1,access:{has:t=>"mapBoxActivated"in t,get:t=>t.mapBoxActivated,set:(t,i)=>{t.mapBoxActivated=i}},metadata:e},u,b),o(null,null,_,{kind:"field",name:"mapBoxEnabled",static:!1,private:!1,access:{has:t=>"mapBoxEnabled"in t,get:t=>t.mapBoxEnabled,set:(t,i)=>{t.mapBoxEnabled=i}},metadata:e},B,f),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}rootStore=a(this,l);mapBoxSelected=a(this,n,!0);isMapbox=(a(this,c),a(this,m,!0));mapBoxActivated=(a(this,x),a(this,u,!d.hide3dMapDefault));mapBoxEnabled=(a(this,b),a(this,B,!!A&&d.allow3dView&&!k.kiosk&&window.navigator.onLine));constructor(e){a(this,f),this.rootStore=e}activateMapbox(){this.mapBoxSelected=!this.showMapbox,this.mapBoxActivated=!0}get hideModeSwitchButton(){return d.hideModeSwitchButton=!0,this.mapBoxEnabled&&d.hideModeSwitchButton}get showMapbox(){return this.mapBoxEnabled&&this.mapBoxSelected&&this.mapBoxActivated}}})();export default E;
|