@expofp/floorplan 3.13.2 → 3.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{Button-C5DLguTW.js → Button-Di2ct8As.js} +5 -5
- package/dist/browser/{CookieConsent-CPXxoJkz.js → CookieConsent-CzE7xqru.js} +7 -7
- package/dist/browser/{Debug-bxMz-HDF.js → Debug-BsFpCwAP.js} +7 -7
- package/dist/browser/{Demo-CGCZqU_8.js → Demo-CUBUALkV.js} +9 -9
- package/dist/browser/{Free-I-EGiu3o.js → Free-CeVCkK7q.js} +9 -9
- package/dist/browser/{Gallery-Bce2fubu.js → Gallery-BseorZVt.js} +9 -9
- package/dist/browser/{GpsLoader-CnPH3rxE.js → GpsLoader-CEqhVKuQ.js} +22 -22
- package/dist/browser/{KioskStore-K0Ps7wq6.js → KioskStore-CkjO0Hfm.js} +6 -6
- package/dist/browser/{MaplibreAdapter-DKa1N9-7.js → MaplibreAdapter-Cv3TA80a.js} +90 -90
- package/dist/browser/{ModalContainer-BxCJTxBS.js → ModalContainer-DBzlfN-T.js} +10 -10
- package/dist/browser/{PermissionNotice-BS53dDaS.js → PermissionNotice-B07dAoJS.js} +6 -6
- package/dist/browser/{SetKioskMode-P2g_TnCr.js → SetKioskMode-Bx1kz1kp.js} +8 -8
- package/dist/browser/{ShowKiosk-Bz-7t-PL.js → ShowKiosk-B7-iTNeI.js} +12 -12
- package/dist/browser/{TouchHand-Dm3c6gpk.js → TouchHand-Bnn5MVhC.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-COyljU8V.js → ViewerMenuPanel-CXUBz4Wo.js} +10 -10
- package/dist/browser/{add-debug-secret-listener-DQjjtobD.js → add-debug-secret-listener-BNYotAb-.js} +1 -1
- package/dist/browser/{adopt-global-settings-DIJsf94E.js → adopt-global-settings-4U11MsDW.js} +9 -9
- package/dist/browser/{boolean-editor-D4Y66mgk.js → boolean-editor-CHApWCH1.js} +9 -9
- package/dist/browser/{bootIntercom-DUPbX22l.js → bootIntercom-DxJQ9eFU.js} +2 -2
- package/dist/browser/{booth-by-xy-DKyMJwg9.js → booth-by-xy-BLVVwNtj.js} +206 -206
- package/dist/browser/bundle.json +65 -65
- package/dist/browser/{classnames-CTiheKEO.js → classnames-DyPh2wWH.js} +2 -2
- package/dist/browser/{client-B0g0Q0fu.js → client-VtpPft-k.js} +4 -4
- package/dist/browser/{components-DUbHmBQ6.js → components-pEqQBzpb.js} +581 -581
- package/dist/browser/{debug-overlay-CKXL3Z9z.js → debug-overlay-BIIG939X.js} +10 -10
- package/dist/browser/{debug-ui-D2GPuJSX.js → debug-ui-Dd-aHSgD.js} +6 -6
- package/dist/browser/{dist-CZH-D_bo.js → dist-B--b6-sL.js} +6 -6
- package/dist/browser/{dist-CFY_dc-C.js → dist-B-7AJaNA.js} +3 -3
- package/dist/browser/{dist-BFVoy_zB.js → dist-qa-F0eMk.js} +5 -5
- package/dist/browser/{efp-debug-init-pd2smy4A.js → efp-debug-init-Bzf4T8Xx.js} +3 -3
- package/dist/browser/{enum-editor-a07SOXXi.js → enum-editor-DC0RIYSE.js} +4 -4
- package/dist/browser/{es5-jDwWZhmf.js → es5-DQ8JOeDN.js} +2 -2
- package/dist/browser/{event-not-found-CPqO_ew-.js → event-not-found-BKJBsZXi.js} +1 -1
- package/dist/browser/{exports-8JcxTO7_.js → exports-6X24q5_8.js} +1 -1
- package/dist/browser/{favicon-BhTDecsz.js → favicon-DxFo6cG6.js} +1 -1
- package/dist/browser/{fetch-retry.umd-BuEcG130.js → fetch-retry.umd-DbPKc93r.js} +2 -2
- package/dist/browser/{flex-FVc6l8VM.js → flex-D7Rgw10G.js} +5 -5
- package/dist/browser/{floorplan.loader-DM3BoMUa.js → floorplan.loader-DWmxY4b8.js} +19 -19
- package/dist/browser/{floorplan.ready-DQAk0-bE.js → floorplan.ready-BBeRJMyN.js} +312 -321
- package/dist/browser/{fuse-hiNWVTid.js → fuse-CMjVlF0N.js} +2 -2
- package/dist/browser/{i18n-DmUQ2csh.js → i18n-xqAQbHAE.js} +2885 -2510
- package/dist/browser/index.js +25 -25
- package/dist/browser/{index.module-Ce5K5GHH.js → index.module-Cow3RO4I.js} +4 -4
- package/dist/browser/{integrateKiosk-DLY98yHT.js → integrateKiosk-GhnQowhu.js} +3 -3
- package/dist/browser/{is-webview-DYW7jMPo.js → is-webview-BL3sbVlT.js} +1 -1
- package/dist/browser/{jsx-runtime-Cn7VZCRr.js → jsx-runtime-1kuNv2jo.js} +2 -2
- package/dist/browser/{lib-DKxIjoGs.js → lib-KmlWWpxs.js} +3 -3
- package/dist/browser/{loadImage-CFRF6nKm.js → loadImage-OQCwDcXc.js} +4 -4
- package/dist/browser/{logDeviceInfo-B2xD643p.js → logDeviceInfo-C4CqLCSB.js} +9 -9
- package/dist/browser/{main-BE7HSdfx.js → main-lSz23rgB.js} +1 -1
- package/dist/browser/{mobx-Dss6V0uv.js → mobx-Juv7YSNw.js} +4 -4
- package/dist/browser/{optional-boolean-editor-BDWvD6R3.js → optional-boolean-editor-Bzfn3FDz.js} +3 -3
- package/dist/browser/{optional-enum-editor-DzJSD274.js → optional-enum-editor-C46BK0zF.js} +4 -4
- package/dist/browser/{optional-string-editor-DvQrsAvN.js → optional-string-editor-77_tZQLr.js} +4 -4
- package/dist/browser/{particles.min-0GINFlmD.js → particles.min-vy3ld3Rh.js} +2 -2
- package/dist/browser/{react-CQIXbbli.js → react-DTFJ9F0z.js} +2 -2
- package/dist/browser/{react-dom-DB3HP1L3.js → react-dom--ZXNmyjd.js} +3 -3
- package/dist/browser/{rolldown-runtime-CBbNE2KV.js → rolldown-runtime-DKhEBWux.js} +1 -1
- package/dist/browser/{select-DkvD6Ont.js → select-BSCoOOKF.js} +10 -10
- package/dist/browser/{settings-3RnELfMa.js → settings-COo-V6uV.js} +2 -2
- package/dist/browser/{settings-item-wgFS4pwq.js → settings-item-twkhiQs1.js} +6 -6
- package/dist/browser/{store-Bh1UUDBZ.js → store-7Bfkwa8d.js} +2694 -2694
- package/dist/browser/{string-editor-DIG3V4Iv.js → string-editor-D3_ZBuje.js} +4 -4
- package/dist/browser/{text-field-Ce1nLpTL.js → text-field-BlFx76b3.js} +5 -5
- package/dist/browser/{theme-DE94e68B.js → theme-Cdr_JTu6.js} +8 -8
- package/dist/browser/{ui-DKrc1LYz.js → ui-DsnmvJHp.js} +8 -8
- package/dist/browser/{useRenderTarget-DwEjrRiD.js → useRenderTarget-CqTbZKLS.js} +4 -4
- package/dist/esm/components/LogoOverlay.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
- package/dist/esm/components/Overlay.d.ts +1 -1
- package/dist/esm/components/Overlay.js +1 -1
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/data/svg.js +1 -1
- package/dist/esm/load-dev.d.ts +1 -1
- package/dist/esm/services/url-dispatch.js +1 -1
- package/dist/esm/store/BoothStore.d.ts +1 -1
- package/dist/esm/store/HeatmapStore.js +1 -1
- package/dist/esm/store/LayerStore.js +1 -1
- package/dist/esm/store/UIState.d.ts +0 -1
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/store/init/init-booths.js +1 -1
- package/dist/esm/store/init/init-layers.js +1 -1
- package/dist/esm/store/types.d.ts +6 -6
- package/dist/esm/tools/settings.js +1 -1
- package/dist/esm/utils/camera-map-settings.d.ts +2 -2
- package/package.json +14 -14
|
@@ -1,14 +1,14 @@
|
|
|
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.13.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.13.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "0a67f4c1-0ef6-428f-92c6-94c57178bf21", e._sentryDebugIdIdentifier = "sentry-dbid-0a67f4c1-0ef6-428f-92c6-94c57178bf21");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { t as e } from "./jsx-runtime-
|
|
10
|
-
import { t } from "./settings-item-
|
|
11
|
-
import { t as n } from "./text-field-
|
|
9
|
+
import { t as e } from "./jsx-runtime-1kuNv2jo.js";
|
|
10
|
+
import { t } from "./settings-item-twkhiQs1.js";
|
|
11
|
+
import { t as n } from "./text-field-BlFx76b3.js";
|
|
12
12
|
//#region ../debug/src/lib/ui/string-editor.tsx
|
|
13
13
|
var r = e(), i = (e) => {
|
|
14
14
|
var i;
|
|
@@ -1,15 +1,15 @@
|
|
|
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.13.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.13.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "9c5a0877-c176-4e2d-b51c-123d50ab2b3c", e._sentryDebugIdIdentifier = "sentry-dbid-9c5a0877-c176-4e2d-b51c-123d50ab2b3c");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { D as n, i as r, l as i, n as a, s as o, u as s, y as c } from "./flex-
|
|
12
|
-
import { t as l } from "./classnames-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DKhEBWux.js";
|
|
10
|
+
import { t } from "./react-DTFJ9F0z.js";
|
|
11
|
+
import { D as n, i as r, l as i, n as a, s as o, u as s, y as c } from "./flex-D7Rgw10G.js";
|
|
12
|
+
import { t as l } from "./classnames-DyPh2wWH.js";
|
|
13
13
|
//#region ../../node_modules/.pnpm/@radix-ui+themes@3.3.0_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react@19.2._5ea800d4e947acedb1fa1275f1697b17/node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js
|
|
14
14
|
var u = /* @__PURE__ */ e(t()), d = /* @__PURE__ */ e(l()), f = {
|
|
15
15
|
size: {
|
|
@@ -1,18 +1,18 @@
|
|
|
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.13.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.13.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "f658045a-5be7-4ea4-a4b2-ddea9ab9caf3", e._sentryDebugIdIdentifier = "sentry-dbid-f658045a-5be7-4ea4-a4b2-ddea9ab9caf3");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { t as n } from "./jsx-runtime-
|
|
12
|
-
import { t as r } from "./react-dom
|
|
13
|
-
import { C as i, E as a, O as o, T as s, _ as c, o as l, v as u, w as d } from "./flex-
|
|
14
|
-
import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-
|
|
15
|
-
import { t as y } from "./classnames-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DKhEBWux.js";
|
|
10
|
+
import { t } from "./react-DTFJ9F0z.js";
|
|
11
|
+
import { t as n } from "./jsx-runtime-1kuNv2jo.js";
|
|
12
|
+
import { t as r } from "./react-dom--ZXNmyjd.js";
|
|
13
|
+
import { C as i, E as a, O as o, T as s, _ as c, o as l, v as u, w as d } from "./flex-D7Rgw10G.js";
|
|
14
|
+
import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-B--b6-sL.js";
|
|
15
|
+
import { t as y } from "./classnames-DyPh2wWH.js";
|
|
16
16
|
//#region ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.3_@types+react@19.2.17__@ty_cffccd7838985066e8e1d993b5cb6017/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
|
|
17
17
|
var b = /* @__PURE__ */ e(r(), 1), x = /* @__PURE__ */ e(t(), 1), S = n(), C = Object.freeze({
|
|
18
18
|
position: "absolute",
|
|
@@ -1,17 +1,17 @@
|
|
|
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.13.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.13.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "3c34ab8b-5d65-4c06-8595-6ed371acabc5", e._sentryDebugIdIdentifier = "sentry-dbid-3c34ab8b-5d65-4c06-8595-6ed371acabc5");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { a as t, i as n, s as r } from "./efp-debug-init-
|
|
11
|
-
import { a as i, i as a } from "./adopt-global-settings-
|
|
12
|
-
import { t as o } from "./jsx-runtime-
|
|
13
|
-
import "./settings-
|
|
14
|
-
import { t as s } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DKhEBWux.js";
|
|
10
|
+
import { a as t, i as n, s as r } from "./efp-debug-init-Bzf4T8Xx.js";
|
|
11
|
+
import { a as i, i as a } from "./adopt-global-settings-4U11MsDW.js";
|
|
12
|
+
import { t as o } from "./jsx-runtime-1kuNv2jo.js";
|
|
13
|
+
import "./settings-COo-V6uV.js";
|
|
14
|
+
import { t as s } from "./add-debug-secret-listener-BNYotAb-.js";
|
|
15
15
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
16
16
|
var c = /* @__PURE__ */ e(r(), 1), l = o(), u = !1;
|
|
17
17
|
function d() {
|
|
@@ -26,7 +26,7 @@ function d() {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
let o = async (t) => {
|
|
29
|
-
let { DebugUi: n } = await import("./debug-ui-
|
|
29
|
+
let { DebugUi: n } = await import("./debug-ui-Dd-aHSgD.js"), { createRoot: i } = await import("./client-VtpPft-k.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
|
|
30
30
|
document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, l.jsx)(n, {
|
|
31
31
|
useDebugButtonState: r.useState,
|
|
32
32
|
open: t
|
|
@@ -1,14 +1,14 @@
|
|
|
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.13.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.13.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "a7e05aea-745e-4a4b-ba82-432527d9c312", e._sentryDebugIdIdentifier = "sentry-dbid-a7e05aea-745e-4a4b-ba82-432527d9c312");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { c as n } from "./store-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DKhEBWux.js";
|
|
10
|
+
import { t } from "./react-DTFJ9F0z.js";
|
|
11
|
+
import { c as n } from "./store-7Bfkwa8d.js";
|
|
12
12
|
//#region src/utils/getRenderTargetFromRoot.ts
|
|
13
13
|
var r = /* @__PURE__ */ e(t(), 1);
|
|
14
14
|
function i(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as m}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as t,jsxs as m}from"react/jsx-runtime";import"./LogoOverlay.scss";import l from"classnames";import k from"color";import{useLocalStore as M,useObserver as P}from"mobx-react-lite";import{Suspense as _}from"react";import O from"../data";import{getFpSvgJs as C}from"../data/fp-payloads";import{fpGeo as f}from"../data/fpGeo";import c,{uiState as o}from"../store";import R from"../tools/base-runtime-url";import{buildExpofpUrl as N,UTM_CAMPAIGNS as V}from"../tools/expofpUrl";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import d from"../utils/is-from-designer";import A from"../utils/lazy-qr-code";import h from"./AlertContainer";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),D=p.backgroundColor!=="none"&&k(p.backgroundColor).isDark()||f?.properties?.style?.includes("dark");export default function E(){const b=M(()=>{const s=(i,e,T,S)=>({width:S,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 c.maplibreStore.showMaplibre&&(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 c.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(C().__fpStat?.dataSize/1024/1024||0),v=d&&u>=10,w=d&&!f&&O.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,x=l("efp-qr",{"is-right":g||o.rtl});return P(()=>m("div",{children:[t("a",{href:N(V.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:D}),style:b.style,children:t("img",{src:`${R}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),v&&t(h,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),w&&t(h,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&t(_,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(A,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LayerDef } from '@expofp/renderer';
|
|
2
|
-
import { ShapeBgDef } from '../../../../types/drawing.types';
|
|
3
2
|
import { PathInfo } from '../../../../renderer/engine-core/types';
|
|
4
3
|
import { Layer } from '../../../../store/LayerStore';
|
|
4
|
+
import { ShapeBgDef } from '../../../../types/drawing.types';
|
|
5
5
|
export declare const BG_LAYER_NAME = "bg";
|
|
6
6
|
export declare const FG_LAYER_NAME = "fg";
|
|
7
7
|
export default function configBg(layer: Layer): Promise<LayerDef>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Polygon as S,Rect as W}from"@expofp/geometry";import p from"color";import{reaction as k}from"mobx";import{createShapeDef as D}from"../../../../renderer";import{boothStore as m,layersStore as f,uiState as u
|
|
1
|
+
import{Polygon as S,Rect as W}from"@expofp/geometry";import p from"color";import{reaction as k}from"mobx";import{createShapeDef as D}from"../../../../renderer";import{boothStore as m,heatmapStore as P,layersStore as f,uiState as u}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as L}from"./BoothDrawerBase";export default function v(c,o){if(a.EXPO!=="confex20"&&!(o.poiType||o.borderColor==="none"||o.borderWidth===0&&!m.borderWidth||o.paths&&!o.pathsWithRect))return new R(c,o)}class R extends L{constructor(o,s){super(s);const t=this.booth.rect,{x:e,y:i}=t.center,{width:n,height:h}=t.size,r=s.borderWidth||m.borderWidth,l=[],d=(B,b,C,x)=>{const w=new W({x:B,y:b},{x:C,y:x}).toPolygon();l.push(w.rotate(s.rotate??0,{x:e,y:i}))};d(e,i-h/2,n+r,r),d(e,i+h/2,n+r,r),d(e-n/2,i,r,h+r),d(e+n/2,i,r,h+r);const g=S.merge(...l),y=this.getBorderColor();this.shape=D(g,y.string()),k(()=>[this.booth.skipDim,f.layersLoaded,this.booth.hover,this.booth.selected,u.heatmap],()=>{f.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,this.shape.color=this.getBorderColor().string(),o.update(this.shape))})}getBorderColor(){const o=this.booth;if(u.heatmap){const t=P.getHeatmapColorForBooth(o);if(o.selected){const e=a.colors.booths.selectedBorder;return e?p(e):t.darken(.4)}return o.hover?t.darken(.3):t.darken(.2)}const s=o.selected?a.colors.booths.selectedBorder:o.borderColor;return p(s||a.colors.booths.default)}getShape(){return this.shape}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getConfig as x}from"@expofp/config";import{
|
|
1
|
+
import{getConfig as x}from"@expofp/config";import{degToRad as O,Rect as T}from"@expofp/geometry";import{resolve as v}from"@expofp/resolve";import{BOOTHS_PAINTER_MARKER as D,SEPARATOR as m}from"../../../../constants";import{getFpPaths as H}from"../../../../data/fp-payloads";import{createImageDef as k,createLayerDef as F}from"../../../../renderer";import c,{boothStore as G}from"../../../../store";import K from"../../../../store/init/init-booths";import{getChildLayers as Y}from"../../../../store/init/init-layers";import{LayersMode as j}from"../../../../store/LayerStore";import{chunkArray as J}from"../../../../utils";import{loadIcons as U}from"../../../../utils/imageloader";import Z,{BG_LAYER_NAME as R,FG_LAYER_NAME as $}from"./config-bg";import q,{BOOTHS_CHUNK_SIZE as z}from"./config-booths";import{getImageLayerName as Q,getLayerIcons as V}from"./loadBoothsImages";function W(e){return e.childLayers.length?e.childLayers:Y(e,e.basePriority,15).layers}function E(e,t,f){return new Promise(async g=>{let n=[];const i=K(c,t),s=await Z(t),a=[],h=J(i,z),l=G.booths.filter(o=>o.rect&&(!o.layer||o.layer===t||o.layer.childLayers.includes(t))&&o.exhibitors.find(r=>!!r.logoInBooth&&!!r.logo?.url)&&!c.uiState.hideLogoInBooth),I=new Map(l.map(o=>[o.id,o.noLabels]));l.forEach(o=>o.noLabels=!0),i.length&&h.forEach((o,r)=>{a.push(q(e,`${t.name}${m}${D}${m}${r}`,o))}),l.forEach(o=>{o.noLabels=I.get(o.id)}),t.loaded=!0;const y=s.children.find(o=>o.name===R),u=s.children.find(o=>o.name===$),p=Q(t.name),d=V(t),L={name:p,children:[]};d.length&&e.onLayerImages(p,async()=>{const o=await U(d),r=[];for(const w of o.filter(Boolean)){const{bounds:{x:b,y:P,height:A,angle:S,width:_},htmlImage:M}=w,N=T.fromMinMax({x:b,y:P},{x:b+_,y:P+A},O(S)),C=k(M,N);r.push({shape:C})}return{layer:L,children:r}}),y&&n.push({...y,name:`${s.name}${m}${R}`}),a.length&&n.push(...a),u&&n.push({...u,name:`${s.name}${m}${$}`}),d.length&&n.push(L);const B=t.childLayers.sort((o,r)=>o.basePriority-r.basePriority).map(async o=>E(e,o,!0));Promise.all(B).then(o=>{const r=o.flat();r.length&&n.push(...r),t.children=n,t.configured=!0,g(F(t.name,n,{hidden:!f}))})})}export default async function X(e,t){return e.configured?Promise.resolve({name:e.name,children:e.children}):new Promise(async(f,g)=>{if(c.layerStore.mode!==j.Default&&!H(e.name)&&!e.rootParent)try{const a=x().fpSvgLayerJsRefs[e.name];a&&await v(a)}catch(a){console.warn(`Layer data not loaded: ${e.name}`,a)}const n=W(e);n.length&&(e.childLayers=n);const{layers:i}=c.layerStore;c.layerStore.layers=[...i,...n.filter(a=>!i.some(h=>h.name===a.name))];const s=await E(t,e,e.visible);f(s)})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{degToRad as f,radToDeg as d,Rect as h}from"@expofp/geometry";import{select as u}from"d3";import{SEPARATOR as y}from"../../../../constants";import{getFpSvgJs as R}from"../../../../data/fp-payloads";import{getLayerSvg as x}from"../../../../data/svg";import{flipImageDef as I,isInnerInsideOuter as w}from"../../../../renderer";import{rotateImageDef as A}from"../../../../renderer/engine-core/utils/rotation";import{getLogoUrl as L}from"../../../../utils/getLogoUrl";export async function loadLayersImages(e){const a=e.layerImagesRegistry.invoke();await Promise.all(a.map(async s=>{const n=await s;if(!n)return;const{layer:r,children:c}=n;if(c.length){const i=[];for(let o=0;o<c.length;o++){const{shape:t,parentRect:g}=c[o],l=w(t.bounds,g);if(!r.name.includes("Pathway_")){const m=l?"image-rotate":"image-flip";e.onRoll(`${m}-${r.name}-${o}`,l?p=>A(t,p):p=>I(t,p))}i.push(t)}r.children.push(...i),e.update(r)}}))}export const getImageLayerName=e=>`${e}${y}images`;export function mapBoothsLogos(e){return new Map(e.map(a=>{const s=a.rect&&a.exhibitors.find(n=>n.logoInBooth&&n.logo);return s?[a.id,{preferred:L(s.logo),fallback:s.logo.url}]:null}).filter(Boolean))}export function getLayerIcons(e){const a=u(x(e)).select(`[data-layer="${e.name}"]`);return(R().__fpVersion>5?a.selectAll(":scope > image, :scope > g:not([data-layer]) image").nodes():a.selectAll(":scope > g[data-is-editable='false'] image").nodes()).filter(Boolean)}export function createBoothImg(e,a){const s=e.rect,n=s.size.width,r=s.size.height,c=r?n/r:1,i=a.height?a.width/a.height:1;let o,t,g;const l=.9;c>i?(t=r*l,o=t*i):(o=n*l,t=o/i);const m=e.rotate||0;return i>=2&&!m&&r>=n*2?(t=n*l,o=t*i,g=-90):g=d(m),o>n&&(o=n,t=o/i),t>r&&(t=r,o=t*i),{name:e.slug,bounds:new h(s.center,{x:o,y:t},f(g)),htmlImage:a,booth:e}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _,jsxs as
|
|
1
|
+
import{jsx as _,jsxs as J}from"react/jsx-runtime";import"./Overlay.scss";import fe from"classnames";import{createContext as de,useCallback as a,useEffect as R,useMemo as Q,useRef as v,useState as m}from"react";import{MOBILE_BREAKPOINT as X}from"../constants";import{useDragGesture as ae}from"../hooks/useDragGesture";import{useWindowSize as me}from"../hooks/useWindowSize";import ge from"../tools/debounce";import{t as he}from"../utils/i18n";import ve from"./OverlayParticles";export const OverlayScrollContext=de(null);const Y=70,we="0.3s",pe=10,x=()=>window!==window.top&&(document.documentElement.clientHeight||document.body.clientHeight)||window.innerHeight,Z=(u=x(),r,s,I)=>({small:u/r,medium:u/s,full:u-I}),ye=({children:u,open:r,size:s="medium",particles:I=!1,className:$,onChangeSize:C,onScrollStateChange:w,smallSizeMultiplier:D=12.6,mediumSizeMultiplier:O=2.6,fullSizeOffset:A=0,scrollThreshold:G=pe,disableDrag:N=!1,forceFull:S=!1,scrollResetKey:V})=>{const{width:M,height:z}=me(),[t,ee]=m(()=>Z(x(),D,O,A)),[l,te]=m(()=>M<=X),[L,W]=m(!1),[i,ne]=m(()=>t[s]),[h,P]=m(()=>t[s]),[g,p]=m(!1),[b,j]=m(!1),oe=r||g,k=v(void 0),B=v(void 0),K=v(null),q=v(null),f=v(null),c=a(e=>{const n=t[e];ne(n),P(n),C?.(e)},[t,C]),re=Q(()=>l?S&&r?{height:x()}:{height:r||g?h:0}:{height:r?"auto":void 0},[l,r,h,g,S]),F=a(e=>{const n=[t.small,t.medium,t.full].sort();if(e>=t.full){c("full");return}if(e<=t.small){c("small");return}const o=i||t.medium,d=e>o?n.find(T=>T+Y>=e)||t.full:n.reverse().find(T=>T-Y<=e)||t.small;d===t.full?c("full"):d===t.medium?c("medium"):c("small")},[t,i,c]),se=a(e=>{W(!0),k.current=e},[]),le=a(e=>{const n=k.current;if(n===void 0)return;const o=f.current;if((o?.scrollTop??0)>0&&i===t.full)return;const d=n-e;let E=(i||t.medium)+d;o&&i===t.full&&E<i&&(o.style.overflow="hidden"),E=Math.min(Math.max(E,t.small),t.full),B.current=d,P(E)},[i,t]),ie=a(()=>{W(!1),k.current=void 0;const e=f.current;e&&e.style.removeProperty("overflow");const n=B.current;B.current=void 0,n!==void 0&&h!==void 0&&F(h)},[h,F]),U=a(e=>{if(L)return;c(s==="small"?"medium":s==="medium"?"full":"small")},[L,s,c]),{touchHandlers:y,mouseHandlers:H}=ae({onDragStart:se,onDragMove:le,onDragEnd:ie}),ce=a(()=>{const e=f.current;if(!e)return;const o=e.scrollTop>=G;b!==o&&(j(o),w?.(o))},[G,b,w]),ue=Q(()=>ge(()=>{window.__resett?.()},250),[]);return R(()=>{if(!l||N)return;const e=K.current,n=q.current,o=f.current;e&&(e.ontouchstart=y.onTouchStart,e.ontouchend=y.onTouchEnd,window.ontouchmove=y.onTouchMove,e.onmousedown=H.onMouseDown,e.onmouseup=H.onMouseUp,window.onmousemove=H.onMouseMove),n&&n.addEventListener("mouseup",U);const d=()=>{i&&i<t.full&&o&&(o.style.overflow="hidden")};return o&&(o.ontouchstart=d),()=>{e&&(window.ontouchmove=null,window.onmousemove=null),n&&n.removeEventListener("mouseup",U)}},[l,N,y,H,U,i,t]),R(()=>{te(M<=X);const e=x();ee(Z(e,D,O,A))},[M,z,D,O,A]),R(()=>{if(r){p(!0);const e=setTimeout(()=>{c(s),p(!1)},10);return()=>clearTimeout(e)}else{p(!0),l&&P(0);const e=setTimeout(()=>{p(!1),j(!1)},parseFloat(we)*1e3);return()=>clearTimeout(e)}},[r,s,c,l]),R(()=>{r&&!g&&(f.current?.scrollTo({top:0}),j(!1),w?.(!1))},[r,g,w,V]),oe?_(OverlayScrollContext.Provider,{value:f.current,children:J("div",{className:fe("efp-overlay",{"is-open":r,"is-draggable":L,"is-small":s==="small","is-medium":s==="medium","is-full":s==="full","is-mobile":l,"is-desktop":!l,"is-hidden":!l&&!r,"is-animating":g,"is-scrolled":b,"is-forced-full":S&&l},$),style:re,ref:K,children:[!N&&_("div",{className:"efp-overlay__draghandle",ref:q}),J("div",{className:"efp-overlay__scroll",ref:f,onScroll:e=>{ce(),ue()},children:[I?_(ve,{}):null,_("div",{className:"efp-overlay__content",children:u||he("No content")})]})]})}):null};export default ye;
|
package/dist/esm/constants.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export declare const STRING_META_DELIMITER = "$$";
|
|
|
8
8
|
export declare const KIOSK_ENABLE_KEY = "kiosk";
|
|
9
9
|
export declare const SET_KIOSK_KEY = "setkiosk";
|
|
10
10
|
export declare const BOOKMARK_PAINTER_MARKER = "booth-bookmark";
|
|
11
|
-
export declare const MAP_SETTINGS_KEY = "expofp-map-settings";
|
|
12
11
|
export declare const DEBUG_KEY = "debug";
|
|
13
12
|
export declare const DEBUG_STORAGE_KEY = "efp-debugMode";
|
|
14
13
|
export declare const DEFAULT_UNITS = "ft";
|
package/dist/esm/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VISIBILITY_STORAGE_KEY="___visibility",PREVIEW_MODE_ATTRIBUTE="data-preview-mode",BOOTHS_PAINTER_MARKER="booths",SEPARATOR=":",LAYER_LOGOS_MARKER="logos",LAYER_ICONS_MARKER="icons",STRING_META_DELIMITER="$$",KIOSK_ENABLE_KEY="kiosk",SET_KIOSK_KEY="setkiosk",BOOKMARK_PAINTER_MARKER="booth-bookmark",
|
|
1
|
+
export const VISIBILITY_STORAGE_KEY="___visibility",PREVIEW_MODE_ATTRIBUTE="data-preview-mode",BOOTHS_PAINTER_MARKER="booths",SEPARATOR=":",LAYER_LOGOS_MARKER="logos",LAYER_ICONS_MARKER="icons",STRING_META_DELIMITER="$$",KIOSK_ENABLE_KEY="kiosk",SET_KIOSK_KEY="setkiosk",BOOKMARK_PAINTER_MARKER="booth-bookmark",DEBUG_KEY="debug",DEBUG_STORAGE_KEY="efp-debugMode",DEFAULT_UNITS="ft",PATHWAY_KEY="pathway",CACHE_DURATION=1e3,MOBILE_BREAKPOINT=768,LANGUAGE_TYPE="language",MAX_ROUTE_WAYPOINTS=8,VIEWER_MODE_STORAGE_KEY="efp-viewerMode",LEGACY_VIEWER_MODE_STORAGE_KEY="___viewer_mode",PREVIEW_MODE_STORAGE_KEY="efp-previewMode",LEGACY_PREVIEW_MODE_STORAGE_KEY="___preview_mode",UI_SCALE_STORAGE_KEY="efp-uiScale",LEGACY_UI_SCALE_STORAGE_KEY="___ui-scale",FONT_FACE="--expofp-font-face",FONT_WEIGHT_PRIMARY_BOOTH="--expofp-booth-main-weight",FONT_WEIGHT_SECONDARY_BOOTH="--expofp-booth-details-weight",FONT_WEIGHT_PRIMARY_EXHIBITOR="--expofp-exhibitor-main-weight",FONT_WEIGHT_SECONDARY_EXHIBITOR="--expofp-exhibitor-details-weight",FONT_WEIGHT_PRIMARY_SPECIAL="--expofp-booth-special-weight",ORIENTATION_GRANTED_KEY="efp-compass-permission-granted";
|
package/dist/esm/data/svg.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Box as h}from"@expofp/geometry";import*as a from"d3-selection";import{STRING_META_DELIMITER as x}from"../constants";import M from"../tools/logger";import E from"../tools/settings";import{extractMetaFromString as b}from"../utils/extractMetaFromString";import _ from".";import{getFpPaths as A,getFpSvg as c,getFpSvgJs as P,getWfData as V}from"./fp-payloads";const n=new Map;function p(e,r=""){if(n.has(r))return n.get(r);const s=new DOMParser().parseFromString(e,"image/svg+xml").documentElement;s.firstChild.tagName==="parsererror"&&M.error("Parsed svg with error: ",l);const i=new Map;return a.select(s).selectAll("style").each(function(){const t=this.textContent,S=/\.([a-z0-9.]+)\s*{[^}]*fill\s*:\s*([^};]+);[^}]*}/gi;let v;for(;(v=S.exec(t))!==null;){const B=v[1],F=v[2];i.set(B,F)}}),a.select(s).selectAll("*[class]").each(function(){const t=this;t.style.fill=i.get(t.className.baseVal)}),N(s),n.set(r,s),s}let l=p(c());const m=P().__viewbox,d=a.select(l).select("rect#VIEWBOX").node(),u=l.viewBox.baseVal,g=new h(u.x,u.y,u.width,u.height);let f,w=!1;m?(f=new h(m.x,m.y,m.width,m.height),w=!0,d?.remove()):d?(f=h.fromSvg(d),w=!0,d.remove()):f=g.scale(1.1),a.select(l).attr("width",g.size.width),a.select(l).attr("height",g.size.height),M.log("svgArea",f,"svgViewBox",g),E.wayfinding=!!(!_.hideDirections&&V());let I=P().__fpLayersMode?a.select(l).selectAll("[data-floor]").nodes().map(e=>(e.remove(),{name:e.dataset.floor,rect:h.fromSvg(e)})).sort():[];export{I as floors,f as svgArea,w as svgAreaExplicit,g as svgViewBox};export function getTrianglesFromFpPaths(e,r){const o=gtePathByIndex(e,r),s=o.positions.map(t=>[t[0],Math.abs(t[1])]),i=[];for(const t of o.cells)i.push([s[t[0]],s[t[1]],s[t[2]]]);return i}export let gtePathByIndex=(e,r="")=>(A(r)??A())[e],getLayerSvg=(e="")=>typeof e=="string"?n.has(e)?n.get(e):c(e)?p(c(e),e):n.get(""):e.rootParent?n.has(e.rootParent.name)?n.get(e.rootParent.name):c(e.rootParent.name)?p(c(e.rootParent.name),e.rootParent.name):n.get(""):c(e.name)?p(c(e.name),e.name):n.get("");function N(e){a.select(e).selectAll("[id], [data-name]").each(function(){const r=this;let o={};const s=r.getAttribute("data-name");if(s&&s.includes(x)){const{meta:t}=b(s);o={...o,...t}}const i=r.getAttribute("id");if(i&&i.includes(x)){const{meta:t}=b(i);o={...o,...t}}r.setAttribute("data-meta",JSON.stringify(o))})}
|
package/dist/esm/load-dev.d.ts
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
* await __efpDev.resolve({ $ref: 'https://…/fp.svg.js' }) // raw resolve, js or json
|
|
22
22
|
*/
|
|
23
23
|
import { type Config } from '@expofp/config';
|
|
24
|
-
import { type FpSvgJs, type FpSvgLayerJs, type FpSvgLayerJsRef } from '@expofp/schema';
|
|
25
24
|
import { resolve } from '@expofp/resolve';
|
|
25
|
+
import { type FpSvgJs, type FpSvgLayerJs, type FpSvgLayerJsRef } from '@expofp/schema';
|
|
26
26
|
interface EfpDevPlayground {
|
|
27
27
|
config: Config;
|
|
28
28
|
fpSvgJs: FpSvgJs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{applyIntents as
|
|
1
|
+
import{applyIntents as G,getConfig as y,parseFromUrlTolerant as Y,parseIntentsFromUrl as K,parseLegacyQuery as x,serializeSelection as W}from"@expofp/config";import{Box as Q}from"@expofp/geometry";import{UrlConfigSchema as z}from"@expofp/schema";import{safeDecode as d}from"@expofp/utils";import{autorun as v,runInAction as w,when as p}from"mobx";import{recoverKioskFromUrlPrams as H}from"../components/Kiosk/recoverKioskFromUrlPrams";import{LEGACY_PREVIEW_MODE_STORAGE_KEY as j,LEGACY_VIEWER_MODE_STORAGE_KEY as N,PREVIEW_MODE_STORAGE_KEY as M,VIEWER_MODE_STORAGE_KEY as B}from"../constants";import g from"../data";import o,{uiState as r}from"../store";import{BoothBase as P}from"../store/BoothStore";import{CurrentPosition as $,extractRoute as q}from"../store/RouteStore";import{setConsentSettings as J}from"../tools/gtag";import L from"../tools/logger";import{areLayersEnabled as X}from"../utils/areLayersEnabled";import{cameraToMapSettings as b}from"../utils/camera-map-settings";import{handleCustomCommand as Z}from"../utils/customCommands";import{getMostFrequent as ee}from"../utils/getMostFrequent";import{heatmapEnabled as te}from"../utils/heatmap-enabled";import{hasLocale as oe,setLocale as re}from"../utils/i18n";import{isLocalStorageAvailable as R}from"../utils/localStorage";import{stripTrackingParams as ie}from"../utils/trackingParams";import{rewriteMultiSlugQuery as se}from"./multi-slug";import{currentSearch as m,disableUrlWrites as ae,initUrlSync as ne,pushQuery as le,replaceQuery as f}from"./url-sync";let S=!1;export function applyDeclarativeConfig(){O(y()),p(()=>o.layerStore.layersLoaded,()=>{const e=y().camera;Object.keys(e).length&&E(b(e));const t=y().visibility;Object.keys(t).length&&r.setVisibility(t)})}export function initUrlRouting(e){ne({offHistory:e,onNavigate:I}),F(),k(),p(()=>o.layerStore.layersLoaded,()=>{o.urlFilterManager&&!o.urlFilterManager.isInitialized&&o.urlFilterManager.initialize(),I(),v(D),v(V),r.viewerMode&&(r.menu=!0)})}export function applyParameters(e=""){f("?"+d(e.toString())),o.layerStore.layersLoaded?T(e):(k(),p(()=>o.layerStore.layersLoaded,()=>T(e)))}function T(e){const t="?"+d(e),s=me(t);O(s),s.consent&&J(s.consent),s.camera&&Object.keys(s.camera).length&&E(b(s.camera)),s.visibility&&Object.keys(s.visibility).length&&r.setVisibility(s.visibility),F(),I();const i=[...s.intents??[],...K(t).intents];i.length&&G(o.fp,i)}function k(){const e=m(),t=e.length>1?d(e.substring(1)):"";return Z(t)}function I(){S=!0;try{const e=new URLSearchParams(d(window.location.search));H(e);const{primary:t,oneShots:s}=x(m()),i=s.find(l=>l.type==="camera");if(i){const l=i.roll;E({...b(i.camera),roll:l})}const u=t.type==="select"&&(!t.slug||/^t=[^&]*$/.test(t.slug))&&(r.heatmap||r.heatmapYah);!k()&&!u&&ue(t)}finally{S=!1}V(),D()}function ue(e){const t=o.fp;switch(e.type){case"kiosk":e.enabled===!0?r.kiosk=!0:e.enabled===!1&&(r.kiosk=!1,r.resetUIScale());return;case"list":t.showList(e.list);return;case"tour":t.selectTour(e.tourId);return;case"planner":t.openPlanner({items:e.items,from:e.from,fromBookmarks:e.fromBookmarks});return;case"route":{o.routeStore.setOnlyAccessible(e.accessible),o.routeStore.selectRoute(q(e.from??"",e.to??"",e.waypoints)),o.uiState.setIsMultiPointRoute(e.waypoints.length>0),e.title&&o.uiState.setRouteTitle(e.title);return}case"language":oe(e.langId)&&re(e.langId);return;case"printPdf":o.uiState.printingPdf=!0;return;case"visibility":o.uiState.setVisibility(e.hidden.reduce((s,i)=>({...s,[i]:!1}),{}));return;case"buildRoute":t.startBuildRoute();return;case"pathway":applyPathway(e);return;case"selectExhibitors":setTimeout(()=>t.selectExhibitor(e.values),250);return;case"ownedByFilters":L.log("Skipping filter parameters in dispatchFromUrl (owned by URLFilterManager)");return;case"ownedByConfig":return;case"select":t.select(e.slug);return}}export function applyPathway(e){const{pathwayId:t,boothIds:s,exhibitorIds:i,tourId:u}=e;if(u){const a=o.toursStore.getTourById(u);a&&w(()=>{o.uiState.setTourTitle(a.name),o.uiState.setTourDescription(a.description??""),o.uiState.setIsMultiPointTour(!0),o.uiState.setMultiPointTourList(a.id)})}const l=o.boothStore.booths.filter(a=>s.includes(a.externalId)),c=o.exhibitorStore.exhibitors.filter(a=>i.includes(a.externalId)).flatMap(a=>a.booths),n=[...l,...c];if(X()){const a=ee(n.map(h=>h.layer.name));a&&o.fp.activateFloor({name:a})}(s.length>0||i.length>0)&&o.fp.highlightEntities([...s,...i]),o.layerStore.showPathWay(t),n.length>0&&w(()=>{o.uiState.moveToRect=Q.fromUnion(...n.map(a=>a.rect).filter(Boolean)),o.uiState.rollReset=!0})}function F(){const e=m(),{oneShots:t}=x(e);for(const i of t)ce(i);e.startsWith("?preview=")&&f("?"),m().includes("copy_exh")&&f("?");const s=ie(m());s!==null&&f("?"+s),r.previewExhibitor&&f("?"+r.previewExhibitor.slug),fe()}function ce(e){switch(e.type){case"heatmap":U(e.yah);return;case"blueDot":{const t=new $(e.x,e.y,o.layerStore.findLayer(e.layer??"")?.name,void 0,e.lat,e.lng);p(()=>o.layerStore.layersLoaded,()=>o.routeStore.selectCurrentPosition(t,!0,1));return}case"viewerMode":R&&(e.enabled?localStorage.setItem(B,"true"):(localStorage.removeItem(B),localStorage.removeItem(N)));return;case"previewMode":R&&(e.enabled?localStorage.setItem(M,"true"):(localStorage.removeItem(M),localStorage.removeItem(j)));return;case"uiScale":e.scale!==null?o.uiState.setUIScale(e.scale,!0):L.warn(`Invalid ui-scale parameter: ${e.raw}. Must be a number between 0.8 and 1.4.`);return;case"resetUiScale":o.uiState.resetUIScale();return;case"legacyBookmarks":{const t=e.appendExhibitorId===null?void 0:o.exhibitorStore.exhibitorById.get(e.appendExhibitorId);f(t?"?"+t.slug:"?bookmarks");return}}}function U(e){ae(),e?(r.heatmapYah=!0,r.monochrome=!0,r.hideLogoInBooth=!0,r.hideHeaderLogo=!0,r.disableBookmarked=!0):r.heatmap=!0}function fe(){const e=se(m(),t=>o.exhibitorStore.exhibitors.find(i=>i.slug===t||i.externalId===t)?.name);e!==null&&f(e)}function O(e){e.noOverlay!==void 0&&(r.hideOverlay=e.noOverlay),e.monochrome&&(r.monochrome=!0),e.hideHeaderLogo&&(r.hideHeaderLogo=!0),e.hideLogoInBooth&&(r.hideLogoInBooth=!0),e.disableFeatured&&o.exhibitorStore.exhibitors.forEach(t=>t.featured=!1),e.disableBookmarked&&(r.disableBookmarked=!0),e.disableGps&&o.routeStore.setGpsTrackingEnabled(!1),e.heatmap&&te(e.heatmap)&&U(e.heatmap.variant==="yah")}function me(e){return Y(z,e).value}let C=null,_=null,A=null;function V(){const{selection:e,exhibitor:t,booth:s,eventItem:i}=de(),u=o.urlFilterManager.filterSearch();if(S)return;const l=W(e)||u;m()!==l&&(t!==C||s!==_||i!==A?le(l):f(l),C=t,_=s,A=i)}function de(){const e=r.selectedExhibitor,t=r.selectedBooth,s=r.selectedEventItem,i=r.selectedRoute,u=r.selectedSpeaker,l=r.setKioskModeEnabled,c=r.list;let n;if(c.type==="route-planner"&&!e&&!t&&!s){const a=o.routePlannerStore;n={type:"planner",fromBookmarks:a.source==="bookmarks",items:a.items.map(h=>h.entity.slug).filter(Boolean),from:a.startPoint?.slug||void 0}}else if(i&&!r.isMultiPointRoute)n={type:"route",to:i.to instanceof P?i.to.slug:void 0,from:i.from instanceof P?i.from.slug:void 0,accessible:o.routeStore.onlyAccessible,waypoints:i.waypoints?.map(a=>a.slug)};else if(e)n={type:"slug",slug:e.slug};else if(t)n={type:"slug",slug:t.slug};else if(s)n={type:"slug",slug:s.slug};else if(u)n={type:"slug",slug:u.slug};else if(l)n={type:"none"};else switch(c.type){case"bookmarks":case"visited":case"sessions":case"exhibitors":case"speakers":case"tours":case"language":n={type:"list",list:c.type};break;case"category":n={type:"slug",slug:r.selectedCategory?.slug??""};break;case"search":n={type:"slug",slug:c.text||""};break;case"filter":n={type:"filter",key:c.query.key,value:c.query.value};break;case"multi-point-tour":n={type:"tour",tourId:c.tourId};break;default:throw new Error("Unkown list.type")}return{selection:n,exhibitor:e,booth:t,eventItem:s}}function D(){const e=r.selectedExhibitor,t=r.selectedEventItem,s=r.selectedSpeaker;let i="";e?i=e.name:t?i=t.name:s?i=s.name:r.list.type==="search"&&r.list.text?i="`"+(r.list.text||"")+"`":r.list.type==="multi-point-tour"&&r.tourTitle&&(i=r.tourTitle),i.length&&(i+=" \u2013 "),i+=g.title,g.subtitle&&(i+=" \u2013 "+g.subtitle),i+=" \u2013 Expo Floor Plan by ExpoFP",document.title=i}function E(e){try{if(r.setMapSettings(e),e.z){const t=o.layerStore.layers.find(s=>s.name===e.z);t&&o.layerStore.updateVisibility(t,!0)}}catch(t){console.error("Failed to process map settings.",t)}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RawPoiType, RawRegularBooth } from '@expofp/schema';
|
|
2
1
|
import { Box } from '@expofp/geometry';
|
|
3
2
|
import { ImageDef } from '@expofp/renderer';
|
|
3
|
+
import { RawPoiType, RawRegularBooth } from '@expofp/schema';
|
|
4
4
|
import { PathInfo, ShapeBgDef } from '../types/drawing.types';
|
|
5
5
|
import { EventItem } from './EventStore';
|
|
6
6
|
import { Exhibitor } from './ExhibitorStore';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as f}from"tslib";import
|
|
1
|
+
import{__decorate as f}from"tslib";import C from"color";import{computed as p}from"mobx";import y from"../tools/settings";import{getColorFromGradient as k}from"../utils/color-gradient";import{BoothBase as g}from"./BoothStore";import{Category as x}from"./CategoryStore";import{EventItem as d}from"./EventStore";import{Exhibitor as l}from"./ExhibitorStore";export default class m{constructor(){this.heatmapData={},this.forceTrack=null}get minAndMaxClicks(){const{booths:t=[],exhibitors:i=[],yah:o=[]}=this.heatmapData,e=[...t,...i,...o];if(e.length===0)return{min:0,max:0};const s=h=>h.reduce((r,n)=>(n.viewCount>r.max&&(r.max=n.viewCount),n.viewCount<r.min&&(r.min=n.viewCount),r),{min:h[0].viewCount,max:h[0].viewCount}),{min:a,max:u}=s(e);return{min:a,max:u}}getClicksByType(t){return t instanceof x?-1:t instanceof l?this.getClicksByItem(t):t instanceof HeatmapYah?this.getClicksByItem(t):t instanceof d?0:this.getClicksByItem(t)}getClicksByItem(t){return t instanceof l?this.heatmapData?.exhibitors?.find(i=>i.id===t.id)?.viewCount||0:t instanceof g?this.heatmapData?.booths?.find(i=>i.id===t.id)?.viewCount||0:t instanceof HeatmapYah&&this.heatmapData?.yah?.find(i=>i.id===t.id)?.viewCount||0}getTotalClicksByBooth(t){let i=this.getClicksByItem(t);for(const o of t.exhibitors){const e=this.getClicksByItem(o);i+=e}return i}getColorByClicks(t){const{min:i,max:o}=this.minAndMaxClicks;return k(t,i,o,y.heatmapColors)}getHeatmapColorForBooth(t){const i=this.getTotalClicksByBooth(t);return C(this.getColorByClicks(i))}}f([p({keepAlive:!0})],m.prototype,"minAndMaxClicks",null);export class HeatmapYah{constructor(t,i,o,e,s,a){this.id=t,this.name=i,this.viewCount=o,this.x=e,this.y=s,this.z=a,this.entity={type:"heatmap-yah"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as a}from"tslib";import{
|
|
1
|
+
import{__decorate as a}from"tslib";import{Box as y}from"@expofp/geometry";import{action as c,computed as f,observable as h,runInAction as m}from"mobx";import d from"../components/Map/drawing/config/config-load-layer";import{getFpSvgJs as v}from"../data/fp-payloads";import w from"../tools/settings";import{areLayersEnabled as b}from"../utils/areLayersEnabled";import{shortenName as g}from"../utils/shortenName";import s from".";const S=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"];export var LayersMode;(function(i){i[i.Default=0]="Default",i[i.Separated=1]="Separated",i[i.Radio=2]="Radio",i[i.CheckBox=3]="CheckBox"})(LayersMode||(LayersMode={}));export var LayerMode;(function(i){i[i.Unset=0]="Unset",i[i.AlwaysVisible=1]="AlwaysVisible",i[i.AlwaysHidden=2]="AlwaysHidden",i[i.TurnedOn=3]="TurnedOn",i[i.TurnedOff=4]="TurnedOff"})(LayerMode||(LayerMode={}));export class Layer{constructor(){this.rect=null,this.viewbox=null,this.childLayers=[],this.rootParent=null,this.children=[]}get shortName(){return g(this.description)}}a([h],Layer.prototype,"loaded",void 0),a([h],Layer.prototype,"visible",void 0);export default class l{constructor(){this.layers=[],this.layersLoaded=!1,this.updateVisibilityTimeout=0,this.selectFloorTimeout=0}get visible(){return this.layers.filter(t=>t.frozen||t.visible)}get loaded(){return this.layers.filter(t=>t.loaded)}get rectangle(){var t=this.visible.filter(r=>!r.frozen).map(r=>r.viewbox??r.rect);return this.mode!==LayersMode.Radio||!t.length?null:y.fromUnion(...t)||null}get viewboxRectangle(){var t=this.visible.filter(r=>!r.frozen&&r.viewbox).map(r=>r.viewbox);return t.length&&y.fromUnion(...t)||null}get pathwayLayers(){return this.layers.filter(t=>t.pathway)}get floors(){if(!b())return[];const t=new Set(this.layers.filter(e=>e&&!e.frozen&&!e.rootParent&&!e.pathway).concat(s.routeStore.layers.filter(e=>e&&e.mode!==LayerMode.AlwaysHidden&&e.mode!==LayerMode.AlwaysVisible))),r=Array.from(t).reverse();return r.map((e,o)=>{const n=s.routeStore.layers.length>0&&s.routeStore.layers.indexOf(e)===-1,u=s.toursStore.tourLayers.length>0&&s.toursStore.tourLayers.indexOf(e)===-1;return{layer:e,name:e.name,shortName:e.shortName,description:e.description,active:e.visible,disabled:!!(n||u),index:e.floorIndex??r.length-o-1}})}selectFloor(t){if(this.selectFloorTimeout)return;this.selectFloorTimeout=setTimeout(()=>this.selectFloorTimeout=0,500);const r=this.layers.find(o=>o.description===t.description);if(!r)return;if(this.mode===LayersMode.Radio){if(this.updateVisibility(r,!0),s.maplibreStore.showMaplibre)return;if(!!v().__fpSettings?.fpVer||S.includes(w.EXPO)){const n=r.viewbox??r.rect;s.uiState.moveToRect=n}else{const n=this.layers.indexOf(this.layers.filter(p=>!p.frozen&&p.visible)[0]),u=this.layers.indexOf(r);if(n===u)return;s.uiState.zoomBy=u<n?.95:1.05}}else this.updateVisibility(r,!r.visible);const e=s.toursStore.getTourLayerInfo(r.name)||s.toursStore.getTourLayerInfo(r.description);if(e){this.showPathWay(e.id);return}s.toursStore.stopTour()}updateVisibility(t,r){if(this.mode===LayersMode.Radio&&!r)return;const e=t instanceof Layer?t:this.findLayer(t);if(!e||e.visible===r){e&&s.routeStore.currentRouteLayer!==e&&(s.routeStore.currentRouteLayer=e);return}d(e,s.rendererService).then(()=>{this.mode===LayersMode.Radio&&this.layers.filter(o=>!o.pathway).forEach(o=>{o.name!==e.name&&!o.frozen&&o.visible&&(o.visible=!1,o.childLayers.forEach(n=>{n.visible=!1}))}),e&&(e.visible=r,e.childLayers.forEach(o=>{o.visible=r}),r&&(s.routeStore.currentRouteLayer=e),typeof s.fp.onFloorActivated=="function"&&(clearTimeout(this.updateVisibilityTimeout),this.updateVisibilityTimeout=setTimeout(()=>{const o=s.fp.getFloors();s.fp.onFloorActivated(o.find(n=>n.name===e.name))})))})}findLayer(t){if(t==null)return null;const r=this.layers.filter(o=>!o.rootParent);if(typeof t=="number"&&(e=r.filter(o=>!o.frozen)[t],e))return e;t=t.toString().toLowerCase();var e=r.find(o=>{const n=(o.name.match(/(-?[0-9]+)/)||"")[0];return t===o?.name.toLowerCase()||t===o?.description.toLowerCase()||t===o?.shortName.toLowerCase()||t===n});return!e&&!/\D/.test(t)&&(e=r.filter(o=>!o.frozen)[parseInt(t)]),e}getPathwayList(){return this.layers.filter(t=>t.pathway)}async showPathWay(t){try{const r=this.findLayer(t);if(!r)throw new Error(`There is no pathway with this name. ${t}`);await d(r,s.rendererService);const e=this.getPathwayList();m(()=>{e.forEach(o=>{const n=o.name===t;o.visible=n,o.childLayers.forEach(u=>{u.visible=n})})})}catch(r){console.error("showPathWay",r)}}hidePathways(){this.getPathwayList().forEach(r=>{r.visible=!1,r.childLayers.forEach(e=>{e.visible=!1})})}}a([h],l.prototype,"layers",void 0),a([h],l.prototype,"defaultLayer",void 0),a([h],l.prototype,"mode",void 0),a([h],l.prototype,"layersLoaded",void 0),a([f({keepAlive:!0})],l.prototype,"visible",null),a([f({keepAlive:!0})],l.prototype,"loaded",null),a([f({keepAlive:!0})],l.prototype,"rectangle",null),a([f({keepAlive:!0})],l.prototype,"viewboxRectangle",null),a([f],l.prototype,"pathwayLayers",null),a([f],l.prototype,"floors",null),a([c],l.prototype,"selectFloor",null),a([c],l.prototype,"updateVisibility",null),a([c],l.prototype,"showPathWay",null),a([c],l.prototype,"hidePathways",null);
|
|
@@ -196,7 +196,6 @@ export default class UIState {
|
|
|
196
196
|
get selectedEventItem(): EventItem | null;
|
|
197
197
|
get defaultMapSettings(): MapSettings;
|
|
198
198
|
mapSettings: MapSettings;
|
|
199
|
-
saveMapSettings(settings: MapSettings): void;
|
|
200
199
|
setMapSettings(settings: MapSettings): void;
|
|
201
200
|
resetMapSettings(): void;
|
|
202
201
|
get baseQRCodeUrl(): string;
|