@expofp/floorplan 3.7.2 → 3.7.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-aO_HokSj.js +204 -0
- package/dist/browser/{CookieConsent-CkkD8OHp.js → CookieConsent-BU0G4gg0.js} +8 -8
- package/dist/browser/{Debug-BrHTtyi7.js → Debug-KQpdRJNF.js} +8 -7
- package/dist/browser/{Demo-CSTu7D1l.js → Demo-MgosITXW.js} +12 -11
- package/dist/browser/{Free-AIxncv0_.js → Free-Cjw8czsd.js} +12 -11
- package/dist/browser/{Gallery-DUrcB2Hy.js → Gallery-B44SQVmW.js} +10 -10
- package/dist/browser/{GpsLoader-pgJ3wuc6.js → GpsLoader-CsquDv0q.js} +30 -29
- package/dist/browser/KioskStore-CmfnbNW2.js +235 -0
- package/dist/browser/{MaplibreAdapter-D4hkJUuG.js → MaplibreAdapter-D1SHFdBf.js} +109 -108
- package/dist/browser/{Modal-BmKq1A8F.js → Modal-ByxKticO.js} +10 -10
- package/dist/browser/{PermissionNotice-DxFR3SY4.js → PermissionNotice-uV0eU__u.js} +7 -7
- package/dist/browser/{SetKioskMode-C2BbFaaM.js → SetKioskMode-Bo-NIDqb.js} +19 -18
- package/dist/browser/ShowKiosk-YEhx2mBF.js +27 -0
- package/dist/browser/{TouchHand-B7Gid0ls.js → TouchHand-DP0lpX80.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-CdYO6Ot1.js → ViewerMenuPanel-D7jBA4RW.js} +19 -18
- package/dist/browser/{add-debug-secret-listener-Bc2yTTBY.js → add-debug-secret-listener-BEnYBbzM.js} +1 -1
- package/dist/browser/{boolean-editor-aHLubje4.js → boolean-editor-DQhkQ0fL.js} +9 -9
- package/dist/browser/{bootIntercom-CqV4IGcS.js → bootIntercom-CJo2kE-M.js} +3 -3
- package/dist/browser/{browser-BDLTg20Y.js → browser-DYIvO46m.js} +2 -2
- package/dist/browser/bundle.json +61 -58
- package/dist/browser/{classnames-ngmqxqQM.js → classnames-C5yzF4HX.js} +2 -2
- package/dist/browser/{client-sAA6D0bl.js → client-DfLygbSM.js} +4 -4
- package/dist/browser/{components-DxUnx2fx.js → components-BIXJFvok.js} +1666 -1665
- package/dist/browser/{createWayfinding-BeI3-x8g.js → createWayfinding-C_0oMFs1.js} +348 -348
- package/dist/browser/{debug-overlay-hLm6UgxA.js → debug-overlay-46IP0vsS.js} +10 -10
- package/dist/browser/{debug-ui-DZ3tn3fo.js → debug-ui-feLw_onf.js} +6 -6
- package/dist/browser/{dist-RBsN5IVo.js → dist-BHUDHZP4.js} +3 -3
- package/dist/browser/{dist-B09t6czH.js → dist-ExsqDvEL.js} +5 -5
- package/dist/browser/{dist-CRcolEwF.js → dist-im0AIvbY.js} +6 -6
- package/dist/browser/{efp-debug-init-B5ItQkLj.js → efp-debug-init-DGPhG_bU.js} +2 -2
- package/dist/browser/{enum-editor-CUh-_kSv.js → enum-editor-C4ySP3nc.js} +11 -11
- package/dist/browser/{event-not-found-DFg5mwbq.js → event-not-found-DG6AnCnV.js} +1 -1
- package/dist/browser/{exports-DbA4--a7.js → exports-DmpoD0fr.js} +1 -1
- package/dist/browser/{favicon-ruW3WAVt.js → favicon-Br5ml5iu.js} +1 -1
- package/dist/browser/{fetch-retry.umd-CGE75NS5.js → fetch-retry.umd-bkAOBUt_.js} +2 -2
- package/dist/browser/{flex-Ompowu3M.js → flex-Dwpw7MGM.js} +5 -5
- package/dist/browser/{floorplan.loader-l2aNftbI.js → floorplan.loader-CPmefcXe.js} +661 -698
- package/dist/browser/{floorplan.ready-CI29paDM.js → floorplan.ready-oUOSRm6R.js} +344 -305
- package/dist/browser/{fuse-BEjRK6fK.js → fuse-DP7UCs2S.js} +2 -2
- package/dist/browser/{i18n-Cv7u46Kc.js → i18n-Cj30oNjj.js} +3 -3
- package/dist/browser/index.js +11 -11
- package/dist/browser/{storage-CveWsSQC.js → is-debug-B8x-fro_.js} +7 -24
- package/dist/browser/{jsx-runtime-Cd-5cs8d.js → jsx-runtime-D7QyoJp1.js} +2 -2
- package/dist/browser/{lib-CVT3RpU0.js → lib-B8nz5HHo.js} +4 -4
- package/dist/browser/{main-B7rO04Ru.js → main-BwVw9SUe.js} +1 -1
- package/dist/browser/{mobx-CmXg9qBa.js → mobx-D8yc9fAI.js} +4 -4
- package/dist/browser/{particles.min-5m7QV5vA.js → particles.min-CUAgfec9.js} +2 -2
- package/dist/browser/{prop-types-fzqk8XTC.js → prop-types-CvfWKQCy.js} +2 -2
- package/dist/browser/{react-68YGwxL1.js → react-C2tVGrqu.js} +2 -2
- package/dist/browser/{react-dom-CpUFygXt.js → react-dom-B_sXID-1.js} +3 -3
- package/dist/browser/{reset-all-settings-6gkdxdE4.js → reset-all-settings-Be_n1oxb.js} +7 -7
- package/dist/browser/{rolldown-runtime-CBPdtkTI.js → rolldown-runtime-DVIs1q9q.js} +1 -1
- package/dist/browser/{settings-vKSgvNe6.js → settings-B8veQbld.js} +2 -2
- package/dist/browser/{settings-item-BkC5gNNZ.js → settings-item-CdMRi2N0.js} +6 -6
- package/dist/browser/{store-C9IczNWg.js → store-CtVf7eNc.js} +6451 -6598
- package/dist/browser/{string-editor-DxCmy8-a.js → string-editor-gjrsepUM.js} +7 -7
- package/dist/browser/{theme-CD1xwI4C.js → theme-B0UtMBz_.js} +8 -8
- package/dist/browser/{ui-CAdbLhWa.js → ui-BBu8YAw8.js} +8 -8
- package/dist/browser/{useRenderTarget-CHkfvzge.js → useRenderTarget-CiijuasV.js} +5 -5
- package/dist/esm/components/Kiosk/KioskStore.d.ts +8 -7
- package/dist/esm/components/Kiosk/KioskStore.js +1 -1
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +1 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +1 -1
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +1 -1
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +1 -0
- package/dist/esm/floorplan.loader.js +1 -1
- package/dist/esm/floorplan.ready.js +1 -1
- package/dist/esm/store/index.js +1 -1
- package/dist/esm/tools/track-event.js +1 -1
- package/package.json +3 -3
- package/dist/browser/KioskStore-D5MdQYvR.js +0 -232
- package/dist/browser/ShowKiosk-9IO_9oCi.js +0 -26
- package/dist/esm/components/Kiosk/requestKioskKey.d.ts +0 -3
- package/dist/esm/components/Kiosk/requestKioskKey.js +0 -1
|
@@ -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.7.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.7.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "c13b5d2b-c064-4095-8a35-7ce6c1158176", e._sentryDebugIdIdentifier = "sentry-dbid-c13b5d2b-c064-4095-8a35-7ce6c1158176");
|
|
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 { D as r, i, l as a, n as o, s, u as c, y as l } from "./flex-
|
|
13
|
-
import { t as u } from "./classnames-
|
|
14
|
-
import { t as d } from "./settings-item-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DVIs1q9q.js";
|
|
10
|
+
import { t } from "./react-C2tVGrqu.js";
|
|
11
|
+
import { t as n } from "./jsx-runtime-D7QyoJp1.js";
|
|
12
|
+
import { D as r, i, l as a, n as o, s, u as c, y as l } from "./flex-Dwpw7MGM.js";
|
|
13
|
+
import { t as u } from "./classnames-C5yzF4HX.js";
|
|
14
|
+
import { t as d } from "./settings-item-CdMRi2N0.js";
|
|
15
15
|
//#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._925f851475345a9e5e368d312bb98178/node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js
|
|
16
16
|
var f = {
|
|
17
17
|
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.7.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.7.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "14cfe74b-e711-4201-812b-ad94b4330a84", e._sentryDebugIdIdentifier = "sentry-dbid-14cfe74b-e711-4201-812b-ad94b4330a84");
|
|
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-DVIs1q9q.js";
|
|
10
|
+
import { t } from "./react-C2tVGrqu.js";
|
|
11
|
+
import { t as n } from "./jsx-runtime-D7QyoJp1.js";
|
|
12
|
+
import { t as r } from "./react-dom-B_sXID-1.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-Dwpw7MGM.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-im0AIvbY.js";
|
|
15
|
+
import { t as y } from "./classnames-C5yzF4HX.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_070bcfa32421a5876e7dcb93369fcbee/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.7.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.7.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "5091f250-052d-4365-8535-fbf8bf11a38b", e._sentryDebugIdIdentifier = "sentry-dbid-5091f250-052d-4365-8535-fbf8bf11a38b");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { a as t, r as n } from "./reset-all-settings-
|
|
11
|
-
import { t as r } from "./jsx-runtime-
|
|
12
|
-
import "./settings-
|
|
13
|
-
import { t as i } from "./browser-
|
|
14
|
-
import { t as a } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DVIs1q9q.js";
|
|
10
|
+
import { a as t, r as n } from "./reset-all-settings-Be_n1oxb.js";
|
|
11
|
+
import { t as r } from "./jsx-runtime-D7QyoJp1.js";
|
|
12
|
+
import "./settings-B8veQbld.js";
|
|
13
|
+
import { t as i } from "./browser-DYIvO46m.js";
|
|
14
|
+
import { t as a } from "./add-debug-secret-listener-BEnYBbzM.js";
|
|
15
15
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
16
16
|
var o = /* @__PURE__ */ e(i(), 1), s = r(), c = !1;
|
|
17
17
|
function l() {
|
|
@@ -26,7 +26,7 @@ function l() {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
let i = async (t) => {
|
|
29
|
-
let { DebugUi: n } = await import("./debug-ui-
|
|
29
|
+
let { DebugUi: n } = await import("./debug-ui-feLw_onf.js"), { createRoot: i } = await import("./client-DfLygbSM.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
|
|
30
30
|
document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, s.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.7.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.7.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
|
-
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "
|
|
6
|
+
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "6b81f440-81dc-47f4-a309-d96d34e3099c", e._sentryDebugIdIdentifier = "sentry-dbid-6b81f440-81dc-47f4-a309-d96d34e3099c");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { s as n } from "./store-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DVIs1q9q.js";
|
|
10
|
+
import { t } from "./react-C2tVGrqu.js";
|
|
11
|
+
import { s as n } from "./store-CtVf7eNc.js";
|
|
12
12
|
//#region src/utils/getRenderTargetFromRoot.ts
|
|
13
13
|
var r = /* @__PURE__ */ e(t(), 1);
|
|
14
14
|
function i(e) {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { AlertProps } from "../../ui/Alert";
|
|
2
|
+
import type { Kiosk, StatusMessage } from "./SetKiosk";
|
|
3
|
+
import type { SetKioskChangeEvent } from "./SetKiosk/types";
|
|
3
4
|
declare class KioskStore {
|
|
4
5
|
get kiosk(): Kiosk;
|
|
5
|
-
setKiosk(kiosk: Kiosk): void;
|
|
6
|
+
setKiosk(kiosk: Kiosk | null): void;
|
|
6
7
|
get renderer(): import("@expofp/renderer").Renderer | null;
|
|
7
8
|
private getCameraState;
|
|
8
|
-
savedKiosk: Kiosk;
|
|
9
|
+
savedKiosk: Kiosk | null;
|
|
9
10
|
get hasUnsavedChanges(): boolean;
|
|
10
11
|
statusMessages: StatusMessage[];
|
|
11
12
|
addStatusMessage(message: Omit<AlertProps, "closeLabel">): void;
|
|
@@ -13,14 +14,14 @@ declare class KioskStore {
|
|
|
13
14
|
statusMessageTimer: number;
|
|
14
15
|
startCleanupMessages(): void;
|
|
15
16
|
resetCamera(): Promise<void>;
|
|
16
|
-
restoreData(): Kiosk;
|
|
17
|
+
restoreData(): Kiosk | undefined;
|
|
17
18
|
handleSetupReady(): void;
|
|
18
19
|
handleClose(): void;
|
|
19
20
|
handleDelete(): void;
|
|
20
21
|
handleSave(): void;
|
|
21
22
|
delayChange(cb: () => void): void;
|
|
22
|
-
handleChange(event:
|
|
23
|
-
initialPtScale
|
|
23
|
+
handleChange(event: SetKioskChangeEvent): void;
|
|
24
|
+
initialPtScale?: number;
|
|
24
25
|
setInitialPtScale(ptscale: number): void;
|
|
25
26
|
handleClick(point: {
|
|
26
27
|
x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__esDecorate as s,__runInitializers as
|
|
1
|
+
import{__esDecorate as s,__runInitializers as h}from"tslib";import{action as r,computed as m,observable as O,runInAction as j,toJS as c}from"mobx";import a from"../../store";import{areLayersEnabled as E}from"../../utils/areLayersEnabled";import{t as k}from"../../utils/i18n";import{isPointVisible as X}from"../Map/visibleArea";import{updateKiosk as Y}from"./kioskApi";import{getSavedKiosk as q,removeKiosk as B,saveKiosk as J}from"./SetKiosk";let L=(()=>{let i=[],g,S,f,p,v=[],_=[],C,K,M=[],b=[],y,D,P,I,F,z,N,x,T,U,w,R,A;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;g=[m({keepAlive:!0})],S=[r],f=[m({keepAlive:!0})],p=[O],C=[m({keepAlive:!0})],K=[O],y=[r],D=[r],P=[r],I=[r],F=[r],z=[r],N=[r],x=[r],T=[r],U=[r],w=[r],R=[r],A=[r],s(this,null,g,{kind:"getter",name:"kiosk",static:!1,private:!1,access:{has:e=>"kiosk"in e,get:e=>e.kiosk},metadata:t},null,i),s(this,null,S,{kind:"method",name:"setKiosk",static:!1,private:!1,access:{has:e=>"setKiosk"in e,get:e=>e.setKiosk},metadata:t},null,i),s(this,null,f,{kind:"getter",name:"renderer",static:!1,private:!1,access:{has:e=>"renderer"in e,get:e=>e.renderer},metadata:t},null,i),s(this,null,C,{kind:"getter",name:"hasUnsavedChanges",static:!1,private:!1,access:{has:e=>"hasUnsavedChanges"in e,get:e=>e.hasUnsavedChanges},metadata:t},null,i),s(this,null,y,{kind:"method",name:"addStatusMessage",static:!1,private:!1,access:{has:e=>"addStatusMessage"in e,get:e=>e.addStatusMessage},metadata:t},null,i),s(this,null,D,{kind:"method",name:"clearStatusMessages",static:!1,private:!1,access:{has:e=>"clearStatusMessages"in e,get:e=>e.clearStatusMessages},metadata:t},null,i),s(this,null,P,{kind:"method",name:"startCleanupMessages",static:!1,private:!1,access:{has:e=>"startCleanupMessages"in e,get:e=>e.startCleanupMessages},metadata:t},null,i),s(this,null,I,{kind:"method",name:"resetCamera",static:!1,private:!1,access:{has:e=>"resetCamera"in e,get:e=>e.resetCamera},metadata:t},null,i),s(this,null,F,{kind:"method",name:"restoreData",static:!1,private:!1,access:{has:e=>"restoreData"in e,get:e=>e.restoreData},metadata:t},null,i),s(this,null,z,{kind:"method",name:"handleSetupReady",static:!1,private:!1,access:{has:e=>"handleSetupReady"in e,get:e=>e.handleSetupReady},metadata:t},null,i),s(this,null,N,{kind:"method",name:"handleClose",static:!1,private:!1,access:{has:e=>"handleClose"in e,get:e=>e.handleClose},metadata:t},null,i),s(this,null,x,{kind:"method",name:"handleDelete",static:!1,private:!1,access:{has:e=>"handleDelete"in e,get:e=>e.handleDelete},metadata:t},null,i),s(this,null,T,{kind:"method",name:"handleSave",static:!1,private:!1,access:{has:e=>"handleSave"in e,get:e=>e.handleSave},metadata:t},null,i),s(this,null,U,{kind:"method",name:"handleChange",static:!1,private:!1,access:{has:e=>"handleChange"in e,get:e=>e.handleChange},metadata:t},null,i),s(this,null,w,{kind:"method",name:"setInitialPtScale",static:!1,private:!1,access:{has:e=>"setInitialPtScale"in e,get:e=>e.setInitialPtScale},metadata:t},null,i),s(this,null,R,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,i),s(this,null,A,{kind:"method",name:"handleNavigationChange",static:!1,private:!1,access:{has:e=>"handleNavigationChange"in e,get:e=>e.handleNavigationChange},metadata:t},null,i),s(null,null,p,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,n)=>{e.savedKiosk=n}},metadata:t},v,_),s(null,null,K,{kind:"field",name:"statusMessages",static:!1,private:!1,access:{has:e=>"statusMessages"in e,get:e=>e.statusMessages,set:(e,n)=>{e.statusMessages=n}},metadata:t},M,b),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}get kiosk(){return a.uiState.kioskData}setKiosk(t){a.uiState.setKioskData(t)}get renderer(){return a.rendererService.renderer}getCameraState(){const t=a.rendererService.getCameraState();return t?{mapInitialPtScale:this.initialPtScale,mapPtScale:t.ptScale,mapCenterX:t.center.x,mapCenterY:t.center.y,mapRollDegrees:t.roll,mapPitch:t.pitch}:{}}savedKiosk=(h(this,i),h(this,v,null));get hasUnsavedChanges(){const t=this.savedKiosk,e=c(this.kiosk);if(!e||!t)return!!e!=!!t;const n=Object.keys(t),l=Object.keys(e);if(n.length!==l.length)return!0;for(const o of n)if(!(o in e)||t[o]!==e[o])return!0;return!1}statusMessages=(h(this,_),h(this,M,[]));addStatusMessage(t){this.statusMessages=[{...t,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}statusMessageTimer=(h(this,b),0);startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const{z:t,mapRollDegrees:e,mapInitialPtScale:n,mapPtScale:l,mapCenterX:o,mapCenterY:u}=this.kiosk||{},d=this.renderer;d&&(await d.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),j(()=>{Number.isFinite(n)&&Number.isFinite(l)&&l>0&&d.controls.zoomBy(n/l,!0),Number.isFinite(o)&&Number.isFinite(u)&&d.controls.panTo(o,u,!0),Number.isFinite(e)&&d.controls.rollTo(e,!0),t&&a.fp.activateFloor({name:t})}))}restoreData(){const t=q();return t&&(this.setKiosk(t),this.savedKiosk=t,a.uiState.kiosk=!0,this.resetCamera()),t}handleSetupReady(){this.restoreData(),a.uiState.kiosk=!0,a.uiState.hideFreeOrDemo=!0,a.uiState.setForceDimm(!0),a.searchStore.setSearchText(""),a.searchStore.setFocused(!1)}handleClose(){this.setKiosk(null),a.uiState.setForceDimm(!1),a.uiState.enableSetKioskMode(!1),a.searchStore.closeSearch(),this.resetCamera()}handleDelete(){B(),this.setKiosk(null),a.uiState.resetMapSettings(),a.uiState.resetUIScale(),this.resetCamera(),this.addStatusMessage({variant:"success",title:k("Deleted")})}handleSave(){const t=this.renderer;if(!t)return;const e=c(this.kiosk),n=this.getCameraState(),l={...e,...n};if(!X(t,l)){this.addStatusMessage({variant:"error",title:k("Kiosk not visible")});return}this.setKiosk(l),J(l),Y(l,"https://app.expofp.com/"),a.uiState.setUIScale(l.uiScale,!0),this.addStatusMessage({variant:"success",title:k("Saved")}),this.savedKiosk=l}delayChange(t){requestAnimationFrame(()=>t?.())}handleChange(t){const e=c(this.kiosk);e&&(Number.isFinite(t.angle)&&this.setKiosk({...e,heading:t.angle}),Number.isFinite(t.scale)&&(this.setKiosk({...e,uiScale:t.scale}),this.delayChange(()=>a.uiState.setUIScale(t.scale,!1))),Number.isFinite(t.percent)&&this.setKiosk({...e,iconSizePercent:t.percent}))}initialPtScale;setInitialPtScale(t){if(this.initialPtScale)return;this.initialPtScale=t;const e=c(this.kiosk);e&&this.setKiosk({...e,mapInitialPtScale:t})}handleClick(t){const e=c(this.kiosk),n=a.fp.getFloors(),l=E()?n.find(u=>u.active)?.name??null:null,o=a.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:l,uiScale:e?.uiScale||o,heading:e?.heading||0,iconSizePercent:e?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const t=c(this.kiosk);t&&this.setKiosk({...t,...this.getCameraState()})}}})();export default new L;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const KIOSK_STORAGE_KEY = "expofp-kiosk";
|
|
2
|
+
export declare const KIOSK_STATS_ID_STORAGE_KEY = "expofp-kiosk-stats-id";
|
|
2
3
|
export declare const KIOSK_SLUG = "interactive-kiosk";
|
|
3
4
|
export declare const KIOSK_NAME = "Your Location";
|
|
4
5
|
export declare const KIOSK_URL_PARAM_PREFIX = "kiosk_";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const KIOSK_STORAGE_KEY="expofp-kiosk",KIOSK_SLUG="interactive-kiosk",KIOSK_NAME="Your Location",KIOSK_URL_PARAM_PREFIX="kiosk_";
|
|
1
|
+
export const KIOSK_STORAGE_KEY="expofp-kiosk",KIOSK_STATS_ID_STORAGE_KEY="expofp-kiosk-stats-id",KIOSK_SLUG="interactive-kiosk",KIOSK_NAME="Your Location",KIOSK_URL_PARAM_PREFIX="kiosk_";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Kiosk } from "./SetKiosk";
|
|
2
|
+
export declare function createKiosk(kiosk: Kiosk, originUrlString: string): Promise<string | null>;
|
|
3
|
+
export declare function updateKiosk(kiosk: Kiosk, originUrlString: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=kioskApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{KIOSK_STATS_ID_STORAGE_KEY as a}from"./SetKiosk/constants";const r={"Content-Type":"application/json"};function n(o,s){const e=new URL(o,s);return e.searchParams.set("expoKey",window.__efpEvent),e.toString()}export async function createKiosk(o,s){try{const e=await fetch(n("/api/kiosks",s),{method:"POST",headers:r,body:JSON.stringify(o)});return e.ok?(await e.json()).key??null:(console.error("createKiosk",e.status,e.statusText),null)}catch(e){return console.error("createKiosk",e),null}}export async function updateKiosk(o,s){const e=localStorage.getItem(a);if(e)try{const t=await fetch(n("/api/kiosks",s),{method:"POST",headers:r,body:JSON.stringify({...o,key:e})});t.ok||console.error("updateKiosk",t.status,t.statusText)}catch(t){console.error("updateKiosk",t)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PREVIEW_MODE_ATTRIBUTE as
|
|
1
|
+
import{PREVIEW_MODE_ATTRIBUTE as M}from"./constants";import c from"./tools/base-runtime-url";import{buildRebookingUrl as T,getRebookingToken as A,retainRebookingToken as F}from"./tools/rebookingUrl";import{loadCss as R,loadFont as g,loadJs as k}from"./tools/loaders";import I from"./tools/logger";import{sleep as V}from"./utils";import{initI18n as H}from"./utils/i18n";import U from"./utils/is-webview";import{loadCustomCss as z}from"./utils/loadCustomCss";import{loadIcons as G}from"./utils/loadIcons";import N from"./utils/mergeExhibitors";import E from"./utils/use-shadow";import Q from"./utils/is-debug";import q from"./utils/is-localhost";import{initSentry as W}from"./tools/sentry";function t(){throw new Error("FloorPlan not ready")}export default class ${options;renderTarget;_ready;element;eventId;dataUrl;noOverlay;offHistory;ignoreQuery;allowConsent;onInit;disableRuntimeAlerts;viewerMode;maplibre;efpStyleLoadHandler;resolveReady;icons=new Map;enableRotation=!0;alwaysShowSidebar=!1;get ready(){return this._ready}get previewMode(){return this.options.previewMode||this.element.hasAttribute(M)}onBoothClick;onBookmarkClick;onVisitedClick;onCategoryClick;onFpConfigured;onDirection;onDetails;onExhibitorCustomButtonClick;onGetCoordsClick;onMarkerClick;onLeaveEvent;selectBooth(e){t()}selectExhibitor(e){t()}selectRoute(e,r){t()}getOptimizedRoutes(e){t()}selectCurrentPosition(e,r,h){t()}setBookmarks(e){t()}setEntitiesBookmarks(e){t()}setEntitiesVisited(e){t()}setMarkers(e){t()}updateLayerVisibility(e,r){t()}getCenterCoordinates(){t()}applyParameters(e){t()}exhibitorsList(){t()}boothsList(){t()}categoriesList(){t()}selectCategory(e){t()}getVisibility(){t()}setVisibility(e){t()}findLocation(){t()}zoomIn(){t()}zoomOut(){t()}zoomTo(e,r){t()}switchView(){t()}fitBounds(){t()}getBounds(e){t()}getBoothRect(e){t()}convertToGeo(e,r){t()}getGeoConfig(){t()}unstable_destroy(){t()}highlightExhibitors(e){t()}highlightBooths(e){t()}onCurrentPositionChanged(e){t()}search(e){t()}getFloors(){t()}onFloorActivated(e){t()}activateFloor(e){t()}showPathway(e,r){t()}showPathwayOnly(e,r){t()}hidePathways(){t()}showSearch(){t()}changeLanguage(e){t()}isGpsTrackingEnabled(){t()}setGpsTrackingEnabled(e){t()}deselectCurrentPosition(){t()}deselectRoute(){t()}reset(){t()}selectAccessibleRoute(e){t()}constructor(e){this.options=e,this.noOverlay=!!e.noOverlay,this.offHistory=!!e.offHistory,this.ignoreQuery=e.ignoreQuery,this.allowConsent=q&&!Q?!1:e.allowConsent,this.onBoothClick=e.onBoothClick,this.onBookmarkClick=e.onBookmarkClick,this.onVisitedClick=e.onVisitedClick,this.onCategoryClick=e.onCategoryClick,this.onDetails=e.onDetails,this.onExhibitorCustomButtonClick=e.onExhibitorCustomButtonClick,this.onGetCoordsClick=e.onGetCoordsClick,this.onMarkerClick=e.onMarkerClick,this.onFpConfigured=e.onFpConfigured,this.onDirection=e.onDirection,this.onInit=e.onInit,this.onCurrentPositionChanged=e.onCurrentPositionChanged,this.onFloorActivated=e.onFloorActivated,this.onLeaveEvent=e.onLeaveEvent,this.viewerMode=!!e.viewerMode,this.disableRuntimeAlerts=e.disableRuntimeAlerts??!0,this.maplibre=e.maplibre,window.__efpMaplibre=e.maplibre,this._ready=new Promise((l,a)=>{this.resolveReady=l});const r=e.element;if(this.element=r,r.__expofp)throw new Error("Element already in use");if(r.__expofp=this,r.getAttribute("data-event-id")||r.getAttribute("data-event"))throw new Error("data-xxx attributes are removed, use options instead");const h=e.expo||e.event;if(!h)throw new Error("`expo` option is required");W({eventId:h||"",isWebview:U}),this.eventId=h,window.__efpEvent=h,window.__efpElement=r;const w=document.createElement("div");w.style.height="100%",w.style.width="100%",r.appendChild(w);let n;if(U&&(this.allowConsent=!0),e.allowConsent===void 0){const a=new URL(window.location.href).searchParams.get("allowConsent");a&&(this.allowConsent=a==="true")}if(E){n=w.attachShadow({mode:"open"});const l=n,a=document;l.createElement=(...i)=>a.createElement(...i),l.createElementNS=(...i)=>a.createElementNS(...i),l.createTextNode=(...i)=>a.createTextNode(...i)}else n=w;const y=document.createElement("div");if(y.style.height="100%",y.style.width="100%",n.appendChild(y),E&&Object.defineProperty(y,"ownerDocument",{value:n}),window.__efpShadowDOMStyleParent=E?n:void 0,this.renderTarget=y,r.getAttribute("data-data-url"))throw new Error("data-xxx attributes are removed, use options instead");const u=e.legacyDataUrlBase;window.__dataUrlBase=u,this.dataUrl=u,I.log("Instantiating ExpoFP floorplan",e.element,h);const S=u+"data.js",L=u+"wf.data.js",x=u+"fp.svg.js",O=[k(L),k(S),k(x)];let v=0;this.efpStyleLoadHandler=function(l){const a=window.__efpStyleElements;for(;v<a.length;){const i=a[v];n.appendChild(i),v++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const b=this;(async function(){await Promise.all(O);let a=0;for(;window.__fpPending&&!window.__fp;)await V(2e3),await k(x+`?v=${++a}`);const i=window.__data;if(!i){const{showEventNotFound:o}=await import("./tools/event-not-found");o(r);return}await H();const m=new URLSearchParams(window.location.search);let f,C;if(i?.trackerUrl)try{f=new URL(i.trackerUrl),C=f.searchParams.get("expoId")}catch(o){console.error(o)}const _=async o=>{if(!f||!C)return Promise.reject(new Error("trackerUrl or expoId is missing"));const s=new URL(o.dataUrl,f.origin),d=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:C,token:decodeURIComponent(m.get("t"))})});let p=[];d.ok&&(p=(await d.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:p}};if(m.get("heatmap")==="true")try{if(m.get("type")==="yah")m.get("subtype")==="kiosk"?await _({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await _({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,s)=>({...o,name:`QR Code #${s+1}`})});else{const o=new URL("/api/fp-stats/get",f.origin);o.searchParams.set("expoId",C),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(m.get("t")));const s=new URL("api/fp-stats/get",f.origin);s.searchParams.set("expoId",C),s.searchParams.set("type","exview"),s.searchParams.set("t",decodeURIComponent(m.get("t")));const[d,p]=await Promise.all([fetch(o.toString()),fetch(s.toString())]),[P,j]=await Promise.all([d.json(),p.json()]);window.__heatmapData={booths:P,exhibitors:j}}}catch(o){console.error("Heatmap: Initialization error",o)}try{const o=A();if(o){F(o);const s=T("api/rebooking-data",{rt:o,expoKey:h}),d=await fetch(s);if(d.ok){const p=await d.json();N(i,p)}i.isRebooking=d.ok}else i.isRebooking=!1}catch(o){console.error(o)}const B=[R(c+"vendor/sanitize-css/sanitize.css",n),R(c+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",n),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),g("Inter",c+"fonts/inter-400.woff2",{weight:400}),g("Inter",c+"fonts/inter-500.woff2",{weight:500}),g("Inter",c+"fonts/inter-600.woff2",{weight:600}),g("efp-symbols",c+"fonts/efp-symbols.woff",{weight:400}),z(i,n),G(b.icons)];await Promise.all(B),b.enableRotation=i?.enableRotation??!1,b.alwaysShowSidebar=i?.alwaysShowSidebar??!1,I.log("Data loaded"),window.__storeInitAllowed=!0;const{default:D}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());r.firstChild&&r.firstChild!==w;)r.removeChild(r.firstChild);Object.setPrototypeOf(b,D.prototype).init()})()}}
|
|
@@ -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 x,findBooth as E,separateExternalIds as P}from"./store/RouteStore";import{destroyUiHandlers as G}from"./store/init/init-ui";import{GaEventActions as w,destroyGtag as _,sendEventToGa as B,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 b}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 v}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{optimizeWaypointOrder as Q}from"./wayfinding/core/routing/optimizeWaypointOrder";import{hasLocale as Z,getLocales as J}from"./utils/i18n";const S=W("efp:api");I();export default class ee extends ${root;init(){this.ignoreQuery||z(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),B(w.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),B(w.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}=P(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 x(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 x(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=v("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=v("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.maplibreStore.activateMaplibre()}zoomTo(e,i){S("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){S("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(S("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"),E(e)?.rect}convertToGeo(e,i){if(!b?.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,b.properties.config)}getGeoConfig(){const e=b?.properties?.config;return e?{bearing:e.bearing??0,p0:e.p0,p1:e.p1,p2:e.p2}:null}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),t.maplibreStore.dispose(),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}=P(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),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?E(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://js-sdk.expofp.com/api/packages";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 _,initRouting as j}from"./services/routing";import t from"./store";import{Route as x,findBooth as E,separateExternalIds as P}from"./store/RouteStore";import{destroyUiHandlers as z}from"./store/init/init-ui";import{GaEventActions as w,destroyGtag as G,sendEventToGa as B,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 b}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 v}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{optimizeWaypointOrder as Q}from"./wayfinding/core/routing/optimizeWaypointOrder";import{hasLocale as Z,getLocales as J}from"./utils/i18n";import{shouldLoadIntercom as ee}from"./intercom";const S=W("efp:api");I();export default class te extends ${root;init(){this.ignoreQuery||j(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),B(w.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),B(w.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0});const e=ee(window.__data);e&&import("./intercom/bootIntercom").then(({bootIntercom:o})=>o(e)).catch(()=>{})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const o=t.boothStore.booths.filter(i=>typeof e=="string"?i.name===e||i.externalId===e:e.includes(i.name)||e.includes(i.externalId));t.selectBooth(o)}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 o=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!o?.length)return;if(typeof e=="string"){t.selectExhibitor(o[0]),t.moveToList([o[0]]);return}const i=o.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=i.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:i[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:o,query:{key:"exhibitors",value:o.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:o,exhibitorExternalIds:i}=P(e);t.boothStore.highlightedByExternalIds=[...o],t.exhibitorStore.highlightedByExternalIds=[...i]}selectRoute(e,o){if(Array.isArray(e)){let i=[...e];const n=i.shift(),s=i.pop();if(i.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 x(f(n),f(s),i.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new x(f(e),f(o)))}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 o=e.map(f).filter(n=>!!n);if(!o.length)throw new Error("No booths found for the provided waypoints.");const i=new Map;for(const n of o){const s=n.layer?.name??"",r=i.get(s);r?r.push(n):i.set(s,[n])}return Array.from(i.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,o,i){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,o,i),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(o=>{const i=t.exhibitorStore.exhibitors.find(n=>n.name===o.name||n.externalId===o.externalId);i&&(i.bookmarked=o.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const o=["exhibitor","event","speaker","booth"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesBookmarks",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000702");return}const n=v("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 o=["exhibitor","event"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesVisited",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000704");return}const n=v("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,o=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,o)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,o){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),o||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,o)}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 o=e?.toLowerCase(),i=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===o||s?.toLowerCase()===o);if(!i){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(i)}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.maplibreStore.activateMaplibre()}zoomTo(e,o){S("zoomTo called with selectors=%O options=%O",e,o);const i=F.safeParse(e);if(!i.success){a("zoomTo",i.error.message,"EFP001600");return}const n=A.safeParse(o);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,o)}getBounds(e){S("getBounds called with selectors=%O",e);const o=F.safeParse(e);if(!o.success){a("getBounds",o.error.message,"EFP001400");return}const i=[];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&&i.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&&i.push(l.rect)})}),i.length===0)return;const n=m.fromMultiple(i);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,o){if(S("fitBounds called with bounds=%O options=%O",e,o),!e){t.uiState.fitBounds();return}const i=K.safeParse(e);if(!i.success){a("fitBounds",i.error.message,"EFP001500");return}const n=A.safeParse(o);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(o?.padding){const r=o.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"),E(e)?.rect}convertToGeo(e,o){if(!b?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!o){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,o,b.properties.config)}getGeoConfig(){const e=b?.properties?.config;return e?{bearing:e.bearing??0,p0:e.p0,p1:e.p1,p2:e.p2}:null}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),t.maplibreStore.dispose(),_(),z(),G(),[...document.getElementsByTagName("script")].filter(i=>i.src.indexOf("/fp.svg")>-1||i.src.indexOf("/wf.data.js")>-1||i.src.indexOf("/data.js")>-1).forEach(i=>i.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(o=>({item:y(o.item),score:o.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 o=this.getFloors();if(e.name){const i=o.find(n=>n.name===e.name||n.shortName===e.name);if(!i){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(i.active)return;this.updateLayerVisibility(i.name,!0);return}if(e.index!==null){const i=o.find(s=>s.index===e.index),n=i?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(i.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,o){const i=new URLSearchParams;if(i.set(U,e),o?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=P(o);n.length>0&&i.set("booths",n.join(",")),s.length>0&&i.set("exhibitors",s.join(","))}this.applyParameters(i.toString())}showPathwayOnly(e,o){this.activateFloor({name:o}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const i=t.layerStore.findLayer(e),n=t.layerStore.findLayer(o),s=i?.rect||i?.viewbox?i: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 o=e?.toLowerCase?.();if(!Z(o)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const i=new URLSearchParams;i.set(X,o),this.applyParameters(i.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?E(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,o){const i=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://js-sdk.expofp.com/api/packages";if(o&&(s+=`#error-${o}`),console.error(`${i} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:i,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)}
|
package/dist/esm/store/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{configure as
|
|
1
|
+
import{configure as t}from"mobx";import e from"./init";import r from"./RootStore";if(!window.__storeInitAllowed)throw new Error("Store initialization is not allowed before data is loaded");t({computedRequiresReaction:!0});const o=new r;e(o);export default o;export const uiState=o.uiState,exhibitorStore=o.exhibitorStore,boothStore=o.boothStore,categoryStore=o.categoryStore,layersStore=o.layerStore,heatmapStore=o.heatmapStore,searchStore=o.searchStore,toursStore=o.toursStore,intercomStore=o.intercomStore;window.__store=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{createKiosk as f}from"../components/Kiosk/kioskApi";import{getSavedKiosk as u}from"../components/Kiosk/SetKiosk";import{KIOSK_STATS_ID_STORAGE_KEY as c}from"../components/Kiosk/SetKiosk/constants";import l from"../data";import{getLocationHistory as p}from"../services/routing";import{uiState as d}from"../store";import i from"./logger";import{createTelemetry as g}from"./telemetry";let a;function S(){if(a)return a;const r=window.__efpEvent;let e;try{const t=new URL(l.trackerUrl).searchParams.get("expoId");e=t?Number(t):void 0}catch(t){i.error(t)}return a=g({url:"https://app.expofp.com/api/telemetry",expo:r,expoId:e}),a}function s(r,e){const t=p(),n=t[t.length-2];return{type:r,value:e!==void 0?String(e):"",timestamp:new Date().toISOString(),url:window.location.href,referrer:n?window.location.origin+n:""}}function v(){return!!l?.trackerUrl&&process.env.NODE_ENV==="production"&&!d.heatmap}export default async function k(r,e){if(i.log("trackEvent",r,e),!!v())try{const t=S(),n=u();if(n){const o=await y(n);if(o)t.setKioskId(o);else{t.enqueue(s(r,e));return}}h(t),await t.send(s(r,e))}catch(t){i.error("trackEvent",String(t))}}async function y(r){if(!r)return null;let e=localStorage.getItem(c);return e||(e=await f(r,"https://app.expofp.com/"),e?(localStorage.setItem(c,e),e):null)}let m=!1;function h(r){if(m)return;m=!0;const e="efp-track-events";try{const t=localStorage.getItem(e);if(!t)return;const n=JSON.parse(t);if(!Array.isArray(n)){localStorage.removeItem(e);return}for(const o of n)!o||typeof o!="object"||!o.headers||r.enqueue({type:o.type,value:o.value!==void 0?String(o.value):"",timestamp:o.timeStamp,url:o.headers["X-href"],referrer:o.headers["X-ref"]??""});localStorage.removeItem(e)}catch(t){localStorage.removeItem(e),i.error("Failed to migrate old events.",String(t))}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/floorplan",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/expofp/efp-app.git",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
"tslib": "^2.3.0",
|
|
74
74
|
"uuid": "^9.0.1",
|
|
75
75
|
"zod": "4.3.5",
|
|
76
|
-
"@expofp/resolve": "3.7.
|
|
77
|
-
"@expofp/debug": "3.7.
|
|
76
|
+
"@expofp/resolve": "3.7.4",
|
|
77
|
+
"@expofp/debug": "3.7.4"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@babel/plugin-proposal-decorators": "^7.29.7",
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
(function() {
|
|
2
|
-
try {
|
|
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.7.2" };
|
|
5
|
-
var t = new e.Error().stack;
|
|
6
|
-
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "ccf808b6-ff9f-4734-92d3-9480d3cb638c", e._sentryDebugIdIdentifier = "sentry-dbid-ccf808b6-ff9f-4734-92d3-9480d3cb638c");
|
|
7
|
-
} catch {}
|
|
8
|
-
})();
|
|
9
|
-
import { n as e, r as t, t as n } from "./storage-CveWsSQC.js";
|
|
10
|
-
import { b as r, g as i, p as a, s as o, u as s, v as c } from "./i18n-Cv7u46Kc.js";
|
|
11
|
-
import { Rt as l, o as u, yt as d } from "./store-C9IczNWg.js";
|
|
12
|
-
//#region src/components/Map/pointInConvexQuad.ts
|
|
13
|
-
function f(e, t) {
|
|
14
|
-
let n = 0;
|
|
15
|
-
for (let r = 0; r < 4; r++) {
|
|
16
|
-
let i = t[r], a = t[(r + 1) % 4], o = (a.x - i.x) * (e.y - i.y) - (a.y - i.y) * (e.x - i.x);
|
|
17
|
-
if (!Number.isFinite(o)) return !1;
|
|
18
|
-
if (o === 0) continue;
|
|
19
|
-
let s = o > 0 ? 1 : -1;
|
|
20
|
-
if (n === 0) n = s;
|
|
21
|
-
else if (n !== s) return !1;
|
|
22
|
-
}
|
|
23
|
-
return n !== 0;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
//#region src/components/Map/visibleArea.ts
|
|
27
|
-
function p(e) {
|
|
28
|
-
let t = l(e.viewport.canvasToSvg({
|
|
29
|
-
x: 0,
|
|
30
|
-
y: 0
|
|
31
|
-
})), n = l(e.viewport.canvasToSvg({
|
|
32
|
-
x: e.canvas.clientWidth,
|
|
33
|
-
y: 0
|
|
34
|
-
})), r = l(e.viewport.canvasToSvg({
|
|
35
|
-
x: 0,
|
|
36
|
-
y: e.canvas.clientHeight
|
|
37
|
-
})), i = l(e.viewport.canvasToSvg({
|
|
38
|
-
x: e.canvas.clientWidth,
|
|
39
|
-
y: e.canvas.clientHeight
|
|
40
|
-
})), a = Math.min(t.x, n.x, r.x, i.x), o = Math.max(t.x, n.x, r.x, i.x), s = Math.min(t.y, n.y, r.y, i.y), c = Math.max(t.y, n.y, r.y, i.y);
|
|
41
|
-
return {
|
|
42
|
-
x: a,
|
|
43
|
-
y: s,
|
|
44
|
-
width: o - a,
|
|
45
|
-
height: c - s,
|
|
46
|
-
left: a,
|
|
47
|
-
right: o,
|
|
48
|
-
top: c,
|
|
49
|
-
bottom: s,
|
|
50
|
-
center: {
|
|
51
|
-
x: (a + o) / 2,
|
|
52
|
-
y: (s + c) / 2
|
|
53
|
-
},
|
|
54
|
-
corners: [
|
|
55
|
-
t,
|
|
56
|
-
n,
|
|
57
|
-
i,
|
|
58
|
-
r
|
|
59
|
-
]
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function m(e, t) {
|
|
63
|
-
return f(t, p(e).corners);
|
|
64
|
-
}
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/components/Kiosk/KioskStore.ts
|
|
67
|
-
var h, g, _;
|
|
68
|
-
function v(e, t, n, r) {
|
|
69
|
-
n && Object.defineProperty(e, t, {
|
|
70
|
-
enumerable: n.enumerable,
|
|
71
|
-
configurable: n.configurable,
|
|
72
|
-
writable: n.writable,
|
|
73
|
-
value: n.initializer ? n.initializer.call(r) : void 0
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
function y(e, t, n, r, i) {
|
|
77
|
-
var a = {};
|
|
78
|
-
return Object.keys(r).forEach(function(e) {
|
|
79
|
-
a[e] = r[e];
|
|
80
|
-
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
|
|
81
|
-
return r(e, t, n) || n;
|
|
82
|
-
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
|
|
83
|
-
}
|
|
84
|
-
var b = new (h = class {
|
|
85
|
-
constructor() {
|
|
86
|
-
v(this, "savedKiosk", g, this), v(this, "statusMessages", _, this), this.statusMessageTimer = 0, this.initialPtScale = void 0;
|
|
87
|
-
}
|
|
88
|
-
get kiosk() {
|
|
89
|
-
return u.uiState.kioskData;
|
|
90
|
-
}
|
|
91
|
-
setKiosk(e) {
|
|
92
|
-
u.uiState.setKioskData(e);
|
|
93
|
-
}
|
|
94
|
-
get renderer() {
|
|
95
|
-
return u.rendererService.renderer;
|
|
96
|
-
}
|
|
97
|
-
getCameraState() {
|
|
98
|
-
let e = u.rendererService.getCameraState();
|
|
99
|
-
return e ? {
|
|
100
|
-
mapInitialPtScale: this.initialPtScale,
|
|
101
|
-
mapPtScale: e.ptScale,
|
|
102
|
-
mapCenterX: e.center.x,
|
|
103
|
-
mapCenterY: e.center.y,
|
|
104
|
-
mapRollDegrees: e.roll,
|
|
105
|
-
mapPitch: e.pitch
|
|
106
|
-
} : {};
|
|
107
|
-
}
|
|
108
|
-
get hasUnsavedChanges() {
|
|
109
|
-
let e = this.savedKiosk, t = r(this.kiosk);
|
|
110
|
-
if (!t || !e) return !!t != !!e;
|
|
111
|
-
let n = Object.keys(e), i = Object.keys(t);
|
|
112
|
-
if (n.length !== i.length) return !0;
|
|
113
|
-
for (let r of n) if (!(r in t) || e[r] !== t[r]) return !0;
|
|
114
|
-
return !1;
|
|
115
|
-
}
|
|
116
|
-
addStatusMessage(e) {
|
|
117
|
-
this.statusMessages = [{
|
|
118
|
-
...e,
|
|
119
|
-
id: Date.now()
|
|
120
|
-
}], this.startCleanupMessages();
|
|
121
|
-
}
|
|
122
|
-
clearStatusMessages() {
|
|
123
|
-
this.statusMessages = [];
|
|
124
|
-
}
|
|
125
|
-
startCleanupMessages() {
|
|
126
|
-
clearTimeout(this.statusMessageTimer), this.statusMessageTimer = window.setTimeout(() => this.clearStatusMessages(), 1e3);
|
|
127
|
-
}
|
|
128
|
-
async resetCamera() {
|
|
129
|
-
let { z: e, mapRollDegrees: t, mapInitialPtScale: n, mapPtScale: r, mapCenterX: i, mapCenterY: a } = this.kiosk || {};
|
|
130
|
-
await this.renderer.controls.resetCamera({
|
|
131
|
-
pan: !0,
|
|
132
|
-
zoom: !0,
|
|
133
|
-
roll: !0,
|
|
134
|
-
pitch: !0
|
|
135
|
-
}, !0), c(() => {
|
|
136
|
-
Number.isFinite(n) && Number.isFinite(r) && r > 0 && this.renderer.controls.zoomBy(n / r, !0), Number.isFinite(i) && Number.isFinite(a) && this.renderer.controls.panTo(i, a, !0), Number.isFinite(t) && this.renderer.controls.rollTo(t, !0), e && u.fp.activateFloor({ name: e });
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
restoreData() {
|
|
140
|
-
let e = n();
|
|
141
|
-
return e && (this.setKiosk(e), this.savedKiosk = e, u.uiState.kiosk = !0, this.resetCamera()), e;
|
|
142
|
-
}
|
|
143
|
-
handleSetupReady() {
|
|
144
|
-
this.restoreData(), u.uiState.kiosk = !0, u.uiState.hideFreeOrDemo = !0, u.uiState.setForceDimm(!0), u.searchStore.setSearchText(""), u.searchStore.setFocused(!1);
|
|
145
|
-
}
|
|
146
|
-
handleClose() {
|
|
147
|
-
this.setKiosk(null), u.uiState.setForceDimm(!1), u.uiState.enableSetKioskMode(!1), u.searchStore.closeSearch(), this.resetCamera();
|
|
148
|
-
}
|
|
149
|
-
handleDelete() {
|
|
150
|
-
e(), this.setKiosk(null), u.uiState.resetMapSettings(), u.uiState.resetUIScale(), this.resetCamera(), this.addStatusMessage({
|
|
151
|
-
variant: "success",
|
|
152
|
-
title: o("Deleted")
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
handleSave() {
|
|
156
|
-
let e = r(this.kiosk), n = this.getCameraState(), i = {
|
|
157
|
-
...e,
|
|
158
|
-
...n
|
|
159
|
-
};
|
|
160
|
-
if (!m(this.renderer, i)) {
|
|
161
|
-
this.addStatusMessage({
|
|
162
|
-
variant: "error",
|
|
163
|
-
title: o("Kiosk not visible")
|
|
164
|
-
});
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
this.setKiosk(i), t(i), u.uiState.setUIScale(i.uiScale, !0), this.addStatusMessage({
|
|
168
|
-
variant: "success",
|
|
169
|
-
title: o("Saved")
|
|
170
|
-
}), this.savedKiosk = i;
|
|
171
|
-
}
|
|
172
|
-
delayChange(e) {
|
|
173
|
-
requestAnimationFrame(() => e == null ? void 0 : e());
|
|
174
|
-
}
|
|
175
|
-
handleChange(e) {
|
|
176
|
-
let t = r(this.kiosk);
|
|
177
|
-
t && (Number.isFinite(e.angle) && this.setKiosk({
|
|
178
|
-
...t,
|
|
179
|
-
heading: e.angle
|
|
180
|
-
}), Number.isFinite(e.scale) && (this.setKiosk({
|
|
181
|
-
...t,
|
|
182
|
-
uiScale: e.scale
|
|
183
|
-
}), this.delayChange(() => u.uiState.setUIScale(e.scale, !1))), Number.isFinite(e.percent) && this.setKiosk({
|
|
184
|
-
...t,
|
|
185
|
-
iconSizePercent: e.percent
|
|
186
|
-
}));
|
|
187
|
-
}
|
|
188
|
-
setInitialPtScale(e) {
|
|
189
|
-
if (this.initialPtScale) return;
|
|
190
|
-
this.initialPtScale = e;
|
|
191
|
-
let t = r(this.kiosk);
|
|
192
|
-
t && this.setKiosk({
|
|
193
|
-
...t,
|
|
194
|
-
mapInitialPtScale: e
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
handleClick(e) {
|
|
198
|
-
var t;
|
|
199
|
-
let n = r(this.kiosk), i = u.fp.getFloors(), a = d() ? (t = i.find((e) => e.active)) == null ? void 0 : t.name : null, o = u.uiState.uiScale;
|
|
200
|
-
this.setKiosk({
|
|
201
|
-
...n,
|
|
202
|
-
x: e.x,
|
|
203
|
-
y: e.y,
|
|
204
|
-
z: a,
|
|
205
|
-
uiScale: (n == null ? void 0 : n.uiScale) || o,
|
|
206
|
-
heading: (n == null ? void 0 : n.heading) || 0,
|
|
207
|
-
iconSizePercent: (n == null ? void 0 : n.iconSizePercent) || 100,
|
|
208
|
-
...this.getCameraState()
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
handleNavigationChange() {
|
|
212
|
-
let e = r(this.kiosk);
|
|
213
|
-
e && this.setKiosk({
|
|
214
|
-
...e,
|
|
215
|
-
...this.getCameraState()
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
}, y(h.prototype, "kiosk", [a], Object.getOwnPropertyDescriptor(h.prototype, "kiosk"), h.prototype), y(h.prototype, "setKiosk", [s], Object.getOwnPropertyDescriptor(h.prototype, "setKiosk"), h.prototype), y(h.prototype, "renderer", [a], Object.getOwnPropertyDescriptor(h.prototype, "renderer"), h.prototype), g = y(h.prototype, "savedKiosk", [i], {
|
|
219
|
-
configurable: !0,
|
|
220
|
-
enumerable: !0,
|
|
221
|
-
writable: !0,
|
|
222
|
-
initializer: null
|
|
223
|
-
}), y(h.prototype, "hasUnsavedChanges", [a], Object.getOwnPropertyDescriptor(h.prototype, "hasUnsavedChanges"), h.prototype), _ = y(h.prototype, "statusMessages", [i], {
|
|
224
|
-
configurable: !0,
|
|
225
|
-
enumerable: !0,
|
|
226
|
-
writable: !0,
|
|
227
|
-
initializer: function() {
|
|
228
|
-
return [];
|
|
229
|
-
}
|
|
230
|
-
}), y(h.prototype, "addStatusMessage", [s], Object.getOwnPropertyDescriptor(h.prototype, "addStatusMessage"), h.prototype), y(h.prototype, "clearStatusMessages", [s], Object.getOwnPropertyDescriptor(h.prototype, "clearStatusMessages"), h.prototype), y(h.prototype, "startCleanupMessages", [s], Object.getOwnPropertyDescriptor(h.prototype, "startCleanupMessages"), h.prototype), y(h.prototype, "resetCamera", [s], Object.getOwnPropertyDescriptor(h.prototype, "resetCamera"), h.prototype), y(h.prototype, "restoreData", [s], Object.getOwnPropertyDescriptor(h.prototype, "restoreData"), h.prototype), y(h.prototype, "handleSetupReady", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleSetupReady"), h.prototype), y(h.prototype, "handleClose", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleClose"), h.prototype), y(h.prototype, "handleDelete", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleDelete"), h.prototype), y(h.prototype, "handleSave", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleSave"), h.prototype), y(h.prototype, "handleChange", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleChange"), h.prototype), y(h.prototype, "setInitialPtScale", [s], Object.getOwnPropertyDescriptor(h.prototype, "setInitialPtScale"), h.prototype), y(h.prototype, "handleClick", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleClick"), h.prototype), y(h.prototype, "handleNavigationChange", [s], Object.getOwnPropertyDescriptor(h.prototype, "handleNavigationChange"), h.prototype), h)();
|
|
231
|
-
//#endregion
|
|
232
|
-
export { b as t };
|