@expofp/floorplan 0.0.0-experimental.cf063fc
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/README.md +8 -0
- package/dist/browser/Button-DT-Jfwrb.js +64 -0
- package/dist/browser/CookieConsent-BIsWzAiP.js +38 -0
- package/dist/browser/Debug-B5mmo0ZX.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B2klxORi.js +71 -0
- package/dist/browser/Free-suULW-LU.js +69 -0
- package/dist/browser/GalleryContainer-BGBNGRKU.js +3355 -0
- package/dist/browser/GpsLoader-BbXpnQ98.js +154 -0
- package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
- package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
- package/dist/browser/MaplibreAdapter-DBnLB-I9.js +36770 -0
- package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-C0QJjRL0.js +3683 -0
- package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
- package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
- package/dist/browser/ViewerMenuPanel-DHCt3s3Z.js +133 -0
- package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
- package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
- package/dist/browser/boolean-editor-CYMx87em.js +149 -0
- package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
- package/dist/browser/bundle.json +422 -0
- package/dist/browser/camera-events-DSCuSH25.js +18 -0
- package/dist/browser/classnames-YcGXWNfg.js +39 -0
- package/dist/browser/client-BcPpS_Gj.js +7402 -0
- package/dist/browser/compat-helper.js +6 -0
- package/dist/browser/components-DIoXSetB.js +7393 -0
- package/dist/browser/create-live-plan-DOjNTiqJ.js +4046 -0
- package/dist/browser/debounce-BZI0to6V.js +2102 -0
- package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
- package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
- package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
- package/dist/browser/dist-C1NaWqk4.js +2611 -0
- package/dist/browser/dist-Cx8u0gjK.js +21 -0
- package/dist/browser/dist-wOC6gYFh.js +205 -0
- package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
- package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
- package/dist/browser/es5-B__Ovz45.js +1712 -0
- package/dist/browser/event-head-C_inMpbD.js +56 -0
- package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
- package/dist/browser/expofp-overlay.png +0 -0
- package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
- package/dist/browser/exports-CvUYw1h6.js +1525 -0
- package/dist/browser/favicon-BkDrYTmU.js +12 -0
- package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
- package/dist/browser/flex-3lSivw8z.js +823 -0
- package/dist/browser/floorplan.loader-B9musuUh.js +3282 -0
- package/dist/browser/floorplan.ready-BAOU-N0d.js +1448 -0
- package/dist/browser/fonts/efp-symbols.woff +0 -0
- package/dist/browser/fonts/inter-400.woff2 +0 -0
- package/dist/browser/fonts/inter-500.woff2 +0 -0
- package/dist/browser/fonts/inter-600.woff2 +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
- package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
- package/dist/browser/fuse-B7V1lkoA.js +1177 -0
- package/dist/browser/i18n-BgFBhYOU.js +7205 -0
- package/dist/browser/icons/accessible.svg +5 -0
- package/dist/browser/icons/arrow-down.svg +3 -0
- package/dist/browser/icons/bus-white.svg +3 -0
- package/dist/browser/icons/check.svg +3 -0
- package/dist/browser/icons/clear.svg +4 -0
- package/dist/browser/icons/departure.svg +5 -0
- package/dist/browser/icons/departure_inactive.svg +5 -0
- package/dist/browser/icons/destination.svg +5 -0
- package/dist/browser/icons/direction.svg +54 -0
- package/dist/browser/icons/dots.svg +4 -0
- package/dist/browser/icons/dragdrop-solid.svg +11 -0
- package/dist/browser/icons/facebook.svg +4 -0
- package/dist/browser/icons/from.svg +4 -0
- package/dist/browser/icons/kiosk.svg +1 -0
- package/dist/browser/icons/linkedin.svg +3 -0
- package/dist/browser/icons/rotate.svg +5 -0
- package/dist/browser/icons/tap.svg +5 -0
- package/dist/browser/icons/to.svg +4 -0
- package/dist/browser/icons/transition.svg +7 -0
- package/dist/browser/icons/transition_down.svg +15 -0
- package/dist/browser/icons/transition_up.svg +15 -0
- package/dist/browser/icons/twitter.svg +3 -0
- package/dist/browser/icons/yah.svg +17 -0
- package/dist/browser/index.html +139 -0
- package/dist/browser/index.js +254 -0
- package/dist/browser/index.module-kJmnWg5B.js +153 -0
- package/dist/browser/integrateKiosk-D45vYRsm.js +35 -0
- package/dist/browser/is-debug-BRHdrnKr.js +197 -0
- package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
- package/dist/browser/is-webview-cTH4yz8f.js +12 -0
- package/dist/browser/journey-plan-BhLIqF8I.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-DfkGlDkT.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-CnYhnC_7.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-DzSnRAxX.js +30 -0
- package/dist/browser/locales/ar.json +228 -0
- package/dist/browser/locales/da.json +229 -0
- package/dist/browser/locales/de.json +228 -0
- package/dist/browser/locales/es.json +228 -0
- package/dist/browser/locales/fr.json +228 -0
- package/dist/browser/locales/he.json +228 -0
- package/dist/browser/locales/it.json +228 -0
- package/dist/browser/locales/kk.json +228 -0
- package/dist/browser/locales/ko.json +228 -0
- package/dist/browser/locales/mn.json +228 -0
- package/dist/browser/locales/nl.json +228 -0
- package/dist/browser/locales/pl.json +228 -0
- package/dist/browser/locales/pt.json +228 -0
- package/dist/browser/locales/ru.json +228 -0
- package/dist/browser/locales/sv.json +228 -0
- package/dist/browser/locales/th.json +228 -0
- package/dist/browser/locales/tr.json +228 -0
- package/dist/browser/locales/uk.json +228 -0
- package/dist/browser/locales/vi.json +228 -0
- package/dist/browser/locales/zh.json +228 -0
- package/dist/browser/logDeviceInfo-CN6LnXO4.js +58 -0
- package/dist/browser/mobx-C-kcS0zI.js +43 -0
- package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
- package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
- package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
- package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
- package/dist/browser/particles.min-eC5xdOrB.js +133 -0
- package/dist/browser/react-DqPP-mkq.js +301 -0
- package/dist/browser/react-dom-BkVzoZWO.js +139 -0
- package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
- package/dist/browser/scheduler-NBuuaWIe.js +212 -0
- package/dist/browser/select-Cxf-YiNA.js +1367 -0
- package/dist/browser/settings-D74eG9h8.js +9 -0
- package/dist/browser/settings-item-DUUbKec_.js +76 -0
- package/dist/browser/store-q_CTsixH.js +58 -0
- package/dist/browser/string-editor-CINOmY_C.js +30 -0
- package/dist/browser/text-field-DORaOVht.js +88 -0
- package/dist/browser/theme-DyFm9MGz.js +2803 -0
- package/dist/browser/ui-DsCU3FV6.js +43 -0
- package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
- package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
- package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
- package/dist/browser/venue-public-BodpV-7o.js +296 -0
- package/dist/browser/venues-DKpIy-87.js +447 -0
- package/dist/browser/viewport-B7plho3P.js +48 -0
- package/dist/browser/warning.png +0 -0
- package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
- package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
- package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
- package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
- package/dist/esm/components/AlertContainer.d.ts +4 -0
- package/dist/esm/components/AlertContainer.js +8 -0
- package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
- package/dist/esm/components/AutocompleteContainer.js +14 -0
- package/dist/esm/components/BaseFilterModal.d.ts +11 -0
- package/dist/esm/components/BaseFilterModal.js +73 -0
- package/dist/esm/components/Bookmarks.d.ts +3 -0
- package/dist/esm/components/Bookmarks.js +26 -0
- package/dist/esm/components/Booth/Booth.d.ts +5 -0
- package/dist/esm/components/Booth/Booth.js +135 -0
- package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
- package/dist/esm/components/Booth/BoothOnHold.js +11 -0
- package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
- package/dist/esm/components/Booth/BoothReserved.js +7 -0
- package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
- package/dist/esm/components/Booth/BoothSpecial.js +4 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
- package/dist/esm/components/Category.d.ts +5 -0
- package/dist/esm/components/Category.js +25 -0
- package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
- package/dist/esm/components/CategoryFilterModal.js +63 -0
- package/dist/esm/components/CookieConsent.d.ts +9 -0
- package/dist/esm/components/CookieConsent.js +9 -0
- package/dist/esm/components/Debug.d.ts +5 -0
- package/dist/esm/components/Debug.js +15 -0
- package/dist/esm/components/Demo.d.ts +4 -0
- package/dist/esm/components/Demo.js +37 -0
- package/dist/esm/components/DownloadListContainer.d.ts +5 -0
- package/dist/esm/components/DownloadListContainer.js +8 -0
- package/dist/esm/components/EntityItemContainer.d.ts +28 -0
- package/dist/esm/components/EntityItemContainer.js +36 -0
- package/dist/esm/components/EntityList.d.ts +9 -0
- package/dist/esm/components/EntityList.js +144 -0
- package/dist/esm/components/EntityListRow.d.ts +13 -0
- package/dist/esm/components/EntityListRow.js +78 -0
- package/dist/esm/components/ErrorBoundary.d.ts +15 -0
- package/dist/esm/components/ErrorBoundary.js +29 -0
- package/dist/esm/components/Event.d.ts +5 -0
- package/dist/esm/components/Event.js +167 -0
- package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
- package/dist/esm/components/EventBadgeContainer.js +29 -0
- package/dist/esm/components/Exhibitor.d.ts +5 -0
- package/dist/esm/components/Exhibitor.js +299 -0
- package/dist/esm/components/Filter.d.ts +4 -0
- package/dist/esm/components/Filter.js +24 -0
- package/dist/esm/components/Free.d.ts +4 -0
- package/dist/esm/components/Free.js +31 -0
- package/dist/esm/components/GalleryContainer.d.ts +6 -0
- package/dist/esm/components/GalleryContainer.js +55 -0
- package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
- package/dist/esm/components/GlobalErrorMessage.js +9 -0
- package/dist/esm/components/GpsLoader.d.ts +5 -0
- package/dist/esm/components/GpsLoader.js +29 -0
- package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
- package/dist/esm/components/HeatmapLegendContainer.js +13 -0
- package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
- package/dist/esm/components/HighlightTextContainer.js +10 -0
- package/dist/esm/components/IntercomLauncher.d.ts +5 -0
- package/dist/esm/components/IntercomLauncher.js +20 -0
- package/dist/esm/components/JourneyPanel.d.ts +35 -0
- package/dist/esm/components/JourneyPanel.js +68 -0
- package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
- package/dist/esm/components/Kiosk/KioskStore.js +411 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
- package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
- package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
- package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
- package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
- package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
- package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
- package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
- package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
- package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +47 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
- package/dist/esm/components/Language.d.ts +4 -0
- package/dist/esm/components/Language.js +15 -0
- package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
- package/dist/esm/components/LanguageRowContainer.js +9 -0
- package/dist/esm/components/Layout.d.ts +11 -0
- package/dist/esm/components/Layout.js +160 -0
- package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
- package/dist/esm/components/LevelBadgeContainer.js +10 -0
- package/dist/esm/components/List.d.ts +9 -0
- package/dist/esm/components/List.js +77 -0
- package/dist/esm/components/LogoOverlay.d.ts +3 -0
- package/dist/esm/components/LogoOverlay.js +78 -0
- package/dist/esm/components/Map/Map.d.ts +2 -0
- package/dist/esm/components/Map/Map.js +242 -0
- package/dist/esm/components/Map/MapCamera.d.ts +17 -0
- package/dist/esm/components/Map/MapCamera.js +194 -0
- package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
- package/dist/esm/components/Map/MapCursorCoords.js +61 -0
- package/dist/esm/components/Map/MapViewport.d.ts +12 -0
- package/dist/esm/components/Map/MapViewport.js +29 -0
- package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
- package/dist/esm/components/Map/booth-by-xy.js +128 -0
- package/dist/esm/components/Map/camera-events.d.ts +19 -0
- package/dist/esm/components/Map/camera-events.js +26 -0
- package/dist/esm/components/Map/camera.d.ts +48 -0
- package/dist/esm/components/Map/camera.js +43 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
- package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
- package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
- package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
- package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
- package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
- package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
- package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
- package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
- package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
- package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
- package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
- package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
- package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
- package/dist/esm/components/Map/framing-rect.d.ts +16 -0
- package/dist/esm/components/Map/framing-rect.js +24 -0
- package/dist/esm/components/Map/pointer.d.ts +79 -0
- package/dist/esm/components/Map/pointer.js +181 -0
- package/dist/esm/components/Map/scene.d.ts +20 -0
- package/dist/esm/components/Map/scene.js +24 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
- package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
- package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
- package/dist/esm/components/Map/viewport.d.ts +63 -0
- package/dist/esm/components/Map/viewport.js +82 -0
- package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
- package/dist/esm/components/Map/with-kiosk.js +25 -0
- package/dist/esm/components/MapControlsContainer.d.ts +3 -0
- package/dist/esm/components/MapControlsContainer.js +58 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
- package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
- package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
- package/dist/esm/components/Maplibre/useDimming.js +61 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
- package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
- package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
- package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
- package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
- package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
- package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/solver.js +238 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
- package/dist/esm/components/Menu.d.ts +11 -0
- package/dist/esm/components/Menu.js +94 -0
- package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
- package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
- package/dist/esm/components/ModalContainer.d.ts +41 -0
- package/dist/esm/components/ModalContainer.js +10 -0
- package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
- package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
- package/dist/esm/components/OverlayContainer.d.ts +8 -0
- package/dist/esm/components/OverlayContainer.js +82 -0
- package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
- package/dist/esm/components/OverlayGripContainer.js +11 -0
- package/dist/esm/components/OverlayParticles.d.ts +5 -0
- package/dist/esm/components/OverlayParticles.js +54 -0
- package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
- package/dist/esm/components/PlanSelectorContainer.js +79 -0
- package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
- package/dist/esm/components/RebookingNotesContainer.js +8 -0
- package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
- package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
- package/dist/esm/components/RouteQR.d.ts +12 -0
- package/dist/esm/components/RouteQR.js +10 -0
- package/dist/esm/components/Schedule.d.ts +13 -0
- package/dist/esm/components/Schedule.js +109 -0
- package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
- package/dist/esm/components/ScrollableRowContainer.js +11 -0
- package/dist/esm/components/Search.d.ts +5 -0
- package/dist/esm/components/Search.js +45 -0
- package/dist/esm/components/SearchBox.d.ts +7 -0
- package/dist/esm/components/SearchBox.js +171 -0
- package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
- package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
- package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
- package/dist/esm/components/SearchButtons/SearchButtons.js +24 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
- package/dist/esm/components/SearchButtons/index.d.ts +7 -0
- package/dist/esm/components/SearchButtons/index.js +5 -0
- package/dist/esm/components/Sessions.d.ts +8 -0
- package/dist/esm/components/Sessions.js +128 -0
- package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
- package/dist/esm/components/SessionsFiltersModal.js +105 -0
- package/dist/esm/components/SessionsList.d.ts +12 -0
- package/dist/esm/components/SessionsList.js +212 -0
- package/dist/esm/components/ShareContainer.d.ts +7 -0
- package/dist/esm/components/ShareContainer.js +29 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
- package/dist/esm/components/Shortcuts/index.d.ts +4 -0
- package/dist/esm/components/Shortcuts/index.js +4 -0
- package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
- package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
- package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
- package/dist/esm/components/SidebarActionsContainer.js +8 -0
- package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
- package/dist/esm/components/SimpleRowContainer.js +8 -0
- package/dist/esm/components/Speaker.d.ts +5 -0
- package/dist/esm/components/Speaker.js +72 -0
- package/dist/esm/components/Speakers.d.ts +8 -0
- package/dist/esm/components/Speakers.js +63 -0
- package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
- package/dist/esm/components/SpeakersFiltersModal.js +77 -0
- package/dist/esm/components/TourPoints.d.ts +4 -0
- package/dist/esm/components/TourPoints.js +20 -0
- package/dist/esm/components/Tours.d.ts +7 -0
- package/dist/esm/components/Tours.js +54 -0
- package/dist/esm/components/ToursList.d.ts +10 -0
- package/dist/esm/components/ToursList.js +22 -0
- package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
- package/dist/esm/components/ViewerMenuPanel.js +61 -0
- package/dist/esm/components/Visited.d.ts +4 -0
- package/dist/esm/components/Visited.js +13 -0
- package/dist/esm/components/WayInformation.d.ts +14 -0
- package/dist/esm/components/WayInformation.js +8 -0
- package/dist/esm/components/Wayfinding.d.ts +4 -0
- package/dist/esm/components/Wayfinding.js +285 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
- package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
- package/dist/esm/components/WayfindingTemplate.js +14 -0
- package/dist/esm/components/Ws.d.ts +5 -0
- package/dist/esm/components/Ws.js +131 -0
- package/dist/esm/components/YahRow.d.ts +8 -0
- package/dist/esm/components/YahRow.js +25 -0
- package/dist/esm/components/gps/GpsManager.d.ts +13 -0
- package/dist/esm/components/gps/GpsManager.js +60 -0
- package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
- package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
- package/dist/esm/components/gps/index.d.ts +5 -0
- package/dist/esm/components/gps/index.js +3 -0
- package/dist/esm/components/gps/types.d.ts +7 -0
- package/dist/esm/components/gps/types.js +1 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
- package/dist/esm/components/gps/utils.d.ts +5 -0
- package/dist/esm/components/gps/utils.js +11 -0
- package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
- package/dist/esm/components/heatmap-legend-ticks.js +18 -0
- package/dist/esm/components/index.d.ts +114 -0
- package/dist/esm/components/index.js +76 -0
- package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
- package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
- package/dist/esm/components/utils/getDescription.d.ts +19 -0
- package/dist/esm/components/utils/getDescription.js +35 -0
- package/dist/esm/constants.d.ts +44 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/data/fp-payloads.d.ts +27 -0
- package/dist/esm/data/fp-payloads.js +53 -0
- package/dist/esm/data/fpGeo.d.ts +45 -0
- package/dist/esm/data/fpGeo.js +9 -0
- package/dist/esm/data/index.d.ts +15 -0
- package/dist/esm/data/index.js +15 -0
- package/dist/esm/data/layer-viewbox.d.ts +10 -0
- package/dist/esm/data/layer-viewbox.js +20 -0
- package/dist/esm/data/svg.d.ts +43 -0
- package/dist/esm/data/svg.js +210 -0
- package/dist/esm/data/tours.json +280 -0
- package/dist/esm/data/venue-scene-preload.d.ts +34 -0
- package/dist/esm/data/venue-scene-preload.js +205 -0
- package/dist/esm/data/venues.d.ts +145 -0
- package/dist/esm/data/venues.js +955 -0
- package/dist/esm/engine/defs.d.ts +38 -0
- package/dist/esm/engine/defs.js +85 -0
- package/dist/esm/engine/fonts.d.ts +9 -0
- package/dist/esm/engine/fonts.js +12 -0
- package/dist/esm/engine/update-def.d.ts +55 -0
- package/dist/esm/engine/update-def.js +127 -0
- package/dist/esm/engine/utils/rotation.d.ts +13 -0
- package/dist/esm/engine/utils/rotation.js +73 -0
- package/dist/esm/floorplan.loader.d.ts +164 -0
- package/dist/esm/floorplan.loader.js +540 -0
- package/dist/esm/floorplan.ready.d.ts +149 -0
- package/dist/esm/floorplan.ready.js +1083 -0
- package/dist/esm/hooks/useURLFilters.d.ts +15 -0
- package/dist/esm/hooks/useURLFilters.js +44 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +47 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +74 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/internal-settings.d.ts +13 -0
- package/dist/esm/internal-settings.js +6 -0
- package/dist/esm/journey/external-navigation.d.ts +30 -0
- package/dist/esm/journey/external-navigation.js +38 -0
- package/dist/esm/journey/format-distance.d.ts +14 -0
- package/dist/esm/journey/format-distance.js +38 -0
- package/dist/esm/journey/index.d.ts +16 -0
- package/dist/esm/journey/index.js +15 -0
- package/dist/esm/journey/journey-context.d.ts +140 -0
- package/dist/esm/journey/journey-context.js +137 -0
- package/dist/esm/journey/journey-link.d.ts +49 -0
- package/dist/esm/journey/journey-link.js +35 -0
- package/dist/esm/journey/journey-stage.d.ts +35 -0
- package/dist/esm/journey/journey-stage.js +28 -0
- package/dist/esm/journey/maps-provider.d.ts +36 -0
- package/dist/esm/journey/maps-provider.js +58 -0
- package/dist/esm/journey/plan-journey.d.ts +37 -0
- package/dist/esm/journey/plan-journey.js +176 -0
- package/dist/esm/journey/types.d.ts +294 -0
- package/dist/esm/journey/types.js +1 -0
- package/dist/esm/load-dev.d.ts +44 -0
- package/dist/esm/load-dev.js +60 -0
- package/dist/esm/load.d.ts +17 -0
- package/dist/esm/load.js +244 -0
- package/dist/esm/locales.d.ts +25 -0
- package/dist/esm/locales.js +23 -0
- package/dist/esm/offline/constants.d.ts +5 -0
- package/dist/esm/offline/constants.js +4 -0
- package/dist/esm/offline/offlineManager.d.ts +2 -0
- package/dist/esm/offline/offlineManager.js +78 -0
- package/dist/esm/plan-lifecycle.d.ts +65 -0
- package/dist/esm/plan-lifecycle.js +97 -0
- package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
- package/dist/esm/schemas/sdk.schemas.js +24 -0
- package/dist/esm/services/URLFilterManager.d.ts +39 -0
- package/dist/esm/services/URLFilterManager.js +379 -0
- package/dist/esm/services/multi-slug.d.ts +20 -0
- package/dist/esm/services/multi-slug.js +30 -0
- package/dist/esm/services/url-dispatch.d.ts +22 -0
- package/dist/esm/services/url-dispatch.js +707 -0
- package/dist/esm/services/url-sync.d.ts +40 -0
- package/dist/esm/services/url-sync.js +185 -0
- package/dist/esm/store/BaseFilterStore.d.ts +17 -0
- package/dist/esm/store/BaseFilterStore.js +63 -0
- package/dist/esm/store/BookmarksStore.d.ts +9 -0
- package/dist/esm/store/BookmarksStore.js +28 -0
- package/dist/esm/store/BoothStore.d.ts +105 -0
- package/dist/esm/store/BoothStore.js +194 -0
- package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
- package/dist/esm/store/CategoryFilterStore.js +60 -0
- package/dist/esm/store/CategoryStore.d.ts +21 -0
- package/dist/esm/store/CategoryStore.js +30 -0
- package/dist/esm/store/EventStore.d.ts +56 -0
- package/dist/esm/store/EventStore.js +188 -0
- package/dist/esm/store/ExhibitorStore.d.ts +86 -0
- package/dist/esm/store/ExhibitorStore.js +175 -0
- package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
- package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
- package/dist/esm/store/HeatmapStore.d.ts +51 -0
- package/dist/esm/store/HeatmapStore.js +100 -0
- package/dist/esm/store/IntercomStore.d.ts +7 -0
- package/dist/esm/store/IntercomStore.js +26 -0
- package/dist/esm/store/LayerStore.d.ts +70 -0
- package/dist/esm/store/LayerStore.js +399 -0
- package/dist/esm/store/MaplibreStore.d.ts +71 -0
- package/dist/esm/store/MaplibreStore.js +137 -0
- package/dist/esm/store/OverlayStore.d.ts +32 -0
- package/dist/esm/store/OverlayStore.js +68 -0
- package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
- package/dist/esm/store/PoiMarkerStore.js +97 -0
- package/dist/esm/store/PoiTypeStore.d.ts +8 -0
- package/dist/esm/store/PoiTypeStore.js +6 -0
- package/dist/esm/store/RootStore.d.ts +118 -0
- package/dist/esm/store/RootStore.js +666 -0
- package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
- package/dist/esm/store/RoutePlannerStore.js +322 -0
- package/dist/esm/store/RouteStore.d.ts +138 -0
- package/dist/esm/store/RouteStore.js +692 -0
- package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
- package/dist/esm/store/SearchButtonsStore.js +2 -0
- package/dist/esm/store/SearchStore.d.ts +81 -0
- package/dist/esm/store/SearchStore.js +612 -0
- package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
- package/dist/esm/store/SessionsFilterStore.js +169 -0
- package/dist/esm/store/ShortcutProvider.d.ts +26 -0
- package/dist/esm/store/ShortcutProvider.js +5 -0
- package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
- package/dist/esm/store/ShortcutRegistry.js +130 -0
- package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
- package/dist/esm/store/SpeakerFilterStore.js +152 -0
- package/dist/esm/store/SpeakerStore.d.ts +45 -0
- package/dist/esm/store/SpeakerStore.js +142 -0
- package/dist/esm/store/SubButtonProvider.d.ts +16 -0
- package/dist/esm/store/SubButtonProvider.js +6 -0
- package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
- package/dist/esm/store/SubButtonRegistry.js +58 -0
- package/dist/esm/store/ToursStore.d.ts +30 -0
- package/dist/esm/store/ToursStore.js +184 -0
- package/dist/esm/store/UIState.d.ts +329 -0
- package/dist/esm/store/UIState.js +2138 -0
- package/dist/esm/store/VenueStore.d.ts +254 -0
- package/dist/esm/store/VenueStore.js +650 -0
- package/dist/esm/store/create-live-plan.d.ts +13 -0
- package/dist/esm/store/create-live-plan.js +25 -0
- package/dist/esm/store/details-events.d.ts +11 -0
- package/dist/esm/store/details-events.js +76 -0
- package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
- package/dist/esm/store/floor-activated-notifier.js +22 -0
- package/dist/esm/store/index.d.ts +3 -0
- package/dist/esm/store/index.js +14 -0
- package/dist/esm/store/init/index.d.ts +3 -0
- package/dist/esm/store/init/index.js +20 -0
- package/dist/esm/store/init/init-booths.d.ts +6 -0
- package/dist/esm/store/init/init-booths.js +306 -0
- package/dist/esm/store/init/init-categories.d.ts +3 -0
- package/dist/esm/store/init/init-categories.js +28 -0
- package/dist/esm/store/init/init-events.d.ts +3 -0
- package/dist/esm/store/init/init-events.js +45 -0
- package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
- package/dist/esm/store/init/init-exhibitors.js +71 -0
- package/dist/esm/store/init/init-heatmap.d.ts +3 -0
- package/dist/esm/store/init/init-heatmap.js +37 -0
- package/dist/esm/store/init/init-layers.d.ts +8 -0
- package/dist/esm/store/init/init-layers.js +151 -0
- package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
- package/dist/esm/store/init/init-poiTypes.js +6 -0
- package/dist/esm/store/init/init-speakers.d.ts +3 -0
- package/dist/esm/store/init/init-speakers.js +20 -0
- package/dist/esm/store/init/init-ui.d.ts +13 -0
- package/dist/esm/store/init/init-ui.js +155 -0
- package/dist/esm/store/journey-plan.d.ts +89 -0
- package/dist/esm/store/journey-plan.js +291 -0
- package/dist/esm/store/live-store.d.ts +19 -0
- package/dist/esm/store/live-store.js +26 -0
- package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
- package/dist/esm/store/outdoor-poi-filter.js +33 -0
- package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
- package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
- package/dist/esm/store/reveal-layer.d.ts +29 -0
- package/dist/esm/store/reveal-layer.js +25 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
- package/dist/esm/store/search-buttons/constants.d.ts +24 -0
- package/dist/esm/store/search-buttons/constants.js +24 -0
- package/dist/esm/store/search-buttons/index.d.ts +8 -0
- package/dist/esm/store/search-buttons/index.js +7 -0
- package/dist/esm/store/search-buttons/utils.d.ts +6 -0
- package/dist/esm/store/search-buttons/utils.js +34 -0
- package/dist/esm/store/types.d.ts +213 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/venue-public.d.ts +10 -0
- package/dist/esm/store/venue-public.js +14 -0
- package/dist/esm/store/venue-selection.d.ts +45 -0
- package/dist/esm/store/venue-selection.js +101 -0
- package/dist/esm/test/store-harness.d.ts +32 -0
- package/dist/esm/test/store-harness.js +116 -0
- package/dist/esm/tools/base-runtime-url.d.ts +3 -0
- package/dist/esm/tools/base-runtime-url.js +23 -0
- package/dist/esm/tools/debounce.d.ts +2 -0
- package/dist/esm/tools/debounce.js +10 -0
- package/dist/esm/tools/debugCanvases.d.ts +3 -0
- package/dist/esm/tools/debugCanvases.js +3 -0
- package/dist/esm/tools/event-not-found.d.ts +18 -0
- package/dist/esm/tools/event-not-found.js +50 -0
- package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
- package/dist/esm/tools/event-scoped-cache.js +47 -0
- package/dist/esm/tools/expofpUrl.d.ts +7 -0
- package/dist/esm/tools/expofpUrl.js +10 -0
- package/dist/esm/tools/freeBanner.d.ts +5 -0
- package/dist/esm/tools/freeBanner.js +11 -0
- package/dist/esm/tools/gtag.d.ts +66 -0
- package/dist/esm/tools/gtag.js +287 -0
- package/dist/esm/tools/handleDebugMode.d.ts +19 -0
- package/dist/esm/tools/handleDebugMode.js +61 -0
- package/dist/esm/tools/has-html-tags.d.ts +2 -0
- package/dist/esm/tools/has-html-tags.js +3 -0
- package/dist/esm/tools/id.d.ts +2 -0
- package/dist/esm/tools/id.js +5 -0
- package/dist/esm/tools/loaders.d.ts +5 -0
- package/dist/esm/tools/loaders.js +67 -0
- package/dist/esm/tools/logger.d.ts +38 -0
- package/dist/esm/tools/logger.js +87 -0
- package/dist/esm/tools/rebooking-config.d.ts +10 -0
- package/dist/esm/tools/rebooking-config.js +19 -0
- package/dist/esm/tools/rebookingUrl.d.ts +11 -0
- package/dist/esm/tools/rebookingUrl.js +27 -0
- package/dist/esm/tools/report-error.d.ts +2 -0
- package/dist/esm/tools/report-error.js +134 -0
- package/dist/esm/tools/reset.d.ts +2 -0
- package/dist/esm/tools/reset.js +35 -0
- package/dist/esm/tools/sentry.d.ts +7 -0
- package/dist/esm/tools/sentry.js +166 -0
- package/dist/esm/tools/settings.d.ts +36 -0
- package/dist/esm/tools/settings.js +110 -0
- package/dist/esm/tools/slug.d.ts +2 -0
- package/dist/esm/tools/slug.js +27 -0
- package/dist/esm/tools/strip-html.d.ts +2 -0
- package/dist/esm/tools/strip-html.js +7 -0
- package/dist/esm/tools/style-registry.d.ts +28 -0
- package/dist/esm/tools/style-registry.js +46 -0
- package/dist/esm/tools/telemetry.d.ts +37 -0
- package/dist/esm/tools/telemetry.js +266 -0
- package/dist/esm/tools/track-event.d.ts +28 -0
- package/dist/esm/tools/track-event.js +196 -0
- package/dist/esm/tools/webgl-logger.d.ts +2 -0
- package/dist/esm/tools/webgl-logger.js +31 -0
- package/dist/esm/types/drawing.types.d.ts +18 -0
- package/dist/esm/types/drawing.types.js +1 -0
- package/dist/esm/types/sdk.types.d.ts +49 -0
- package/dist/esm/types/sdk.types.js +6 -0
- package/dist/esm/types.d.ts +593 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
- package/dist/esm/utils/_OLD_gpu-info.js +23 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
- package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
- package/dist/esm/utils/areLayersEnabled.js +4 -0
- package/dist/esm/utils/blob-image-size.d.ts +27 -0
- package/dist/esm/utils/blob-image-size.js +37 -0
- package/dist/esm/utils/brand.d.ts +18 -0
- package/dist/esm/utils/brand.js +19 -0
- package/dist/esm/utils/browser.d.ts +4 -0
- package/dist/esm/utils/browser.js +4 -0
- package/dist/esm/utils/calcSpeed.d.ts +2 -0
- package/dist/esm/utils/calcSpeed.js +5 -0
- package/dist/esm/utils/calcTravelTime.d.ts +2 -0
- package/dist/esm/utils/calcTravelTime.js +3 -0
- package/dist/esm/utils/camera-map-settings.d.ts +26 -0
- package/dist/esm/utils/camera-map-settings.js +86 -0
- package/dist/esm/utils/color-gradient.d.ts +2 -0
- package/dist/esm/utils/color-gradient.js +14 -0
- package/dist/esm/utils/customCommands.d.ts +2 -0
- package/dist/esm/utils/customCommands.js +33 -0
- package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
- package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
- package/dist/esm/utils/dimming.d.ts +27 -0
- package/dist/esm/utils/dimming.js +88 -0
- package/dist/esm/utils/entity-storage.d.ts +14 -0
- package/dist/esm/utils/entity-storage.js +122 -0
- package/dist/esm/utils/event-head.d.ts +38 -0
- package/dist/esm/utils/event-head.js +90 -0
- package/dist/esm/utils/event-now.d.ts +11 -0
- package/dist/esm/utils/event-now.js +40 -0
- package/dist/esm/utils/event-title.d.ts +19 -0
- package/dist/esm/utils/event-title.js +20 -0
- package/dist/esm/utils/eventFullBadge.d.ts +3 -0
- package/dist/esm/utils/eventFullBadge.js +7 -0
- package/dist/esm/utils/eventTime.d.ts +15 -0
- package/dist/esm/utils/eventTime.js +82 -0
- package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
- package/dist/esm/utils/extractMetaFromString.js +16 -0
- package/dist/esm/utils/geo-anchors.d.ts +10 -0
- package/dist/esm/utils/geo-anchors.js +12 -0
- package/dist/esm/utils/geometry.d.ts +2 -0
- package/dist/esm/utils/geometry.js +12 -0
- package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
- package/dist/esm/utils/getContrastTextColor.js +26 -0
- package/dist/esm/utils/getLogoUrl.d.ts +9 -0
- package/dist/esm/utils/getLogoUrl.js +26 -0
- package/dist/esm/utils/getMostFrequent.d.ts +2 -0
- package/dist/esm/utils/getMostFrequent.js +14 -0
- package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
- package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
- package/dist/esm/utils/gps.d.ts +40 -0
- package/dist/esm/utils/gps.js +66 -0
- package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
- package/dist/esm/utils/heatmap-enabled.js +13 -0
- package/dist/esm/utils/i18n.d.ts +18 -0
- package/dist/esm/utils/i18n.js +117 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.js +60 -0
- package/dist/esm/utils/is-debug.d.ts +3 -0
- package/dist/esm/utils/is-debug.js +9 -0
- package/dist/esm/utils/is-from-designer.d.ts +3 -0
- package/dist/esm/utils/is-from-designer.js +4 -0
- package/dist/esm/utils/is-iframe.d.ts +3 -0
- package/dist/esm/utils/is-iframe.js +13 -0
- package/dist/esm/utils/is-localhost.d.ts +3 -0
- package/dist/esm/utils/is-localhost.js +11 -0
- package/dist/esm/utils/is-mac.d.ts +3 -0
- package/dist/esm/utils/is-mac.js +2 -0
- package/dist/esm/utils/is-mobile.d.ts +3 -0
- package/dist/esm/utils/is-mobile.js +2 -0
- package/dist/esm/utils/is-own-domain.d.ts +12 -0
- package/dist/esm/utils/is-own-domain.js +23 -0
- package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
- package/dist/esm/utils/is-pathway-layer.js +4 -0
- package/dist/esm/utils/is-phone.d.ts +9 -0
- package/dist/esm/utils/is-phone.js +17 -0
- package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
- package/dist/esm/utils/is-scroll-ugly.js +13 -0
- package/dist/esm/utils/is-webview.d.ts +3 -0
- package/dist/esm/utils/is-webview.js +2 -0
- package/dist/esm/utils/isNumericLevel.d.ts +2 -0
- package/dist/esm/utils/isNumericLevel.js +3 -0
- package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
- package/dist/esm/utils/lazy-qr-code.js +6 -0
- package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
- package/dist/esm/utils/legacy-storage-keys.js +38 -0
- package/dist/esm/utils/loadBlob.d.ts +16 -0
- package/dist/esm/utils/loadBlob.js +40 -0
- package/dist/esm/utils/loadCustomCss.d.ts +3 -0
- package/dist/esm/utils/loadCustomCss.js +19 -0
- package/dist/esm/utils/loadIcons.d.ts +3 -0
- package/dist/esm/utils/loadIcons.js +24 -0
- package/dist/esm/utils/loadImage.d.ts +2 -0
- package/dist/esm/utils/loadImage.js +11 -0
- package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
- package/dist/esm/utils/loadImagesInBatches.js +82 -0
- package/dist/esm/utils/loadLayerImages.d.ts +41 -0
- package/dist/esm/utils/loadLayerImages.js +107 -0
- package/dist/esm/utils/localStorage.d.ts +2 -0
- package/dist/esm/utils/localStorage.js +11 -0
- package/dist/esm/utils/lz-utils.d.ts +8 -0
- package/dist/esm/utils/lz-utils.js +16 -0
- package/dist/esm/utils/mapEntity.d.ts +3 -0
- package/dist/esm/utils/mapEntity.js +82 -0
- package/dist/esm/utils/math.d.ts +6 -0
- package/dist/esm/utils/math.js +7 -0
- package/dist/esm/utils/mobx.d.ts +35 -0
- package/dist/esm/utils/mobx.js +74 -0
- package/dist/esm/utils/outdoor-poi.d.ts +32 -0
- package/dist/esm/utils/outdoor-poi.js +28 -0
- package/dist/esm/utils/plan-reactions.d.ts +20 -0
- package/dist/esm/utils/plan-reactions.js +26 -0
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +15 -0
- package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
- package/dist/esm/utils/preview-exhibitor.js +19 -0
- package/dist/esm/utils/rasterize-svg.d.ts +32 -0
- package/dist/esm/utils/rasterize-svg.js +78 -0
- package/dist/esm/utils/responsiveClass.d.ts +2 -0
- package/dist/esm/utils/responsiveClass.js +25 -0
- package/dist/esm/utils/rtl.d.ts +2 -0
- package/dist/esm/utils/rtl.js +4 -0
- package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
- package/dist/esm/utils/sanitizeHtml.js +21 -0
- package/dist/esm/utils/sanitizeText.d.ts +9 -0
- package/dist/esm/utils/sanitizeText.js +19 -0
- package/dist/esm/utils/scene-bounds.d.ts +64 -0
- package/dist/esm/utils/scene-bounds.js +127 -0
- package/dist/esm/utils/shortenName.d.ts +2 -0
- package/dist/esm/utils/shortenName.js +19 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
- package/dist/esm/utils/strEqual.d.ts +2 -0
- package/dist/esm/utils/strEqual.js +3 -0
- package/dist/esm/utils/swappable-proxy.d.ts +28 -0
- package/dist/esm/utils/swappable-proxy.js +71 -0
- package/dist/esm/utils/trackingParams.d.ts +3 -0
- package/dist/esm/utils/trackingParams.js +24 -0
- package/dist/esm/utils/urlEncoding.d.ts +7 -0
- package/dist/esm/utils/urlEncoding.js +62 -0
- package/dist/esm/utils/use-shadow.d.ts +3 -0
- package/dist/esm/utils/use-shadow.js +10 -0
- package/dist/esm/utils/useHeatmapData.d.ts +10 -0
- package/dist/esm/utils/useHeatmapData.js +8 -0
- package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
- package/dist/esm/utils/useHeatmapOverlay.js +56 -0
- package/dist/esm/utils/useRenderTarget.d.ts +2 -0
- package/dist/esm/utils/useRenderTarget.js +35 -0
- package/dist/esm/utils/yah_icon.d.ts +6 -0
- package/dist/esm/utils/yah_icon.js +457 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
- package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +42 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +73 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +9 -0
- package/dist/esm/wayfinding/adapters/index.js +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
- package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
- package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
- package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
- package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
- package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
- package/dist/esm/wayfinding/createWayfinding.js +183 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
- package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
- package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
- package/dist/esm/wayfinding/index.d.ts +12 -0
- package/dist/esm/wayfinding/index.js +9 -0
- package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
- package/dist/esm/wayfinding/routeSteps.js +29 -0
- package/dist/esm/wayfinding/storePorts.d.ts +67 -0
- package/dist/esm/wayfinding/storePorts.js +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,707 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL ⇄ state adapter — binds the pure legacy-URL grammar (`parseLegacyQuery` /
|
|
3
|
+
* `serializeSelection`, `@expofp/config`) to the stores and the public
|
|
4
|
+
* `FloorPlan` methods. All catalog lookups, MobX plumbing and legacy quirks
|
|
5
|
+
* live here, in named functions, so the grammar stays testable and the sync
|
|
6
|
+
* layer (`url-sync.ts`) stays store-free.
|
|
7
|
+
*
|
|
8
|
+
* Reading: `dispatchFromUrl` runs at boot (layers loaded), on browser
|
|
9
|
+
* back/forward, and from the public `applyParameters` — it replays the URL
|
|
10
|
+
* into state, preferring public `FloorPlan` methods where one matches 1:1.
|
|
11
|
+
* Writing: one MobX autorun serializes the current selection back into the
|
|
12
|
+
* address bar through the single writer. Both directions speak the same
|
|
13
|
+
* grammar, which keeps shortcuts bidirectional.
|
|
14
|
+
*
|
|
15
|
+
* Besides the URL, the DECLARATIVE config nodes (flags, heatmap, camera,
|
|
16
|
+
* visibility — merged by `loadConfig` from manifest/options/query) apply from
|
|
17
|
+
* here too (`applyDeclarativeConfig`), in every mode: `ignoreQuery` gates only
|
|
18
|
+
* the URL reading and writing (`initUrlRouting`).
|
|
19
|
+
*
|
|
20
|
+
* LEGACY GRAMMAR — frozen. This adapter is the ONLY legitimate consumer of the
|
|
21
|
+
* codec's parse side (`parseLegacyQuery` and the `Legacy*` types; lint-enforced
|
|
22
|
+
* elsewhere in floorplan). Do not add keys or forms — new URL capabilities are
|
|
23
|
+
* born in `UrlConfigSchema` (config keys) or `IntentsSchema` (intent arms).
|
|
24
|
+
*/
|
|
25
|
+
import { applyIntents, getConfig, parseDeprecatedUrlParams, parseFromUrlTolerant, parseIntentsFromUrl, parseLegacyQuery, serializeIntentToUrl, serializeSelection, } from '@expofp/config';
|
|
26
|
+
import { Box } from '@expofp/geometry';
|
|
27
|
+
import { UrlConfigSchema, } from '@expofp/schema';
|
|
28
|
+
import { safeDecode } from '@expofp/utils';
|
|
29
|
+
import { runInAction } from 'mobx';
|
|
30
|
+
import { applyKioskMode } from '../components/Kiosk/kiosk-mode';
|
|
31
|
+
import { recoverKioskFromUrlPrams } from '../components/Kiosk/recoverKioskFromUrlPrams';
|
|
32
|
+
import { LEGACY_PREVIEW_MODE_STORAGE_KEY, LEGACY_VIEWER_MODE_STORAGE_KEY, PREVIEW_MODE_STORAGE_KEY, VIEWER_MODE_STORAGE_KEY, } from '../constants';
|
|
33
|
+
import data from '../data';
|
|
34
|
+
import { dispatchJourneyLink } from '../journey';
|
|
35
|
+
import store, { uiState } from '../store';
|
|
36
|
+
import { BoothBase } from '../store/BoothStore';
|
|
37
|
+
import { CurrentPosition, extractRoute } from '../store/RouteStore';
|
|
38
|
+
import { enterVenueFromMapSettings } from '../store/venue-selection';
|
|
39
|
+
import { eventScopedValue } from '../tools/event-scoped-cache.js';
|
|
40
|
+
import { setConsentSettings } from '../tools/gtag';
|
|
41
|
+
import logger from '../tools/logger';
|
|
42
|
+
import { areLayersEnabled } from '../utils/areLayersEnabled';
|
|
43
|
+
import { brand } from '../utils/brand';
|
|
44
|
+
import { cameraToMapSettings } from '../utils/camera-map-settings';
|
|
45
|
+
import { handleCustomCommand } from '../utils/customCommands';
|
|
46
|
+
import { formatEventTitle, formatPlaceholderTitle } from '../utils/event-title';
|
|
47
|
+
import { getMostFrequent } from '../utils/getMostFrequent';
|
|
48
|
+
import { heatmapEnabled } from '../utils/heatmap-enabled';
|
|
49
|
+
import isOwnDomain from '../utils/is-own-domain';
|
|
50
|
+
import { isLocalStorageAvailable } from '../utils/localStorage';
|
|
51
|
+
import { planAutorun, planWhen } from '../utils/plan-reactions.js';
|
|
52
|
+
import { stripTrackingParams } from '../utils/trackingParams';
|
|
53
|
+
import { rewriteMultiSlugQuery } from './multi-slug';
|
|
54
|
+
import { currentSearch, disableUrlWrites, initUrlSync, pushQuery, replaceQuery } from './url-sync';
|
|
55
|
+
/** Suppresses the URL autorun while a dispatch is mutating state from the URL. */
|
|
56
|
+
let syncSuppressed = false;
|
|
57
|
+
/** True while the first-load dispatch replays the boot URL. */
|
|
58
|
+
let bootDispatch = false;
|
|
59
|
+
/**
|
|
60
|
+
* Apply the declarative config nodes onto the runtime state — the presentation
|
|
61
|
+
* flags and heatmap engagement now, camera and visibility on first layers
|
|
62
|
+
* load. Runs in EVERY mode, before `initUrlRouting`: `ignoreQuery` isolates
|
|
63
|
+
* the floor plan from the page URL (`loadConfig` already left the URL slice
|
|
64
|
+
* out of the effective config), not from its own manifest/options config.
|
|
65
|
+
*/
|
|
66
|
+
export function applyDeclarativeConfig() {
|
|
67
|
+
applyRuntimeConfigFlags(getConfig());
|
|
68
|
+
// First load only: a 2D/3D switch remounts the map and re-flips
|
|
69
|
+
// layersLoaded, and must not re-snap the boot camera (`when` fires once,
|
|
70
|
+
// then disposes). Registered before initUrlRouting's `when`, so on a shared
|
|
71
|
+
// boot the declarative nodes land before the dispatch replays the query and
|
|
72
|
+
// whatever that dispatch selects wins the final view.
|
|
73
|
+
planWhen(() => store.layerStore.layersLoaded, () => {
|
|
74
|
+
// the declarative boot camera (manifest / options / ?camera[…]= query)
|
|
75
|
+
const bootCamera = getConfig().camera;
|
|
76
|
+
if (Object.keys(bootCamera).length) {
|
|
77
|
+
applyMapSettings(cameraToMapSettings(bootCamera));
|
|
78
|
+
}
|
|
79
|
+
// the declarative boot visibility (manifest / options / ?visibility[…]=
|
|
80
|
+
// query). The store method, not the public setVisibility — boot must not
|
|
81
|
+
// toast. Runs after init-ui's sticky '___visibility' restore, so a
|
|
82
|
+
// configured visibility overrides the persisted one, and re-persists.
|
|
83
|
+
const bootVisibility = getConfig().visibility;
|
|
84
|
+
if (Object.keys(bootVisibility).length) {
|
|
85
|
+
uiState.setVisibility(bootVisibility);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
export function initUrlRouting(offHistory) {
|
|
90
|
+
initUrlSync({ offHistory, onNavigate: () => dispatchFromUrl({ backForward: true }) });
|
|
91
|
+
applyOneShots();
|
|
92
|
+
executeCustomCommand();
|
|
93
|
+
// first load only, like the declarative `when` above — a map remount must
|
|
94
|
+
// not replay the URL over the visitor's current state, and the sync
|
|
95
|
+
// autoruns must register exactly once
|
|
96
|
+
planWhen(() => store.layerStore.layersLoaded, () => {
|
|
97
|
+
if (store.urlFilterManager && !store.urlFilterManager.isInitialized) {
|
|
98
|
+
store.urlFilterManager.initialize();
|
|
99
|
+
}
|
|
100
|
+
bootDispatch = true;
|
|
101
|
+
try {
|
|
102
|
+
dispatchFromUrl();
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
bootDispatch = false;
|
|
106
|
+
}
|
|
107
|
+
planAutorun(syncTitle);
|
|
108
|
+
planAutorun(syncUrl);
|
|
109
|
+
if (uiState.viewerMode) {
|
|
110
|
+
uiState.menu = true;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/** The public `FloorPlan.applyParameters` — replay a legacy query at runtime. */
|
|
115
|
+
export function applyParameters(queryRaw = '') {
|
|
116
|
+
replaceQuery('?' + safeDecode(queryRaw.toString()));
|
|
117
|
+
if (!store.layerStore.layersLoaded) {
|
|
118
|
+
executeCustomCommand();
|
|
119
|
+
// `when`, not a reaction: replay once on first load — a later map remount
|
|
120
|
+
// re-flips layersLoaded and must not replay a stale query
|
|
121
|
+
planWhen(() => store.layerStore.layersLoaded, () => applyRuntimeParameters(queryRaw));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
applyRuntimeParameters(queryRaw);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function applyRuntimeParameters(queryRaw) {
|
|
128
|
+
const search = '?' + safeDecode(queryRaw);
|
|
129
|
+
// config-slice keys arriving at runtime can't merge into the frozen config —
|
|
130
|
+
// apply their runtime equivalents instead, mirroring the boot path
|
|
131
|
+
// (`applyDeclarativeConfig` + the config-intents run in load.ts)
|
|
132
|
+
const slice = parseUrlConfigSlice(search);
|
|
133
|
+
// canonical intents in either spelling, in boot's merge order: bracketed
|
|
134
|
+
// `intents[…]` entries before shortcut keys before the deprecated alias
|
|
135
|
+
const canonicalIntents = [...(slice.intents ?? []), ...parseIntentsFromUrl(search).intents];
|
|
136
|
+
// TEMPORARY, with the `@expofp/config` shim: the runtime path must honor
|
|
137
|
+
// the aliases the boot path folds into the frozen config. The shim drops an
|
|
138
|
+
// alias whose canonical key rides in the same query — no conflicts below.
|
|
139
|
+
const { intents: aliasIntents = [], ...deprecatedFields } = parseDeprecatedUrlParams(search, {
|
|
140
|
+
visibility: slice.visibility,
|
|
141
|
+
consent: slice.consent,
|
|
142
|
+
intents: canonicalIntents,
|
|
143
|
+
});
|
|
144
|
+
applyRuntimeConfigFlags(slice);
|
|
145
|
+
applyRuntimeConfigFlags(deprecatedFields); // only its `noOverlay` arm can fire
|
|
146
|
+
const consent = slice.consent ?? deprecatedFields.consent;
|
|
147
|
+
if (consent) {
|
|
148
|
+
setConsentSettings(consent);
|
|
149
|
+
}
|
|
150
|
+
if (slice.camera && Object.keys(slice.camera).length) {
|
|
151
|
+
applyMapSettings(cameraToMapSettings(slice.camera));
|
|
152
|
+
}
|
|
153
|
+
if (slice.visibility && Object.keys(slice.visibility).length) {
|
|
154
|
+
uiState.setVisibility(slice.visibility);
|
|
155
|
+
}
|
|
156
|
+
applyOneShots();
|
|
157
|
+
dispatchFromUrl();
|
|
158
|
+
// intents run last, after the dispatch settles the primary state
|
|
159
|
+
const intents = [...canonicalIntents, ...aliasIntents];
|
|
160
|
+
if (intents.length) {
|
|
161
|
+
// the public-API view of the instance — the same contract load.ts hands
|
|
162
|
+
// to applyIntents (the class type's CurrentPosition param is the store
|
|
163
|
+
// class, the intent arm carries the public plain shape)
|
|
164
|
+
applyIntents(store.fp, intents);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/* ── URL → state ───────────────────────────────────────────────────────────── */
|
|
168
|
+
function executeCustomCommand() {
|
|
169
|
+
const search = currentSearch();
|
|
170
|
+
const slug = search.length > 1 ? safeDecode(search.substring(1)) : '';
|
|
171
|
+
return handleCustomCommand(slug);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* `backForward`: a browser back/forward onto an existing history entry
|
|
175
|
+
* (`restoreEntry`). Boot and `applyParameters` run the URL's intents
|
|
176
|
+
* themselves, after this dispatch.
|
|
177
|
+
*/
|
|
178
|
+
function dispatchFromUrl(options = {}) {
|
|
179
|
+
syncSuppressed = true;
|
|
180
|
+
// the reset lives in `finally`: a store method throwing mid-dispatch on
|
|
181
|
+
// exotic input must not leave the write autorun suppressed for the rest
|
|
182
|
+
// of the session
|
|
183
|
+
try {
|
|
184
|
+
// the kiosk anchor rides along any deep link and re-applies on every
|
|
185
|
+
// navigation (the double decode mirrors the legacy reader)
|
|
186
|
+
const searchParams = new URLSearchParams(safeDecode(window.location.search));
|
|
187
|
+
recoverKioskFromUrlPrams(searchParams);
|
|
188
|
+
const { primary } = parseLegacyQuery(currentSearch());
|
|
189
|
+
// In heatmap mode the heatmap-query residue never dispatches as a select:
|
|
190
|
+
// the canonical `?heatmap[…]=` keys are config-owned (stripped from the
|
|
191
|
+
// slug), leaving either an empty slug or just the access token (`t=…`, not
|
|
192
|
+
// a config key) — replaying that as a select would stomp the boot search
|
|
193
|
+
// state the yah list rides on (init-heatmap's `selectSearch(' ')`) or flash
|
|
194
|
+
// the raw token as search text. The legacy `?heatmap=true` slug keeps its
|
|
195
|
+
// tokens and flows through `fp.select`'s own `heatmap=true` guard exactly
|
|
196
|
+
// as before; non-select primaries (`?kiosk=1&heatmap=true`) keep
|
|
197
|
+
// dispatching, as they always did.
|
|
198
|
+
const inertHeatmapQuery = primary.type === 'select' &&
|
|
199
|
+
(!primary.slug || /^t=[^&]*$/.test(primary.slug)) &&
|
|
200
|
+
(uiState.heatmap || uiState.heatmapYah);
|
|
201
|
+
if (!executeCustomCommand() && !inertHeatmapQuery) {
|
|
202
|
+
if (options.backForward) {
|
|
203
|
+
restoreEntry(primary);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
applyPrimary(primary);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// after the primary: the journey link is a config-owned key, so the legacy
|
|
210
|
+
// grammar hands us `ownedByConfig` and leaves the endpoints to us
|
|
211
|
+
applyJourneyLink();
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
syncSuppressed = false;
|
|
215
|
+
}
|
|
216
|
+
if (options.backForward) {
|
|
217
|
+
// a rewrite of this entry replaces it, and the next change is compared
|
|
218
|
+
// with what the entry shows — not with the selection the visitor left
|
|
219
|
+
const { exhibitor, booth, eventItem } = selectionFromState();
|
|
220
|
+
const saved = savedSelection();
|
|
221
|
+
saved.exhibitor = exhibitor;
|
|
222
|
+
saved.booth = booth;
|
|
223
|
+
saved.eventItem = eventItem;
|
|
224
|
+
}
|
|
225
|
+
syncUrl();
|
|
226
|
+
syncTitle();
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* The journey deep link (`?journey[to]=…&journey[from]=…`) — what a scanned
|
|
230
|
+
* kiosk QR or a desktop hand-off opens as. Only the two identifiers travel, so
|
|
231
|
+
* replaying them into the route is the whole dispatch: the ordinary journey
|
|
232
|
+
* path (`currentJourney`) re-plans from that route on THIS device, with its
|
|
233
|
+
* plan, its venues and its position. A code printed a week ago therefore
|
|
234
|
+
* answers with the plan as it is now.
|
|
235
|
+
*
|
|
236
|
+
* Runs on every navigation, like the kiosk anchor above it: the link may arrive
|
|
237
|
+
* at boot, on back/forward, or through `applyParameters`.
|
|
238
|
+
*/
|
|
239
|
+
function applyJourneyLink() {
|
|
240
|
+
const link = dispatchJourneyLink(currentSearch(), {
|
|
241
|
+
// not the public selectRoute: a journey link may name no origin at all
|
|
242
|
+
// (the device's own anchor fills it downstream), which the method rejects
|
|
243
|
+
selectRoute: (from, to) => store.routeStore.selectRoute(extractRoute(from, to, [])),
|
|
244
|
+
});
|
|
245
|
+
if (link) {
|
|
246
|
+
logger.log('Journey deep link', link);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Restore an existing history entry on browser back/forward. A plain
|
|
251
|
+
* `?sessions` opens the list with its filters off, and of the entry's intents
|
|
252
|
+
* only `showSessions` replays — the one the URL writer emits. Any other is a
|
|
253
|
+
* one-time command left from the boot URL (`?changeLanguage=de`), which must
|
|
254
|
+
* not run again.
|
|
255
|
+
*/
|
|
256
|
+
function restoreEntry(primary) {
|
|
257
|
+
if (primary.type === 'list' && primary.list === 'sessions') {
|
|
258
|
+
store.fp.showSessions();
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
applyPrimary(primary);
|
|
262
|
+
}
|
|
263
|
+
const { intents } = parseIntentsFromUrl(currentSearch());
|
|
264
|
+
applyIntents(store.fp, intents.filter((intent) => intent.name === 'showSessions'));
|
|
265
|
+
}
|
|
266
|
+
function applyPrimary(primary) {
|
|
267
|
+
const fp = store.fp;
|
|
268
|
+
switch (primary.type) {
|
|
269
|
+
case 'kiosk':
|
|
270
|
+
// null: a value other than 1/0 — consume the branch and do nothing
|
|
271
|
+
if (primary.enabled !== null) {
|
|
272
|
+
applyKioskMode(uiState, primary.enabled);
|
|
273
|
+
}
|
|
274
|
+
return;
|
|
275
|
+
case 'list':
|
|
276
|
+
fp.showList(primary.list);
|
|
277
|
+
return;
|
|
278
|
+
case 'tour':
|
|
279
|
+
fp.selectTour(primary.tourId);
|
|
280
|
+
return;
|
|
281
|
+
case 'planner':
|
|
282
|
+
// a link that opens the planner together with a filter keeps the filter
|
|
283
|
+
if (bootDispatch)
|
|
284
|
+
store.searchButtonsStore.keepFiltersOnNextNavigation();
|
|
285
|
+
fp.openPlanner({
|
|
286
|
+
items: primary.items,
|
|
287
|
+
from: primary.from,
|
|
288
|
+
fromBookmarks: primary.fromBookmarks,
|
|
289
|
+
});
|
|
290
|
+
return;
|
|
291
|
+
case 'route': {
|
|
292
|
+
// not the public selectRoute: a shared route may miss its FROM (the kiosk
|
|
293
|
+
// anchor fills it downstream), which the method rightly rejects
|
|
294
|
+
store.routeStore.setOnlyAccessible(primary.accessible);
|
|
295
|
+
const route = extractRoute(primary.from ?? '', primary.to ?? '', primary.waypoints);
|
|
296
|
+
// a link that opens a route together with a filter keeps the filter;
|
|
297
|
+
// a route from a booth to itself is dropped by selectRoute and opens
|
|
298
|
+
// nothing, so it must not leave the hold armed
|
|
299
|
+
if (bootDispatch && !(route.from && route.from === route.to)) {
|
|
300
|
+
store.searchButtonsStore.keepFiltersOnNextNavigation();
|
|
301
|
+
}
|
|
302
|
+
store.routeStore.selectRoute(route);
|
|
303
|
+
store.uiState.setIsMultiPointRoute(primary.waypoints.length > 0);
|
|
304
|
+
if (primary.title) {
|
|
305
|
+
store.uiState.setRouteTitle(primary.title);
|
|
306
|
+
}
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
case 'selectExhibitors':
|
|
310
|
+
// the 250ms delay is a legacy boot quirk of this deep link — kept here,
|
|
311
|
+
// not in the general-purpose method
|
|
312
|
+
setTimeout(() => fp.selectExhibitor(primary.values), 250);
|
|
313
|
+
return;
|
|
314
|
+
case 'ownedByFilters':
|
|
315
|
+
logger.log('Skipping filter parameters in dispatchFromUrl (owned by URLFilterManager)');
|
|
316
|
+
return;
|
|
317
|
+
case 'ownedByConfig':
|
|
318
|
+
// the whole query is config-slice / intent-shortcut keys, consumed by
|
|
319
|
+
// loadConfig at boot and applyRuntimeParameters at runtime — replaying
|
|
320
|
+
// it as an empty select would close whatever is open
|
|
321
|
+
return;
|
|
322
|
+
case 'select':
|
|
323
|
+
fp.select(primary.slug);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* The body of `FloorPlan.showPathway`. Lives here from the days the retired
|
|
329
|
+
* `?pathway=` deep link shared it; the multi-point-tour header that link
|
|
330
|
+
* could also raise is `ToursStore.launchTour`'s job now.
|
|
331
|
+
*/
|
|
332
|
+
export function applyPathway(options) {
|
|
333
|
+
const { pathwayId, boothIds, exhibitorIds } = options;
|
|
334
|
+
const directBooths = store.boothStore.booths.filter((b) => boothIds.includes(b.externalId));
|
|
335
|
+
const exhibitorBooths = store.exhibitorStore.exhibitors
|
|
336
|
+
.filter((e) => exhibitorIds.includes(e.externalId))
|
|
337
|
+
.flatMap((e) => e.booths);
|
|
338
|
+
const allBooths = [...directBooths, ...exhibitorBooths];
|
|
339
|
+
if (areLayersEnabled()) {
|
|
340
|
+
const layerName = getMostFrequent(allBooths.map((b) => b.layer.name));
|
|
341
|
+
if (layerName) {
|
|
342
|
+
store.fp.activateFloor({ name: layerName });
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (boothIds.length > 0 || exhibitorIds.length > 0) {
|
|
346
|
+
store.fp.highlightEntities([...boothIds, ...exhibitorIds]);
|
|
347
|
+
}
|
|
348
|
+
store.layerStore.showPathWay(pathwayId);
|
|
349
|
+
if (allBooths.length > 0) {
|
|
350
|
+
runInAction(() => {
|
|
351
|
+
store.uiState.moveToRect = Box.fromUnion(...allBooths.map((b) => b.rect).filter(Boolean));
|
|
352
|
+
store.uiState.rollReset = true;
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/* ── One-shot boot effects (the former processURLParams) ───────────────────── */
|
|
357
|
+
function applyOneShots() {
|
|
358
|
+
const { oneShots } = parseLegacyQuery(currentSearch());
|
|
359
|
+
for (const shot of oneShots) {
|
|
360
|
+
applyOneShot(shot);
|
|
361
|
+
}
|
|
362
|
+
// the third-party tracking scrub — the one pre-dispatch rewrite left, it
|
|
363
|
+
// needs the raw string (URLSearchParams would mangle a route slug's `:`)
|
|
364
|
+
const cleanedSearch = stripTrackingParams(currentSearch());
|
|
365
|
+
if (cleanedSearch !== null) {
|
|
366
|
+
replaceQuery('?' + cleanedSearch);
|
|
367
|
+
}
|
|
368
|
+
if (uiState.previewExhibitor) {
|
|
369
|
+
replaceQuery('?' + uiState.previewExhibitor.slug);
|
|
370
|
+
}
|
|
371
|
+
rewriteMultiSlug();
|
|
372
|
+
}
|
|
373
|
+
function applyOneShot(shot) {
|
|
374
|
+
switch (shot.type) {
|
|
375
|
+
case 'heatmap':
|
|
376
|
+
// the legacy ?heatmap=true&type=yah translation of the config.heatmap node
|
|
377
|
+
engageHeatmapMode(shot.yah);
|
|
378
|
+
return;
|
|
379
|
+
case 'blueDot': {
|
|
380
|
+
const currentPosition = new CurrentPosition(shot.x, shot.y, store.layerStore.findLayer(shot.layer ?? '')?.name, undefined, shot.lat, shot.lng);
|
|
381
|
+
// first load only — `when` fires once (immediately if already loaded);
|
|
382
|
+
// a map remount re-flips layersLoaded and must not re-place the dot
|
|
383
|
+
planWhen(() => store.layerStore.layersLoaded, () => store.routeStore.selectCurrentPosition(currentPosition, true, 1));
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
case 'viewerMode':
|
|
387
|
+
// disable clears the preference (it does not persist a sticky "off"),
|
|
388
|
+
// and clears the legacy key too — a stale legacy value would otherwise
|
|
389
|
+
// resurrect the mode through the UIState fallback read
|
|
390
|
+
if (isLocalStorageAvailable) {
|
|
391
|
+
if (shot.enabled) {
|
|
392
|
+
localStorage.setItem(VIEWER_MODE_STORAGE_KEY, 'true');
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
localStorage.removeItem(VIEWER_MODE_STORAGE_KEY);
|
|
396
|
+
localStorage.removeItem(LEGACY_VIEWER_MODE_STORAGE_KEY);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return;
|
|
400
|
+
case 'previewMode':
|
|
401
|
+
if (isLocalStorageAvailable) {
|
|
402
|
+
if (shot.enabled) {
|
|
403
|
+
localStorage.setItem(PREVIEW_MODE_STORAGE_KEY, 'true');
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
localStorage.removeItem(PREVIEW_MODE_STORAGE_KEY);
|
|
407
|
+
localStorage.removeItem(LEGACY_PREVIEW_MODE_STORAGE_KEY);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return;
|
|
411
|
+
case 'uiScale':
|
|
412
|
+
// a sticky per-browser preference (persisted by setUIScale), same family
|
|
413
|
+
// as viewermode/previewMode above — NOT a FloorPlan method on purpose:
|
|
414
|
+
// its home is the localStorage config layer, the URL only seeds it
|
|
415
|
+
// (retirement plan §4.5)
|
|
416
|
+
if (shot.scale !== null) {
|
|
417
|
+
store.uiState.setUIScale(shot.scale, true);
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
logger.warn(`Invalid ui-scale parameter: ${shot.raw}. ` + `Must be a number between 0.8 and 1.4.`);
|
|
421
|
+
}
|
|
422
|
+
return;
|
|
423
|
+
case 'resetUiScale':
|
|
424
|
+
store.uiState.resetUIScale();
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Engage heatmap mode — the `config.heatmap` node and the legacy
|
|
430
|
+
* `?heatmap=true` one-shot land here alike. Freezes the URL for the whole
|
|
431
|
+
* session FIRST (legacy contract: the heatmap tokens must survive in the
|
|
432
|
+
* address bar), then bundles a stripped-down presentation for the yah variant.
|
|
433
|
+
*
|
|
434
|
+
* TIMING: the freeze must beat the session's first URL write — the
|
|
435
|
+
* pre-dispatch rewrites at the end of `applyOneShots` (the tracking-param
|
|
436
|
+
* scrub, the preview-exhibitor and multi-slug rewrites) and, later, `syncUrl`'s
|
|
437
|
+
* serialization of an empty selection. That is why the config node applies from
|
|
438
|
+
* `applyRuntimeConfigFlags` — `applyDeclarativeConfig` runs it before
|
|
439
|
+
* `initUrlRouting`'s one-shots at boot, `applyRuntimeParameters` before its
|
|
440
|
+
* own — NOT from the layersLoaded boot block that the camera/visibility nodes
|
|
441
|
+
* use (layersLoaded fires after those rewrites). `initUrlSync` keeps the boot
|
|
442
|
+
* freeze via its one-way `writesDisabled` ratchet.
|
|
443
|
+
*/
|
|
444
|
+
function engageHeatmapMode(yah) {
|
|
445
|
+
disableUrlWrites();
|
|
446
|
+
if (yah) {
|
|
447
|
+
uiState.heatmapYah = true;
|
|
448
|
+
uiState.monochrome = true;
|
|
449
|
+
uiState.hideLogoInBooth = true;
|
|
450
|
+
uiState.hideHeaderLogo = true;
|
|
451
|
+
uiState.disableBookmarked = true;
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
uiState.heatmap = true;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Legacy share links may join several exhibitor slugs with `&` (or an encoded
|
|
459
|
+
* `%26`); rewrite each recognizable slug to the exhibitor's display name so the
|
|
460
|
+
* search fallback shows readable text. The multi-slug decision and the part
|
|
461
|
+
* rules (a `key=value` config/intent param is never a slug — a lone slug
|
|
462
|
+
* riding with one must reach the dispatch intact and select) live in the pure
|
|
463
|
+
* `rewriteMultiSlugQuery`.
|
|
464
|
+
*/
|
|
465
|
+
function rewriteMultiSlug() {
|
|
466
|
+
const rewritten = rewriteMultiSlugQuery(currentSearch(), (part) => {
|
|
467
|
+
const exhibitor = store.exhibitorStore.exhibitors.find((x) => x.slug === part || x.externalId === part);
|
|
468
|
+
return exhibitor?.name;
|
|
469
|
+
});
|
|
470
|
+
if (rewritten !== null) {
|
|
471
|
+
replaceQuery(rewritten);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* The presentation flags live on the config (any layer can set them); this maps
|
|
476
|
+
* them onto the runtime observables once at boot — and again for a query passed
|
|
477
|
+
* to `applyParameters`, where the config is already frozen. Only `noOverlay`
|
|
478
|
+
* historically accepted an explicit `false`; the rest only ever switch on.
|
|
479
|
+
*/
|
|
480
|
+
function applyRuntimeConfigFlags(flags) {
|
|
481
|
+
if (flags.noOverlay !== undefined)
|
|
482
|
+
uiState.hideOverlay = flags.noOverlay;
|
|
483
|
+
if (flags.monochrome)
|
|
484
|
+
uiState.monochrome = true;
|
|
485
|
+
if (flags.hideHeaderLogo)
|
|
486
|
+
uiState.hideHeaderLogo = true;
|
|
487
|
+
if (flags.hideLogoInBooth)
|
|
488
|
+
uiState.hideLogoInBooth = true;
|
|
489
|
+
if (flags.disableFeatured) {
|
|
490
|
+
store.exhibitorStore.exhibitors.forEach((ex) => (ex.featured = false));
|
|
491
|
+
}
|
|
492
|
+
if (flags.disableBookmarked)
|
|
493
|
+
uiState.disableBookmarked = true;
|
|
494
|
+
if (flags.disableGps)
|
|
495
|
+
store.routeStore.setGpsTrackingEnabled(false);
|
|
496
|
+
// the declarative heatmap node (manifest / ?heatmap[…]= query; the legacy
|
|
497
|
+
// ?heatmap=true stays a one-shot and never reaches the config). Applied
|
|
498
|
+
// here so the URL freeze precedes the session's first write — see
|
|
499
|
+
// engageHeatmapMode's TIMING note.
|
|
500
|
+
if (flags.heatmap && heatmapEnabled(flags.heatmap)) {
|
|
501
|
+
engageHeatmapMode(flags.heatmap.variant === 'yah');
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
function parseUrlConfigSlice(search) {
|
|
505
|
+
return parseFromUrlTolerant(UrlConfigSchema, search).value;
|
|
506
|
+
}
|
|
507
|
+
/* ── State → URL (the single writing autorun) ──────────────────────────────── */
|
|
508
|
+
/**
|
|
509
|
+
* The selection the last URL write recorded — push vs. replace turns on
|
|
510
|
+
* whether it changed. Per event because the entries are the live plan's store
|
|
511
|
+
* objects: comparing the next event's selection against them would both pin
|
|
512
|
+
* the dead graph and make the first write of a new plan look like a change
|
|
513
|
+
* that never happened (ADR-0011).
|
|
514
|
+
*/
|
|
515
|
+
const savedSelection = eventScopedValue(() => ({
|
|
516
|
+
exhibitor: null,
|
|
517
|
+
booth: null,
|
|
518
|
+
eventItem: null,
|
|
519
|
+
}));
|
|
520
|
+
function syncUrl() {
|
|
521
|
+
const { selection, exhibitor, booth, eventItem } = selectionFromState();
|
|
522
|
+
// the legacy filter keys (?categories= / ?poiType(s)= / ?exhibitors=true)
|
|
523
|
+
// are the filter manager's — an empty selection with active filters means
|
|
524
|
+
// the filter query IS the URL. Serializing '' over it would stomp the
|
|
525
|
+
// filter manager's write (their MobX ordering decided the address bar);
|
|
526
|
+
// emitting the exact same string makes the two writers commute.
|
|
527
|
+
const filterSearch = store.urlFilterManager.filterSearch();
|
|
528
|
+
const sessionsSearch = sessionsFiltersSearch(selection);
|
|
529
|
+
// read the observables above unconditionally so the autorun keeps tracking
|
|
530
|
+
// them even while a dispatch suppresses the write
|
|
531
|
+
if (syncSuppressed)
|
|
532
|
+
return;
|
|
533
|
+
const newQuery = sessionsSearch || serializeSelection(selection) || filterSearch;
|
|
534
|
+
if (currentSearch() === newQuery)
|
|
535
|
+
return;
|
|
536
|
+
const saved = savedSelection();
|
|
537
|
+
if (exhibitor !== saved.exhibitor || booth !== saved.booth || eventItem !== saved.eventItem) {
|
|
538
|
+
pushQuery(newQuery);
|
|
539
|
+
}
|
|
540
|
+
else {
|
|
541
|
+
replaceQuery(newQuery);
|
|
542
|
+
}
|
|
543
|
+
saved.exhibitor = exhibitor;
|
|
544
|
+
saved.booth = booth;
|
|
545
|
+
saved.eventItem = eventItem;
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* The sessions list's active filters as the `showSessions` intent — `''` when
|
|
549
|
+
* the list is not showing or no filter is on, leaving the legacy `?sessions`
|
|
550
|
+
* (the frozen grammar has no filter form). Tracks and venues go by id: stable
|
|
551
|
+
* across renames, and never holding the `&` the legacy parser splits a
|
|
552
|
+
* decoded query on. The ids are sorted: one link per filter set, whatever the
|
|
553
|
+
* click order.
|
|
554
|
+
*/
|
|
555
|
+
function sessionsFiltersSearch(selection) {
|
|
556
|
+
if (selection.type !== 'list' || selection.list !== 'sessions')
|
|
557
|
+
return '';
|
|
558
|
+
const { selectedTracks, selectedVenues, date, timeOfDay, showBookmarksOnly, showLiveOnly } = store.sessionsFilterStore.state.filters;
|
|
559
|
+
const filters = {};
|
|
560
|
+
if (selectedTracks.value.length)
|
|
561
|
+
filters.tracks = sortedIds(selectedTracks.value);
|
|
562
|
+
if (selectedVenues.value.length)
|
|
563
|
+
filters.venues = sortedIds(selectedVenues.value);
|
|
564
|
+
if (date.value !== 'all')
|
|
565
|
+
filters.date = date.value;
|
|
566
|
+
// the time of day narrows the list only on today's date
|
|
567
|
+
if (date.value === 'today' && timeOfDay.value !== 'all')
|
|
568
|
+
filters.time = timeOfDay.value;
|
|
569
|
+
if (showBookmarksOnly.value)
|
|
570
|
+
filters.bookmarked = true;
|
|
571
|
+
if (showLiveOnly.value)
|
|
572
|
+
filters.live = true;
|
|
573
|
+
if (!Object.keys(filters).length)
|
|
574
|
+
return '';
|
|
575
|
+
return '?' + serializeIntentToUrl({ name: 'showSessions', args: [filters] });
|
|
576
|
+
}
|
|
577
|
+
function sortedIds(ids) {
|
|
578
|
+
return [...ids].sort((left, right) => left - right).map(String);
|
|
579
|
+
}
|
|
580
|
+
/** Map the observable UI state to a selection descriptor of the URL grammar. */
|
|
581
|
+
function selectionFromState() {
|
|
582
|
+
const exhibitor = uiState.selectedExhibitor;
|
|
583
|
+
const booth = uiState.selectedBooth;
|
|
584
|
+
const eventItem = uiState.selectedEventItem;
|
|
585
|
+
const route = uiState.selectedRoute;
|
|
586
|
+
const speaker = uiState.selectedSpeaker;
|
|
587
|
+
const setKiosk = uiState.setKioskModeEnabled;
|
|
588
|
+
const list = uiState.list;
|
|
589
|
+
let selection;
|
|
590
|
+
if (list.type === 'route-planner' && !exhibitor && !booth && !eventItem) {
|
|
591
|
+
const planner = store.routePlannerStore;
|
|
592
|
+
selection = {
|
|
593
|
+
type: 'planner',
|
|
594
|
+
fromBookmarks: planner.source === 'bookmarks',
|
|
595
|
+
// Only entities with a slug are persisted in the planner URL; others are omitted.
|
|
596
|
+
items: planner.items.map((item) => item.entity.slug).filter(Boolean),
|
|
597
|
+
from: planner.startPoint?.slug || undefined,
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
else if (route && !uiState.isMultiPointRoute) {
|
|
601
|
+
// ArbitraryPoint (kiosk anchor / CP-derived "Your Location") has no slug and
|
|
602
|
+
// shouldn't appear in shareable URLs anyway — omit it. On the receiving
|
|
603
|
+
// side, kiosk coords are smuggled separately via `setKioskUrlParams`, and
|
|
604
|
+
// `selectRoute` fills the empty FROM slot back from `uiState.kioskData`.
|
|
605
|
+
selection = {
|
|
606
|
+
type: 'route',
|
|
607
|
+
to: route.to instanceof BoothBase ? route.to.slug : undefined,
|
|
608
|
+
from: route.from instanceof BoothBase ? route.from.slug : undefined,
|
|
609
|
+
accessible: store.routeStore.onlyAccessible,
|
|
610
|
+
waypoints: route.waypoints?.map((w) => w.slug),
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
else if (exhibitor) {
|
|
614
|
+
selection = { type: 'slug', slug: exhibitor.slug };
|
|
615
|
+
}
|
|
616
|
+
else if (booth) {
|
|
617
|
+
selection = { type: 'slug', slug: booth.slug };
|
|
618
|
+
}
|
|
619
|
+
else if (eventItem) {
|
|
620
|
+
selection = { type: 'slug', slug: eventItem.slug };
|
|
621
|
+
}
|
|
622
|
+
else if (speaker) {
|
|
623
|
+
selection = { type: 'slug', slug: speaker.slug };
|
|
624
|
+
}
|
|
625
|
+
else if (setKiosk) {
|
|
626
|
+
selection = { type: 'none' };
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
switch (list.type) {
|
|
630
|
+
case 'bookmarks':
|
|
631
|
+
case 'visited':
|
|
632
|
+
case 'sessions':
|
|
633
|
+
case 'exhibitors':
|
|
634
|
+
case 'speakers':
|
|
635
|
+
case 'tours':
|
|
636
|
+
case 'language':
|
|
637
|
+
selection = { type: 'list', list: list.type };
|
|
638
|
+
break;
|
|
639
|
+
case 'category':
|
|
640
|
+
selection = { type: 'slug', slug: uiState.selectedCategory?.slug ?? '' };
|
|
641
|
+
break;
|
|
642
|
+
case 'search':
|
|
643
|
+
selection = { type: 'slug', slug: list.text || '' };
|
|
644
|
+
break;
|
|
645
|
+
case 'filter':
|
|
646
|
+
selection = { type: 'filter', key: list.query.key, value: list.query.value };
|
|
647
|
+
break;
|
|
648
|
+
case 'multi-point-tour':
|
|
649
|
+
selection = { type: 'tour', tourId: list.tourId };
|
|
650
|
+
break;
|
|
651
|
+
default:
|
|
652
|
+
throw new Error('Unkown list.type');
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
return { selection, exhibitor, booth, eventItem };
|
|
656
|
+
}
|
|
657
|
+
function syncTitle() {
|
|
658
|
+
// See is-own-domain.ts: skip on third-party pages that merely embedded us.
|
|
659
|
+
if (!isOwnDomain)
|
|
660
|
+
return;
|
|
661
|
+
const exhibitor = uiState.selectedExhibitor;
|
|
662
|
+
const eventItem = uiState.selectedEventItem;
|
|
663
|
+
const speaker = uiState.selectedSpeaker;
|
|
664
|
+
let title = '';
|
|
665
|
+
if (exhibitor)
|
|
666
|
+
title = exhibitor.name;
|
|
667
|
+
else if (eventItem)
|
|
668
|
+
title = eventItem.name;
|
|
669
|
+
else if (speaker)
|
|
670
|
+
title = speaker.name;
|
|
671
|
+
else if (uiState.list.type === 'search' && uiState.list.text)
|
|
672
|
+
title = '`' + (uiState.list.text || '') + '`';
|
|
673
|
+
else if (uiState.list.type === 'multi-point-tour' && uiState.tourTitle)
|
|
674
|
+
title = uiState.tourTitle;
|
|
675
|
+
if (title.length)
|
|
676
|
+
title += ' – ';
|
|
677
|
+
title += formatEventTitle(data, brand) ?? formatPlaceholderTitle(window.location.hostname, brand);
|
|
678
|
+
document.title = title;
|
|
679
|
+
}
|
|
680
|
+
/* ── Camera (map settings) application ─────────────────────────────────────── */
|
|
681
|
+
/**
|
|
682
|
+
* Apply a map-settings patch through the observable (the Map component's
|
|
683
|
+
* reaction drives the renderer once it is ready), plus the boot-time floor
|
|
684
|
+
* activation the reaction alone historically couldn't provide: at first
|
|
685
|
+
* dispatch the Map may not be mounted yet, so the floor named by the settings
|
|
686
|
+
* is switched here directly.
|
|
687
|
+
*/
|
|
688
|
+
function applyMapSettings(settings) {
|
|
689
|
+
try {
|
|
690
|
+
uiState.setMapSettings(settings);
|
|
691
|
+
// On a venue-model plan the venue owns level activation: entering a venue
|
|
692
|
+
// destination focuses the venue and opens the addressed level in one move,
|
|
693
|
+
// so the plain layer toggle below must not also run.
|
|
694
|
+
const enteredVenueDestination = enterVenueFromMapSettings(store.venueStore, settings.venue, settings.z);
|
|
695
|
+
if (enteredVenueDestination)
|
|
696
|
+
return;
|
|
697
|
+
if (settings.z) {
|
|
698
|
+
const layer = store.layerStore.layers.find((l) => l.name === settings.z);
|
|
699
|
+
if (layer) {
|
|
700
|
+
store.layerStore.updateVisibility(layer, true);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
catch (err) {
|
|
705
|
+
console.error('Failed to process map settings.', err);
|
|
706
|
+
}
|
|
707
|
+
}
|