@expofp/floorplan 3.21.0 → 3.22.0

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 (73) hide show
  1. package/dist/browser/{Button-6NDEmaym.js → Button-PkkC8fYi.js} +5 -5
  2. package/dist/browser/{CookieConsent-DIZ56yeV.js → CookieConsent-COPAytjc.js} +7 -7
  3. package/dist/browser/{Debug-DPDEKp16.js → Debug-CWVwWCU0.js} +7 -7
  4. package/dist/browser/{Demo-LooT3NTt.js → Demo-yP6tHJE2.js} +9 -9
  5. package/dist/browser/{Free-DWuhem3B.js → Free-rILAyXya.js} +9 -9
  6. package/dist/browser/{Gallery-H_Ao8Wob.js → Gallery-DbQ6bxpv.js} +9 -9
  7. package/dist/browser/{GpsLoader-CnA48SiM.js → GpsLoader-U0qUOF4J.js} +10 -10
  8. package/dist/browser/{KioskStore-feFdhC63.js → KioskStore-D25GX7Yv.js} +4 -4
  9. package/dist/browser/{MaplibreAdapter-QpAzWiao.js → MaplibreAdapter-CMX6Q9zs.js} +9 -9
  10. package/dist/browser/{ModalContainer-CKQYNqfY.js → ModalContainer-TVi_WpAy.js} +10 -10
  11. package/dist/browser/{PermissionNotice-Dwcqgz1-.js → PermissionNotice-SMHSj2qI.js} +6 -6
  12. package/dist/browser/{SetKioskMode-Go9lcZM6.js → SetKioskMode-BwSFzzos.js} +8 -8
  13. package/dist/browser/{ShowKiosk-ox9OyQzR.js → ShowKiosk-D0lj2wzz.js} +10 -10
  14. package/dist/browser/{ViewerMenuPanel-x0B9qlCR.js → ViewerMenuPanel-9A84e6XT.js} +9 -9
  15. package/dist/browser/{add-debug-secret-listener-C3oywqMt.js → add-debug-secret-listener-CyjybhbR.js} +1 -1
  16. package/dist/browser/{adopt-global-settings-rBIySdjE.js → adopt-global-settings-BhJX0B0D.js} +9 -9
  17. package/dist/browser/{boolean-editor-CHDhmmAh.js → boolean-editor-3IdccOj-.js} +9 -9
  18. package/dist/browser/{bootIntercom-CHkp1kJz.js → bootIntercom-CkHVzOj8.js} +2 -2
  19. package/dist/browser/{booth-by-xy-BX7Xr5bg.js → booth-by-xy-CQvcHK_A.js} +6 -6
  20. package/dist/browser/bundle.json +65 -65
  21. package/dist/browser/{classnames-DpUTJvsT.js → classnames-6bU7zOpA.js} +2 -2
  22. package/dist/browser/{client-DFFvY3xt.js → client-BkHWS5lm.js} +4 -4
  23. package/dist/browser/{components-Cmaub3sK.js → components-Btgwx55F.js} +36 -36
  24. package/dist/browser/{debug-overlay-CzlPAkPo.js → debug-overlay-D9Gq5tnJ.js} +10 -10
  25. package/dist/browser/{debug-ui-Cr58EN5x.js → debug-ui-CclRARRM.js} +6 -6
  26. package/dist/browser/{dist-Dh1cJcrT.js → dist-D4vUke_M.js} +3 -3
  27. package/dist/browser/{dist-mEXd3j5f.js → dist-YXQi1KHp.js} +6 -6
  28. package/dist/browser/{dist-CfkjLgkM.js → dist-nmYmVc14.js} +5 -5
  29. package/dist/browser/{efp-debug-init-DzLpDq44.js → efp-debug-init-BNS4_yDX.js} +3 -3
  30. package/dist/browser/{enum-editor-toeawMIK.js → enum-editor-YeDXZjkr.js} +4 -4
  31. package/dist/browser/{es5-1fqaLdsA.js → es5-CNjSlyOY.js} +2 -2
  32. package/dist/browser/{event-not-found-CysGEIJS.js → event-not-found-BQMzvSOp.js} +1 -1
  33. package/dist/browser/{exports--D12hPpe.js → exports-BPkLTIY6.js} +1 -1
  34. package/dist/browser/{favicon-DyvjFdoC.js → favicon-D09E0ggy.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-Ca0V09jn.js → fetch-retry.umd-CyeSNjOO.js} +2 -2
  36. package/dist/browser/{flex-Dhkzu4-Z.js → flex-DFe-lnRY.js} +5 -5
  37. package/dist/browser/{floorplan.loader-BXp1Y-JP.js → floorplan.loader-CtqFPg5v.js} +646 -631
  38. package/dist/browser/{floorplan.ready-BOHYcGG4.js → floorplan.ready-mvJLjOT8.js} +14 -14
  39. package/dist/browser/{fuse-C8Q4nysC.js → fuse-CH8SDiG4.js} +2 -2
  40. package/dist/browser/{i18n-CcadkCad.js → i18n-pREdf4o-.js} +8 -6
  41. package/dist/browser/index.js +14 -14
  42. package/dist/browser/{index.module-B5ngAAzL.js → index.module-4MYJQyVQ.js} +4 -4
  43. package/dist/browser/{integrateKiosk-Bsbc1NXX.js → integrateKiosk-BuctRtHM.js} +4 -4
  44. package/dist/browser/{is-webview-DCWpW822.js → is-webview-Dk7i6iyE.js} +1 -1
  45. package/dist/browser/{jsx-runtime-BK-OYhxI.js → jsx-runtime-BXQ7PX-y.js} +2 -2
  46. package/dist/browser/{kiosk-record-Q5k5SaUf.js → kiosk-record-Dz3E7PjP.js} +1 -1
  47. package/dist/browser/{lib-DUB7Py1K.js → lib-BfXVjQQV.js} +3 -3
  48. package/dist/browser/{loadImage-D6gpGZjW.js → loadImage-CUg38cMx.js} +4 -4
  49. package/dist/browser/{logDeviceInfo-oYeZYnAS.js → logDeviceInfo-CgIqRuAY.js} +9 -9
  50. package/dist/browser/{main-Q6lVLCwH.js → main-BzXd5H0A.js} +1 -1
  51. package/dist/browser/{mobx-D4oBGwya.js → mobx-BEFSh5R7.js} +4 -4
  52. package/dist/browser/{optional-boolean-editor-DJuOKx2A.js → optional-boolean-editor-DH0Yj5mx.js} +3 -3
  53. package/dist/browser/{optional-enum-editor-Ciot7KUO.js → optional-enum-editor-DdsG6-RD.js} +4 -4
  54. package/dist/browser/{optional-string-editor-Dcn_VMN8.js → optional-string-editor-DdFnggla.js} +4 -4
  55. package/dist/browser/{particles.min-DoLYvbiH.js → particles.min-C6YCIw7u.js} +2 -2
  56. package/dist/browser/{react-2I6YbUQc.js → react-Cq6vsgZS.js} +2 -2
  57. package/dist/browser/{react-dom-DBXQzRXE.js → react-dom-CioKdINL.js} +3 -3
  58. package/dist/browser/{rolldown-runtime-ZrmhLWDv.js → rolldown-runtime-CEmdmqfC.js} +1 -1
  59. package/dist/browser/{select-C4vkn88L.js → select-BREAzzuP.js} +10 -10
  60. package/dist/browser/{settings-tphC2cOa.js → settings-C17jPyNg.js} +2 -2
  61. package/dist/browser/{settings-item-CJHraM42.js → settings-item-BYt2Yu8n.js} +6 -6
  62. package/dist/browser/{store-B4grQLaW.js → store-BzaR1IVp.js} +11 -11
  63. package/dist/browser/{string-editor-DKOuPyeS.js → string-editor-XaVb33Ez.js} +4 -4
  64. package/dist/browser/{text-field-DmPCv8tr.js → text-field-D70wZ5kg.js} +5 -5
  65. package/dist/browser/{theme-C7pLumQ_.js → theme-BLZVltm4.js} +8 -8
  66. package/dist/browser/{ui-DoFhKteH.js → ui-DyGGq9Ts.js} +8 -8
  67. package/dist/browser/{useRenderTarget-lRmLi-oU.js → useRenderTarget-CMhjhwNe.js} +4 -4
  68. package/dist/esm/floorplan.loader.d.ts +6 -5
  69. package/dist/esm/floorplan.loader.js +1 -1
  70. package/dist/esm/internal-settings.d.ts +13 -0
  71. package/dist/esm/internal-settings.js +1 -0
  72. package/dist/esm/store/UIState.d.ts +5 -5
  73. package/package.json +10 -10
@@ -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.21.0" };
4
+ e.SENTRY_RELEASE = { id: "3.22.0" };
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-ZrmhLWDv.js";
10
- import { t } from "./react-2I6YbUQc.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-Dhkzu4-Z.js";
12
- import { t as l } from "./classnames-DpUTJvsT.js";
9
+ import { r as e } from "./rolldown-runtime-CEmdmqfC.js";
10
+ import { t } from "./react-Cq6vsgZS.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-DFe-lnRY.js";
12
+ import { t as l } from "./classnames-6bU7zOpA.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.21.0" };
4
+ e.SENTRY_RELEASE = { id: "3.22.0" };
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-ZrmhLWDv.js";
10
- import { t } from "./react-2I6YbUQc.js";
11
- import { t as n } from "./jsx-runtime-BK-OYhxI.js";
12
- import { t as r } from "./react-dom-DBXQzRXE.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-Dhkzu4-Z.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-mEXd3j5f.js";
15
- import { t as y } from "./classnames-DpUTJvsT.js";
9
+ import { r as e } from "./rolldown-runtime-CEmdmqfC.js";
10
+ import { t } from "./react-Cq6vsgZS.js";
11
+ import { t as n } from "./jsx-runtime-BXQ7PX-y.js";
12
+ import { t as r } from "./react-dom-CioKdINL.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-DFe-lnRY.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-YXQi1KHp.js";
15
+ import { t as y } from "./classnames-6bU7zOpA.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.21.0" };
4
+ e.SENTRY_RELEASE = { id: "3.22.0" };
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-ZrmhLWDv.js";
10
- import { a as t, i as n, s as r } from "./efp-debug-init-DzLpDq44.js";
11
- import { a as i, i as a } from "./adopt-global-settings-rBIySdjE.js";
12
- import { t as o } from "./jsx-runtime-BK-OYhxI.js";
13
- import "./settings-tphC2cOa.js";
14
- import { t as s } from "./add-debug-secret-listener-C3oywqMt.js";
9
+ import { r as e } from "./rolldown-runtime-CEmdmqfC.js";
10
+ import { a as t, i as n, s as r } from "./efp-debug-init-BNS4_yDX.js";
11
+ import { a as i, i as a } from "./adopt-global-settings-BhJX0B0D.js";
12
+ import { t as o } from "./jsx-runtime-BXQ7PX-y.js";
13
+ import "./settings-C17jPyNg.js";
14
+ import { t as s } from "./add-debug-secret-listener-CyjybhbR.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-Cr58EN5x.js"), { createRoot: i } = await import("./client-DFFvY3xt.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-CclRARRM.js"), { createRoot: i } = await import("./client-BkHWS5lm.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.21.0" };
4
+ e.SENTRY_RELEASE = { id: "3.22.0" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d8257710-401b-4433-989c-d77176101db5", e._sentryDebugIdIdentifier = "sentry-dbid-d8257710-401b-4433-989c-d77176101db5");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-ZrmhLWDv.js";
10
- import { t } from "./react-2I6YbUQc.js";
11
- import { c as n } from "./store-B4grQLaW.js";
9
+ import { r as e } from "./rolldown-runtime-CEmdmqfC.js";
10
+ import { t } from "./react-Cq6vsgZS.js";
11
+ import { c as n } from "./store-BzaR1IVp.js";
12
12
  //#region src/utils/getRenderTargetFromRoot.ts
13
13
  var r = /* @__PURE__ */ e(t(), 1);
14
14
  function i(e) {
@@ -1,8 +1,7 @@
1
1
  import { type Consent } from '@expofp/config';
2
2
  import { type Camera, type ListPanel, type PlannerOptions } from '@expofp/schema';
3
- import type { CurrentPosition, MarkersData } from './store/RouteStore';
4
- import type { Visibility } from './store/types';
5
- import type { FloorPlan, FloorPlanCustomButtonEvent, FloorPlanDetailsEvent, FloorPlanGetCoordsEvent, FloorPlanMarkerEvent, FloorPlanOptions, GeoConfig } from './types';
3
+ import { type InternalSettings } from './internal-settings.js';
4
+ import type { CurrentPosition, Floor, FloorPlan, FloorPlanBookmarkClickEvent, FloorPlanBoothClickEvent, FloorPlanCategory, FloorPlanCustomButtonEvent, FloorPlanDetailsEvent, FloorPlanDirectionEvent, FloorPlanGetCoordsEvent, FloorPlanIcon, FloorPlanMarkerEvent, FloorPlanOptions, FloorPlanVisitedClickEvent, GeoConfig, MaplibreOptions, MarkersData, RouteInfo, RouteWaypoint, Visibility } from './types';
6
5
  import { type Bounds, type POISelectors } from './types/sdk.types';
7
6
  export default class FloorPlanLoader implements FloorPlan {
8
7
  protected readonly renderTarget: HTMLDivElement;
@@ -16,7 +15,7 @@ export default class FloorPlanLoader implements FloorPlan {
16
15
  readonly onInit: (fp: FloorPlan) => void;
17
16
  readonly disableRuntimeAlerts: boolean;
18
17
  readonly viewerMode: boolean;
19
- readonly maplibre: FloorPlanOptions['maplibre'];
18
+ readonly maplibre: MaplibreOptions | undefined;
20
19
  protected efpStyleLoadHandler: (e: Event) => void;
21
20
  protected resolveReady: () => void;
22
21
  readonly icons: Map<FloorPlanIcon, HTMLImageElement>;
@@ -26,10 +25,12 @@ export default class FloorPlanLoader implements FloorPlan {
26
25
  get previewMode(): boolean;
27
26
  /** @deprecated The consent decision lives on the config — set the `consent` option instead. */
28
27
  get allowConsent(): boolean | undefined;
28
+ /** Grey surface for mobile SDKs — see internal-settings.ts; deliberately not on `FloorPlan`. */
29
+ getInternalSettings(): InternalSettings;
29
30
  onBoothClick: (e: FloorPlanBoothClickEvent) => void;
30
31
  onBookmarkClick: (e: FloorPlanBookmarkClickEvent) => void;
31
32
  onVisitedClick: (e: FloorPlanVisitedClickEvent) => void;
32
- onCategoryClick: (e: FloorPlanCategoryClickEvent) => void;
33
+ onCategoryClick: (e: FloorPlanCategory) => void;
33
34
  onFpConfigured: () => void;
34
35
  onDirection: (e: FloorPlanDirectionEvent) => void;
35
36
  onDetails: (e: FloorPlanDetailsEvent) => void;
@@ -1 +1 @@
1
- import{getConfig as v}from"@expofp/config";import{PREVIEW_MODE_ATTRIBUTE as T}from"./constants";import c from"./tools/base-runtime-url";import{loadCss as x,loadFont as m}from"./tools/loaders";import R from"./tools/logger";import{initSentry as j}from"./tools/sentry";import{heatmapEnabled as D}from"./utils/heatmap-enabled";import{initI18n as F}from"./utils/i18n";import A from"./utils/is-debug";import V from"./utils/is-localhost";import _ from"./utils/is-webview";import{loadCustomCss as z}from"./utils/loadCustomCss";import{loadIcons as G}from"./utils/loadIcons";import E from"./utils/use-shadow";function e(){throw new Error("FloorPlan not ready")}export default class H{get ready(){return this._ready}get previewMode(){return v().previewMode||this.element.hasAttribute(T)}get allowConsent(){return this.consent==="ask"?void 0:this.consent==="granted"}selectBooth(t){e()}selectExhibitor(t){e()}selectRoute(t,i){e()}getOptimizedRoutes(t){e()}selectCurrentPosition(t,i,s){e()}setBookmarks(t){e()}setEntitiesBookmarks(t){e()}setEntitiesVisited(t){e()}setMarkers(t){e()}updateLayerVisibility(t,i){e()}getCenterCoordinates(){e()}applyParameters(t){e()}exhibitorsList(){e()}boothsList(){e()}categoriesList(){e()}selectCategory(t){e()}select(t){e()}showList(t){e()}selectTour(t){e()}openPlanner(t){e()}startBuildRoute(){e()}getVisibility(){e()}setVisibility(t){e()}findLocation(){e()}zoomIn(){e()}zoomOut(){e()}zoomTo(t,i){e()}switchView(){e()}setCamera(t){e()}getCamera(){e()}fitBounds(){e()}getBounds(t){e()}getBoothRect(t){e()}convertToGeo(t,i){e()}getGeoConfig(){e()}unstable_destroy(){e()}highlightExhibitors(t){e()}highlightBooths(t){e()}onCurrentPositionChanged(t){e()}search(t){e()}getFloors(){e()}onFloorActivated(t){e()}activateFloor(t){e()}showPathway(t,i){e()}showPathwayOnly(t,i){e()}hidePathways(){e()}showSearch(){e()}changeLanguage(t){e()}isGpsTrackingEnabled(){e()}setGpsTrackingEnabled(t){e()}deselectCurrentPosition(){e()}deselectRoute(){e()}reset(){e()}selectAccessibleRoute(t){e()}constructor(t,i){this.icons=new Map,this.enableRotation=!0,this.alwaysShowSidebar=!1;const s=v();if(this.noOverlay=!!s.noOverlay,this.offHistory=!!s.offHistory,this.ignoreQuery=s.ignoreQuery,this.consent=s.consent,this.consent==="ask"&&(_?this.consent="granted":V&&!A&&(this.consent="denied")),this.onBoothClick=t.onBoothClick,this.onBookmarkClick=t.onBookmarkClick,this.onVisitedClick=t.onVisitedClick,this.onCategoryClick=t.onCategoryClick,this.onDetails=t.onDetails,this.onExhibitorCustomButtonClick=t.onExhibitorCustomButtonClick,this.onGetCoordsClick=t.onGetCoordsClick,this.onMarkerClick=t.onMarkerClick,this.onFpConfigured=t.onFpConfigured,this.onDirection=t.onDirection,this.onInit=t.onInit,this.onCurrentPositionChanged=t.onCurrentPositionChanged,this.onFloorActivated=t.onFloorActivated,this.onLeaveEvent=t.onLeaveEvent,this.viewerMode=!!s.viewerMode,this.disableRuntimeAlerts=s.disableRuntimeAlerts,this.maplibre=s.maplibre,window.__efpMaplibre=s.maplibre,this._ready=new Promise((d,a)=>{this.resolveReady=d}),this.element=i,i.__expofp)throw new Error("Element already in use");i.__expofp=this;const y=s.expo;j({eventId:y||"",isWebview:_}),this.eventId=y,window.__efpEvent=y,window.__efpElement=i;const h=document.createElement("div");h.style.height="100%",h.style.width="100%",i.appendChild(h);let n;if(E){n=h.attachShadow({mode:"open"});const d=n,a=document;d.createElement=(...r)=>a.createElement(...r),d.createElementNS=(...r)=>a.createElementNS(...r),d.createTextNode=(...r)=>a.createTextNode(...r)}else n=h;const f=document.createElement("div");f.style.height="100%",f.style.width="100%",n.appendChild(f),E&&Object.defineProperty(f,"ownerDocument",{value:n}),window.__efpShadowDOMStyleParent=E?n:void 0,this.renderTarget=f,R.log("Instantiating ExpoFP floorplan",i,y);let b=0;this.efpStyleLoadHandler=function(d){const a=window.__efpStyleElements;for(;b<a.length;){const r=a[b];n.appendChild(r),b++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const g=this;(async function(){const a=v();await F();const r=new URLSearchParams(window.location.search);let p,w;if(a?.trackerUrl)try{p=new URL(a.trackerUrl),w=p.searchParams.get("expoId")}catch(o){console.error(o)}const I=async o=>{if(!p||!w)return Promise.reject(new Error("trackerUrl or expoId is missing"));const l=new URL(o.dataUrl,p.origin),u=await fetch(l.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:w,token:decodeURIComponent(r.get("t"))})});let C=[];u.ok&&(C=(await u.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:C}},k=a?.heatmap??{},S=D(k)||r.get("heatmap")==="true",O=k.variant==="yah"||r.get("type")==="yah",L=k.kiosk===!0||r.get("subtype")==="kiosk";if(S)try{if(O)L?await I({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await I({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,l)=>({...o,name:`QR Code #${l+1}`})});else{const o=new URL("/api/fp-stats/get",p.origin);o.searchParams.set("expoId",w),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(r.get("t")));const l=new URL("api/fp-stats/get",p.origin);l.searchParams.set("expoId",w),l.searchParams.set("type","exview"),l.searchParams.set("t",decodeURIComponent(r.get("t")));const[u,C]=await Promise.all([fetch(o.toString()),fetch(l.toString())]),[P,M]=await Promise.all([u.json(),C.json()]);window.__heatmapData={booths:P,exhibitors:M}}}catch(o){console.error("Heatmap: Initialization error",o)}const U=[x(c+"vendor/sanitize-css/sanitize.css",n),x(c+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",n),m("Oswald",c+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),m("Oswald",c+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),m("Inter",c+"fonts/inter-400.woff2",{weight:400}),m("Inter",c+"fonts/inter-500.woff2",{weight:500}),m("Inter",c+"fonts/inter-600.woff2",{weight:600}),m("efp-symbols",c+"fonts/efp-symbols.woff",{weight:400}),z(a,n),G(g.icons)];await Promise.all(U),g.enableRotation=a?.enableRotation??!1,g.alwaysShowSidebar=a?.alwaysShowSidebar??!1,R.log("Data loaded"),window.__storeInitAllowed=!0;const{default:B}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());i.firstChild&&i.firstChild!==h;)i.removeChild(i.firstChild);Object.setPrototypeOf(g,B.prototype).init()})()}}
1
+ import{getConfig as b}from"@expofp/config";import{PREVIEW_MODE_ATTRIBUTE as j}from"./constants";import{toInternalSettings as D}from"./internal-settings.js";import c from"./tools/base-runtime-url";import{loadCss as R,loadFont as f}from"./tools/loaders";import S from"./tools/logger";import{initSentry as F}from"./tools/sentry";import{heatmapEnabled as A}from"./utils/heatmap-enabled";import{initI18n as V}from"./utils/i18n";import z from"./utils/is-debug";import G from"./utils/is-localhost";import _ from"./utils/is-webview";import{loadCustomCss as H}from"./utils/loadCustomCss";import{loadIcons as N}from"./utils/loadIcons";import I from"./utils/use-shadow";function e(){throw new Error("FloorPlan not ready")}export default class Q{get ready(){return this._ready}get previewMode(){return b().previewMode||this.element.hasAttribute(j)}get allowConsent(){return this.consent==="ask"?void 0:this.consent==="granted"}getInternalSettings(){return D(b())}selectBooth(t){e()}selectExhibitor(t){e()}selectRoute(t,i){e()}getOptimizedRoutes(t){e()}selectCurrentPosition(t,i,s){e()}setBookmarks(t){e()}setEntitiesBookmarks(t){e()}setEntitiesVisited(t){e()}setMarkers(t){e()}updateLayerVisibility(t,i){e()}getCenterCoordinates(){e()}applyParameters(t){e()}exhibitorsList(){e()}boothsList(){e()}categoriesList(){e()}selectCategory(t){e()}select(t){e()}showList(t){e()}selectTour(t){e()}openPlanner(t){e()}startBuildRoute(){e()}getVisibility(){e()}setVisibility(t){e()}findLocation(){e()}zoomIn(){e()}zoomOut(){e()}zoomTo(t,i){e()}switchView(){e()}setCamera(t){e()}getCamera(){e()}fitBounds(){e()}getBounds(t){e()}getBoothRect(t){e()}convertToGeo(t,i){e()}getGeoConfig(){e()}unstable_destroy(){e()}highlightExhibitors(t){e()}highlightBooths(t){e()}onCurrentPositionChanged(t){e()}search(t){e()}getFloors(){e()}onFloorActivated(t){e()}activateFloor(t){e()}showPathway(t,i){e()}showPathwayOnly(t,i){e()}hidePathways(){e()}showSearch(){e()}changeLanguage(t){e()}isGpsTrackingEnabled(){e()}setGpsTrackingEnabled(t){e()}deselectCurrentPosition(){e()}deselectRoute(){e()}reset(){e()}selectAccessibleRoute(t){e()}constructor(t,i){this.resolveReady=()=>{},this.icons=new Map,this.enableRotation=!0,this.alwaysShowSidebar=!1;const s=b();this.noOverlay=!!s.noOverlay,this.offHistory=!!s.offHistory,this.ignoreQuery=s.ignoreQuery,this.consent=s.consent,this.consent==="ask"&&(_?this.consent="granted":G&&!z&&(this.consent="denied")),this.onBoothClick=t.onBoothClick,this.onBookmarkClick=t.onBookmarkClick,this.onVisitedClick=t.onVisitedClick,this.onCategoryClick=t.onCategoryClick,this.onDetails=t.onDetails,this.onExhibitorCustomButtonClick=t.onExhibitorCustomButtonClick,this.onGetCoordsClick=t.onGetCoordsClick,this.onMarkerClick=t.onMarkerClick,this.onFpConfigured=t.onFpConfigured,this.onDirection=t.onDirection,this.onInit=t.onInit,this.onCurrentPositionChanged=t.onCurrentPositionChanged,this.onFloorActivated=t.onFloorActivated,this.onLeaveEvent=t.onLeaveEvent,this.viewerMode=!!s.viewerMode,this.disableRuntimeAlerts=s.disableRuntimeAlerts,this.maplibre=s.maplibre,window.__efpMaplibre=s.maplibre,this._ready=new Promise((d,r)=>{this.resolveReady=d}),this.element=i;const E=i;if(E.__expofp)throw new Error("Element already in use");E.__expofp=this;const g=s.expo;F({eventId:g||"",isWebview:_}),this.eventId=g,window.__efpEvent=g,window.__efpElement=i;const m=document.createElement("div");m.style.height="100%",m.style.width="100%",i.appendChild(m);let n;if(I){n=m.attachShadow({mode:"open"});const d=n,r=document;d.createElement=(...a)=>r.createElement(...a),d.createElementNS=(...a)=>r.createElementNS(...a),d.createTextNode=(...a)=>r.createTextNode(...a)}else n=m;const w=document.createElement("div");w.style.height="100%",w.style.width="100%",n.appendChild(w),I&&Object.defineProperty(w,"ownerDocument",{value:n}),window.__efpShadowDOMStyleParent=I?n:void 0,this.renderTarget=w,S.log("Instantiating ExpoFP floorplan",i,g);let k=0;this.efpStyleLoadHandler=function(d){const r=window.__efpStyleElements;for(;k<r.length;){const a=r[k];n.appendChild(a),k++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const y=this;(async function(){const r=b();await V();const a=new URLSearchParams(window.location.search);let h,p;if(r?.trackerUrl)try{h=new URL(r.trackerUrl),p=h.searchParams.get("expoId")}catch(o){console.error(o)}const P=async o=>{if(!h||!p)return Promise.reject(new Error("trackerUrl or expoId is missing"));const l=new URL(o.dataUrl,h.origin),u=await fetch(l.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:p,token:decodeURIComponent(a.get("t")??"")})});let C=[];u.ok&&(C=(await u.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:C}},v=r?.heatmap??{},O=A(v)||a.get("heatmap")==="true",L=v.variant==="yah"||a.get("type")==="yah",U=v.kiosk===!0||a.get("subtype")==="kiosk";if(O)try{if(L)U?await P({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await P({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,l)=>({...o,name:`QR Code #${l+1}`})});else{if(!h||!p)throw new Error("trackerUrl or expoId is missing");const o=new URL("/api/fp-stats/get",h.origin);o.searchParams.set("expoId",p),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(a.get("t")??""));const l=new URL("api/fp-stats/get",h.origin);l.searchParams.set("expoId",p),l.searchParams.set("type","exview"),l.searchParams.set("t",decodeURIComponent(a.get("t")??""));const[u,C]=await Promise.all([fetch(o.toString()),fetch(l.toString())]),[x,T]=await Promise.all([u.json(),C.json()]);window.__heatmapData={booths:x,exhibitors:T}}}catch(o){console.error("Heatmap: Initialization error",o)}const B=[R(c+"vendor/sanitize-css/sanitize.css",n),R(c+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",n),f("Oswald",c+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),f("Oswald",c+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),f("Inter",c+"fonts/inter-400.woff2",{weight:400}),f("Inter",c+"fonts/inter-500.woff2",{weight:500}),f("Inter",c+"fonts/inter-600.woff2",{weight:600}),f("efp-symbols",c+"fonts/efp-symbols.woff",{weight:400}),H(r,n),N(y.icons)];await Promise.all(B),y.enableRotation=r?.enableRotation??!1,y.alwaysShowSidebar=r?.alwaysShowSidebar??!1,S.log("Data loaded"),window.__storeInitAllowed=!0;const{default:M}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());i.firstChild&&i.firstChild!==m;)i.removeChild(i.firstChild);Object.setPrototypeOf(y,M.prototype).init()})()}}
@@ -0,0 +1,13 @@
1
+ import { type Config } from '@expofp/config';
2
+ /**
3
+ * Undocumented grey surface for the mobile SDKs (expofp/efp-app#1491): the
4
+ * allowlisted slice of the effective config, returned by
5
+ * `fp.getInternalSettings()` (`___fp.getInternalSettings()` from the native
6
+ * bridges). Deliberately absent from the public `FloorPlan` interface and the
7
+ * generated docs — not a public contract. Extend only by widening the Pick
8
+ * below; every field must have a named consumer in a mobile SDK repo (see the
9
+ * atlas).
10
+ */
11
+ export type InternalSettings = Pick<Config, 'mobileLocationProvider'>;
12
+ export declare function toInternalSettings(config: Config): InternalSettings;
13
+ //# sourceMappingURL=internal-settings.d.ts.map
@@ -0,0 +1 @@
1
+ export function toInternalSettings(o){const e=o.mobileLocationProvider?.trim();return Object.freeze({mobileLocationProvider:e||null})}
@@ -127,12 +127,12 @@ export default class UIState {
127
127
  get noOverlay(): boolean;
128
128
  get overlayOnDemand(): boolean;
129
129
  get overlayHiddenNow(): boolean;
130
- get onBoothClick(): (e: FloorPlanBoothClickEvent) => void;
130
+ get onBoothClick(): (e: import("..").FloorPlanBoothClickEvent) => void;
131
131
  get onMarkerClick(): (e: import("..").FloorPlanMarkerEvent) => void;
132
- get onBookmarkClick(): (e: FloorPlanBookmarkClickEvent) => void;
133
- get onVisitedClick(): (e: FloorPlanVisitedClickEvent) => void;
134
- get onCategoryClick(): (e: FloorPlanCategoryClickEvent) => void;
135
- get onDirection(): (e: FloorPlanDirectionEvent) => void;
132
+ get onBookmarkClick(): (e: import("..").FloorPlanBookmarkClickEvent) => void;
133
+ get onVisitedClick(): (e: import("..").FloorPlanVisitedClickEvent) => void;
134
+ get onCategoryClick(): (e: import("..").FloorPlanCategory) => void;
135
+ get onDirection(): (e: import("..").FloorPlanDirectionEvent) => void;
136
136
  get onDetails(): (e: import("..").FloorPlanDetailsEvent) => void;
137
137
  get onExhibitorCustomButtonClick(): (e: import("..").FloorPlanCustomButtonEvent) => void;
138
138
  get onGetCoordsClick(): (e: import("..").FloorPlanGetCoordsEvent) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.21.0",
3
+ "version": "3.22.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/expofp/efp-app.git",
@@ -72,13 +72,14 @@
72
72
  "tslib": "^2.3.0",
73
73
  "uuid": "^9.0.1",
74
74
  "zod": "4.4.3",
75
- "@expofp/config": "3.21.0",
76
- "@expofp/debug": "3.21.0",
77
- "@expofp/geometry": "3.21.0",
78
- "@expofp/resolve": "3.21.0",
79
- "@expofp/schema": "3.21.0",
80
- "@expofp/wayfinding": "3.21.0",
81
- "@expofp/utils": "3.21.0"
75
+ "@expofp/config": "3.22.0",
76
+ "@expofp/debug": "3.22.0",
77
+ "@expofp/resolve": "3.22.0",
78
+ "@expofp/schema": "3.22.0",
79
+ "@expofp/geometry": "3.22.0",
80
+ "@expofp/ui": "3.22.0",
81
+ "@expofp/utils": "3.22.0",
82
+ "@expofp/wayfinding": "3.22.0"
82
83
  },
83
84
  "devDependencies": {
84
85
  "@babel/plugin-proposal-decorators": "^8.0.2",
@@ -95,8 +96,7 @@
95
96
  "react": "^19.2.8",
96
97
  "react-dom": "^19.2.8",
97
98
  "rollup-plugin-visualizer": "^7.0.1",
98
- "sass-embedded": "^1.100.0",
99
- "@expofp/ui": "3.21.0"
99
+ "sass-embedded": "^1.100.0"
100
100
  },
101
101
  "peerDependencies": {
102
102
  "react": "^19.2.8",