@expofp/floorplan 0.0.0-experimental.2632d13
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-DYjf8elV.js +38 -0
- package/dist/browser/Debug-CK-BLY-v.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B677YULI.js +71 -0
- package/dist/browser/Free-B_nU7Krr.js +69 -0
- package/dist/browser/GalleryContainer-DcZrZnJz.js +3355 -0
- package/dist/browser/GpsLoader-DwNSQv4V.js +154 -0
- package/dist/browser/KioskStore-DgP9k2lT.js +250 -0
- package/dist/browser/LayerStore-DCwl80sb.js +24105 -0
- package/dist/browser/MaplibreAdapter-B-c-uOJf.js +36770 -0
- package/dist/browser/ModalContainer-DnZxo0qA.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-CuslHjhJ.js +3719 -0
- package/dist/browser/SetKioskMode-CVD7sZLr.js +49 -0
- package/dist/browser/ShowKiosk-DuOS8tTO.js +82 -0
- package/dist/browser/ViewerMenuPanel-Xj-8aVzf.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-D8dv3ezN.js +7393 -0
- package/dist/browser/create-live-plan-Ff4MkKcG.js +4046 -0
- package/dist/browser/debounce-B4PlcNh4.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-fOvLfGGf.js +3282 -0
- package/dist/browser/floorplan.ready-Bvj8hVzH.js +1540 -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-DRDvImjG.js +7210 -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-DhdxcN-Y.js +35 -0
- package/dist/browser/is-debug-6YYr83sg.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-cw-9rqLk.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-Bqv2L5PO.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-dw9tDQ6e.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-CenmkrfL.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-D2Anqc6y.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-CH7uq9Xn.js +296 -0
- package/dist/browser/venues-Yq0wU18A.js +447 -0
- package/dist/browser/viewport-juWifKNy.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 +1093 -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 +697 -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/sdk-telemetry.d.ts +10 -0
- package/dist/esm/tools/sdk-telemetry.js +122 -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,14 @@
|
|
|
1
|
+
import type { SceneDef } from '@expofp/renderer';
|
|
2
|
+
import { type Map as MaplibreMap } from 'maplibre-gl';
|
|
3
|
+
import { type RefObject } from 'react';
|
|
4
|
+
import type { VenueCameraRequest } from '../../store/VenueStore';
|
|
5
|
+
import { type GeoConfig } from './utils/geo-config';
|
|
6
|
+
/** Executes and consumes a semantic venue/campus camera request. */
|
|
7
|
+
export declare function executeVenueCameraRequest(map: MaplibreMap, geoConfig: GeoConfig, request: VenueCameraRequest): void;
|
|
8
|
+
/**
|
|
9
|
+
* Bundles all camera-related MobX reactions: venue destination, moveToBooths,
|
|
10
|
+
* moveToRect, zoomBy, moveToLocation, and centerMap. Each watches a state
|
|
11
|
+
* trigger, moves the camera, and clears the trigger.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useCameraReactions(mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null, sceneDef: SceneDef | null): void;
|
|
14
|
+
//# sourceMappingURL=useCameraReactions.d.ts.map
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { Box } from '@expofp/geometry';
|
|
2
|
+
import { getSvgArea, isSvgAreaExplicit } from '../../data/svg.js';
|
|
3
|
+
import store, { uiState } from '../../store';
|
|
4
|
+
import { convertLocalToGps } from '../../utils/gps';
|
|
5
|
+
import { useReaction } from '../../utils/mobx';
|
|
6
|
+
import { expandRectByPercent, getVenueFitMarginPercent, resolveVenueFitRect, } from '../../utils/scene-bounds';
|
|
7
|
+
import { framingRect } from '../Map/framing-rect.js';
|
|
8
|
+
import { withKiosk } from '../Map/with-kiosk.js';
|
|
9
|
+
import { cameraForLocalRect, campusFitPadding, clampZoom, DEFAULT_FIT_PADDING, fitMapToLocalRect, getVisibleRectFitPadding, isLngLatInVisibleViewport, venueLevelBearing, } from './utils/geo-config';
|
|
10
|
+
import { resolveVenueEntryZoom } from './utils/venue-camera-target';
|
|
11
|
+
import { getVenueSizePx } from './utils/venue-projection';
|
|
12
|
+
import { getViewportDetailThreshold } from './utils/venue-viewport-detail';
|
|
13
|
+
const maplibreUiState = uiState;
|
|
14
|
+
const OUTDOOR_POI_SEARCH_ZOOM = 15;
|
|
15
|
+
const OUTDOOR_POI_VISIBLE_PADDING = 24;
|
|
16
|
+
/** Executes and consumes a semantic venue/campus camera request. */
|
|
17
|
+
export function executeVenueCameraRequest(map, geoConfig, request) {
|
|
18
|
+
let minZoom;
|
|
19
|
+
let bearing;
|
|
20
|
+
let padding;
|
|
21
|
+
if (request.kind === 'venue') {
|
|
22
|
+
const venue = store.venueStore.findVenue(request.venueId);
|
|
23
|
+
const canvas = map.getCanvas();
|
|
24
|
+
bearing = venueLevelBearing(geoConfig, request.layer);
|
|
25
|
+
// The fit `fitMapToLocalRect` below makes, so the entry zoom only ever
|
|
26
|
+
// raises it when the venue's detail needs more.
|
|
27
|
+
const camera = cameraForLocalRect(request.rect, geoConfig.gpsConfig, bearing, { width: canvas.clientWidth, height: canvas.clientHeight }, getVisibleRectFitPadding(DEFAULT_FIT_PADDING, framingRect()));
|
|
28
|
+
if (venue && camera) {
|
|
29
|
+
const entry = resolveVenueEntryZoom({
|
|
30
|
+
currentZoom: map.getZoom(),
|
|
31
|
+
fitZoom: camera.zoom,
|
|
32
|
+
maxZoom: map.getMaxZoom(),
|
|
33
|
+
sizePx: getVenueSizePx(venue.bounds, geoConfig.gpsConfig, map.getZoom()),
|
|
34
|
+
detailMinSizePx: getViewportDetailThreshold(map, geoConfig, venue),
|
|
35
|
+
});
|
|
36
|
+
minZoom = entry.zoom;
|
|
37
|
+
if (entry.clampedBeforeDetail) {
|
|
38
|
+
console.warn(`Venue "${venue.id}" cannot reach its detail size criterion before map maxZoom.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
padding = campusFitPadding(store.venueStore.campusBoundsAuthored);
|
|
44
|
+
map.once('moveend', () => store.venueStore.completeCampusView(request));
|
|
45
|
+
}
|
|
46
|
+
fitMapToLocalRect(map, request.rect, geoConfig, { minZoom, bearing, padding });
|
|
47
|
+
store.venueStore.clearCameraRequest(request);
|
|
48
|
+
}
|
|
49
|
+
// Breathing room around a booth focus, in plan units. The proportional margin
|
|
50
|
+
// below scales with the booth, so on its own it leaves a small booth filling the
|
|
51
|
+
// screen; this floor is what keeps some plan visible around it.
|
|
52
|
+
const BOOTH_FIT_PAD = 20;
|
|
53
|
+
/** Adds a size-proportional margin to a booth-focus target, matching legacy `zoomTo` behavior. */
|
|
54
|
+
function withFitMargin(rect) {
|
|
55
|
+
return expandRectByPercent(rect, getVenueFitMarginPercent(rect, getSvgArea())).expand(BOOTH_FIT_PAD);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The zoom a booth focus must reach for its venue to show indoor detail. The
|
|
59
|
+
* booth fit alone frames the booth, which on a narrow screen can land below the
|
|
60
|
+
* venue's detail edge and leave its contour drawn over the booth. Undefined
|
|
61
|
+
* when the booths span venues or sit outside the venue model.
|
|
62
|
+
*/
|
|
63
|
+
function boothVenueDetailZoom(map, geoConfig, booths) {
|
|
64
|
+
const venues = new Set(booths.map((booth) => store.venueStore.venueOfLayer(booth.layer)));
|
|
65
|
+
const [venue] = venues;
|
|
66
|
+
if (venues.size !== 1 || !venue)
|
|
67
|
+
return undefined;
|
|
68
|
+
return venueDetailZoom(map, geoConfig, venue);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The bearing a booth focus frames at: the booths' venue level's, when they
|
|
72
|
+
* all sit on one (north-up turns the map to its viewbox there). Undefined —
|
|
73
|
+
* the home bearing — for booths outside the venue model or across levels.
|
|
74
|
+
*/
|
|
75
|
+
function boothFocusBearing(geoConfig, booths) {
|
|
76
|
+
const layers = new Set(booths.map((booth) => booth.layer?.name));
|
|
77
|
+
const [layer] = layers;
|
|
78
|
+
if (layers.size !== 1 || !layer || !store.venueStore.venueOfLayer(layer))
|
|
79
|
+
return undefined;
|
|
80
|
+
return venueLevelBearing(geoConfig, layer);
|
|
81
|
+
}
|
|
82
|
+
/** The zoom at which `venue` enters indoor detail; undefined when its size cannot be measured. */
|
|
83
|
+
function venueDetailZoom(map, geoConfig, venue) {
|
|
84
|
+
const currentZoom = map.getZoom();
|
|
85
|
+
const sizePx = getVenueSizePx(venue.bounds, geoConfig.gpsConfig, currentZoom);
|
|
86
|
+
if (sizePx === null)
|
|
87
|
+
return undefined;
|
|
88
|
+
return resolveVenueEntryZoom({
|
|
89
|
+
currentZoom,
|
|
90
|
+
fitZoom: -Infinity,
|
|
91
|
+
maxZoom: map.getMaxZoom(),
|
|
92
|
+
sizePx,
|
|
93
|
+
detailMinSizePx: getViewportDetailThreshold(map, geoConfig, venue),
|
|
94
|
+
}).zoom;
|
|
95
|
+
}
|
|
96
|
+
function handleOutdoorPoiMoveToBooths(map, geoConfig, booths) {
|
|
97
|
+
if (booths.length !== 1)
|
|
98
|
+
return false;
|
|
99
|
+
const selectedBoothId = booths[0]?.id;
|
|
100
|
+
const marker = store.poiMarkerStore.markers.find((entry) => entry.boothId === selectedBoothId);
|
|
101
|
+
if (!marker)
|
|
102
|
+
return false;
|
|
103
|
+
const center = convertLocalToGps(marker.center.x, marker.center.y, geoConfig.gpsConfig);
|
|
104
|
+
const padding = getVisibleRectFitPadding(OUTDOOR_POI_VISIBLE_PADDING);
|
|
105
|
+
if (isLngLatInVisibleViewport(map, center, padding))
|
|
106
|
+
return true;
|
|
107
|
+
map.easeTo({
|
|
108
|
+
center,
|
|
109
|
+
zoom: clampZoom(map, OUTDOOR_POI_SEARCH_ZOOM),
|
|
110
|
+
bearing: geoConfig.bearing,
|
|
111
|
+
duration: 500,
|
|
112
|
+
essential: true,
|
|
113
|
+
});
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Bundles all camera-related MobX reactions: venue destination, moveToBooths,
|
|
118
|
+
* moveToRect, zoomBy, moveToLocation, and centerMap. Each watches a state
|
|
119
|
+
* trigger, moves the camera, and clears the trigger.
|
|
120
|
+
*/
|
|
121
|
+
export function useCameraReactions(mapRef, geoConfig, sceneDef) {
|
|
122
|
+
useReaction(() => store.venueStore.cameraRequest, (request) => {
|
|
123
|
+
const map = mapRef.current;
|
|
124
|
+
if (request && map && geoConfig)
|
|
125
|
+
executeVenueCameraRequest(map, geoConfig, request);
|
|
126
|
+
}, { fireImmediately: true });
|
|
127
|
+
// Camera: moveToBooths
|
|
128
|
+
useReaction(() => maplibreUiState.moveToBooths, (moveToBooths) => {
|
|
129
|
+
const map = mapRef.current;
|
|
130
|
+
if (!moveToBooths || !map || !geoConfig)
|
|
131
|
+
return;
|
|
132
|
+
const booths = moveToBooths.filter((b) => b.rect);
|
|
133
|
+
if (booths.length === 0)
|
|
134
|
+
return;
|
|
135
|
+
if (handleOutdoorPoiMoveToBooths(map, geoConfig, booths)) {
|
|
136
|
+
maplibreUiState.moveToBooths = null;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const combined = Box.fromUnion(...booths.map((b) => b.rect));
|
|
140
|
+
fitMapToLocalRect(map, withFitMargin(combined), geoConfig, {
|
|
141
|
+
minZoom: boothVenueDetailZoom(map, geoConfig, booths),
|
|
142
|
+
bearing: boothFocusBearing(geoConfig, booths),
|
|
143
|
+
});
|
|
144
|
+
maplibreUiState.moveToBooths = null;
|
|
145
|
+
});
|
|
146
|
+
// Camera: moveToRect
|
|
147
|
+
useReaction(() => maplibreUiState.moveToRect, (moveToRect) => {
|
|
148
|
+
const map = mapRef.current;
|
|
149
|
+
if (!moveToRect || !map || !geoConfig)
|
|
150
|
+
return;
|
|
151
|
+
const { width, height } = moveToRect.size;
|
|
152
|
+
// Widened to keep a kiosk in view, as the plan camera frames it — unless the rect is empty:
|
|
153
|
+
// that is nothing to frame, and the kiosk would make a target of it. The margin below is
|
|
154
|
+
// still judged by the rect that was asked for.
|
|
155
|
+
const framedRect = width > 0 && height > 0 ? withKiosk(moveToRect) : moveToRect;
|
|
156
|
+
// The plan camera's margin, a share of the framing region per side: the one the store named,
|
|
157
|
+
// as Fit-to-screen does, else the coverage rule's. Growing the rect by
|
|
158
|
+
// `margin / (1 - 2 * margin)` and fitting it flush into the region is the same fit, and what
|
|
159
|
+
// keeps the share one of the region rather than of the whole canvas.
|
|
160
|
+
const margin = maplibreUiState.moveToRectPaddingPercent ??
|
|
161
|
+
getVenueFitMarginPercent(moveToRect, getSvgArea());
|
|
162
|
+
const flushRect = expandRectByPercent(framedRect, margin / (1 - 2 * margin));
|
|
163
|
+
fitMapToLocalRect(map, flushRect, geoConfig, { padding: 0 });
|
|
164
|
+
maplibreUiState.moveToRect = null;
|
|
165
|
+
maplibreUiState.moveToRectPaddingPercent = null;
|
|
166
|
+
});
|
|
167
|
+
// Camera: zoom
|
|
168
|
+
useReaction(() => maplibreUiState.zoomBy, (zoomBy) => {
|
|
169
|
+
const map = mapRef.current;
|
|
170
|
+
if (!zoomBy || !map)
|
|
171
|
+
return;
|
|
172
|
+
store.venueStore.releaseDestinationOverride();
|
|
173
|
+
map.flyTo({
|
|
174
|
+
zoom: map.getZoom() + (zoomBy > 1 ? 0.5 : -0.5),
|
|
175
|
+
animate: true,
|
|
176
|
+
duration: 500,
|
|
177
|
+
});
|
|
178
|
+
maplibreUiState.zoomBy = null;
|
|
179
|
+
});
|
|
180
|
+
// Camera: moveToLocation — fly to the current position, keeping the zoom
|
|
181
|
+
// (raised to its venue's indoor detail when the position is on a venue floor).
|
|
182
|
+
// `RouteStore` raises the trigger only once the position's floor is on screen
|
|
183
|
+
// (`revealLayer`), so this flight is the last camera command of a floor switch
|
|
184
|
+
// and supersedes the floor-change fit in `useLayerVisibilitySync`.
|
|
185
|
+
// Also re-evaluated when the map comes up (`cameraPort`) or the position
|
|
186
|
+
// changes, so a request raised while the map was still booting — an IPS fix
|
|
187
|
+
// during load — is served then instead of leaving the trigger stuck.
|
|
188
|
+
useReaction(() => [
|
|
189
|
+
uiState.moveToLocation,
|
|
190
|
+
store.maplibreStore.cameraPort,
|
|
191
|
+
store.routeStore.currentPosition,
|
|
192
|
+
], ([moveToLocation]) => {
|
|
193
|
+
if (!moveToLocation)
|
|
194
|
+
return;
|
|
195
|
+
const map = mapRef.current;
|
|
196
|
+
const currentPosition = store.routeStore.currentPosition;
|
|
197
|
+
if (!currentPosition) {
|
|
198
|
+
// nothing to fly to — release the trigger so the next request fires again
|
|
199
|
+
uiState.moveToLocation = false;
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (!map)
|
|
203
|
+
return; // keep the request; the map readiness re-runs this reaction
|
|
204
|
+
const { lng, lat } = currentPosition;
|
|
205
|
+
const hasLngLat = typeof lng === 'number' &&
|
|
206
|
+
Number.isFinite(lng) &&
|
|
207
|
+
typeof lat === 'number' &&
|
|
208
|
+
Number.isFinite(lat);
|
|
209
|
+
// The request is consumed here, whatever happens next: re-arming must
|
|
210
|
+
// always be a false→true edge, never a write that finds it already set.
|
|
211
|
+
uiState.moveToLocation = false;
|
|
212
|
+
let center;
|
|
213
|
+
if (hasLngLat) {
|
|
214
|
+
center = [lng, lat];
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
if (!geoConfig)
|
|
218
|
+
return;
|
|
219
|
+
center = convertLocalToGps(currentPosition.x, currentPosition.y, geoConfig.gpsConfig);
|
|
220
|
+
}
|
|
221
|
+
// A position on a venue's floor needs that venue in indoor detail to be seen at all — from
|
|
222
|
+
// the campus zoom the floor stays hidden under the building's outline. Zoom in far enough,
|
|
223
|
+
// never out. The position must also lie inside that venue: a GPS fix without a floor of its
|
|
224
|
+
// own inherits the floor last browsed as `z`, and an outdoor fix must not zoom into it.
|
|
225
|
+
const venue = store.venueStore.venueAt(currentPosition);
|
|
226
|
+
const detailZoom = venue &&
|
|
227
|
+
geoConfig &&
|
|
228
|
+
venue === store.venueStore.venueOfLayer(String(currentPosition.z ?? ''))
|
|
229
|
+
? venueDetailZoom(map, geoConfig, venue)
|
|
230
|
+
: undefined;
|
|
231
|
+
map.flyTo({
|
|
232
|
+
center,
|
|
233
|
+
zoom: detailZoom === undefined ? undefined : Math.max(map.getZoom(), detailZoom),
|
|
234
|
+
animate: true,
|
|
235
|
+
duration: 1000,
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
// Camera: centerMap
|
|
239
|
+
useReaction(() => uiState.centerMap, (center) => {
|
|
240
|
+
const map = mapRef.current;
|
|
241
|
+
if (!center || !map || !geoConfig)
|
|
242
|
+
return;
|
|
243
|
+
const isEmptySearch = uiState.list.type === 'search' && !uiState.list.text;
|
|
244
|
+
if (!isEmptySearch) {
|
|
245
|
+
const { rect } = resolveVenueFitRect({
|
|
246
|
+
layerViewbox: store.layerStore.viewboxRectangle,
|
|
247
|
+
explicitArea: isSvgAreaExplicit() ? getSvgArea() : null,
|
|
248
|
+
layerRectangle: store.layerStore.rectangle,
|
|
249
|
+
sceneDef,
|
|
250
|
+
svgArea: getSvgArea(),
|
|
251
|
+
});
|
|
252
|
+
fitMapToLocalRect(map, rect, geoConfig);
|
|
253
|
+
}
|
|
254
|
+
uiState.centerMap = false;
|
|
255
|
+
});
|
|
256
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type SceneDef } from '@expofp/renderer';
|
|
2
|
+
import { type Map as MaplibreMap } from 'maplibre-gl';
|
|
3
|
+
import { type RefObject } from 'react';
|
|
4
|
+
import { type DimmingAnimator } from '../../utils/dimming';
|
|
5
|
+
export interface DimmingControls {
|
|
6
|
+
mapDimAnimatorRef: RefObject<DimmingAnimator | null>;
|
|
7
|
+
venueDimAnimatorRef: RefObject<DimmingAnimator | null>;
|
|
8
|
+
applyDimmingTarget: (options?: {
|
|
9
|
+
immediate?: boolean;
|
|
10
|
+
}) => void;
|
|
11
|
+
handleMapDimLayerReady: (map: MaplibreMap) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The map-wide dim target: `uiState.dimmed`, except while outdoor PoI markers
|
|
15
|
+
* suppress it. Single source of truth — the marker layers dim themselves
|
|
16
|
+
* (usePoiMarkers) and must agree with the plan and basemap.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getMapDimTarget(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Manages scene dimming: creates map and venue dim animators,
|
|
21
|
+
* keeps them in sync with uiState.dimmed via a MobX reaction,
|
|
22
|
+
* and provides a callback for when the map dim layer is ready.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useDimming(mapRef: RefObject<MaplibreMap | null>, sceneRef: RefObject<SceneDef | null>): DimmingControls;
|
|
25
|
+
//# sourceMappingURL=useDimming.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { update } from '@expofp/renderer';
|
|
2
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
3
|
+
import store, { uiState } from '../../store';
|
|
4
|
+
import { applyVenueDim, createDimmingAnimator, DIM_INTENSITY, VENUE_DIM_INTENSITY, } from '../../utils/dimming';
|
|
5
|
+
import { useReaction } from '../../utils/mobx';
|
|
6
|
+
import { applyMapDimValue } from './utils/map-helpers';
|
|
7
|
+
/**
|
|
8
|
+
* The map-wide dim target: `uiState.dimmed`, except while outdoor PoI markers
|
|
9
|
+
* suppress it. Single source of truth — the marker layers dim themselves
|
|
10
|
+
* (usePoiMarkers) and must agree with the plan and basemap.
|
|
11
|
+
*/
|
|
12
|
+
export function getMapDimTarget() {
|
|
13
|
+
return uiState.dimmed && !store.poiMarkerStore.dimSuppressed;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Manages scene dimming: creates map and venue dim animators,
|
|
17
|
+
* keeps them in sync with uiState.dimmed via a MobX reaction,
|
|
18
|
+
* and provides a callback for when the map dim layer is ready.
|
|
19
|
+
*/
|
|
20
|
+
export function useDimming(mapRef, sceneRef) {
|
|
21
|
+
const mapDimAnimatorRef = useRef(null);
|
|
22
|
+
const venueDimAnimatorRef = useRef(null);
|
|
23
|
+
const applyDimmingTarget = useCallback((options) => {
|
|
24
|
+
const targetDim = getMapDimTarget();
|
|
25
|
+
mapDimAnimatorRef.current?.setTarget(targetDim, options);
|
|
26
|
+
venueDimAnimatorRef.current?.setTarget(targetDim, options);
|
|
27
|
+
}, []);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const mapDimAnimator = createDimmingAnimator((value) => {
|
|
30
|
+
applyMapDimValue(mapRef.current, value * DIM_INTENSITY);
|
|
31
|
+
});
|
|
32
|
+
// Straight to renderer's `update`, exactly as the standalone map dims: the root layer's
|
|
33
|
+
// `dim` descends to every def that does not set its own.
|
|
34
|
+
const venueDimAnimator = createDimmingAnimator((value) => {
|
|
35
|
+
const scene = sceneRef.current;
|
|
36
|
+
if (scene && applyVenueDim(scene, value * VENUE_DIM_INTENSITY))
|
|
37
|
+
update(scene.rootLayer);
|
|
38
|
+
});
|
|
39
|
+
mapDimAnimatorRef.current = mapDimAnimator;
|
|
40
|
+
venueDimAnimatorRef.current = venueDimAnimator;
|
|
41
|
+
return () => {
|
|
42
|
+
mapDimAnimator.stop();
|
|
43
|
+
venueDimAnimator.stop();
|
|
44
|
+
mapDimAnimatorRef.current = null;
|
|
45
|
+
venueDimAnimatorRef.current = null;
|
|
46
|
+
};
|
|
47
|
+
}, [mapRef, sceneRef]);
|
|
48
|
+
// MobX tracks whatever getMapDimTarget() reads (uiState.dimmed, the PoI
|
|
49
|
+
// filter and selection), and the boolean means this fires only on a flip.
|
|
50
|
+
useReaction(() => getMapDimTarget(), () => applyDimmingTarget());
|
|
51
|
+
const handleMapDimLayerReady = useCallback((map) => {
|
|
52
|
+
const currentValue = mapDimAnimatorRef.current?.getValue() ?? (getMapDimTarget() ? 1 : 0);
|
|
53
|
+
applyMapDimValue(map, currentValue * DIM_INTENSITY);
|
|
54
|
+
}, []);
|
|
55
|
+
return {
|
|
56
|
+
mapDimAnimatorRef,
|
|
57
|
+
venueDimAnimatorRef,
|
|
58
|
+
applyDimmingTarget,
|
|
59
|
+
handleMapDimLayerReady,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Map as MaplibreMap } from 'maplibre-gl';
|
|
2
|
+
import { type RefObject } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Draws the journey's external leg on our own map: a dashed geodesic connector
|
|
5
|
+
* between the two journey places, labeled with the straight-line distance
|
|
6
|
+
* between them.
|
|
7
|
+
*
|
|
8
|
+
* The dashes are the point — the external leg is delegated, never street-routed
|
|
9
|
+
* by us (ADR-0010), so the connector states the shape and the scale of the gap
|
|
10
|
+
* and says, by not looking like a route line, that it is not a walking path.
|
|
11
|
+
*
|
|
12
|
+
* Nothing is added to the map until a journey actually exists, so plans with the
|
|
13
|
+
* `crossVenueJourneys` flag off (the default) never see a source or a layer.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useJourneyConnector(rendererReady: boolean, mapRef: RefObject<MaplibreMap | null>): void;
|
|
16
|
+
//# sourceMappingURL=useJourneyConnector.d.ts.map
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { greatCirclePath } from '@expofp/geometry';
|
|
2
|
+
import { comparer, reaction } from 'mobx';
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import { DEFAULT_UNITS } from '../../constants';
|
|
5
|
+
import { getLayerSvg } from '../../data/svg';
|
|
6
|
+
import { formatConnectorDistance, } from '../../journey';
|
|
7
|
+
import { currentJourney } from '../../store/journey-plan';
|
|
8
|
+
import { pickUprightTextFont } from './utils/style-fonts';
|
|
9
|
+
const CONNECTOR_SOURCE_ID = 'expofp-journey-connector';
|
|
10
|
+
const CONNECTOR_CASING_LAYER_ID = 'expofp-journey-connector-casing';
|
|
11
|
+
const CONNECTOR_LINE_LAYER_ID = 'expofp-journey-connector-line';
|
|
12
|
+
const CONNECTOR_LABEL_LAYER_ID = 'expofp-journey-connector-label';
|
|
13
|
+
/** In add order — casing under the dashes, label on top. */
|
|
14
|
+
const CONNECTOR_LAYER_IDS = [
|
|
15
|
+
CONNECTOR_CASING_LAYER_ID,
|
|
16
|
+
CONNECTOR_LINE_LAYER_ID,
|
|
17
|
+
CONNECTOR_LABEL_LAYER_ID,
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Deliberately unlike a route line: route lines are solid and blue
|
|
21
|
+
* (`@expofp/wayfinding` DEFAULT_COLORS), so the connector is dashed and slate.
|
|
22
|
+
*/
|
|
23
|
+
const CONNECTOR_COLOR = '#5c6b7f';
|
|
24
|
+
const CONNECTOR_CASING_COLOR = '#ffffff';
|
|
25
|
+
const CONNECTOR_WIDTH_PX = 2.5;
|
|
26
|
+
const CONNECTOR_CASING_WIDTH_PX = 6;
|
|
27
|
+
const CONNECTOR_DASH = [2, 2];
|
|
28
|
+
const CONNECTOR_LABEL_SIZE_PX = 13;
|
|
29
|
+
/**
|
|
30
|
+
* How many segments the arc is sampled into. The connector spans anything from
|
|
31
|
+
* a few hundred metres to the other side of a continent, and this many keeps
|
|
32
|
+
* even the longest visibly curved without troubling the tile pipeline.
|
|
33
|
+
*/
|
|
34
|
+
const CONNECTOR_SEGMENTS = 64;
|
|
35
|
+
const lngLat = ({ lat, lng }) => [lng, lat];
|
|
36
|
+
const externalLegOf = (journey) => journey?.legs.find((leg) => leg.kind === 'external');
|
|
37
|
+
const emptyData = { type: 'FeatureCollection', features: [] };
|
|
38
|
+
/**
|
|
39
|
+
* The connector's two features: the sampled arc, and the point that carries the
|
|
40
|
+
* distance label at its midpoint. The label rides its own point rather than the
|
|
41
|
+
* line so it stays upright whatever bearing the trip runs at.
|
|
42
|
+
*/
|
|
43
|
+
function buildConnectorData(connector, planUnits) {
|
|
44
|
+
const path = greatCirclePath(connector.from, connector.to, CONNECTOR_SEGMENTS);
|
|
45
|
+
const midpoint = path[Math.floor(path.length / 2)] ?? connector.from;
|
|
46
|
+
return {
|
|
47
|
+
type: 'FeatureCollection',
|
|
48
|
+
features: [
|
|
49
|
+
{
|
|
50
|
+
type: 'Feature',
|
|
51
|
+
geometry: { type: 'LineString', coordinates: path.map(lngLat) },
|
|
52
|
+
properties: {},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'Feature',
|
|
56
|
+
geometry: { type: 'Point', coordinates: lngLat(midpoint) },
|
|
57
|
+
properties: {
|
|
58
|
+
distance: formatConnectorDistance(connector.distanceMeters, planUnits),
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Draws the journey's external leg on our own map: a dashed geodesic connector
|
|
66
|
+
* between the two journey places, labeled with the straight-line distance
|
|
67
|
+
* between them.
|
|
68
|
+
*
|
|
69
|
+
* The dashes are the point — the external leg is delegated, never street-routed
|
|
70
|
+
* by us (ADR-0010), so the connector states the shape and the scale of the gap
|
|
71
|
+
* and says, by not looking like a route line, that it is not a walking path.
|
|
72
|
+
*
|
|
73
|
+
* Nothing is added to the map until a journey actually exists, so plans with the
|
|
74
|
+
* `crossVenueJourneys` flag off (the default) never see a source or a layer.
|
|
75
|
+
*/
|
|
76
|
+
export function useJourneyConnector(rendererReady, mapRef) {
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
const map = mapRef.current;
|
|
79
|
+
if (!rendererReady || !map)
|
|
80
|
+
return;
|
|
81
|
+
// A plan states its units once, in the SVG; they cannot change under us.
|
|
82
|
+
const planUnits = getLayerSvg()?.getAttribute('units') || DEFAULT_UNITS;
|
|
83
|
+
// Added on renderer-ready like the other native stacks, so the connector
|
|
84
|
+
// draws above the floor plan's custom `3d` layer.
|
|
85
|
+
const ensureSourceAndLayers = () => {
|
|
86
|
+
if (map.getSource(CONNECTOR_SOURCE_ID))
|
|
87
|
+
return;
|
|
88
|
+
map.addSource(CONNECTOR_SOURCE_ID, { type: 'geojson', data: emptyData });
|
|
89
|
+
map.addLayer({
|
|
90
|
+
id: CONNECTOR_CASING_LAYER_ID,
|
|
91
|
+
type: 'line',
|
|
92
|
+
source: CONNECTOR_SOURCE_ID,
|
|
93
|
+
filter: ['==', ['geometry-type'], 'LineString'],
|
|
94
|
+
layout: { 'line-cap': 'round', 'line-join': 'round' },
|
|
95
|
+
paint: {
|
|
96
|
+
'line-color': CONNECTOR_CASING_COLOR,
|
|
97
|
+
'line-width': CONNECTOR_CASING_WIDTH_PX,
|
|
98
|
+
'line-opacity': 0.7,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
map.addLayer({
|
|
102
|
+
id: CONNECTOR_LINE_LAYER_ID,
|
|
103
|
+
type: 'line',
|
|
104
|
+
source: CONNECTOR_SOURCE_ID,
|
|
105
|
+
filter: ['==', ['geometry-type'], 'LineString'],
|
|
106
|
+
layout: { 'line-join': 'round' },
|
|
107
|
+
paint: {
|
|
108
|
+
'line-color': CONNECTOR_COLOR,
|
|
109
|
+
'line-width': CONNECTOR_WIDTH_PX,
|
|
110
|
+
'line-dasharray': CONNECTOR_DASH,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
map.addLayer({
|
|
114
|
+
id: CONNECTOR_LABEL_LAYER_ID,
|
|
115
|
+
type: 'symbol',
|
|
116
|
+
source: CONNECTOR_SOURCE_ID,
|
|
117
|
+
filter: ['==', ['geometry-type'], 'Point'],
|
|
118
|
+
layout: {
|
|
119
|
+
'text-field': ['get', 'distance'],
|
|
120
|
+
'text-font': pickUprightTextFont(map),
|
|
121
|
+
'text-size': CONNECTOR_LABEL_SIZE_PX,
|
|
122
|
+
// Sits above the line it measures rather than on top of the dashes.
|
|
123
|
+
'text-anchor': 'bottom',
|
|
124
|
+
'text-offset': [0, -0.4],
|
|
125
|
+
'text-allow-overlap': true,
|
|
126
|
+
'text-ignore-placement': true,
|
|
127
|
+
},
|
|
128
|
+
paint: {
|
|
129
|
+
'text-color': CONNECTOR_COLOR,
|
|
130
|
+
'text-halo-color': '#ffffff',
|
|
131
|
+
'text-halo-width': 1.6,
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
const removeSourceAndLayers = () => {
|
|
136
|
+
for (const id of CONNECTOR_LAYER_IDS) {
|
|
137
|
+
if (map.getLayer(id))
|
|
138
|
+
map.removeLayer(id);
|
|
139
|
+
}
|
|
140
|
+
if (map.getSource(CONNECTOR_SOURCE_ID))
|
|
141
|
+
map.removeSource(CONNECTOR_SOURCE_ID);
|
|
142
|
+
};
|
|
143
|
+
const draw = (connector) => {
|
|
144
|
+
if (!connector) {
|
|
145
|
+
map.getSource(CONNECTOR_SOURCE_ID)?.setData(emptyData);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
ensureSourceAndLayers();
|
|
149
|
+
map.getSource(CONNECTOR_SOURCE_ID)?.setData(buildConnectorData(connector, planUnits));
|
|
150
|
+
};
|
|
151
|
+
// The journey is derived, not stored: this recomputes it from the route the
|
|
152
|
+
// app is showing, exactly as the journey panel does.
|
|
153
|
+
const readConnector = () => externalLegOf(currentJourney())?.connector ?? null;
|
|
154
|
+
// A style reload drops sources and layers; MaplibreWrapper re-adds the dim
|
|
155
|
+
// and `3d` layers on style.load, and re-adding after it keeps the z-order.
|
|
156
|
+
const handleStyleLoad = () => draw(readConnector());
|
|
157
|
+
map.on('style.load', handleStyleLoad);
|
|
158
|
+
draw(readConnector());
|
|
159
|
+
const disposeConnectorReaction = reaction(readConnector, draw, {
|
|
160
|
+
equals: comparer.structural,
|
|
161
|
+
});
|
|
162
|
+
return () => {
|
|
163
|
+
disposeConnectorReaction();
|
|
164
|
+
map.off('style.load', handleStyleLoad);
|
|
165
|
+
// The map may already be tearing down (MaplibreWrapper.remove()); style
|
|
166
|
+
// access on a removed map throws, and everything dies with it anyway.
|
|
167
|
+
try {
|
|
168
|
+
removeSourceAndLayers();
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// Map already removed — nothing to clean up.
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}, [rendererReady, mapRef]);
|
|
175
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Map as MaplibreMap } from 'maplibre-gl';
|
|
2
|
+
import { type RefObject } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Turns the map's own camera movements into the two signals a kiosk depends on: the idle timer's
|
|
5
|
+
* keep-alive, and the camera-moved event the setkiosk panel records a new home framing from.
|
|
6
|
+
*
|
|
7
|
+
* Both come off the plan's camera in floorplan mode (`MapCamera`), which map mode does not drive —
|
|
8
|
+
* the plan is unmounted there and the map owns the camera. Without these listeners the idle timer
|
|
9
|
+
* runs out mid-gesture for a visitor who only moves the map, and the panel never learns that the
|
|
10
|
+
* operator reframed the view, leaving its Save button disabled over changes it cannot see.
|
|
11
|
+
*
|
|
12
|
+
* The two are not the same signal: activity is the visitor's own hand, where a reframing counts
|
|
13
|
+
* however it was made.
|
|
14
|
+
*
|
|
15
|
+
* `ready` is the mount signal: `mapRef.current` is assigned in the same `handleMapReady` call that
|
|
16
|
+
* sets it, so keying the effect on `ready` is what guarantees there is a map to subscribe to — the
|
|
17
|
+
* early return below is the assertion of that contract, not a tolerated miss.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useKioskCameraEvents(ready: boolean, mapRef: RefObject<MaplibreMap | null>): void;
|
|
20
|
+
//# sourceMappingURL=useKioskCameraEvents.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { notifyCameraMoved } from '../Map/camera-events';
|
|
3
|
+
/**
|
|
4
|
+
* Turns the map's own camera movements into the two signals a kiosk depends on: the idle timer's
|
|
5
|
+
* keep-alive, and the camera-moved event the setkiosk panel records a new home framing from.
|
|
6
|
+
*
|
|
7
|
+
* Both come off the plan's camera in floorplan mode (`MapCamera`), which map mode does not drive —
|
|
8
|
+
* the plan is unmounted there and the map owns the camera. Without these listeners the idle timer
|
|
9
|
+
* runs out mid-gesture for a visitor who only moves the map, and the panel never learns that the
|
|
10
|
+
* operator reframed the view, leaving its Save button disabled over changes it cannot see.
|
|
11
|
+
*
|
|
12
|
+
* The two are not the same signal: activity is the visitor's own hand, where a reframing counts
|
|
13
|
+
* however it was made.
|
|
14
|
+
*
|
|
15
|
+
* `ready` is the mount signal: `mapRef.current` is assigned in the same `handleMapReady` call that
|
|
16
|
+
* sets it, so keying the effect on `ready` is what guarantees there is a map to subscribe to — the
|
|
17
|
+
* early return below is the assertion of that contract, not a tolerated miss.
|
|
18
|
+
*/
|
|
19
|
+
export function useKioskCameraEvents(ready, mapRef) {
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const map = mapRef.current;
|
|
22
|
+
if (!ready || !map)
|
|
23
|
+
return;
|
|
24
|
+
// `originalEvent` marks a real gesture, so the idle reset's own camera restore doesn't count as
|
|
25
|
+
// activity and re-arm the timer it just fired; `moveend` is what starts the countdown from the
|
|
26
|
+
// end of a flick rather than the start of it.
|
|
27
|
+
let isUserMoving = false;
|
|
28
|
+
const handleMoveStart = (event) => {
|
|
29
|
+
if (!event.originalEvent)
|
|
30
|
+
return;
|
|
31
|
+
isUserMoving = true;
|
|
32
|
+
window.__resett?.();
|
|
33
|
+
};
|
|
34
|
+
const handleMoveEnd = () => {
|
|
35
|
+
// Every move reaches the panel, a command's as readily as the operator's — they frame the home
|
|
36
|
+
// view with the map controls too — and the camera has come to rest by now, so the store reads
|
|
37
|
+
// back the framing the map was left at. Its own restore is the one move that must not count as
|
|
38
|
+
// an edit, and the store recognizes that itself.
|
|
39
|
+
notifyCameraMoved();
|
|
40
|
+
if (!isUserMoving)
|
|
41
|
+
return;
|
|
42
|
+
isUserMoving = false;
|
|
43
|
+
window.__resett?.();
|
|
44
|
+
};
|
|
45
|
+
map.on('movestart', handleMoveStart);
|
|
46
|
+
map.on('moveend', handleMoveEnd);
|
|
47
|
+
return () => {
|
|
48
|
+
map.off('movestart', handleMoveStart);
|
|
49
|
+
map.off('moveend', handleMoveEnd);
|
|
50
|
+
};
|
|
51
|
+
}, [ready, mapRef]);
|
|
52
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type SceneDef } from '@expofp/renderer';
|
|
2
|
+
import type { Map as MaplibreMap } from 'maplibre-gl';
|
|
3
|
+
import { type RefObject } from 'react';
|
|
4
|
+
import { type GeoConfig } from './utils/geo-config';
|
|
5
|
+
/**
|
|
6
|
+
* Keeps the 3D scene layer visibility in sync with LayerStore.
|
|
7
|
+
* When a layer's visibility changes, updates the corresponding LayerDefs
|
|
8
|
+
* and fits the camera to the newly visible floor.
|
|
9
|
+
*
|
|
10
|
+
* Single owner of `LayerDef.hidden`: a floor def is hidden when its layer is
|
|
11
|
+
* not visible OR its venue has degraded below its detail cutoff (R6); a venue
|
|
12
|
+
* aux layer def is hidden unless the venue's zoom state lists it visible (R5 —
|
|
13
|
+
* `Layer.visible` is ignored, the zoom range is the only signal). No other
|
|
14
|
+
* code writes the field, so degradation hiding and visibility switching can
|
|
15
|
+
* never fight over it.
|
|
16
|
+
*
|
|
17
|
+
* The claim is scoped to the defs reachable from `store.layerStore.layers`.
|
|
18
|
+
* Booth badges are deliberately outside it: `configAll` stacks them in a flat
|
|
19
|
+
* `root::badges` layer above the plan, which is neither a store layer nor a
|
|
20
|
+
* child of one, so neither this reaction nor the parent-hidden cascade reaches
|
|
21
|
+
* them. They answer the same question for themselves — see
|
|
22
|
+
* `config-booth-badge-visibility`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useLayerVisibilitySync(scene: SceneDef | null, mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null): void;
|
|
25
|
+
//# sourceMappingURL=useLayerVisibilitySync.d.ts.map
|