@expofp/floorplan 0.0.0-experimental.2d6c681
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-Idv0kq5D.js +154 -0
- package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
- package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
- package/dist/browser/MaplibreAdapter-uZUhZfFW.js +36770 -0
- package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-NE2I9tiF.js +3715 -0
- package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
- package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
- package/dist/browser/ViewerMenuPanel-CTAjGsq2.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-BjEhhgf2.js +7393 -0
- package/dist/browser/create-live-plan-BaEGBhGA.js +4046 -0
- package/dist/browser/debounce-raMZ2DqK.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-CGzIMplb.js +3282 -0
- package/dist/browser/floorplan.ready-r96zV9bP.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-DtL28HMP.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-BTqyv9Xe.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-BA3x-n4N.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 +25 -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/campusEndpoints.d.ts +13 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.js +25 -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 +49 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +87 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +10 -0
- package/dist/esm/wayfinding/adapters/index.js +8 -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 +184 -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,242 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Renderer, update } from '@expofp/renderer';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { observable } from 'mobx';
|
|
5
|
+
import { useObserver } from 'mobx-react-lite';
|
|
6
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
7
|
+
import data from '../../data';
|
|
8
|
+
import { getSvgArea } from '../../data/svg.js';
|
|
9
|
+
import { createSceneDef } from '../../engine/defs';
|
|
10
|
+
import store, { layersStore, uiState } from '../../store';
|
|
11
|
+
import { ZOOM_IN_FACTOR } from '../../store/UIState';
|
|
12
|
+
import settings from '../../tools/settings';
|
|
13
|
+
import { applyVenueDim, createDimmingAnimator } from '../../utils/dimming';
|
|
14
|
+
import isDebug from '../../utils/is-debug';
|
|
15
|
+
import { isPathwayLayer } from '../../utils/is-pathway-layer';
|
|
16
|
+
import { useReaction } from '../../utils/mobx';
|
|
17
|
+
import { createWayfinding } from '../../wayfinding';
|
|
18
|
+
import configAll from './drawing/config/config-all';
|
|
19
|
+
import { configMarkers } from './drawing/config/config-markers';
|
|
20
|
+
import { loadLayersImages } from './drawing/config/loadBoothsImages';
|
|
21
|
+
import { MapCamera } from './MapCamera';
|
|
22
|
+
import { MapCursorCoords } from './MapCursorCoords';
|
|
23
|
+
import { MapViewport } from './MapViewport';
|
|
24
|
+
import { clearSelection } from './pointer';
|
|
25
|
+
import { setMapScene } from './scene';
|
|
26
|
+
import { useBuildRoute } from './traffic/useBuildRoute';
|
|
27
|
+
import { useManageTraffic } from './traffic/useManageTraffic';
|
|
28
|
+
import { centerCoordinates } from './viewport';
|
|
29
|
+
const MAP_SCENE_DEFAULT_COLOR = '#ebebeb';
|
|
30
|
+
const TRAFFIC_API_HOST = 'routes-api.expofp.com';
|
|
31
|
+
/** Viewbox width past which a plan counts as large, and is let much further in. */
|
|
32
|
+
const LARGE_PLAN_WIDTH = 10_000;
|
|
33
|
+
/**
|
|
34
|
+
* How far in the plan may be zoomed.
|
|
35
|
+
*
|
|
36
|
+
* A venue that configured its own bound gets it; otherwise a large venue is authored at a finer
|
|
37
|
+
* relative detail than a small one — a booth number on a 20 000-unit hall is a smaller fraction of
|
|
38
|
+
* the plan than the same label on a 400-unit one — so it has more to show at close range. That is a
|
|
39
|
+
* judgement about how venues are drawn, which is why the renderer takes a bound rather than guessing
|
|
40
|
+
* one.
|
|
41
|
+
* @param scene - The scene about to be rendered.
|
|
42
|
+
* @returns The maximum zoom factor.
|
|
43
|
+
*/
|
|
44
|
+
function maxZoomFor(scene) {
|
|
45
|
+
if (Number.isFinite(settings.maxZoom))
|
|
46
|
+
return settings.maxZoom;
|
|
47
|
+
return scene.viewbox.size.width > LARGE_PLAN_WIDTH ? 100 : 35;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* How long a programmatic camera move should take.
|
|
51
|
+
*
|
|
52
|
+
* Both times come from the map settings, which the map view reads too, so a plan tilts and zooms
|
|
53
|
+
* at one speed in either view.
|
|
54
|
+
* @returns The smooth times, in seconds.
|
|
55
|
+
*/
|
|
56
|
+
function smoothTimeFor() {
|
|
57
|
+
const { zoomtime, pitchtime } = uiState.mapSettings;
|
|
58
|
+
return {
|
|
59
|
+
zoomTime: zoomtime === undefined ? undefined : zoomtime / 1000,
|
|
60
|
+
pitchTime: pitchtime === undefined ? undefined : pitchtime / 1000,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export default function Map() {
|
|
64
|
+
const elRef = useRef(null);
|
|
65
|
+
const s = useMemo(() => observable({
|
|
66
|
+
moving: false,
|
|
67
|
+
prevLevel: store.layerStore.layers.find((l) => !l.frozen && l.visible),
|
|
68
|
+
}), []);
|
|
69
|
+
const [scene, setScene] = useState(undefined);
|
|
70
|
+
// Built per scene, below, so its callback closes over that scene directly — which is why the scene
|
|
71
|
+
// lives in state alone and is not mirrored into a ref for the animation frames to read. The ref
|
|
72
|
+
// holds only the animator, so the reaction further down can reach whichever one is current.
|
|
73
|
+
const dimAnimatorRef = useRef(null);
|
|
74
|
+
// `configAll` builds per-booth reactions as it configures the layers; this is what disposes them
|
|
75
|
+
// when the scene goes away. Filled asynchronously, so it lives in a ref the teardown can read.
|
|
76
|
+
const cleanupRef = useRef(null);
|
|
77
|
+
function resetLayerRenderCache() {
|
|
78
|
+
layersStore.layers.forEach((layer) => {
|
|
79
|
+
layer.configured = false;
|
|
80
|
+
layer.children = [];
|
|
81
|
+
layer.loaded = false;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
let cancelled = false;
|
|
86
|
+
resetLayerRenderCache();
|
|
87
|
+
layersStore.layersLoaded = false;
|
|
88
|
+
configAll().then(({ layers, cleanup }) => {
|
|
89
|
+
// The scene was torn down while this was in flight — drop what it built rather than
|
|
90
|
+
// mounting it into a scene nobody is looking at.
|
|
91
|
+
if (cancelled) {
|
|
92
|
+
cleanup();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
cleanupRef.current = cleanup;
|
|
96
|
+
const sceneColor = settings.backgroundColor === 'none' ? MAP_SCENE_DEFAULT_COLOR : settings.backgroundColor;
|
|
97
|
+
const sceneDef = createSceneDef(layers, getSvgArea(), sceneColor);
|
|
98
|
+
setScene(sceneDef);
|
|
99
|
+
// Published for the parts of the SDK that are not components — the venue-fit resolution and
|
|
100
|
+
// the traffic hooks read the def tree through this handle.
|
|
101
|
+
setMapScene(sceneDef);
|
|
102
|
+
// Straight to renderer's `update`, not through `RendererService`: this path never calls
|
|
103
|
+
// `start`/`attach`, so the service holds no renderer, and its `update` would only forward to
|
|
104
|
+
// this same call. The root layer's `dim` descends to every def that does not set its own.
|
|
105
|
+
dimAnimatorRef.current = createDimmingAnimator((value) => {
|
|
106
|
+
if (applyVenueDim(sceneDef, value))
|
|
107
|
+
update(sceneDef.rootLayer);
|
|
108
|
+
});
|
|
109
|
+
// Without a transition: a scene built while a search is already open must appear dimmed, not
|
|
110
|
+
// ease into it. This is also what re-applies the dim when the scene is rebuilt.
|
|
111
|
+
dimAnimatorRef.current.setTarget(uiState.dimmed, { immediate: true });
|
|
112
|
+
layersStore.layersLoaded = true;
|
|
113
|
+
if (store.fp.onFpConfigured)
|
|
114
|
+
store.fp.onFpConfigured();
|
|
115
|
+
loadLayersImages();
|
|
116
|
+
});
|
|
117
|
+
return () => {
|
|
118
|
+
cancelled = true;
|
|
119
|
+
cleanupRef.current?.();
|
|
120
|
+
cleanupRef.current = null;
|
|
121
|
+
dimAnimatorRef.current?.stop();
|
|
122
|
+
dimAnimatorRef.current = null;
|
|
123
|
+
setMapScene(undefined);
|
|
124
|
+
resetLayerRenderCache();
|
|
125
|
+
};
|
|
126
|
+
}, []);
|
|
127
|
+
// Dimming follows the same signal the imperative path used: `uiState.dimmed` is computed from the
|
|
128
|
+
// highlighted booths, the open search, and pathway-only mode, so this is what makes searching dim
|
|
129
|
+
// the venue behind the results.
|
|
130
|
+
useReaction(() => uiState.dimmed, (targetDim) => {
|
|
131
|
+
dimAnimatorRef.current?.setTarget(targetDim);
|
|
132
|
+
});
|
|
133
|
+
// The one SDK method that reads the viewport rather than the camera. Installed for as long as the
|
|
134
|
+
// plan is mounted, and read lazily: the conversions are published from inside `<Renderer>`, which
|
|
135
|
+
// is later than this effect, and a host only ever calls this once the plan is up.
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
store.fp.getCenterCoordinates = () => centerCoordinates(elRef.current);
|
|
138
|
+
}, []);
|
|
139
|
+
// Wayfinding and markers fill layers `configAll` put in the scene, so they can only start once the
|
|
140
|
+
// scene exists — and the scene is all either needs: layout and picking reach them through the
|
|
141
|
+
// handlers their own defs declare.
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
if (!scene)
|
|
144
|
+
return;
|
|
145
|
+
const disposeWayfinding = createWayfinding({ scene, store, canvas: elRef });
|
|
146
|
+
const disposeMarkers = configMarkers({ scene });
|
|
147
|
+
return () => {
|
|
148
|
+
disposeWayfinding();
|
|
149
|
+
disposeMarkers();
|
|
150
|
+
};
|
|
151
|
+
}, [scene]);
|
|
152
|
+
useReaction(() => store.routeStore.currentRouteLayer, () => {
|
|
153
|
+
const routeLayer = store.routeStore.currentRouteLayer;
|
|
154
|
+
if (!scene || !routeLayer || s.prevLevel === routeLayer)
|
|
155
|
+
return;
|
|
156
|
+
const levelsToSwitch = scene.rootLayer.children.filter((item) => store.layerStore.floors.some((entry) => item.name.includes(entry.name)));
|
|
157
|
+
const newVisibleName = routeLayer.name;
|
|
158
|
+
if (!levelsToSwitch.find((l) => l.name === newVisibleName))
|
|
159
|
+
return;
|
|
160
|
+
const changed = [];
|
|
161
|
+
levelsToSwitch.forEach((l) => {
|
|
162
|
+
if (l.name === newVisibleName && l.hidden !== false) {
|
|
163
|
+
l.hidden = false;
|
|
164
|
+
changed.push(l);
|
|
165
|
+
}
|
|
166
|
+
if (l.name === s.prevLevel?.name && l.hidden !== true) {
|
|
167
|
+
l.hidden = true;
|
|
168
|
+
changed.push(l);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
s.prevLevel = routeLayer;
|
|
172
|
+
if (changed.length)
|
|
173
|
+
update(...changed);
|
|
174
|
+
},
|
|
175
|
+
// The scene reaches this closure only once React commits it, a render after `configAll`
|
|
176
|
+
// resolves — and `ready` resolves inside that gap, so a host's `selectBooth` on ready switches
|
|
177
|
+
// the floor while the reaction still sees no scene. Firing on every re-creation applies
|
|
178
|
+
// whatever floor the store settled on to the scene that has just arrived.
|
|
179
|
+
{ fireImmediately: true }, [scene]);
|
|
180
|
+
// Guided-tour pathways follow the store's layer visibility — they are stacked apart from the
|
|
181
|
+
// floors (see config-all), so the floor-switch reaction above never touches them.
|
|
182
|
+
useReaction(() => store.layerStore.visible, (visible) => {
|
|
183
|
+
if (!scene)
|
|
184
|
+
return;
|
|
185
|
+
const visiblePathways = visible.filter((layer) => isPathwayLayer(layer.name));
|
|
186
|
+
const children = scene.rootLayer.children;
|
|
187
|
+
const changed = [];
|
|
188
|
+
for (const child of children) {
|
|
189
|
+
if (!isPathwayLayer(child.name))
|
|
190
|
+
continue;
|
|
191
|
+
const hidden = !visiblePathways.find((layer) => layer.name === child.name);
|
|
192
|
+
if (child.hidden === hidden)
|
|
193
|
+
continue;
|
|
194
|
+
child.hidden = hidden;
|
|
195
|
+
changed.push(child);
|
|
196
|
+
}
|
|
197
|
+
if (changed.length)
|
|
198
|
+
update(...changed);
|
|
199
|
+
},
|
|
200
|
+
// Same gap as the floor switch above: a pathway toggled before the scene commits is applied
|
|
201
|
+
// once it does.
|
|
202
|
+
{ fireImmediately: true }, [scene]);
|
|
203
|
+
// Traffic wants the scene once the layers have loaded; both flags are observed through their own
|
|
204
|
+
// observer so the hooks' effects re-run when they flip — the render below tracks only what its
|
|
205
|
+
// own JSX reads.
|
|
206
|
+
const trafficReady = useObserver(() => layersStore.layersLoaded);
|
|
207
|
+
const buildRouteEnabled = useObserver(() => Boolean(uiState.buildRoute));
|
|
208
|
+
useBuildRoute({ enabled: trafficReady && buildRouteEnabled, scene });
|
|
209
|
+
// Bus/transport routing is opt-in (see FloorPlanFlags.busRoutes): without the flag we skip the
|
|
210
|
+
// routes fetch entirely so plans without transit routes don't pay for a probe request.
|
|
211
|
+
const busRoutesEnabled = data.busRoutes ?? false;
|
|
212
|
+
useManageTraffic({
|
|
213
|
+
permission: trafficReady && busRoutesEnabled,
|
|
214
|
+
scene,
|
|
215
|
+
dataJsonUrl: `https://${TRAFFIC_API_HOST}/v1/routes?expo=${settings.EXPO}`,
|
|
216
|
+
websocketUrl: `wss://${TRAFFIC_API_HOST}/locations?expo=${settings.EXPO}`,
|
|
217
|
+
});
|
|
218
|
+
// Observed rather than plain, because half the renderer's configuration below is store state:
|
|
219
|
+
// how far the plan may be zoomed, where the camera may look, whether it may be turned, and which
|
|
220
|
+
// part of the canvas is left clear by the surrounding UI.
|
|
221
|
+
return useObserver(() => {
|
|
222
|
+
if (!scene)
|
|
223
|
+
return null;
|
|
224
|
+
return (_jsxs(Renderer, { debug: isDebug, style: { width: '100%', height: '100%' }, ref: elRef, className: classNames({ map: true }), scene: scene, maxZoom: maxZoomFor(scene),
|
|
225
|
+
// Shared with the map view, so the plan tilts the same amount in either one.
|
|
226
|
+
maxPitch: uiState.maxPitch,
|
|
227
|
+
// Radio-mode floors bound the camera to whichever one is showing, so a plan cannot be
|
|
228
|
+
// dragged off into empty space. Null means the venue does not bound it.
|
|
229
|
+
bounds: layersStore.bounds, controls: {
|
|
230
|
+
roll: uiState.rollEnabled,
|
|
231
|
+
pitch: uiState.pitchEnabled,
|
|
232
|
+
// The same step as the zoom-in button.
|
|
233
|
+
zoom: { dblclick: ZOOM_IN_FACTOR },
|
|
234
|
+
}, smoothTime: smoothTimeFor(),
|
|
235
|
+
// Where the plan is framed: the canvas minus whatever the header and the bottom sheet
|
|
236
|
+
// cover. Distinct from `zoomTo`'s `within`, which only steers a single command.
|
|
237
|
+
visibleRect: uiState.canvasVisibleRectPx,
|
|
238
|
+
// Clicks that land on a booth go to the booth layer's own handler; this is the other half —
|
|
239
|
+
// everything that missed, which still has to publish coordinates and deselect.
|
|
240
|
+
onPointerMissed: clearSelection, children: [_jsx(MapCamera, {}), _jsx(MapViewport, {}), isDebug && _jsx(MapCursorCoords, { canvas: elRef })] }));
|
|
241
|
+
});
|
|
242
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything that moves the plan's camera on the store's say-so, and the camera itself handed out to
|
|
3
|
+
* the SDK that lives outside React.
|
|
4
|
+
*
|
|
5
|
+
* Rendered **inside** `<Renderer>`, which is what lets it hold the camera: the renderer publishes it
|
|
6
|
+
* through a hook, and a hook only resolves in a component R3F has mounted under the canvas. That is
|
|
7
|
+
* the whole reason `Map` is split in two — the outer half watches the stores and builds the scene,
|
|
8
|
+
* this half drives what the stores ask for. The plan's coordinate conversions go out the same way
|
|
9
|
+
* but from `MapViewport`, which the MapLibre view mounts too.
|
|
10
|
+
*
|
|
11
|
+
* Each of the store's command flags is a one-shot: it is read, acted on, and cleared, exactly as the
|
|
12
|
+
* imperative map read them. None of them check for MapLibre any more — `Layout` unmounts the plan
|
|
13
|
+
* entirely in that mode, so there is nothing here to guard.
|
|
14
|
+
* @returns Nothing; this renders no scene node.
|
|
15
|
+
*/
|
|
16
|
+
export declare function MapCamera(): null;
|
|
17
|
+
//# sourceMappingURL=MapCamera.d.ts.map
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Box } from '@expofp/geometry';
|
|
2
|
+
import { useCameraAPI, useCameraGesture, useCameraMoveEnd, useCameraState, } from '@expofp/renderer';
|
|
3
|
+
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
4
|
+
import { getFpGeo } from '../../data/fpGeo.js';
|
|
5
|
+
import { getSvgArea } from '../../data/svg.js';
|
|
6
|
+
import store, { uiState } from '../../store';
|
|
7
|
+
import logger from '../../tools/logger';
|
|
8
|
+
import settings from '../../tools/settings';
|
|
9
|
+
import { parseNumberPair } from '../../utils/camera-map-settings';
|
|
10
|
+
import { convertGpsToLocal } from '../../utils/gps';
|
|
11
|
+
import { useOneShotReaction } from '../../utils/mobx';
|
|
12
|
+
import { createMapCamera, setMapCamera } from './camera';
|
|
13
|
+
import { notifyCameraMoved } from './camera-events';
|
|
14
|
+
import { framingRect } from './framing-rect.js';
|
|
15
|
+
import { resetExternalOverlay } from './pointer';
|
|
16
|
+
import { withKiosk } from './with-kiosk.js';
|
|
17
|
+
/**
|
|
18
|
+
* Everything that moves the plan's camera on the store's say-so, and the camera itself handed out to
|
|
19
|
+
* the SDK that lives outside React.
|
|
20
|
+
*
|
|
21
|
+
* Rendered **inside** `<Renderer>`, which is what lets it hold the camera: the renderer publishes it
|
|
22
|
+
* through a hook, and a hook only resolves in a component R3F has mounted under the canvas. That is
|
|
23
|
+
* the whole reason `Map` is split in two — the outer half watches the stores and builds the scene,
|
|
24
|
+
* this half drives what the stores ask for. The plan's coordinate conversions go out the same way
|
|
25
|
+
* but from `MapViewport`, which the MapLibre view mounts too.
|
|
26
|
+
*
|
|
27
|
+
* Each of the store's command flags is a one-shot: it is read, acted on, and cleared, exactly as the
|
|
28
|
+
* imperative map read them. None of them check for MapLibre any more — `Layout` unmounts the plan
|
|
29
|
+
* entirely in that mode, so there is nothing here to guard.
|
|
30
|
+
* @returns Nothing; this renders no scene node.
|
|
31
|
+
*/
|
|
32
|
+
export function MapCamera() {
|
|
33
|
+
const api = useCameraAPI();
|
|
34
|
+
const state = useCameraState();
|
|
35
|
+
// **Everything below reaches the camera through this ref, and nothing depends on its identity.**
|
|
36
|
+
// The renderer hands back a fresh commands object and a fresh reader on every render — it
|
|
37
|
+
// memoizes nothing on purpose — and this component re-renders on far more than a resize: `Map`
|
|
38
|
+
// observes `canvasVisibleRectPx`, which moves whenever the overlay, the search box or the header
|
|
39
|
+
// does. Depending on those objects would tear down and rebuild all six reactions below every time
|
|
40
|
+
// a booth was opened. Held in a ref instead, they are subscribed once and live as long as the map.
|
|
41
|
+
const cameraRef = useRef({ api, state });
|
|
42
|
+
const [handle] = useState(() => createMapCamera(cameraRef));
|
|
43
|
+
useLayoutEffect(() => {
|
|
44
|
+
cameraRef.current = { api, state };
|
|
45
|
+
});
|
|
46
|
+
// Handed out to the parts of the SDK that are not components — the kiosk store, the route store,
|
|
47
|
+
// and `RendererService`'s camera readings. Published once: the handle reads through the ref, so it
|
|
48
|
+
// never goes stale and never needs replacing.
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
setMapCamera(handle);
|
|
51
|
+
return () => setMapCamera(undefined);
|
|
52
|
+
}, [handle]);
|
|
53
|
+
// The kiosk idle timer, kept alive while the visitor is moving the plan themselves. Their own hand
|
|
54
|
+
// only: the idle reset restores the kiosk's home framing, and counting that as activity would
|
|
55
|
+
// re-arm the timer it had just fired.
|
|
56
|
+
useCameraGesture(() => resetExternalOverlay());
|
|
57
|
+
// The SDK-side movement signal the kiosk setup screen listens to — `navigation:change` in the
|
|
58
|
+
// imperative renderer, which fired once per movement, not once per frame. Once the movement has
|
|
59
|
+
// come to rest, so the screen records the framing the plan was left at, and for a command as
|
|
60
|
+
// readily as for a drag: the operator frames the home view with the zoom buttons too, and those
|
|
61
|
+
// reach the camera from the store rather than from the panel.
|
|
62
|
+
useCameraMoveEnd(() => notifyCameraMoved());
|
|
63
|
+
// The zoom buttons, and the nudge a floor change gives the plan.
|
|
64
|
+
useOneShotReaction(() => uiState.zoomBy, (factor) => {
|
|
65
|
+
if (!factor)
|
|
66
|
+
return;
|
|
67
|
+
void cameraRef.current.api.zoomBy(factor);
|
|
68
|
+
uiState.zoomBy = null;
|
|
69
|
+
}, []);
|
|
70
|
+
useOneShotReaction(() => uiState.rollReset, (reset) => {
|
|
71
|
+
if (!reset)
|
|
72
|
+
return;
|
|
73
|
+
void cameraRef.current.api.reset({ roll: true });
|
|
74
|
+
uiState.rollReset = false;
|
|
75
|
+
}, []);
|
|
76
|
+
useOneShotReaction(() => uiState.centerMap, (center) => {
|
|
77
|
+
if (!center)
|
|
78
|
+
return;
|
|
79
|
+
// Naming an axis explicitly is what leaves the others alone, so this returns the zoom during a
|
|
80
|
+
// search and moves nothing at all otherwise — which is what the imperative map did.
|
|
81
|
+
void cameraRef.current.api.reset({
|
|
82
|
+
zoom: Boolean(uiState.list.type === 'search' && uiState.list.text),
|
|
83
|
+
});
|
|
84
|
+
uiState.centerMap = false;
|
|
85
|
+
}, []);
|
|
86
|
+
useOneShotReaction(() => uiState.moveToRect, (rect) => {
|
|
87
|
+
if (!rect)
|
|
88
|
+
return;
|
|
89
|
+
const { width, height } = rect.size;
|
|
90
|
+
// An unbounded or empty rect is nothing to frame; both turn up while a route is still being
|
|
91
|
+
// assembled.
|
|
92
|
+
if (width > 0 && height > 0 && Number.isFinite(width) && Number.isFinite(height)) {
|
|
93
|
+
// The store may name the padding along with the rect — Fit-to-screen resolves an authored
|
|
94
|
+
// viewbox to zero, so the fit lands on the initial view instead of a looser one.
|
|
95
|
+
zoomToBox(cameraRef.current.api, rect, uiState.moveToRectPaddingPercent ?? undefined);
|
|
96
|
+
}
|
|
97
|
+
uiState.moveToRect = null;
|
|
98
|
+
uiState.moveToRectPaddingPercent = null;
|
|
99
|
+
}, []);
|
|
100
|
+
useOneShotReaction(() => uiState.moveToBooths, (booths) => {
|
|
101
|
+
if (!booths)
|
|
102
|
+
return;
|
|
103
|
+
logger.log('watched moveToBooths', booths);
|
|
104
|
+
const rects = booths.filter((booth) => booth.rect).map((booth) => booth.rect);
|
|
105
|
+
if (rects.length)
|
|
106
|
+
zoomToBox(cameraRef.current.api, Box.fromUnion(...rects));
|
|
107
|
+
uiState.moveToBooths = null;
|
|
108
|
+
}, []);
|
|
109
|
+
// The map parameters a host may set through the URL. Two of them — how long a zoom takes and
|
|
110
|
+
// whether the plan may be turned — are renderer configuration rather than commands, so they are
|
|
111
|
+
// props on `<Renderer>` and are not read here.
|
|
112
|
+
//
|
|
113
|
+
// Not a one-shot command, but the same timing: the first run applies whatever the plan starts
|
|
114
|
+
// with, a frame later, once there is a camera to apply it to. `fireImmediately` on a plain
|
|
115
|
+
// reaction runs before that and is spent on nothing.
|
|
116
|
+
useOneShotReaction(() => uiState.mapSettings, ({ center, centerxy, bearing, pitchdegrees, z }) => {
|
|
117
|
+
try {
|
|
118
|
+
if (z)
|
|
119
|
+
store.fp.activateFloor({ name: z });
|
|
120
|
+
// A parsed pair is already known to be two finite numbers, so the plan origin (0, 0) pans
|
|
121
|
+
// like any other point instead of reading as "unset".
|
|
122
|
+
const coords = planCoordinates(center, centerxy);
|
|
123
|
+
if (coords)
|
|
124
|
+
void cameraRef.current.api.panTo(coords);
|
|
125
|
+
if (bearing !== undefined && Number.isFinite(bearing)) {
|
|
126
|
+
void cameraRef.current.api.rollTo(bearing);
|
|
127
|
+
}
|
|
128
|
+
if (pitchdegrees != undefined && Number.isFinite(pitchdegrees)) {
|
|
129
|
+
void cameraRef.current.api.pitchTo(pitchdegrees, { immediate: !uiState.animatePitch });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
logger.error('Error in mapSettings reaction', error);
|
|
134
|
+
}
|
|
135
|
+
}, []);
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Frames a box of the plan the way this map always has: padded by how much of the venue it covers,
|
|
140
|
+
* widened to keep a kiosk in view, and held clear of an overlay sat over the plan.
|
|
141
|
+
* @param api - The camera commands.
|
|
142
|
+
* @param rect - What to frame, in plan units.
|
|
143
|
+
* @param paddingPercent - Padding the caller resolved for this frame, overriding the coverage
|
|
144
|
+
* rule — how Fit-to-screen says an authored viewbox is already framed. A fraction of the region
|
|
145
|
+
* per side, despite the name, which the store field has always carried.
|
|
146
|
+
*/
|
|
147
|
+
function zoomToBox(api, rect, paddingPercent) {
|
|
148
|
+
void api.zoomTo(withKiosk(rect), {
|
|
149
|
+
padding: paddingPercent ?? paddingFor(rect, getSvgArea()),
|
|
150
|
+
// A venue that configured its own maximum zoom is trusted with it; everything else is held to a
|
|
151
|
+
// factor of ten, so zooming to a single booth does not fill the screen with one wall.
|
|
152
|
+
maxZoom: Number.isFinite(settings.maxZoom) ? undefined : 10,
|
|
153
|
+
// Framing only: the plan does not move when a panel opens, but what a command frames into does.
|
|
154
|
+
within: framingRect(),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* How much margin to leave around a box, as a fraction of the framing region on each side.
|
|
159
|
+
*
|
|
160
|
+
* A box covering a good part of the venue is already close to the whole view and needs little; a
|
|
161
|
+
* single booth is easier to place if it is left small in the middle of the screen.
|
|
162
|
+
* @param rect - The box to frame.
|
|
163
|
+
* @param venue - The whole venue, which its size is judged against.
|
|
164
|
+
* @returns The fraction.
|
|
165
|
+
*/
|
|
166
|
+
function paddingFor(rect, venue) {
|
|
167
|
+
if (!rect || !venue)
|
|
168
|
+
return 0;
|
|
169
|
+
return (rect.area / venue.area > 0.1 ? 15 : 25) / 100;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Where a `center` or `centerxy` map parameter points, in plan units.
|
|
173
|
+
* @param center - A latitude and longitude pair, if the host gave one.
|
|
174
|
+
* @param centerxy - A pair of plan coordinates, if it gave those instead.
|
|
175
|
+
* @returns The point, or `undefined` when neither was given.
|
|
176
|
+
*/
|
|
177
|
+
function planCoordinates(center, centerxy) {
|
|
178
|
+
if (center) {
|
|
179
|
+
const pair = parseNumberPair(center);
|
|
180
|
+
if (!pair)
|
|
181
|
+
return undefined;
|
|
182
|
+
const config = getFpGeo()?.properties?.config;
|
|
183
|
+
if (!config)
|
|
184
|
+
throw new Error('Map center given in GPS, but the plan has no GPS config');
|
|
185
|
+
// The conversion's whole job is to land in plan coordinates, so this is where they begin.
|
|
186
|
+
return (convertGpsToLocal({ lat: pair[0], lng: pair[1] }, config) ??
|
|
187
|
+
undefined);
|
|
188
|
+
}
|
|
189
|
+
const pair = parseNumberPair(centerxy);
|
|
190
|
+
if (!pair)
|
|
191
|
+
return undefined;
|
|
192
|
+
// `centerxy` is documented to the host as plan coordinates; this is where they arrive.
|
|
193
|
+
return { x: pair[0], y: pair[1] };
|
|
194
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Publishes the plan coordinates under the pointer to the debug panel. Debug builds only.
|
|
4
|
+
*
|
|
5
|
+
* Rendered inside `<Renderer>`: `useViewport` and the panel resolve nowhere else, and each view
|
|
6
|
+
* passes its own canvas.
|
|
7
|
+
* @param props - The canvas the plan draws on.
|
|
8
|
+
* @returns Nothing; this renders no scene node.
|
|
9
|
+
*/
|
|
10
|
+
export declare function MapCursorCoords(props: {
|
|
11
|
+
canvas: RefObject<HTMLCanvasElement | null>;
|
|
12
|
+
}): null;
|
|
13
|
+
//# sourceMappingURL=MapCursorCoords.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useDebugPanel, useViewport } from '@expofp/renderer';
|
|
2
|
+
import { useCallback, useEffect, useEffectEvent } from 'react';
|
|
3
|
+
import store from '../../store';
|
|
4
|
+
import { LayerMode } from '../../store/LayerStore';
|
|
5
|
+
/** Plan units are large, so hundredths already sit below a pixel. */
|
|
6
|
+
const PRECISION = 2;
|
|
7
|
+
/**
|
|
8
|
+
* Publishes the plan coordinates under the pointer to the debug panel. Debug builds only.
|
|
9
|
+
*
|
|
10
|
+
* Rendered inside `<Renderer>`: `useViewport` and the panel resolve nowhere else, and each view
|
|
11
|
+
* passes its own canvas.
|
|
12
|
+
* @param props - The canvas the plan draws on.
|
|
13
|
+
* @returns Nothing; this renders no scene node.
|
|
14
|
+
*/
|
|
15
|
+
export function MapCursorCoords(props) {
|
|
16
|
+
const { canvas } = props;
|
|
17
|
+
const viewport = useViewport();
|
|
18
|
+
const setDebugPanel = useDebugPanel();
|
|
19
|
+
const clear = useCallback(() => setDebugPanel('cursor', undefined), [setDebugPanel]);
|
|
20
|
+
const publish = useEffectEvent((event) => {
|
|
21
|
+
// One reading rather than one per finger: a two-pointer gesture alternates between them.
|
|
22
|
+
if (!event.isPrimary)
|
|
23
|
+
return;
|
|
24
|
+
// `offsetX`/`offsetY` are canvas coordinates by definition, and cost no layout flush.
|
|
25
|
+
const point = viewport.canvasToPlan({ x: event.offsetX, y: event.offsetY });
|
|
26
|
+
setDebugPanel('cursor', point ? reading(point, activeLayerName()) : undefined);
|
|
27
|
+
});
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const element = canvas.current;
|
|
30
|
+
if (!element)
|
|
31
|
+
return;
|
|
32
|
+
const onMove = (event) => publish(event);
|
|
33
|
+
const onLeave = () => clear();
|
|
34
|
+
element.addEventListener('pointermove', onMove);
|
|
35
|
+
element.addEventListener('pointerleave', onLeave);
|
|
36
|
+
return () => {
|
|
37
|
+
element.removeEventListener('pointermove', onMove);
|
|
38
|
+
element.removeEventListener('pointerleave', onLeave);
|
|
39
|
+
};
|
|
40
|
+
}, [canvas, clear]);
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The layer the reading is on.
|
|
45
|
+
* @returns The layer's name, or nothing while no layer is active.
|
|
46
|
+
*/
|
|
47
|
+
function activeLayerName() {
|
|
48
|
+
const active = store.layerStore.layers.find((layer) => layer.visible && (layer.mode === LayerMode.TurnedOn || layer.mode === LayerMode.TurnedOff));
|
|
49
|
+
return active?.name || null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The readout line. A string rather than a pair, so the panel's `Object.is` check skips a move that
|
|
53
|
+
* rounds to the same reading.
|
|
54
|
+
* @param point - Where the pointer is, in plan coordinates.
|
|
55
|
+
* @param layer - The layer it is on.
|
|
56
|
+
* @returns The line to publish.
|
|
57
|
+
*/
|
|
58
|
+
function reading(point, layer) {
|
|
59
|
+
const pair = `[${point.x.toFixed(PRECISION)}, ${point.y.toFixed(PRECISION)}]`;
|
|
60
|
+
return layer ? `${pair} · layer ${layer}` : pair;
|
|
61
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hands the plan's coordinate conversions out to the SDK that lives outside React.
|
|
3
|
+
*
|
|
4
|
+
* Rendered **inside** `<Renderer>`, which is what lets it hold them: `useViewport` only resolves in
|
|
5
|
+
* a component R3F has mounted under the canvas. A component of its own rather than another job for
|
|
6
|
+
* `MapCamera` because the conversions outlive that split — they depend on the scene's `Space` and
|
|
7
|
+
* the camera three is drawing with, and on nothing that steers the camera, so they are just as
|
|
8
|
+
* available in external mode, where MapLibre owns the camera and `MapCamera` is not mounted at all.
|
|
9
|
+
* @returns Nothing; this renders no scene node.
|
|
10
|
+
*/
|
|
11
|
+
export declare function MapViewport(): null;
|
|
12
|
+
//# sourceMappingURL=MapViewport.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useViewport } from '@expofp/renderer';
|
|
2
|
+
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
+
import { createMapViewport, setMapViewport } from './viewport';
|
|
4
|
+
/**
|
|
5
|
+
* Hands the plan's coordinate conversions out to the SDK that lives outside React.
|
|
6
|
+
*
|
|
7
|
+
* Rendered **inside** `<Renderer>`, which is what lets it hold them: `useViewport` only resolves in
|
|
8
|
+
* a component R3F has mounted under the canvas. A component of its own rather than another job for
|
|
9
|
+
* `MapCamera` because the conversions outlive that split — they depend on the scene's `Space` and
|
|
10
|
+
* the camera three is drawing with, and on nothing that steers the camera, so they are just as
|
|
11
|
+
* available in external mode, where MapLibre owns the camera and `MapCamera` is not mounted at all.
|
|
12
|
+
* @returns Nothing; this renders no scene node.
|
|
13
|
+
*/
|
|
14
|
+
export function MapViewport() {
|
|
15
|
+
const viewport = useViewport();
|
|
16
|
+
// The renderer hands back a fresh conversions object on every render — it memoizes nothing on
|
|
17
|
+
// purpose — so it is held in a ref and published once, through a handle whose identity never
|
|
18
|
+
// changes. Same discipline as `MapCamera`, and for the same reason.
|
|
19
|
+
const viewportRef = useRef({ api: viewport });
|
|
20
|
+
const [handle] = useState(() => createMapViewport(viewportRef));
|
|
21
|
+
useLayoutEffect(() => {
|
|
22
|
+
viewportRef.current = { api: viewport };
|
|
23
|
+
});
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
setMapViewport(handle);
|
|
26
|
+
return () => setMapViewport(undefined);
|
|
27
|
+
}, [handle]);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Booth } from '../../store/BoothStore';
|
|
2
|
+
/**
|
|
3
|
+
* Starts keeping the hit-test index current with the live plan's stores; the reaction is disposed
|
|
4
|
+
* with the plan.
|
|
5
|
+
*
|
|
6
|
+
* Called from the instance wiring (`floorplan.ready`) rather than run at module scope: the reaction
|
|
7
|
+
* belongs to one plan, and this module sits inside the store <-> components import cycle — `reaction`
|
|
8
|
+
* reads its expression the moment it is created, and at module scope that is `boothStore` still in
|
|
9
|
+
* its temporal dead zone. One binding serves both map modes; the MapLibre path resolves outdoor-PoI
|
|
10
|
+
* booths through this index too. `fireImmediately` buckets whatever the plan has already loaded.
|
|
11
|
+
*/
|
|
12
|
+
export declare function bindBoothHitTest(): void;
|
|
13
|
+
export default function getBoothIdFromClientXy(clientX: number, clientY: number): Booth | null;
|
|
14
|
+
//# sourceMappingURL=booth-by-xy.d.ts.map
|