@expofp/floorplan 3.19.0 → 3.20.1

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.
Files changed (77) hide show
  1. package/dist/browser/{Button-CSjGwCw8.js → Button-CIZNx2Hf.js} +5 -5
  2. package/dist/browser/{CookieConsent-DoKq6i8L.js → CookieConsent--EI50p11.js} +7 -7
  3. package/dist/browser/{Debug-5zEiNUyg.js → Debug-DtMm5o9u.js} +7 -7
  4. package/dist/browser/{Demo-gYGSSAX-.js → Demo-BMSC5fdk.js} +9 -9
  5. package/dist/browser/{Free-3I9CaGED.js → Free-Do_QMejO.js} +9 -9
  6. package/dist/browser/{Gallery-DvczhcFU.js → Gallery-BHLCmnEc.js} +9 -9
  7. package/dist/browser/{GpsLoader-CkmCme_P.js → GpsLoader-BLsWZXdW.js} +10 -10
  8. package/dist/browser/{KioskStore-Dkc03BJk.js → KioskStore-jS1TwgN_.js} +4 -4
  9. package/dist/browser/{MaplibreAdapter-DRlvaZ7C.js → MaplibreAdapter-DL2Eccgl.js} +9 -9
  10. package/dist/browser/{ModalContainer-h3TovgWF.js → ModalContainer-BH3_FY8L.js} +10 -10
  11. package/dist/browser/{PermissionNotice-B8j8TR_D.js → PermissionNotice-DogwVOoE.js} +6 -6
  12. package/dist/browser/{SetKioskMode-C4NKwotU.js → SetKioskMode-DwMcZijX.js} +8 -8
  13. package/dist/browser/{ShowKiosk-BBmrToaF.js → ShowKiosk-BycLuCIL.js} +12 -12
  14. package/dist/browser/{TouchHand-DRif3YH_.js → TouchHand-Doeqs0E3.js} +4 -4
  15. package/dist/browser/{ViewerMenuPanel-YpBiORHt.js → ViewerMenuPanel-BnWeuS-8.js} +9 -9
  16. package/dist/browser/{add-debug-secret-listener-CFqwaslU.js → add-debug-secret-listener-D3GtCWlI.js} +1 -1
  17. package/dist/browser/{adopt-global-settings-B0JmlKXZ.js → adopt-global-settings-CDO6Yd7V.js} +9 -9
  18. package/dist/browser/{boolean-editor-XhzKDQsF.js → boolean-editor--PMvGWEn.js} +9 -9
  19. package/dist/browser/{bootIntercom-CL4Wwt09.js → bootIntercom-DxfIF_sW.js} +2 -2
  20. package/dist/browser/{booth-by-xy-CNodwywv.js → booth-by-xy--9mTRkTY.js} +6 -6
  21. package/dist/browser/bundle.json +66 -66
  22. package/dist/browser/{classnames-D7bHkaTv.js → classnames-Duuo2rUI.js} +2 -2
  23. package/dist/browser/{client-FmZunq3E.js → client-BX7F8QOZ.js} +4 -4
  24. package/dist/browser/{components-BxYu3VSQ.js → components-DIKAAFoZ.js} +599 -571
  25. package/dist/browser/{debug-overlay-Col3kun-.js → debug-overlay-B166CKCv.js} +10 -10
  26. package/dist/browser/{debug-ui-DP-m_PQY.js → debug-ui-CrsuXGk4.js} +6 -6
  27. package/dist/browser/{dist--UfxHNpB.js → dist-BjiRCtsQ.js} +6 -6
  28. package/dist/browser/{dist-j_Dvhg_B.js → dist-CAR5poKe.js} +3 -3
  29. package/dist/browser/{dist-DKuVdnM1.js → dist-CgBtJWGC.js} +5 -5
  30. package/dist/browser/{efp-debug-init-DLVidU_L.js → efp-debug-init-BMGbxMsu.js} +3 -3
  31. package/dist/browser/{enum-editor-Cl34zB7v.js → enum-editor-DD9JifW9.js} +4 -4
  32. package/dist/browser/{es5-vcEukkmw.js → es5-CCTpVkpP.js} +2 -2
  33. package/dist/browser/{event-not-found-ChZDmcvK.js → event-not-found-DtlT5Hh-.js} +1 -1
  34. package/dist/browser/{exports-BXJy6Kmw.js → exports-hPDvqzk3.js} +1 -1
  35. package/dist/browser/{favicon-_NCvfFvc.js → favicon--j8SyHo_.js} +1 -1
  36. package/dist/browser/{fetch-retry.umd-3LUIAd6l.js → fetch-retry.umd-CZC1W2Gf.js} +2 -2
  37. package/dist/browser/{flex-DzUPTjql.js → flex-DaxUvwbX.js} +5 -5
  38. package/dist/browser/{floorplan.loader-Cq6lnFlH.js → floorplan.loader-Cen3hDqa.js} +19 -19
  39. package/dist/browser/{floorplan.ready-CVvdDLK9.js → floorplan.ready-Maien7uA.js} +297 -314
  40. package/dist/browser/{fuse-DFMgyIxf.js → fuse-C37D7Zj6.js} +2 -2
  41. package/dist/browser/{i18n-DWMPMvpq.js → i18n-C5VNVGQf.js} +2422 -2371
  42. package/dist/browser/index.js +36 -36
  43. package/dist/browser/{index.module-CwWKL3qT.js → index.module-CEA0H5Wh.js} +4 -4
  44. package/dist/browser/{integrateKiosk-DDctkdW5.js → integrateKiosk-BE9ZijAG.js} +4 -4
  45. package/dist/browser/{is-webview-Dh3BOm5s.js → is-webview-BUh67H5d.js} +1 -1
  46. package/dist/browser/{jsx-runtime-BT-4UVZK.js → jsx-runtime-C946KOms.js} +2 -2
  47. package/dist/browser/{kiosk-record-DAkjgI5d.js → kiosk-record-BEg-XaFq.js} +1 -1
  48. package/dist/browser/{lib-DSN5rncL.js → lib-BJ1Uu6yE.js} +3 -3
  49. package/dist/browser/{loadImage-6MtT3dR2.js → loadImage-Lr7CwFPh.js} +4 -4
  50. package/dist/browser/{logDeviceInfo-C9v2HsL2.js → logDeviceInfo-BJWoZ99e.js} +9 -9
  51. package/dist/browser/{main-CGLB-evp.js → main-DY7IWVq5.js} +1 -1
  52. package/dist/browser/{mobx-Dykg-ki-.js → mobx-CAg5WZgv.js} +4 -4
  53. package/dist/browser/{optional-boolean-editor-Ds90tVAe.js → optional-boolean-editor-BeZFATCA.js} +3 -3
  54. package/dist/browser/{optional-enum-editor-DwpbJFlC.js → optional-enum-editor-BiAxn1K1.js} +4 -4
  55. package/dist/browser/{optional-string-editor-C_MgikTV.js → optional-string-editor-B58lWztJ.js} +4 -4
  56. package/dist/browser/{particles.min-BrRwE_cB.js → particles.min-BO14VwHE.js} +2 -2
  57. package/dist/browser/{react-D3BZ05ZR.js → react-Br12TYQz.js} +2 -2
  58. package/dist/browser/{react-dom-hZlmCSGa.js → react-dom-kVWZ1ldt.js} +3 -3
  59. package/dist/browser/{rolldown-runtime-BA6mgZXd.js → rolldown-runtime-Bs00Jj73.js} +1 -1
  60. package/dist/browser/{select-D23T81nr.js → select-CWOn05Ap.js} +10 -10
  61. package/dist/browser/{settings-Br2xGZpf.js → settings-B5J5hSk2.js} +2 -2
  62. package/dist/browser/{settings-item-uLGrYZVO.js → settings-item-CdrDg3ew.js} +6 -6
  63. package/dist/browser/{store-F1P0xfXS.js → store-aK-vSfy0.js} +3874 -3872
  64. package/dist/browser/{string-editor-Cco_LbQO.js → string-editor-D8Zlo9Fd.js} +4 -4
  65. package/dist/browser/{text-field-rxoXlZbL.js → text-field-Ds1ozOk9.js} +5 -5
  66. package/dist/browser/{theme-teEFcmm4.js → theme-BQn7lM2P.js} +8 -8
  67. package/dist/browser/{ui-D6A9bSSx.js → ui-CBMxjdUy.js} +8 -8
  68. package/dist/browser/{useRenderTarget-CqdzcoGw.js → useRenderTarget-CZMpeOh9.js} +4 -4
  69. package/dist/esm/components/Map/Map.d.ts +1 -2
  70. package/dist/esm/components/Map/Map.js +1 -1
  71. package/dist/esm/services/url-sync.d.ts +1 -1
  72. package/dist/esm/services/url-sync.js +1 -1
  73. package/dist/esm/store/UIState.d.ts +4 -4
  74. package/dist/esm/utils/camera-map-settings.d.ts +6 -0
  75. package/dist/esm/utils/camera-map-settings.js +1 -1
  76. package/dist/esm/utils/gps.d.ts +1 -1
  77. package/package.json +8 -8
@@ -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.19.0" };
4
+ e.SENTRY_RELEASE = { id: "3.20.1" };
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-BT-4UVZK.js";
10
- import { t } from "./settings-item-uLGrYZVO.js";
11
- import { t as n } from "./text-field-rxoXlZbL.js";
9
+ import { t as e } from "./jsx-runtime-C946KOms.js";
10
+ import { t } from "./settings-item-CdrDg3ew.js";
11
+ import { t as n } from "./text-field-Ds1ozOk9.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.19.0" };
4
+ e.SENTRY_RELEASE = { id: "3.20.1" };
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-BA6mgZXd.js";
10
- import { t } from "./react-D3BZ05ZR.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-DzUPTjql.js";
12
- import { t as l } from "./classnames-D7bHkaTv.js";
9
+ import { r as e } from "./rolldown-runtime-Bs00Jj73.js";
10
+ import { t } from "./react-Br12TYQz.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-DaxUvwbX.js";
12
+ import { t as l } from "./classnames-Duuo2rUI.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.19.0" };
4
+ e.SENTRY_RELEASE = { id: "3.20.1" };
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-BA6mgZXd.js";
10
- import { t } from "./react-D3BZ05ZR.js";
11
- import { t as n } from "./jsx-runtime-BT-4UVZK.js";
12
- import { t as r } from "./react-dom-hZlmCSGa.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-DzUPTjql.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--UfxHNpB.js";
15
- import { t as y } from "./classnames-D7bHkaTv.js";
9
+ import { r as e } from "./rolldown-runtime-Bs00Jj73.js";
10
+ import { t } from "./react-Br12TYQz.js";
11
+ import { t as n } from "./jsx-runtime-C946KOms.js";
12
+ import { t as r } from "./react-dom-kVWZ1ldt.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-DaxUvwbX.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-BjiRCtsQ.js";
15
+ import { t as y } from "./classnames-Duuo2rUI.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.19.0" };
4
+ e.SENTRY_RELEASE = { id: "3.20.1" };
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-BA6mgZXd.js";
10
- import { a as t, i as n, s as r } from "./efp-debug-init-DLVidU_L.js";
11
- import { a as i, i as a } from "./adopt-global-settings-B0JmlKXZ.js";
12
- import { t as o } from "./jsx-runtime-BT-4UVZK.js";
13
- import "./settings-Br2xGZpf.js";
14
- import { t as s } from "./add-debug-secret-listener-CFqwaslU.js";
9
+ import { r as e } from "./rolldown-runtime-Bs00Jj73.js";
10
+ import { a as t, i as n, s as r } from "./efp-debug-init-BMGbxMsu.js";
11
+ import { a as i, i as a } from "./adopt-global-settings-CDO6Yd7V.js";
12
+ import { t as o } from "./jsx-runtime-C946KOms.js";
13
+ import "./settings-B5J5hSk2.js";
14
+ import { t as s } from "./add-debug-secret-listener-D3GtCWlI.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-DP-m_PQY.js"), { createRoot: i } = await import("./client-FmZunq3E.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-CrsuXGk4.js"), { createRoot: i } = await import("./client-BX7F8QOZ.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.19.0" };
4
+ e.SENTRY_RELEASE = { id: "3.20.1" };
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-BA6mgZXd.js";
10
- import { t } from "./react-D3BZ05ZR.js";
11
- import { c as n } from "./store-F1P0xfXS.js";
9
+ import { r as e } from "./rolldown-runtime-Bs00Jj73.js";
10
+ import { t } from "./react-Br12TYQz.js";
11
+ import { c as n } from "./store-aK-vSfy0.js";
12
12
  //#region src/utils/getRenderTargetFromRoot.ts
13
13
  var r = /* @__PURE__ */ e(t(), 1);
14
14
  function i(e) {
@@ -1,3 +1,2 @@
1
- import React from 'react';
2
- export default function Map(): React.JSX.Element;
1
+ export default function Map(): import("react").JSX.Element;
3
2
  //# sourceMappingURL=Map.d.ts.map
@@ -1 +1 @@
1
- import{Fragment as te,jsx as C,jsxs as O}from"react/jsx-runtime";import{Box as k}from"@expofp/geometry";import re from"classnames";import ne from"color";import{observable as ie,reaction as ae}from"mobx";import{useObserver as se}from"mobx-react-lite";import{useEffect as le,useMemo as me,useRef as S,useState as ce}from"react";import{DEBUG_STORAGE_KEY as X}from"../../constants";import fe from"../../data";import{fpGeo as de}from"../../data/fpGeo";import{svgArea as U}from"../../data/svg";import{boxToRenderer as L,createSceneDef as ue,mapRollSetting as j}from"../../renderer";import{pickDefaultScene as A,pickDefaultScenePoint as pe}from"../../renderer/engine-core/defs";import a,{boothStore as he,layersStore as h,uiState as o}from"../../store";import{BoothBase as Z}from"../../store/BoothStore";import{Category as ve}from"../../store/CategoryStore";import{Exhibitor as $}from"../../store/ExhibitorStore";import{LayerMode as R}from"../../store/LayerStore";import{CurrentPosition as ye,Route as be}from"../../store/RouteStore";import B from"../../tools/logger";import p from"../../tools/settings";import ge from"../../ui/Draggable";import{areLayersEnabled as we}from"../../utils/areLayersEnabled";import{applyVenueDimValue as Se,createDimmingAnimator as Re}from"../../utils/dimming";import{convertGpsToLocal as xe}from"../../utils/gps";import y from"../../utils/is-debug";import{isPathwayLayer as K}from"../../utils/is-pathway-layer";import{useReaction as d}from"../../utils/mobx";import{createWayfinding as Te}from"../../wayfinding";import V from"./booth-by-xy";import Ce from"./drawing/config/config-all";import{configMarkers as ke,getMarkerFromClick as Le}from"./drawing/config/config-markers";import{loadLayersImages as Be}from"./drawing/config/loadBoothsImages";import{useBuildRoute as Ee}from"./traffic/useBuildRoute";import{useManageTraffic as Me}from"./traffic/useManageTraffic";const W=Number.isFinite(p.maxZoom);export default function Pe(){let E={};const H="#ebebeb",v=S(),b=me(()=>ie({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,x=S(Re(e=>Se(l,e)));let s;const g=S(null),M=S(null);let P=null,z=null,I=null,_=!1;function D(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[q,J]=ce(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(X)!=="false":!0);d(()=>a.routeStore.currentRouteLayer,()=>{if(!l.scene||b.prevLevel===a.routeStore.currentRouteLayer)return;const e=l.scene.rootLayer.children.filter(t=>a.layerStore.floors.some(r=>t.name.includes(r.name)));let n=a.routeStore.currentRouteLayer.name;if(!e.find(t=>t.name===n))return;const i=e?.map(t=>(t.name===n&&(t.hidden=!1),t.name===b.prevLevel?.name&&(t.hidden=!0),t));b.prevLevel=a.routeStore.currentRouteLayer,l.update(...i)}),d(()=>o.centerMap,()=>{!o.centerMap||a.maplibreStore.showMaplibre||(s.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),le(()=>{if(!v.current)return;async function e(){D(),h.layersLoaded=!1;let n={};try{if(y){const t=document.createElement("canvas").getContext("webgl2"),r=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:r,horizontal:!0}),u=M.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(r?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),n={stats:f,memoryInfoPanel:u}}}catch(i){console.error(i)}s=l.create({canvas:v.current,ui:n}),g.current=s,ae(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=L(i)),t.dispose()},{fireImmediately:!0}),Ce(l).then(({layers:i,cleanup:t})=>{if(_||g.current!==s){t();return}I=t,y&&console.log("Renderer settings",s);const r=ne(p.backgroundColor==="none"?H:p.backgroundColor).string();E=ue(i,U,r),l.start(E),x.current.setTarget(o.dimmed,{immediate:!0}),j(s,a.fp.enableRotation?1:0),W&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=Te(l,a),z=ke(l),Be(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:r}=A(i),c=V(t.x,t.y),m=F(r[0]);o.hoveredBooth=c||m}),s.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),s.events.addEventListener("pointer:click",({data:i})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&a.showMap();const{point:t,defs:r}=A(i),{x:c,y:m}=t;if(o.onGetCoordsClick){const w=a.layerStore.layers.find(T=>T.visible&&(T.mode===R.TurnedOn||T.mode===R.TurnedOff));o.onGetCoordsClick({x:c,y:m,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=Le(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=V(t.x,t.y),u=F(r[0]);y&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",t),a.clickBooth(f||u)}),s.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),a.fp.getCenterCoordinates=Y,()=>Q()},[]);function Q(){_=!0,x.current.stop(),P?.(),z?.(),I?.(),D(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function Y(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const n=pe(s.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),t=a.layerStore.visible.find(r=>r.mode===R.TurnedOff||r.mode===R.TurnedOn)?.name||null;return{...n,z:t}}function F(e){return!e||!e.shape?null:he.booths.find(n=>n.shapes?.find(i=>i.shape==e.shape))}d(()=>o.zoomBy,()=>{if(!o.zoomBy||a.maplibreStore.showMaplibre)return;const e=o.zoomBy;s.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{x.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}var e=o.details;if(p.EXPO==="wineparis"&&(e instanceof $&&(e=e.booths[0]),!e))return;let n=null,i=[];e instanceof $?(n="exhibitor",i=e.booths.map(r=>r.name).sort((r,c)=>r==a.routeStore.tempToBooth?.name?-1:c==a.routeStore.tempToBooth?.name?1:0)):e instanceof Z?(n="booth",i=[e.name]):e instanceof be?(n="route",i=[e.from?.name,e.to?.name].filter(r=>!!r)):e instanceof ve&&(n="category",i=e.exhibitors.map(r=>r.booths.map(c=>c.name)).flat());var t={type:n,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:i};o.onDetails({...t,...n==="route"?{routeInfo:a.routeStore.routeInfo}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{l.renderer&&(l.renderer.visibleRect=L(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.size.height!==1/0&&o.moveToRect.size.width!==1/0&&o.moveToRect.size.height>0&&o.moveToRect.size.width>0&&N(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(s.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(B.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||a.maplibreStore.showMaplibre)return;B.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(n=>n.rect).map(n=>n.rect);e.length!==0&&(N(k.fromUnion(...e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:n,centerxy:i,bearing:t,roll:r,z:c})=>{if(!(a.maplibreStore.showMaplibre||!l.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&l.renderer.controls.configure({zoomTime:e/1e3}),a.fp.enableRotation&&j(s,r);let m;if(n){const f=n.split(",").map(Number),u=new ye(void 0,void 0,void 0,void 0,f[0],f[1]);m=xe(u,de.properties.config)}else if(i){const f=i.split(",").map(Number);m={x:f[0],y:f[1]}}c&&a.fp.activateFloor({name:c}),(m?.x||m?.y)&&l.renderer.controls.panTo(m.x,m.y),Number.isFinite(t)&&l.renderer.controls.rollTo(t)}catch(m){B.error("Error in mapSettings reaction",m)}}),Ee({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const G="routes-api.expofp.com",ee=fe.busRoutes??!1;Me({permission:h.layersLoaded&&ee,rendererService:l,dataJsonUrl:`https://${G}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${G}/locations?expo=${p.EXPO}`}),d(()=>a.layerStore.visible,e=>{if(!l.scene)return;const n=e.filter(r=>K(r.name)),t=l.scene.rootLayer.children.filter(r=>K(r.name));t.forEach(r=>{r.hidden=!n.find(c=>c.name===r.name)}),l.update(...t)});function N(e){let n=e;const i=oe(e,U),t=o.selectedRoute?.from,r=t instanceof Z?t.layer?.name:t?.layer;o.kioskData&&(!we()||r===a.routeStore.currentRouteLayer?.name)&&(n=k.fromUnion(e,new k(o.kioskData.x,o.kioskData.y,1,1)));const c=L(n),m={paddingPercent:i,maxZoom:W?void 0:10};if(o.shouldShiftMapRect){s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x+o.overlayWidthPx},s.visibleRect=s.visibleRect;try{s.controls.zoomTo(c,m)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(c,m)}function oe(e,n){return!e||!n?0:(e.area/n.area>.1?15:25)/100}return se(()=>O(te,{children:[C("canvas",{style:{width:"100%",height:"100%"},ref:v,className:re({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&q&&O(ge,{className:"debug-fps",children:[C("div",{ref:M}),C("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(X,"false"),J(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
1
+ import{Fragment as ne,jsx as k,jsxs as U}from"react/jsx-runtime";import{Box as L}from"@expofp/geometry";import ie from"classnames";import ae from"color";import{observable as se,reaction as le}from"mobx";import{useObserver as me}from"mobx-react-lite";import{useEffect as ce,useMemo as fe,useRef as x,useState as de}from"react";import{DEBUG_STORAGE_KEY as Z}from"../../constants";import ue from"../../data";import{fpGeo as pe}from"../../data/fpGeo";import{svgArea as j}from"../../data/svg";import{boxToRenderer as B,createSceneDef as he,mapRollSetting as A}from"../../renderer";import{pickDefaultScene as $,pickDefaultScenePoint as ye}from"../../renderer/engine-core/defs";import i,{boothStore as ve,layersStore as y,uiState as o}from"../../store";import{BoothBase as K}from"../../store/BoothStore";import{Category as ge}from"../../store/CategoryStore";import{Exhibitor as V}from"../../store/ExhibitorStore";import{LayerMode as R}from"../../store/LayerStore";import{Route as be}from"../../store/RouteStore";import E from"../../tools/logger";import h from"../../tools/settings";import Se from"../../ui/Draggable";import{areLayersEnabled as we}from"../../utils/areLayersEnabled";import{parseNumberPair as W}from"../../utils/camera-map-settings";import{applyVenueDimValue as xe,createDimmingAnimator as Re}from"../../utils/dimming";import{convertGpsToLocal as Te}from"../../utils/gps";import v from"../../utils/is-debug";import{isPathwayLayer as H}from"../../utils/is-pathway-layer";import{useReaction as d}from"../../utils/mobx";import{createWayfinding as Ce}from"../../wayfinding";import q from"./booth-by-xy";import ke from"./drawing/config/config-all";import{configMarkers as Le,getMarkerFromClick as Be}from"./drawing/config/config-markers";import{loadLayersImages as Ee}from"./drawing/config/loadBoothsImages";import{useBuildRoute as Me}from"./traffic/useBuildRoute";import{useManageTraffic as Pe}from"./traffic/useManageTraffic";const M=Number.isFinite(h.maxZoom)?h.maxZoom:void 0,ze=M!==void 0;export default function Ie(){let P={};const J="#ebebeb",g=x(null),b=fe(()=>se({moving:!1,prevLevel:i.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),a=i.rendererService,T=x(Re(e=>xe(a,e)));let l;const S=x(null),z=x(null);let I=null,_=null,D=null,F=!1;function G(){y.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[Q,Y]=de(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(Z)!=="false":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!a.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const e=a.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(t=>r.name.includes(t.name))),n=i.routeStore.currentRouteLayer.name;if(!e.find(r=>r.name===n))return;const m=e?.map(r=>(r.name===n&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,a.update(...m)}),d(()=>o.centerMap,()=>{!o.centerMap||i.maplibreStore.showMaplibre||(l.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),ce(()=>{if(!g.current)return;async function e(){const n=g.current;if(!n)return;G(),y.layersLoaded=!1;let m={};try{if(v){const t=document.createElement("canvas").getContext("webgl2"),c=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),s=(await import("stats-gl")).default,u=new s({trackGPU:c,horizontal:!0}),p=z.current;if(!p)throw new Error("memoryInfoPanel not found.");u.dom.style.position="relative",p.style.width=`${90*(c?3:2)}px`,p.style.height="48px",p.appendChild(u.dom),m={stats:u,memoryInfoPanel:p}}}catch(r){console.error(r)}l=a.create({canvas:n,ui:m}),S.current=l,le(()=>o.canvasVisibleRectPx,(r,t)=>{r&&(l.visibleRect=B(r)),t.dispose()},{fireImmediately:!0}),ke(a).then(({layers:r,cleanup:t})=>{if(F||S.current!==l){t();return}D=t,v&&console.log("Renderer settings",l);const c=ae(h.backgroundColor==="none"?J:h.backgroundColor).string();P=he(r,j,c),a.start(P),T.current.setTarget(o.dimmed,{immediate:!0}),A(l,i.fp.enableRotation?1:0),M!==void 0&&l.viewport.setMaxZoom(M),y.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),I=Ce(a,i),_=Le(a),Ee(a)}),l.events.addEventListener("pointer:move",({data:r})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:c}=$(r),f=q(t.x,t.y),s=N(c[0]);o.hoveredBooth=f||s}),l.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:r})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&i.showMap();const{point:t,defs:c}=$(r),{x:f,y:s}=t;if(o.onGetCoordsClick){const w=i.layerStore.layers.find(C=>C.visible&&(C.mode===R.TurnedOn||C.mode===R.TurnedOff));o.onGetCoordsClick({x:f,y:s,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=Be(f,s,a.scale);v&&console.log("marker",w),o.onMarkerClick(w)}const u=q(t.x,t.y),p=N(c[0]);v&&console.log("boothIdFromClientXy",u,"boothByShape",p,"pointer:click point",t),i.clickBooth(u||p)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),i.fp.getCenterCoordinates=oe,()=>ee()},[]);function ee(){F=!0,T.current.stop(),I?.(),_?.(),D?.(),G(),y.layersLoaded=!1,a.disposeIfCurrent(S.current),S.current=null}function oe(){const e=g.current;if(!e)throw new Error("Canvas not ready");const n=ye(l.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),r=i.layerStore.visible.find(t=>t.mode===R.TurnedOff||t.mode===R.TurnedOn)?.name||null;return{...n,z:r}}function N(e){return!e||!e.shape?null:ve.booths.find(n=>n.shapes?.find(m=>m.shape==e.shape))??null}d(()=>o.zoomBy,()=>{if(!o.zoomBy||i.maplibreStore.showMaplibre)return;const e=o.zoomBy;l.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{T.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}let e=o.details;if(h.EXPO==="wineparis"&&(e instanceof V&&(e=e.booths[0]),!e))return;let n=null,m=[];e instanceof V?(n="exhibitor",m=e.booths.map(t=>t.name).sort((t,c)=>t==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):e instanceof K?(n="booth",m=[e.name]):e instanceof be?(n="route",m=[e.from?.name,e.to?.name].filter(t=>!!t)):e instanceof ge&&(n="category",m=e.exhibitors.map(t=>t.booths.map(c=>c.name)).flat());const r={type:n,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:m};o.onDetails({...r,...n==="route"?{routeInfo:i.routeStore.routeInfo??void 0}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{a.renderer&&(a.renderer.visibleRect=B(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||i.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.size.height!==1/0&&o.moveToRect.size.width!==1/0&&o.moveToRect.size.height>0&&o.moveToRect.size.width>0&&X(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(l.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(E.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||i.maplibreStore.showMaplibre)return;E.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(n=>n.rect).map(n=>n.rect);e.length!==0&&(X(L.fromUnion(...e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:n,centerxy:m,bearing:r,roll:t,z:c})=>{if(!(i.maplibreStore.showMaplibre||!a.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&a.renderer.controls.configure({zoomTime:e/1e3}),i.fp.enableRotation&&A(l,t??0);let f;if(n){const s=W(n),u=pe?.properties.config;if(!u)throw new Error("Map center given in GPS, but the plan has no GPS config");s&&(f=Te({lat:s[0],lng:s[1]},u)??void 0)}else if(m){const s=W(m);s&&(f={x:s[0],y:s[1]})}c&&i.fp.activateFloor({name:c}),f&&a.renderer.controls.panTo(f.x,f.y),typeof r=="number"&&Number.isFinite(r)&&a.renderer.controls.rollTo(r)}catch(f){E.error("Error in mapSettings reaction",f)}}),Me({enabled:y.layersLoaded&&o.buildRoute,rendererService:a});const O="routes-api.expofp.com",te=ue.busRoutes??!1;Pe({permission:y.layersLoaded&&te,rendererService:a,dataJsonUrl:`https://${O}/v1/routes?expo=${h.EXPO}`,websocketUrl:`wss://${O}/locations?expo=${h.EXPO}`}),d(()=>i.layerStore.visible,e=>{if(!a.scene)return;const n=e.filter(t=>H(t.name)),r=a.scene.rootLayer.children.filter(t=>H(t.name));r.forEach(t=>{t.hidden=!n.find(c=>c.name===t.name)}),a.update(...r)});function X(e){let n=e;const m=re(e,j),r=o.selectedRoute?.from,t=r instanceof K?r.layer?.name:r?.layer;o.kioskData&&(!we()||t===i.routeStore.currentRouteLayer?.name)&&(n=L.fromUnion(e,new L(o.kioskData.x,o.kioskData.y,1,1)));const c=B(n),f={paddingPercent:m,maxZoom:ze?void 0:10},s=l.visibleRect;if(o.shouldShiftMapRect&&s){s.min={...s.min,x:s.min.x+o.overlayWidthPx},l.visibleRect=s;try{l.controls.zoomTo(c,f)}finally{s.min={...s.min,x:s.min.x-o.overlayWidthPx}}}else l.controls.zoomTo(c,f)}function re(e,n){return!e||!n?0:(e.area/n.area>.1?15:25)/100}return me(()=>U(ne,{children:[k("canvas",{style:{width:"100%",height:"100%"},ref:g,className:ie({map:!0,moving:b.moving,hidden:i.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),v&&Q&&U(Se,{className:"debug-fps",children:[k("div",{ref:z}),k("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(Z,"false"),Y(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
@@ -1,6 +1,6 @@
1
1
  /** The visited-URL trail (pathname + search per entry) — analytics referrer feed. */
2
2
  export declare function getLocationHistory(): string[];
3
- /** The current search string as the history sees it (`''` or `'?…'`). */
3
+ /** The app's current search (`''` or `'?…'`) — the platform's params filtered out. */
4
4
  export declare function currentSearch(): string;
5
5
  export declare function pushQuery(search: string): void;
6
6
  /**
@@ -1 +1 @@
1
- import{createBrowserHistory as h}from"history";import d from"../tools/logger";const t=h(),l=window.location.pathname,i=[];let r=!1,o=!1,c=0,f=()=>{},p;export function getLocationHistory(){return i}function n(e){return l+e}export function currentSearch(){return t.location.search}export function pushQuery(e){!r&&!o&&t.push(n(e))}export function replaceQuery(e){return r||o?!1:(t.replace(n(e)),!0)}export function disableUrlWrites(){r=!0}export function initUrlSync(e){r||=e.offHistory,f=e.onNavigate,!r&&n(t.location.search)===l&&i.push(n(t.location.search)),p=t.listen((u,s)=>{a(),!r&&(i.push(n(u.search)),d.log("history",s,u),s==="POP"&&f())})}export function destroyUrlSync(){r=!1,a(),p?.()}function a(){o=!1,window.clearTimeout(c)}export function goBack(){o=!0,window.clearTimeout(c),c=window.setTimeout(a,1e3),t.goBack()}
1
+ import{splitPlatformParams as s}from"@expofp/config";import{createBrowserHistory as d}from"history";import y from"../tools/logger";const t=d(),a=window.location.pathname,l=[];let i="",r=!1,c=!1,u=0,p=()=>{},h;export function getLocationHistory(){return l}function m(e){if(!i)return a+e;const o=s(e).search,n=o==="?"?"":o;return a+(n?`${n}&${i}`:`?${i}`)}export function currentSearch(){return s(t.location.search).search}export function pushQuery(e){!r&&!c&&t.push(m(e))}export function replaceQuery(e){return r||c?!1:(t.replace(m(e)),!0)}export function disableUrlWrites(){r=!0}export function initUrlSync(e){r||=e.offHistory,p=e.onNavigate,i=s(t.location.search).platform,!r&&!t.location.search&&l.push(a),h=t.listen((o,n)=>{f(),!r&&(l.push(a+o.search),y.log("history",n,o),n==="POP"&&p())})}export function destroyUrlSync(){r=!1,i="",f(),h?.()}function f(){c=!1,window.clearTimeout(u)}export function goBack(){c=!0,window.clearTimeout(u),u=window.setTimeout(f,1e3),t.goBack()}
@@ -32,11 +32,11 @@ export default class UIState {
32
32
  list: ListType;
33
33
  details: Booth | Exhibitor | Route | Category | EventItem | SpeakerItem;
34
34
  hoveredExhibitor: Exhibitor;
35
- hoveredBooth: Booth;
36
- zoomBy: number;
35
+ hoveredBooth: Booth | null;
36
+ zoomBy: number | null;
37
37
  rollReset: boolean;
38
- moveToBooths: Booth[];
39
- moveToRect: Box;
38
+ moveToBooths: Booth[] | null;
39
+ moveToRect: Box | null;
40
40
  moveToLocation: boolean;
41
41
  menu: boolean;
42
42
  searchFocused: boolean;
@@ -17,4 +17,10 @@ export declare function cameraToMapSettings(camera: Camera): MapSettings;
17
17
  * as `NaN`.
18
18
  */
19
19
  export declare function mapSettingsToCamera(settings: MapSettings): Camera;
20
+ /**
21
+ * Parses a serialized `"a,b"` pair, rejecting anything that is not exactly two
22
+ * finite numbers — legacy URLs and kiosk records can carry arbitrary strings,
23
+ * and a half-parsed pair would reach the camera as `NaN`.
24
+ */
25
+ export declare function parseNumberPair(value: string | undefined): [number, number] | undefined;
20
26
  //# sourceMappingURL=camera-map-settings.d.ts.map
@@ -1 +1 @@
1
- export function cameraToMapSettings(n){const e={};return n.x!==void 0&&n.y!==void 0&&(e.centerxy=`${n.x},${n.y}`),n.lat!==void 0&&n.lng!==void 0&&(e.center=`${n.lat},${n.lng}`),n.floor!==void 0&&(e.z=n.floor),n.bearing!==void 0&&(e.bearing=n.bearing),n.zoomTime!==void 0&&(e.zoomtime=n.zoomTime),e}export function mapSettingsToCamera(n){const e={},i=o(n.centerxy);i&&([e.x,e.y]=i);const f=o(n.center);return f&&([e.lat,e.lng]=f),n.z!==void 0&&(e.floor=n.z),n.bearing!==void 0&&(e.bearing=n.bearing),n.zoomtime!==void 0&&(e.zoomTime=n.zoomtime),e}function o(n){if(!n)return;const e=n.split(",").map(Number);if(!(e.length!==2||!e.every(Number.isFinite)))return[e[0],e[1]]}
1
+ export function cameraToMapSettings(n){const e={};return n.x!==void 0&&n.y!==void 0&&(e.centerxy=`${n.x},${n.y}`),n.lat!==void 0&&n.lng!==void 0&&(e.center=`${n.lat},${n.lng}`),n.floor!==void 0&&(e.z=n.floor),n.bearing!==void 0&&(e.bearing=n.bearing),n.zoomTime!==void 0&&(e.zoomtime=n.zoomTime),e}export function mapSettingsToCamera(n){const e={},i=parseNumberPair(n.centerxy);i&&([e.x,e.y]=i);const o=parseNumberPair(n.center);return o&&([e.lat,e.lng]=o),n.z!==void 0&&(e.floor=n.z),n.bearing!==void 0&&(e.bearing=n.bearing),n.zoomtime!==void 0&&(e.zoomTime=n.zoomtime),e}export function parseNumberPair(n){if(!n)return;const e=n.split(",").map(Number);if(!(e.length!==2||!e.every(Number.isFinite)))return[e[0],e[1]]}
@@ -25,7 +25,7 @@ export interface PointWithAngle {
25
25
  angle?: number;
26
26
  }
27
27
  export declare function isValidPointCoords(value: unknown): value is number;
28
- export declare function convertGpsToLocal({ lat, lng, angle }: CurrentPosition, config: GpsConfig): PointWithAngle | null;
28
+ export declare function convertGpsToLocal({ lat, lng, angle }: Pick<CurrentPosition, 'lat' | 'lng' | 'angle'>, config: GpsConfig): PointWithAngle | null;
29
29
  export declare function convertLocalToGps(x: number, y: number, geoConfig: GpsConfig): [number, number];
30
30
  export declare function calculateRelativeBearing(point: PointWithAngle): number;
31
31
  //# sourceMappingURL=gps.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.19.0",
3
+ "version": "3.20.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/expofp/efp-app.git",
@@ -72,13 +72,13 @@
72
72
  "tslib": "^2.3.0",
73
73
  "uuid": "^9.0.1",
74
74
  "zod": "4.4.3",
75
- "@expofp/config": "3.19.0",
76
- "@expofp/debug": "3.19.0",
77
- "@expofp/geometry": "3.19.0",
78
- "@expofp/resolve": "3.19.0",
79
- "@expofp/schema": "3.19.0",
80
- "@expofp/utils": "3.19.0",
81
- "@expofp/wayfinding": "3.19.0"
75
+ "@expofp/config": "3.20.1",
76
+ "@expofp/schema": "3.20.1",
77
+ "@expofp/utils": "3.20.1",
78
+ "@expofp/wayfinding": "3.20.1",
79
+ "@expofp/debug": "3.20.1",
80
+ "@expofp/geometry": "3.20.1",
81
+ "@expofp/resolve": "3.20.1"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@babel/plugin-proposal-decorators": "^8.0.2",