@expofp/floorplan 0.0.0-experimental.cf063fc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/browser/Button-DT-Jfwrb.js +64 -0
- package/dist/browser/CookieConsent-BIsWzAiP.js +38 -0
- package/dist/browser/Debug-B5mmo0ZX.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B2klxORi.js +71 -0
- package/dist/browser/Free-suULW-LU.js +69 -0
- package/dist/browser/GalleryContainer-BGBNGRKU.js +3355 -0
- package/dist/browser/GpsLoader-BbXpnQ98.js +154 -0
- package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
- package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
- package/dist/browser/MaplibreAdapter-DBnLB-I9.js +36770 -0
- package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-C0QJjRL0.js +3683 -0
- package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
- package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
- package/dist/browser/ViewerMenuPanel-DHCt3s3Z.js +133 -0
- package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
- package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
- package/dist/browser/boolean-editor-CYMx87em.js +149 -0
- package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
- package/dist/browser/bundle.json +422 -0
- package/dist/browser/camera-events-DSCuSH25.js +18 -0
- package/dist/browser/classnames-YcGXWNfg.js +39 -0
- package/dist/browser/client-BcPpS_Gj.js +7402 -0
- package/dist/browser/compat-helper.js +6 -0
- package/dist/browser/components-DIoXSetB.js +7393 -0
- package/dist/browser/create-live-plan-DOjNTiqJ.js +4046 -0
- package/dist/browser/debounce-BZI0to6V.js +2102 -0
- package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
- package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
- package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
- package/dist/browser/dist-C1NaWqk4.js +2611 -0
- package/dist/browser/dist-Cx8u0gjK.js +21 -0
- package/dist/browser/dist-wOC6gYFh.js +205 -0
- package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
- package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
- package/dist/browser/es5-B__Ovz45.js +1712 -0
- package/dist/browser/event-head-C_inMpbD.js +56 -0
- package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
- package/dist/browser/expofp-overlay.png +0 -0
- package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
- package/dist/browser/exports-CvUYw1h6.js +1525 -0
- package/dist/browser/favicon-BkDrYTmU.js +12 -0
- package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
- package/dist/browser/flex-3lSivw8z.js +823 -0
- package/dist/browser/floorplan.loader-B9musuUh.js +3282 -0
- package/dist/browser/floorplan.ready-BAOU-N0d.js +1448 -0
- package/dist/browser/fonts/efp-symbols.woff +0 -0
- package/dist/browser/fonts/inter-400.woff2 +0 -0
- package/dist/browser/fonts/inter-500.woff2 +0 -0
- package/dist/browser/fonts/inter-600.woff2 +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
- package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
- package/dist/browser/fuse-B7V1lkoA.js +1177 -0
- package/dist/browser/i18n-BgFBhYOU.js +7205 -0
- package/dist/browser/icons/accessible.svg +5 -0
- package/dist/browser/icons/arrow-down.svg +3 -0
- package/dist/browser/icons/bus-white.svg +3 -0
- package/dist/browser/icons/check.svg +3 -0
- package/dist/browser/icons/clear.svg +4 -0
- package/dist/browser/icons/departure.svg +5 -0
- package/dist/browser/icons/departure_inactive.svg +5 -0
- package/dist/browser/icons/destination.svg +5 -0
- package/dist/browser/icons/direction.svg +54 -0
- package/dist/browser/icons/dots.svg +4 -0
- package/dist/browser/icons/dragdrop-solid.svg +11 -0
- package/dist/browser/icons/facebook.svg +4 -0
- package/dist/browser/icons/from.svg +4 -0
- package/dist/browser/icons/kiosk.svg +1 -0
- package/dist/browser/icons/linkedin.svg +3 -0
- package/dist/browser/icons/rotate.svg +5 -0
- package/dist/browser/icons/tap.svg +5 -0
- package/dist/browser/icons/to.svg +4 -0
- package/dist/browser/icons/transition.svg +7 -0
- package/dist/browser/icons/transition_down.svg +15 -0
- package/dist/browser/icons/transition_up.svg +15 -0
- package/dist/browser/icons/twitter.svg +3 -0
- package/dist/browser/icons/yah.svg +17 -0
- package/dist/browser/index.html +139 -0
- package/dist/browser/index.js +254 -0
- package/dist/browser/index.module-kJmnWg5B.js +153 -0
- package/dist/browser/integrateKiosk-D45vYRsm.js +35 -0
- package/dist/browser/is-debug-BRHdrnKr.js +197 -0
- package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
- package/dist/browser/is-webview-cTH4yz8f.js +12 -0
- package/dist/browser/journey-plan-BhLIqF8I.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-DfkGlDkT.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-CnYhnC_7.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-DzSnRAxX.js +30 -0
- package/dist/browser/locales/ar.json +228 -0
- package/dist/browser/locales/da.json +229 -0
- package/dist/browser/locales/de.json +228 -0
- package/dist/browser/locales/es.json +228 -0
- package/dist/browser/locales/fr.json +228 -0
- package/dist/browser/locales/he.json +228 -0
- package/dist/browser/locales/it.json +228 -0
- package/dist/browser/locales/kk.json +228 -0
- package/dist/browser/locales/ko.json +228 -0
- package/dist/browser/locales/mn.json +228 -0
- package/dist/browser/locales/nl.json +228 -0
- package/dist/browser/locales/pl.json +228 -0
- package/dist/browser/locales/pt.json +228 -0
- package/dist/browser/locales/ru.json +228 -0
- package/dist/browser/locales/sv.json +228 -0
- package/dist/browser/locales/th.json +228 -0
- package/dist/browser/locales/tr.json +228 -0
- package/dist/browser/locales/uk.json +228 -0
- package/dist/browser/locales/vi.json +228 -0
- package/dist/browser/locales/zh.json +228 -0
- package/dist/browser/logDeviceInfo-CN6LnXO4.js +58 -0
- package/dist/browser/mobx-C-kcS0zI.js +43 -0
- package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
- package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
- package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
- package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
- package/dist/browser/particles.min-eC5xdOrB.js +133 -0
- package/dist/browser/react-DqPP-mkq.js +301 -0
- package/dist/browser/react-dom-BkVzoZWO.js +139 -0
- package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
- package/dist/browser/scheduler-NBuuaWIe.js +212 -0
- package/dist/browser/select-Cxf-YiNA.js +1367 -0
- package/dist/browser/settings-D74eG9h8.js +9 -0
- package/dist/browser/settings-item-DUUbKec_.js +76 -0
- package/dist/browser/store-q_CTsixH.js +58 -0
- package/dist/browser/string-editor-CINOmY_C.js +30 -0
- package/dist/browser/text-field-DORaOVht.js +88 -0
- package/dist/browser/theme-DyFm9MGz.js +2803 -0
- package/dist/browser/ui-DsCU3FV6.js +43 -0
- package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
- package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
- package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
- package/dist/browser/venue-public-BodpV-7o.js +296 -0
- package/dist/browser/venues-DKpIy-87.js +447 -0
- package/dist/browser/viewport-B7plho3P.js +48 -0
- package/dist/browser/warning.png +0 -0
- package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
- package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
- package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
- package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
- package/dist/esm/components/AlertContainer.d.ts +4 -0
- package/dist/esm/components/AlertContainer.js +8 -0
- package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
- package/dist/esm/components/AutocompleteContainer.js +14 -0
- package/dist/esm/components/BaseFilterModal.d.ts +11 -0
- package/dist/esm/components/BaseFilterModal.js +73 -0
- package/dist/esm/components/Bookmarks.d.ts +3 -0
- package/dist/esm/components/Bookmarks.js +26 -0
- package/dist/esm/components/Booth/Booth.d.ts +5 -0
- package/dist/esm/components/Booth/Booth.js +135 -0
- package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
- package/dist/esm/components/Booth/BoothOnHold.js +11 -0
- package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
- package/dist/esm/components/Booth/BoothReserved.js +7 -0
- package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
- package/dist/esm/components/Booth/BoothSpecial.js +4 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
- package/dist/esm/components/Category.d.ts +5 -0
- package/dist/esm/components/Category.js +25 -0
- package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
- package/dist/esm/components/CategoryFilterModal.js +63 -0
- package/dist/esm/components/CookieConsent.d.ts +9 -0
- package/dist/esm/components/CookieConsent.js +9 -0
- package/dist/esm/components/Debug.d.ts +5 -0
- package/dist/esm/components/Debug.js +15 -0
- package/dist/esm/components/Demo.d.ts +4 -0
- package/dist/esm/components/Demo.js +37 -0
- package/dist/esm/components/DownloadListContainer.d.ts +5 -0
- package/dist/esm/components/DownloadListContainer.js +8 -0
- package/dist/esm/components/EntityItemContainer.d.ts +28 -0
- package/dist/esm/components/EntityItemContainer.js +36 -0
- package/dist/esm/components/EntityList.d.ts +9 -0
- package/dist/esm/components/EntityList.js +144 -0
- package/dist/esm/components/EntityListRow.d.ts +13 -0
- package/dist/esm/components/EntityListRow.js +78 -0
- package/dist/esm/components/ErrorBoundary.d.ts +15 -0
- package/dist/esm/components/ErrorBoundary.js +29 -0
- package/dist/esm/components/Event.d.ts +5 -0
- package/dist/esm/components/Event.js +167 -0
- package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
- package/dist/esm/components/EventBadgeContainer.js +29 -0
- package/dist/esm/components/Exhibitor.d.ts +5 -0
- package/dist/esm/components/Exhibitor.js +299 -0
- package/dist/esm/components/Filter.d.ts +4 -0
- package/dist/esm/components/Filter.js +24 -0
- package/dist/esm/components/Free.d.ts +4 -0
- package/dist/esm/components/Free.js +31 -0
- package/dist/esm/components/GalleryContainer.d.ts +6 -0
- package/dist/esm/components/GalleryContainer.js +55 -0
- package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
- package/dist/esm/components/GlobalErrorMessage.js +9 -0
- package/dist/esm/components/GpsLoader.d.ts +5 -0
- package/dist/esm/components/GpsLoader.js +29 -0
- package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
- package/dist/esm/components/HeatmapLegendContainer.js +13 -0
- package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
- package/dist/esm/components/HighlightTextContainer.js +10 -0
- package/dist/esm/components/IntercomLauncher.d.ts +5 -0
- package/dist/esm/components/IntercomLauncher.js +20 -0
- package/dist/esm/components/JourneyPanel.d.ts +35 -0
- package/dist/esm/components/JourneyPanel.js +68 -0
- package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
- package/dist/esm/components/Kiosk/KioskStore.js +411 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
- package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
- package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
- package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
- package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
- package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
- package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
- package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
- package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
- package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +47 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
- package/dist/esm/components/Language.d.ts +4 -0
- package/dist/esm/components/Language.js +15 -0
- package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
- package/dist/esm/components/LanguageRowContainer.js +9 -0
- package/dist/esm/components/Layout.d.ts +11 -0
- package/dist/esm/components/Layout.js +160 -0
- package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
- package/dist/esm/components/LevelBadgeContainer.js +10 -0
- package/dist/esm/components/List.d.ts +9 -0
- package/dist/esm/components/List.js +77 -0
- package/dist/esm/components/LogoOverlay.d.ts +3 -0
- package/dist/esm/components/LogoOverlay.js +78 -0
- package/dist/esm/components/Map/Map.d.ts +2 -0
- package/dist/esm/components/Map/Map.js +242 -0
- package/dist/esm/components/Map/MapCamera.d.ts +17 -0
- package/dist/esm/components/Map/MapCamera.js +194 -0
- package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
- package/dist/esm/components/Map/MapCursorCoords.js +61 -0
- package/dist/esm/components/Map/MapViewport.d.ts +12 -0
- package/dist/esm/components/Map/MapViewport.js +29 -0
- package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
- package/dist/esm/components/Map/booth-by-xy.js +128 -0
- package/dist/esm/components/Map/camera-events.d.ts +19 -0
- package/dist/esm/components/Map/camera-events.js +26 -0
- package/dist/esm/components/Map/camera.d.ts +48 -0
- package/dist/esm/components/Map/camera.js +43 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
- package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
- package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
- package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
- package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
- package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
- package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
- package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
- package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
- package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
- package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
- package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
- package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
- package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
- package/dist/esm/components/Map/framing-rect.d.ts +16 -0
- package/dist/esm/components/Map/framing-rect.js +24 -0
- package/dist/esm/components/Map/pointer.d.ts +79 -0
- package/dist/esm/components/Map/pointer.js +181 -0
- package/dist/esm/components/Map/scene.d.ts +20 -0
- package/dist/esm/components/Map/scene.js +24 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
- package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
- package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
- package/dist/esm/components/Map/viewport.d.ts +63 -0
- package/dist/esm/components/Map/viewport.js +82 -0
- package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
- package/dist/esm/components/Map/with-kiosk.js +25 -0
- package/dist/esm/components/MapControlsContainer.d.ts +3 -0
- package/dist/esm/components/MapControlsContainer.js +58 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
- package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
- package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
- package/dist/esm/components/Maplibre/useDimming.js +61 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
- package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
- package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
- package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
- package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
- package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
- package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/solver.js +238 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
- package/dist/esm/components/Menu.d.ts +11 -0
- package/dist/esm/components/Menu.js +94 -0
- package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
- package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
- package/dist/esm/components/ModalContainer.d.ts +41 -0
- package/dist/esm/components/ModalContainer.js +10 -0
- package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
- package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
- package/dist/esm/components/OverlayContainer.d.ts +8 -0
- package/dist/esm/components/OverlayContainer.js +82 -0
- package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
- package/dist/esm/components/OverlayGripContainer.js +11 -0
- package/dist/esm/components/OverlayParticles.d.ts +5 -0
- package/dist/esm/components/OverlayParticles.js +54 -0
- package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
- package/dist/esm/components/PlanSelectorContainer.js +79 -0
- package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
- package/dist/esm/components/RebookingNotesContainer.js +8 -0
- package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
- package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
- package/dist/esm/components/RouteQR.d.ts +12 -0
- package/dist/esm/components/RouteQR.js +10 -0
- package/dist/esm/components/Schedule.d.ts +13 -0
- package/dist/esm/components/Schedule.js +109 -0
- package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
- package/dist/esm/components/ScrollableRowContainer.js +11 -0
- package/dist/esm/components/Search.d.ts +5 -0
- package/dist/esm/components/Search.js +45 -0
- package/dist/esm/components/SearchBox.d.ts +7 -0
- package/dist/esm/components/SearchBox.js +171 -0
- package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
- package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
- package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
- package/dist/esm/components/SearchButtons/SearchButtons.js +24 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
- package/dist/esm/components/SearchButtons/index.d.ts +7 -0
- package/dist/esm/components/SearchButtons/index.js +5 -0
- package/dist/esm/components/Sessions.d.ts +8 -0
- package/dist/esm/components/Sessions.js +128 -0
- package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
- package/dist/esm/components/SessionsFiltersModal.js +105 -0
- package/dist/esm/components/SessionsList.d.ts +12 -0
- package/dist/esm/components/SessionsList.js +212 -0
- package/dist/esm/components/ShareContainer.d.ts +7 -0
- package/dist/esm/components/ShareContainer.js +29 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
- package/dist/esm/components/Shortcuts/index.d.ts +4 -0
- package/dist/esm/components/Shortcuts/index.js +4 -0
- package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
- package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
- package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
- package/dist/esm/components/SidebarActionsContainer.js +8 -0
- package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
- package/dist/esm/components/SimpleRowContainer.js +8 -0
- package/dist/esm/components/Speaker.d.ts +5 -0
- package/dist/esm/components/Speaker.js +72 -0
- package/dist/esm/components/Speakers.d.ts +8 -0
- package/dist/esm/components/Speakers.js +63 -0
- package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
- package/dist/esm/components/SpeakersFiltersModal.js +77 -0
- package/dist/esm/components/TourPoints.d.ts +4 -0
- package/dist/esm/components/TourPoints.js +20 -0
- package/dist/esm/components/Tours.d.ts +7 -0
- package/dist/esm/components/Tours.js +54 -0
- package/dist/esm/components/ToursList.d.ts +10 -0
- package/dist/esm/components/ToursList.js +22 -0
- package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
- package/dist/esm/components/ViewerMenuPanel.js +61 -0
- package/dist/esm/components/Visited.d.ts +4 -0
- package/dist/esm/components/Visited.js +13 -0
- package/dist/esm/components/WayInformation.d.ts +14 -0
- package/dist/esm/components/WayInformation.js +8 -0
- package/dist/esm/components/Wayfinding.d.ts +4 -0
- package/dist/esm/components/Wayfinding.js +285 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
- package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
- package/dist/esm/components/WayfindingTemplate.js +14 -0
- package/dist/esm/components/Ws.d.ts +5 -0
- package/dist/esm/components/Ws.js +131 -0
- package/dist/esm/components/YahRow.d.ts +8 -0
- package/dist/esm/components/YahRow.js +25 -0
- package/dist/esm/components/gps/GpsManager.d.ts +13 -0
- package/dist/esm/components/gps/GpsManager.js +60 -0
- package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
- package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
- package/dist/esm/components/gps/index.d.ts +5 -0
- package/dist/esm/components/gps/index.js +3 -0
- package/dist/esm/components/gps/types.d.ts +7 -0
- package/dist/esm/components/gps/types.js +1 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
- package/dist/esm/components/gps/utils.d.ts +5 -0
- package/dist/esm/components/gps/utils.js +11 -0
- package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
- package/dist/esm/components/heatmap-legend-ticks.js +18 -0
- package/dist/esm/components/index.d.ts +114 -0
- package/dist/esm/components/index.js +76 -0
- package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
- package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
- package/dist/esm/components/utils/getDescription.d.ts +19 -0
- package/dist/esm/components/utils/getDescription.js +35 -0
- package/dist/esm/constants.d.ts +44 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/data/fp-payloads.d.ts +27 -0
- package/dist/esm/data/fp-payloads.js +53 -0
- package/dist/esm/data/fpGeo.d.ts +45 -0
- package/dist/esm/data/fpGeo.js +9 -0
- package/dist/esm/data/index.d.ts +15 -0
- package/dist/esm/data/index.js +15 -0
- package/dist/esm/data/layer-viewbox.d.ts +10 -0
- package/dist/esm/data/layer-viewbox.js +20 -0
- package/dist/esm/data/svg.d.ts +43 -0
- package/dist/esm/data/svg.js +210 -0
- package/dist/esm/data/tours.json +280 -0
- package/dist/esm/data/venue-scene-preload.d.ts +34 -0
- package/dist/esm/data/venue-scene-preload.js +205 -0
- package/dist/esm/data/venues.d.ts +145 -0
- package/dist/esm/data/venues.js +955 -0
- package/dist/esm/engine/defs.d.ts +38 -0
- package/dist/esm/engine/defs.js +85 -0
- package/dist/esm/engine/fonts.d.ts +9 -0
- package/dist/esm/engine/fonts.js +12 -0
- package/dist/esm/engine/update-def.d.ts +55 -0
- package/dist/esm/engine/update-def.js +127 -0
- package/dist/esm/engine/utils/rotation.d.ts +13 -0
- package/dist/esm/engine/utils/rotation.js +73 -0
- package/dist/esm/floorplan.loader.d.ts +164 -0
- package/dist/esm/floorplan.loader.js +540 -0
- package/dist/esm/floorplan.ready.d.ts +149 -0
- package/dist/esm/floorplan.ready.js +1083 -0
- package/dist/esm/hooks/useURLFilters.d.ts +15 -0
- package/dist/esm/hooks/useURLFilters.js +44 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +47 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +74 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/internal-settings.d.ts +13 -0
- package/dist/esm/internal-settings.js +6 -0
- package/dist/esm/journey/external-navigation.d.ts +30 -0
- package/dist/esm/journey/external-navigation.js +38 -0
- package/dist/esm/journey/format-distance.d.ts +14 -0
- package/dist/esm/journey/format-distance.js +38 -0
- package/dist/esm/journey/index.d.ts +16 -0
- package/dist/esm/journey/index.js +15 -0
- package/dist/esm/journey/journey-context.d.ts +140 -0
- package/dist/esm/journey/journey-context.js +137 -0
- package/dist/esm/journey/journey-link.d.ts +49 -0
- package/dist/esm/journey/journey-link.js +35 -0
- package/dist/esm/journey/journey-stage.d.ts +35 -0
- package/dist/esm/journey/journey-stage.js +28 -0
- package/dist/esm/journey/maps-provider.d.ts +36 -0
- package/dist/esm/journey/maps-provider.js +58 -0
- package/dist/esm/journey/plan-journey.d.ts +37 -0
- package/dist/esm/journey/plan-journey.js +176 -0
- package/dist/esm/journey/types.d.ts +294 -0
- package/dist/esm/journey/types.js +1 -0
- package/dist/esm/load-dev.d.ts +44 -0
- package/dist/esm/load-dev.js +60 -0
- package/dist/esm/load.d.ts +17 -0
- package/dist/esm/load.js +244 -0
- package/dist/esm/locales.d.ts +25 -0
- package/dist/esm/locales.js +23 -0
- package/dist/esm/offline/constants.d.ts +5 -0
- package/dist/esm/offline/constants.js +4 -0
- package/dist/esm/offline/offlineManager.d.ts +2 -0
- package/dist/esm/offline/offlineManager.js +78 -0
- package/dist/esm/plan-lifecycle.d.ts +65 -0
- package/dist/esm/plan-lifecycle.js +97 -0
- package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
- package/dist/esm/schemas/sdk.schemas.js +24 -0
- package/dist/esm/services/URLFilterManager.d.ts +39 -0
- package/dist/esm/services/URLFilterManager.js +379 -0
- package/dist/esm/services/multi-slug.d.ts +20 -0
- package/dist/esm/services/multi-slug.js +30 -0
- package/dist/esm/services/url-dispatch.d.ts +22 -0
- package/dist/esm/services/url-dispatch.js +707 -0
- package/dist/esm/services/url-sync.d.ts +40 -0
- package/dist/esm/services/url-sync.js +185 -0
- package/dist/esm/store/BaseFilterStore.d.ts +17 -0
- package/dist/esm/store/BaseFilterStore.js +63 -0
- package/dist/esm/store/BookmarksStore.d.ts +9 -0
- package/dist/esm/store/BookmarksStore.js +28 -0
- package/dist/esm/store/BoothStore.d.ts +105 -0
- package/dist/esm/store/BoothStore.js +194 -0
- package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
- package/dist/esm/store/CategoryFilterStore.js +60 -0
- package/dist/esm/store/CategoryStore.d.ts +21 -0
- package/dist/esm/store/CategoryStore.js +30 -0
- package/dist/esm/store/EventStore.d.ts +56 -0
- package/dist/esm/store/EventStore.js +188 -0
- package/dist/esm/store/ExhibitorStore.d.ts +86 -0
- package/dist/esm/store/ExhibitorStore.js +175 -0
- package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
- package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
- package/dist/esm/store/HeatmapStore.d.ts +51 -0
- package/dist/esm/store/HeatmapStore.js +100 -0
- package/dist/esm/store/IntercomStore.d.ts +7 -0
- package/dist/esm/store/IntercomStore.js +26 -0
- package/dist/esm/store/LayerStore.d.ts +70 -0
- package/dist/esm/store/LayerStore.js +399 -0
- package/dist/esm/store/MaplibreStore.d.ts +71 -0
- package/dist/esm/store/MaplibreStore.js +137 -0
- package/dist/esm/store/OverlayStore.d.ts +32 -0
- package/dist/esm/store/OverlayStore.js +68 -0
- package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
- package/dist/esm/store/PoiMarkerStore.js +97 -0
- package/dist/esm/store/PoiTypeStore.d.ts +8 -0
- package/dist/esm/store/PoiTypeStore.js +6 -0
- package/dist/esm/store/RootStore.d.ts +118 -0
- package/dist/esm/store/RootStore.js +666 -0
- package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
- package/dist/esm/store/RoutePlannerStore.js +322 -0
- package/dist/esm/store/RouteStore.d.ts +138 -0
- package/dist/esm/store/RouteStore.js +692 -0
- package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
- package/dist/esm/store/SearchButtonsStore.js +2 -0
- package/dist/esm/store/SearchStore.d.ts +81 -0
- package/dist/esm/store/SearchStore.js +612 -0
- package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
- package/dist/esm/store/SessionsFilterStore.js +169 -0
- package/dist/esm/store/ShortcutProvider.d.ts +26 -0
- package/dist/esm/store/ShortcutProvider.js +5 -0
- package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
- package/dist/esm/store/ShortcutRegistry.js +130 -0
- package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
- package/dist/esm/store/SpeakerFilterStore.js +152 -0
- package/dist/esm/store/SpeakerStore.d.ts +45 -0
- package/dist/esm/store/SpeakerStore.js +142 -0
- package/dist/esm/store/SubButtonProvider.d.ts +16 -0
- package/dist/esm/store/SubButtonProvider.js +6 -0
- package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
- package/dist/esm/store/SubButtonRegistry.js +58 -0
- package/dist/esm/store/ToursStore.d.ts +30 -0
- package/dist/esm/store/ToursStore.js +184 -0
- package/dist/esm/store/UIState.d.ts +329 -0
- package/dist/esm/store/UIState.js +2138 -0
- package/dist/esm/store/VenueStore.d.ts +254 -0
- package/dist/esm/store/VenueStore.js +650 -0
- package/dist/esm/store/create-live-plan.d.ts +13 -0
- package/dist/esm/store/create-live-plan.js +25 -0
- package/dist/esm/store/details-events.d.ts +11 -0
- package/dist/esm/store/details-events.js +76 -0
- package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
- package/dist/esm/store/floor-activated-notifier.js +22 -0
- package/dist/esm/store/index.d.ts +3 -0
- package/dist/esm/store/index.js +14 -0
- package/dist/esm/store/init/index.d.ts +3 -0
- package/dist/esm/store/init/index.js +20 -0
- package/dist/esm/store/init/init-booths.d.ts +6 -0
- package/dist/esm/store/init/init-booths.js +306 -0
- package/dist/esm/store/init/init-categories.d.ts +3 -0
- package/dist/esm/store/init/init-categories.js +28 -0
- package/dist/esm/store/init/init-events.d.ts +3 -0
- package/dist/esm/store/init/init-events.js +45 -0
- package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
- package/dist/esm/store/init/init-exhibitors.js +71 -0
- package/dist/esm/store/init/init-heatmap.d.ts +3 -0
- package/dist/esm/store/init/init-heatmap.js +37 -0
- package/dist/esm/store/init/init-layers.d.ts +8 -0
- package/dist/esm/store/init/init-layers.js +151 -0
- package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
- package/dist/esm/store/init/init-poiTypes.js +6 -0
- package/dist/esm/store/init/init-speakers.d.ts +3 -0
- package/dist/esm/store/init/init-speakers.js +20 -0
- package/dist/esm/store/init/init-ui.d.ts +13 -0
- package/dist/esm/store/init/init-ui.js +155 -0
- package/dist/esm/store/journey-plan.d.ts +89 -0
- package/dist/esm/store/journey-plan.js +291 -0
- package/dist/esm/store/live-store.d.ts +19 -0
- package/dist/esm/store/live-store.js +26 -0
- package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
- package/dist/esm/store/outdoor-poi-filter.js +33 -0
- package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
- package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
- package/dist/esm/store/reveal-layer.d.ts +29 -0
- package/dist/esm/store/reveal-layer.js +25 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
- package/dist/esm/store/search-buttons/constants.d.ts +24 -0
- package/dist/esm/store/search-buttons/constants.js +24 -0
- package/dist/esm/store/search-buttons/index.d.ts +8 -0
- package/dist/esm/store/search-buttons/index.js +7 -0
- package/dist/esm/store/search-buttons/utils.d.ts +6 -0
- package/dist/esm/store/search-buttons/utils.js +34 -0
- package/dist/esm/store/types.d.ts +213 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/venue-public.d.ts +10 -0
- package/dist/esm/store/venue-public.js +14 -0
- package/dist/esm/store/venue-selection.d.ts +45 -0
- package/dist/esm/store/venue-selection.js +101 -0
- package/dist/esm/test/store-harness.d.ts +32 -0
- package/dist/esm/test/store-harness.js +116 -0
- package/dist/esm/tools/base-runtime-url.d.ts +3 -0
- package/dist/esm/tools/base-runtime-url.js +23 -0
- package/dist/esm/tools/debounce.d.ts +2 -0
- package/dist/esm/tools/debounce.js +10 -0
- package/dist/esm/tools/debugCanvases.d.ts +3 -0
- package/dist/esm/tools/debugCanvases.js +3 -0
- package/dist/esm/tools/event-not-found.d.ts +18 -0
- package/dist/esm/tools/event-not-found.js +50 -0
- package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
- package/dist/esm/tools/event-scoped-cache.js +47 -0
- package/dist/esm/tools/expofpUrl.d.ts +7 -0
- package/dist/esm/tools/expofpUrl.js +10 -0
- package/dist/esm/tools/freeBanner.d.ts +5 -0
- package/dist/esm/tools/freeBanner.js +11 -0
- package/dist/esm/tools/gtag.d.ts +66 -0
- package/dist/esm/tools/gtag.js +287 -0
- package/dist/esm/tools/handleDebugMode.d.ts +19 -0
- package/dist/esm/tools/handleDebugMode.js +61 -0
- package/dist/esm/tools/has-html-tags.d.ts +2 -0
- package/dist/esm/tools/has-html-tags.js +3 -0
- package/dist/esm/tools/id.d.ts +2 -0
- package/dist/esm/tools/id.js +5 -0
- package/dist/esm/tools/loaders.d.ts +5 -0
- package/dist/esm/tools/loaders.js +67 -0
- package/dist/esm/tools/logger.d.ts +38 -0
- package/dist/esm/tools/logger.js +87 -0
- package/dist/esm/tools/rebooking-config.d.ts +10 -0
- package/dist/esm/tools/rebooking-config.js +19 -0
- package/dist/esm/tools/rebookingUrl.d.ts +11 -0
- package/dist/esm/tools/rebookingUrl.js +27 -0
- package/dist/esm/tools/report-error.d.ts +2 -0
- package/dist/esm/tools/report-error.js +134 -0
- package/dist/esm/tools/reset.d.ts +2 -0
- package/dist/esm/tools/reset.js +35 -0
- package/dist/esm/tools/sentry.d.ts +7 -0
- package/dist/esm/tools/sentry.js +166 -0
- package/dist/esm/tools/settings.d.ts +36 -0
- package/dist/esm/tools/settings.js +110 -0
- package/dist/esm/tools/slug.d.ts +2 -0
- package/dist/esm/tools/slug.js +27 -0
- package/dist/esm/tools/strip-html.d.ts +2 -0
- package/dist/esm/tools/strip-html.js +7 -0
- package/dist/esm/tools/style-registry.d.ts +28 -0
- package/dist/esm/tools/style-registry.js +46 -0
- package/dist/esm/tools/telemetry.d.ts +37 -0
- package/dist/esm/tools/telemetry.js +266 -0
- package/dist/esm/tools/track-event.d.ts +28 -0
- package/dist/esm/tools/track-event.js +196 -0
- package/dist/esm/tools/webgl-logger.d.ts +2 -0
- package/dist/esm/tools/webgl-logger.js +31 -0
- package/dist/esm/types/drawing.types.d.ts +18 -0
- package/dist/esm/types/drawing.types.js +1 -0
- package/dist/esm/types/sdk.types.d.ts +49 -0
- package/dist/esm/types/sdk.types.js +6 -0
- package/dist/esm/types.d.ts +593 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
- package/dist/esm/utils/_OLD_gpu-info.js +23 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
- package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
- package/dist/esm/utils/areLayersEnabled.js +4 -0
- package/dist/esm/utils/blob-image-size.d.ts +27 -0
- package/dist/esm/utils/blob-image-size.js +37 -0
- package/dist/esm/utils/brand.d.ts +18 -0
- package/dist/esm/utils/brand.js +19 -0
- package/dist/esm/utils/browser.d.ts +4 -0
- package/dist/esm/utils/browser.js +4 -0
- package/dist/esm/utils/calcSpeed.d.ts +2 -0
- package/dist/esm/utils/calcSpeed.js +5 -0
- package/dist/esm/utils/calcTravelTime.d.ts +2 -0
- package/dist/esm/utils/calcTravelTime.js +3 -0
- package/dist/esm/utils/camera-map-settings.d.ts +26 -0
- package/dist/esm/utils/camera-map-settings.js +86 -0
- package/dist/esm/utils/color-gradient.d.ts +2 -0
- package/dist/esm/utils/color-gradient.js +14 -0
- package/dist/esm/utils/customCommands.d.ts +2 -0
- package/dist/esm/utils/customCommands.js +33 -0
- package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
- package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
- package/dist/esm/utils/dimming.d.ts +27 -0
- package/dist/esm/utils/dimming.js +88 -0
- package/dist/esm/utils/entity-storage.d.ts +14 -0
- package/dist/esm/utils/entity-storage.js +122 -0
- package/dist/esm/utils/event-head.d.ts +38 -0
- package/dist/esm/utils/event-head.js +90 -0
- package/dist/esm/utils/event-now.d.ts +11 -0
- package/dist/esm/utils/event-now.js +40 -0
- package/dist/esm/utils/event-title.d.ts +19 -0
- package/dist/esm/utils/event-title.js +20 -0
- package/dist/esm/utils/eventFullBadge.d.ts +3 -0
- package/dist/esm/utils/eventFullBadge.js +7 -0
- package/dist/esm/utils/eventTime.d.ts +15 -0
- package/dist/esm/utils/eventTime.js +82 -0
- package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
- package/dist/esm/utils/extractMetaFromString.js +16 -0
- package/dist/esm/utils/geo-anchors.d.ts +10 -0
- package/dist/esm/utils/geo-anchors.js +12 -0
- package/dist/esm/utils/geometry.d.ts +2 -0
- package/dist/esm/utils/geometry.js +12 -0
- package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
- package/dist/esm/utils/getContrastTextColor.js +26 -0
- package/dist/esm/utils/getLogoUrl.d.ts +9 -0
- package/dist/esm/utils/getLogoUrl.js +26 -0
- package/dist/esm/utils/getMostFrequent.d.ts +2 -0
- package/dist/esm/utils/getMostFrequent.js +14 -0
- package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
- package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
- package/dist/esm/utils/gps.d.ts +40 -0
- package/dist/esm/utils/gps.js +66 -0
- package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
- package/dist/esm/utils/heatmap-enabled.js +13 -0
- package/dist/esm/utils/i18n.d.ts +18 -0
- package/dist/esm/utils/i18n.js +117 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.js +60 -0
- package/dist/esm/utils/is-debug.d.ts +3 -0
- package/dist/esm/utils/is-debug.js +9 -0
- package/dist/esm/utils/is-from-designer.d.ts +3 -0
- package/dist/esm/utils/is-from-designer.js +4 -0
- package/dist/esm/utils/is-iframe.d.ts +3 -0
- package/dist/esm/utils/is-iframe.js +13 -0
- package/dist/esm/utils/is-localhost.d.ts +3 -0
- package/dist/esm/utils/is-localhost.js +11 -0
- package/dist/esm/utils/is-mac.d.ts +3 -0
- package/dist/esm/utils/is-mac.js +2 -0
- package/dist/esm/utils/is-mobile.d.ts +3 -0
- package/dist/esm/utils/is-mobile.js +2 -0
- package/dist/esm/utils/is-own-domain.d.ts +12 -0
- package/dist/esm/utils/is-own-domain.js +23 -0
- package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
- package/dist/esm/utils/is-pathway-layer.js +4 -0
- package/dist/esm/utils/is-phone.d.ts +9 -0
- package/dist/esm/utils/is-phone.js +17 -0
- package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
- package/dist/esm/utils/is-scroll-ugly.js +13 -0
- package/dist/esm/utils/is-webview.d.ts +3 -0
- package/dist/esm/utils/is-webview.js +2 -0
- package/dist/esm/utils/isNumericLevel.d.ts +2 -0
- package/dist/esm/utils/isNumericLevel.js +3 -0
- package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
- package/dist/esm/utils/lazy-qr-code.js +6 -0
- package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
- package/dist/esm/utils/legacy-storage-keys.js +38 -0
- package/dist/esm/utils/loadBlob.d.ts +16 -0
- package/dist/esm/utils/loadBlob.js +40 -0
- package/dist/esm/utils/loadCustomCss.d.ts +3 -0
- package/dist/esm/utils/loadCustomCss.js +19 -0
- package/dist/esm/utils/loadIcons.d.ts +3 -0
- package/dist/esm/utils/loadIcons.js +24 -0
- package/dist/esm/utils/loadImage.d.ts +2 -0
- package/dist/esm/utils/loadImage.js +11 -0
- package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
- package/dist/esm/utils/loadImagesInBatches.js +82 -0
- package/dist/esm/utils/loadLayerImages.d.ts +41 -0
- package/dist/esm/utils/loadLayerImages.js +107 -0
- package/dist/esm/utils/localStorage.d.ts +2 -0
- package/dist/esm/utils/localStorage.js +11 -0
- package/dist/esm/utils/lz-utils.d.ts +8 -0
- package/dist/esm/utils/lz-utils.js +16 -0
- package/dist/esm/utils/mapEntity.d.ts +3 -0
- package/dist/esm/utils/mapEntity.js +82 -0
- package/dist/esm/utils/math.d.ts +6 -0
- package/dist/esm/utils/math.js +7 -0
- package/dist/esm/utils/mobx.d.ts +35 -0
- package/dist/esm/utils/mobx.js +74 -0
- package/dist/esm/utils/outdoor-poi.d.ts +32 -0
- package/dist/esm/utils/outdoor-poi.js +28 -0
- package/dist/esm/utils/plan-reactions.d.ts +20 -0
- package/dist/esm/utils/plan-reactions.js +26 -0
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +15 -0
- package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
- package/dist/esm/utils/preview-exhibitor.js +19 -0
- package/dist/esm/utils/rasterize-svg.d.ts +32 -0
- package/dist/esm/utils/rasterize-svg.js +78 -0
- package/dist/esm/utils/responsiveClass.d.ts +2 -0
- package/dist/esm/utils/responsiveClass.js +25 -0
- package/dist/esm/utils/rtl.d.ts +2 -0
- package/dist/esm/utils/rtl.js +4 -0
- package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
- package/dist/esm/utils/sanitizeHtml.js +21 -0
- package/dist/esm/utils/sanitizeText.d.ts +9 -0
- package/dist/esm/utils/sanitizeText.js +19 -0
- package/dist/esm/utils/scene-bounds.d.ts +64 -0
- package/dist/esm/utils/scene-bounds.js +127 -0
- package/dist/esm/utils/shortenName.d.ts +2 -0
- package/dist/esm/utils/shortenName.js +19 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
- package/dist/esm/utils/strEqual.d.ts +2 -0
- package/dist/esm/utils/strEqual.js +3 -0
- package/dist/esm/utils/swappable-proxy.d.ts +28 -0
- package/dist/esm/utils/swappable-proxy.js +71 -0
- package/dist/esm/utils/trackingParams.d.ts +3 -0
- package/dist/esm/utils/trackingParams.js +24 -0
- package/dist/esm/utils/urlEncoding.d.ts +7 -0
- package/dist/esm/utils/urlEncoding.js +62 -0
- package/dist/esm/utils/use-shadow.d.ts +3 -0
- package/dist/esm/utils/use-shadow.js +10 -0
- package/dist/esm/utils/useHeatmapData.d.ts +10 -0
- package/dist/esm/utils/useHeatmapData.js +8 -0
- package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
- package/dist/esm/utils/useHeatmapOverlay.js +56 -0
- package/dist/esm/utils/useRenderTarget.d.ts +2 -0
- package/dist/esm/utils/useRenderTarget.js +35 -0
- package/dist/esm/utils/yah_icon.d.ts +6 -0
- package/dist/esm/utils/yah_icon.js +457 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
- package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +42 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +73 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +9 -0
- package/dist/esm/wayfinding/adapters/index.js +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
- package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
- package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
- package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
- package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
- package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
- package/dist/esm/wayfinding/createWayfinding.js +183 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
- package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
- package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
- package/dist/esm/wayfinding/index.d.ts +12 -0
- package/dist/esm/wayfinding/index.js +9 -0
- package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
- package/dist/esm/wayfinding/routeSteps.js +29 -0
- package/dist/esm/wayfinding/storePorts.d.ts +67 -0
- package/dist/esm/wayfinding/storePorts.js +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { projectLocalToGps } from '@expofp/geometry';
|
|
2
|
+
import { geoAnchors } from '../utils/geo-anchors.js';
|
|
3
|
+
import { isUsableGeo } from './maps-provider.js';
|
|
4
|
+
import { planJourney } from './plan-journey.js';
|
|
5
|
+
const isFiniteAnchor = (anchor) => Number.isFinite(anchor?.x) &&
|
|
6
|
+
Number.isFinite(anchor?.y) &&
|
|
7
|
+
Number.isFinite(anchor?.lat) &&
|
|
8
|
+
Number.isFinite(anchor?.lng);
|
|
9
|
+
/**
|
|
10
|
+
* Projects a place's plan-local target point onto the ground.
|
|
11
|
+
*
|
|
12
|
+
* Anchoring is a property of the plan, not of the individual place: a plan
|
|
13
|
+
* without usable anchors leaves every place geo-less, which is exactly the
|
|
14
|
+
* "no route available" case the planner reports.
|
|
15
|
+
*/
|
|
16
|
+
function toGeo(point, gpsConfig) {
|
|
17
|
+
if (!gpsConfig || !isFiniteAnchor(gpsConfig.p0) || !isFiniteAnchor(gpsConfig.p2))
|
|
18
|
+
return undefined;
|
|
19
|
+
const geo = projectLocalToGps(point, ...geoAnchors(gpsConfig));
|
|
20
|
+
return isUsableGeo(geo) ? geo : undefined;
|
|
21
|
+
}
|
|
22
|
+
function toJourneyPlace(place, gpsConfig) {
|
|
23
|
+
if (!place)
|
|
24
|
+
return null;
|
|
25
|
+
return {
|
|
26
|
+
id: place.id,
|
|
27
|
+
name: place.name,
|
|
28
|
+
placeKind: 'venue',
|
|
29
|
+
geo: toGeo(place.markerPoint, gpsConfig),
|
|
30
|
+
// Doors reach the planner in both spaces: plan-local for the indoor cost it
|
|
31
|
+
// ranks them by, geographic for the handoff. A door the plan cannot place
|
|
32
|
+
// on the ground is no use to a maps app, so it does not travel. Its level's
|
|
33
|
+
// layer name travels alongside, which is what turns the door into a route
|
|
34
|
+
// endpoint once a leg is walked.
|
|
35
|
+
entrances: (place.entrances ?? []).flatMap((entrance) => {
|
|
36
|
+
const geo = toGeo(entrance.point, gpsConfig);
|
|
37
|
+
return geo
|
|
38
|
+
? [
|
|
39
|
+
{
|
|
40
|
+
local: entrance.point,
|
|
41
|
+
geo,
|
|
42
|
+
name: entrance.name,
|
|
43
|
+
layerName: entrance.level?.layer.name,
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
: [];
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The graph's connectivity answer for the endpoint pair the app just routed.
|
|
52
|
+
*
|
|
53
|
+
* The rendered route *is* the probe: the engine reports "no path" by producing
|
|
54
|
+
* no route lines, so a fully specified route with none is the graph saying
|
|
55
|
+
* "unreachable" for exactly this pair. Reading the attempt already made keeps
|
|
56
|
+
* the answer in step with what the map shows, and costs no second search.
|
|
57
|
+
*
|
|
58
|
+
* Null until both endpoints are chosen — there is nothing to be connected yet —
|
|
59
|
+
* and until the engine has routed the pair: a route is selected before it is
|
|
60
|
+
* routed, and the lines on hand in between are the previous route's, or none
|
|
61
|
+
* at all. Read as an answer, "none" is "unreachable", and a journey starts for
|
|
62
|
+
* a pair the graph connects (#1688).
|
|
63
|
+
*/
|
|
64
|
+
export function readGraphConnectivity({ hasOrigin, hasDestination, routed, routeLineCount, }) {
|
|
65
|
+
if (!hasOrigin || !hasDestination || !routed)
|
|
66
|
+
return null;
|
|
67
|
+
return routeLineCount > 0 ? 'routable' : 'unreachable';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Apple Maps is the default only where it is the platform's own maps app.
|
|
71
|
+
* iPadOS reports a desktop-class Mac user agent, so it is told apart the one
|
|
72
|
+
* way that still works: a Mac that accepts touch.
|
|
73
|
+
*/
|
|
74
|
+
export function detectJourneyPlatform({ userAgent, platform, maxTouchPoints = 0, }) {
|
|
75
|
+
const isIosDevice = /iPhone|iPad|iPod/i.test(userAgent);
|
|
76
|
+
// `navigator.platform` is deprecated and reports '' in some browsers, so an
|
|
77
|
+
// empty value falls back to the user agent rather than answering "not a Mac".
|
|
78
|
+
const isIpadOs = /Mac/i.test(platform || userAgent) && maxTouchPoints > 1;
|
|
79
|
+
return { isApplePlatform: isIosDevice || isIpadOs };
|
|
80
|
+
}
|
|
81
|
+
/** The platform of the browser this SDK instance runs in. */
|
|
82
|
+
export function currentJourneyPlatform() {
|
|
83
|
+
return detectJourneyPlatform({
|
|
84
|
+
userAgent: navigator.userAgent,
|
|
85
|
+
platform: navigator.platform,
|
|
86
|
+
maxTouchPoints: navigator.maxTouchPoints,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The outdoor PoI an endpoint is, as a journey place.
|
|
91
|
+
*
|
|
92
|
+
* A PoI has no doors — not none authored, none possible — so it reaches the
|
|
93
|
+
* ground the one way a place without doors ever does: its own point, projected
|
|
94
|
+
* through the plan's georeference, exactly as a venue's marker point is. A
|
|
95
|
+
* plan that cannot place it there leaves it geo-less, which the planner reports
|
|
96
|
+
* as an honest dead end rather than a broken journey.
|
|
97
|
+
*
|
|
98
|
+
* Null without a point: a PoI is a point on the ground and nothing else, so an
|
|
99
|
+
* endpoint that has none is not a place the SDK can send anyone to.
|
|
100
|
+
*/
|
|
101
|
+
function toOutdoorPoiPlace(endpoint, gpsConfig) {
|
|
102
|
+
const { outdoorPoi, point } = endpoint;
|
|
103
|
+
if (!outdoorPoi || !point)
|
|
104
|
+
return null;
|
|
105
|
+
return {
|
|
106
|
+
id: outdoorPoi.id,
|
|
107
|
+
name: outdoorPoi.name,
|
|
108
|
+
placeKind: 'outdoor-poi',
|
|
109
|
+
geo: toGeo(point, gpsConfig),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Adapts the app's venue model and georeference into a planner request, and
|
|
114
|
+
* returns what the planner decided. The one entry the UI needs; every decision
|
|
115
|
+
* still belongs to `planJourney`.
|
|
116
|
+
*
|
|
117
|
+
* Either end may be a venue or an outdoor PoI (ADR-0011). The venue is tried
|
|
118
|
+
* first: the two are mutually exclusive by layer — an `Outdoor*` layer is never
|
|
119
|
+
* a venue level — so the order is defensive rather than load-bearing.
|
|
120
|
+
*/
|
|
121
|
+
export function resolveJourneyPlan({ venues, gpsConfig, enabled, platform, providerOverride }, origin, destination, connectivity) {
|
|
122
|
+
const venueOfLayer = (layerName) => venues.hasVenueModel && layerName ? venues.venueOfLayer(layerName) : null;
|
|
123
|
+
const placeOf = (endpoint) => toJourneyPlace(venueOfLayer(endpoint.layerName), gpsConfig) ??
|
|
124
|
+
toOutdoorPoiPlace(endpoint, gpsConfig);
|
|
125
|
+
const originPlace = placeOf(origin);
|
|
126
|
+
return planJourney({
|
|
127
|
+
enabled,
|
|
128
|
+
connectivity,
|
|
129
|
+
origin: originPlace && { kind: origin.kind, place: originPlace },
|
|
130
|
+
originPoint: origin.point,
|
|
131
|
+
destination: placeOf(destination),
|
|
132
|
+
destinationName: destination.name,
|
|
133
|
+
destinationPoint: destination.point,
|
|
134
|
+
platform,
|
|
135
|
+
providerOverride,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type JourneyLink } from '@expofp/schema';
|
|
2
|
+
/**
|
|
3
|
+
* The journey deep link — how a journey changes devices. A kiosk QR encodes it,
|
|
4
|
+
* a desktop hands it to a phone, and a native host carries it through the maps
|
|
5
|
+
* round trip.
|
|
6
|
+
*
|
|
7
|
+
* The link is identifiers only (`JourneyLinkSchema`, the schema package's URL
|
|
8
|
+
* config): opening it REPLAYS the two endpoints and lets the planner recompute
|
|
9
|
+
* everything else from the plan the receiving device has now. A code printed
|
|
10
|
+
* beside a kiosk outlives plan edits, so a link carrying legs or coordinates
|
|
11
|
+
* would hand a phone yesterday's answer with today's confidence.
|
|
12
|
+
*
|
|
13
|
+
* The schema is the whole URL grammar here — no parallel mechanism: the query
|
|
14
|
+
* is the ordinary bracketed config form the rest of the SDK's URL state uses,
|
|
15
|
+
* and the kiosk anchor keeps riding along in the legacy `kiosk_*` params the
|
|
16
|
+
* QR-share pattern already smuggles.
|
|
17
|
+
*/
|
|
18
|
+
export type { JourneyLink };
|
|
19
|
+
/** What replaying a journey deep link asks of the app. */
|
|
20
|
+
export interface JourneyLinkTarget {
|
|
21
|
+
/**
|
|
22
|
+
* Show the route the link names, resolving both identifiers against the
|
|
23
|
+
* current plan. An empty `from` leaves the origin to the device — its kiosk
|
|
24
|
+
* anchor or the visitor's live position.
|
|
25
|
+
*/
|
|
26
|
+
selectRoute(from: string, to: string): void;
|
|
27
|
+
}
|
|
28
|
+
/** The plan URL a QR encodes: the base page plus the journey's two identifiers. */
|
|
29
|
+
export declare function buildJourneyLink(baseUrl: string, link: JourneyLink): string;
|
|
30
|
+
/**
|
|
31
|
+
* The journey a query names, or null when it names none — including a link too
|
|
32
|
+
* damaged to act on. A visitor-edited URL must never break the load, so an
|
|
33
|
+
* unusable journey key drops out exactly like every other config key
|
|
34
|
+
* (`parseFromUrlTolerant`).
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseJourneyLink(input: string | URL): JourneyLink | null;
|
|
37
|
+
/**
|
|
38
|
+
* Replay a journey deep link — the link's two identifiers into the route the
|
|
39
|
+
* app shows — and return the link that was applied, or null when the query
|
|
40
|
+
* named none.
|
|
41
|
+
*
|
|
42
|
+
* Replaying is the whole of it: nothing about the journey travels in the URL,
|
|
43
|
+
* so the ordinary journey path re-plans from the route this leaves behind,
|
|
44
|
+
* against the plan, its places and the position of the device it runs on. That
|
|
45
|
+
* is what makes a scanned QR answer with today's plan and the scanner's own
|
|
46
|
+
* origin instead of the kiosk's week-old snapshot.
|
|
47
|
+
*/
|
|
48
|
+
export declare function dispatchJourneyLink(input: string | URL, target: JourneyLinkTarget): JourneyLink | null;
|
|
49
|
+
//# sourceMappingURL=journey-link.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { parseFromUrlTolerant, toQueryString } from '@expofp/config';
|
|
2
|
+
import { UrlConfigSchema } from '@expofp/schema';
|
|
3
|
+
/** The plan URL a QR encodes: the base page plus the journey's two identifiers. */
|
|
4
|
+
export function buildJourneyLink(baseUrl, link) {
|
|
5
|
+
const url = new URL(baseUrl);
|
|
6
|
+
url.search = toQueryString({ journey: link });
|
|
7
|
+
return url.toString();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The journey a query names, or null when it names none — including a link too
|
|
11
|
+
* damaged to act on. A visitor-edited URL must never break the load, so an
|
|
12
|
+
* unusable journey key drops out exactly like every other config key
|
|
13
|
+
* (`parseFromUrlTolerant`).
|
|
14
|
+
*/
|
|
15
|
+
export function parseJourneyLink(input) {
|
|
16
|
+
return parseFromUrlTolerant(UrlConfigSchema, input).value.journey ?? null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Replay a journey deep link — the link's two identifiers into the route the
|
|
20
|
+
* app shows — and return the link that was applied, or null when the query
|
|
21
|
+
* named none.
|
|
22
|
+
*
|
|
23
|
+
* Replaying is the whole of it: nothing about the journey travels in the URL,
|
|
24
|
+
* so the ordinary journey path re-plans from the route this leaves behind,
|
|
25
|
+
* against the plan, its places and the position of the device it runs on. That
|
|
26
|
+
* is what makes a scanned QR answer with today's plan and the scanner's own
|
|
27
|
+
* origin instead of the kiosk's week-old snapshot.
|
|
28
|
+
*/
|
|
29
|
+
export function dispatchJourneyLink(input, target) {
|
|
30
|
+
const link = parseJourneyLink(input);
|
|
31
|
+
if (!link)
|
|
32
|
+
return null;
|
|
33
|
+
target.selectRoute(link.from ?? '', link.to);
|
|
34
|
+
return link;
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ArrivalLeg, ExitLeg, Journey, JourneyLeg } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Where a visitor is in their journey. One stage per leg, in walking order, and
|
|
4
|
+
* a journey only has the stages its legs give it: a plan that authored no doors
|
|
5
|
+
* runs the middle one alone, which is the whole of the journey it has always
|
|
6
|
+
* been given.
|
|
7
|
+
*/
|
|
8
|
+
export type JourneyStage = JourneyLeg['kind'];
|
|
9
|
+
/** What moves a journey on: the visitor's handoff, and their coming back. */
|
|
10
|
+
export type JourneyStageEvent =
|
|
11
|
+
/** The external handoff was taken — the visitor is in the maps app now. */
|
|
12
|
+
'handoff'
|
|
13
|
+
/** The floor plan has the visitor's attention again. */
|
|
14
|
+
| 'return';
|
|
15
|
+
/** The stages this journey actually has, in walking order. */
|
|
16
|
+
export declare const journeyStages: (journey: Journey) => JourneyStage[];
|
|
17
|
+
/** The stage a journey opens on: its exit leg when it has one, else the street leg. */
|
|
18
|
+
export declare const initialJourneyStage: (journey: Journey) => JourneyStage;
|
|
19
|
+
/** The indoor leg of a stage, or nothing — the street leg is not one. */
|
|
20
|
+
export declare function indoorLegOf(journey: Journey, stage: JourneyStage): ExitLeg | ArrivalLeg | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Where a journey stands after something happened to it.
|
|
23
|
+
*
|
|
24
|
+
* Taking the handoff puts the visitor on the street leg, wherever they were —
|
|
25
|
+
* they may well skip the walk to the exit and open Maps straight away.
|
|
26
|
+
*
|
|
27
|
+
* Coming back only means something on the street leg, and it is the whole point
|
|
28
|
+
* of the arrival leg: the visitor walked to the other place and put their phone
|
|
29
|
+
* away, so the floor plan they come back to owes them the walk from the door to
|
|
30
|
+
* their booth rather than the map they left. A journey with no arrival leg has
|
|
31
|
+
* nothing to move on to and stays put, and a return that arrives before any
|
|
32
|
+
* handoff — a tab switched away and back — is not progress at all.
|
|
33
|
+
*/
|
|
34
|
+
export declare function advanceJourneyStage(journey: Journey, stage: JourneyStage, event: JourneyStageEvent): JourneyStage;
|
|
35
|
+
//# sourceMappingURL=journey-stage.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** The stages this journey actually has, in walking order. */
|
|
2
|
+
export const journeyStages = (journey) => journey.legs.map((leg) => leg.kind);
|
|
3
|
+
/** The stage a journey opens on: its exit leg when it has one, else the street leg. */
|
|
4
|
+
export const initialJourneyStage = (journey) => journeyStages(journey)[0] ?? 'external';
|
|
5
|
+
/** The indoor leg of a stage, or nothing — the street leg is not one. */
|
|
6
|
+
export function indoorLegOf(journey, stage) {
|
|
7
|
+
return journey.legs.find((leg) => leg.kind === stage && leg.kind !== 'external');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Where a journey stands after something happened to it.
|
|
11
|
+
*
|
|
12
|
+
* Taking the handoff puts the visitor on the street leg, wherever they were —
|
|
13
|
+
* they may well skip the walk to the exit and open Maps straight away.
|
|
14
|
+
*
|
|
15
|
+
* Coming back only means something on the street leg, and it is the whole point
|
|
16
|
+
* of the arrival leg: the visitor walked to the other place and put their phone
|
|
17
|
+
* away, so the floor plan they come back to owes them the walk from the door to
|
|
18
|
+
* their booth rather than the map they left. A journey with no arrival leg has
|
|
19
|
+
* nothing to move on to and stays put, and a return that arrives before any
|
|
20
|
+
* handoff — a tab switched away and back — is not progress at all.
|
|
21
|
+
*/
|
|
22
|
+
export function advanceJourneyStage(journey, stage, event) {
|
|
23
|
+
if (event === 'handoff')
|
|
24
|
+
return 'external';
|
|
25
|
+
if (stage !== 'external')
|
|
26
|
+
return stage;
|
|
27
|
+
return journeyStages(journey).includes('arrival') ? 'arrival' : stage;
|
|
28
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LatLng } from '@expofp/geometry';
|
|
2
|
+
import type { JourneyPlatform, MapsProvider } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The provider the external handoff opens.
|
|
5
|
+
*
|
|
6
|
+
* A producer override wins outright and on every platform — a partnership or a
|
|
7
|
+
* regional preference is a decision about the event, not about the device.
|
|
8
|
+
* Without one the default is the platform's own maps app, so the user lands
|
|
9
|
+
* where their taps, saved places and live navigation already are.
|
|
10
|
+
*
|
|
11
|
+
* The override is re-checked rather than trusted for its type — see
|
|
12
|
+
* `isMapsProvider` for why a typed field can still arrive unmodeled. An
|
|
13
|
+
* unrecognized one degrades to the platform default instead of building a link
|
|
14
|
+
* that opens nothing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveMapsProvider(platform: JourneyPlatform, override?: MapsProvider): MapsProvider;
|
|
17
|
+
/** Whether a geographic point is usable as a handoff target. */
|
|
18
|
+
export declare function isUsableGeo(geo: LatLng | undefined): geo is LatLng;
|
|
19
|
+
/**
|
|
20
|
+
* The universal URL that opens directions to `destination` in `provider`,
|
|
21
|
+
* starting from `origin` when the journey knows one.
|
|
22
|
+
*
|
|
23
|
+
* An origin is passed only where it is a real place — a kiosk that stands
|
|
24
|
+
* still, a from-booth someone picked while planning — and the provider then
|
|
25
|
+
* previews the whole A-to-B street route. Left out, the provider routes from
|
|
26
|
+
* the user's real position, which is the whole point of handing a live
|
|
27
|
+
* navigation leg over. No travel-mode hint is passed either way — an authored
|
|
28
|
+
* pathway *is* the walkable case, so external legs only exist at distances
|
|
29
|
+
* where the provider's own default is the sensible start (ADR-0010).
|
|
30
|
+
*
|
|
31
|
+
* The literal comma between the coordinates is the form both providers
|
|
32
|
+
* document; percent-encoding it works too but is needlessly unlike every
|
|
33
|
+
* example a support engineer will compare against.
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildExternalHandoffUrl(provider: MapsProvider, destination: LatLng, origin?: LatLng): string;
|
|
36
|
+
//# sourceMappingURL=maps-provider.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { isMapsProvider } from '@expofp/schema';
|
|
2
|
+
/** Six decimals ≈ 0.11 m — finer than any anchor a plan is calibrated with. */
|
|
3
|
+
const COORDINATE_DECIMALS = 6;
|
|
4
|
+
/**
|
|
5
|
+
* The provider the external handoff opens.
|
|
6
|
+
*
|
|
7
|
+
* A producer override wins outright and on every platform — a partnership or a
|
|
8
|
+
* regional preference is a decision about the event, not about the device.
|
|
9
|
+
* Without one the default is the platform's own maps app, so the user lands
|
|
10
|
+
* where their taps, saved places and live navigation already are.
|
|
11
|
+
*
|
|
12
|
+
* The override is re-checked rather than trusted for its type — see
|
|
13
|
+
* `isMapsProvider` for why a typed field can still arrive unmodeled. An
|
|
14
|
+
* unrecognized one degrades to the platform default instead of building a link
|
|
15
|
+
* that opens nothing.
|
|
16
|
+
*/
|
|
17
|
+
export function resolveMapsProvider(platform, override) {
|
|
18
|
+
if (isMapsProvider(override))
|
|
19
|
+
return override;
|
|
20
|
+
return platform.isApplePlatform ? 'apple' : 'google';
|
|
21
|
+
}
|
|
22
|
+
/** Whether a geographic point is usable as a handoff target. */
|
|
23
|
+
export function isUsableGeo(geo) {
|
|
24
|
+
if (!geo)
|
|
25
|
+
return false;
|
|
26
|
+
const { lat, lng } = geo;
|
|
27
|
+
return (Number.isFinite(lat) &&
|
|
28
|
+
Number.isFinite(lng) &&
|
|
29
|
+
Math.abs(lat) <= 90 &&
|
|
30
|
+
Math.abs(lng) <= 180 &&
|
|
31
|
+
// (0, 0) is the null island every unset anchor projects to — not a venue.
|
|
32
|
+
!(lat === 0 && lng === 0));
|
|
33
|
+
}
|
|
34
|
+
const formatCoordinate = (value) => String(Number(value.toFixed(COORDINATE_DECIMALS)));
|
|
35
|
+
const formatPoint = ({ lat, lng }) => `${formatCoordinate(lat)},${formatCoordinate(lng)}`;
|
|
36
|
+
/**
|
|
37
|
+
* The universal URL that opens directions to `destination` in `provider`,
|
|
38
|
+
* starting from `origin` when the journey knows one.
|
|
39
|
+
*
|
|
40
|
+
* An origin is passed only where it is a real place — a kiosk that stands
|
|
41
|
+
* still, a from-booth someone picked while planning — and the provider then
|
|
42
|
+
* previews the whole A-to-B street route. Left out, the provider routes from
|
|
43
|
+
* the user's real position, which is the whole point of handing a live
|
|
44
|
+
* navigation leg over. No travel-mode hint is passed either way — an authored
|
|
45
|
+
* pathway *is* the walkable case, so external legs only exist at distances
|
|
46
|
+
* where the provider's own default is the sensible start (ADR-0010).
|
|
47
|
+
*
|
|
48
|
+
* The literal comma between the coordinates is the form both providers
|
|
49
|
+
* document; percent-encoding it works too but is needlessly unlike every
|
|
50
|
+
* example a support engineer will compare against.
|
|
51
|
+
*/
|
|
52
|
+
export function buildExternalHandoffUrl(provider, destination, origin) {
|
|
53
|
+
const target = formatPoint(destination);
|
|
54
|
+
const start = isUsableGeo(origin) ? formatPoint(origin) : undefined;
|
|
55
|
+
return provider === 'apple'
|
|
56
|
+
? `https://maps.apple.com/?${start ? `saddr=${start}&` : ''}daddr=${target}`
|
|
57
|
+
: `https://www.google.com/maps/dir/?api=1&${start ? `origin=${start}&` : ''}destination=${target}`;
|
|
58
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { JourneyPlan, JourneyRequest } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The journey planner seam: every cross-venue decision — whether a journey
|
|
4
|
+
* applies at all, which doors it uses, what its external leg targets, which
|
|
5
|
+
* provider URL the handoff opens, and how a journey degrades when data is
|
|
6
|
+
* missing — is made here, from plain inputs, and returned as a plain value.
|
|
7
|
+
*
|
|
8
|
+
* Connectivity is the sole trigger (ADR-0010): a graph-routable pair keeps the
|
|
9
|
+
* built-in route at any distance, and only the producer's authoring decision —
|
|
10
|
+
* pathway or no pathway — moves a pair across the line. There is deliberately
|
|
11
|
+
* no distance threshold to configure.
|
|
12
|
+
*
|
|
13
|
+
* A journey is up to three legs walked in order: out of the origin venue to its
|
|
14
|
+
* chosen exit, across the gap in the maps app, and from the destination venue's
|
|
15
|
+
* chosen entrance to the booth. Both indoor legs carry a door and nothing else
|
|
16
|
+
* — routing them is the engine's job, and a door reaches it as an ordinary
|
|
17
|
+
* route endpoint.
|
|
18
|
+
*
|
|
19
|
+
* A journey degrades with the data it is given rather than failing. A place
|
|
20
|
+
* with no authored door loses its indoor leg and hands the street leg its
|
|
21
|
+
* marker point instead of a door; a plan that authors none anywhere gets the
|
|
22
|
+
* single-leg journey it has always got. None of that is scaffolding — it is
|
|
23
|
+
* what most plans run on, permanently.
|
|
24
|
+
*
|
|
25
|
+
* An outdoor PoI takes the same path through this function without a branch of
|
|
26
|
+
* its own: it authors no doors because it has none, so the side it stands on
|
|
27
|
+
* loses its indoor leg exactly as an unauthored venue's would. Only the
|
|
28
|
+
* external leg's target kind records the difference, because only there does it
|
|
29
|
+
* matter that nothing is missing (ADR-0011).
|
|
30
|
+
*
|
|
31
|
+
* The three journey origins — live position, kiosk anchor, picked from-booth —
|
|
32
|
+
* are one concept here: the plan is identical whichever the user came in on,
|
|
33
|
+
* bar the handoff URL, which names the origin only when it is a place rather
|
|
34
|
+
* than a moving user.
|
|
35
|
+
*/
|
|
36
|
+
export declare function planJourney(request: JourneyRequest): JourneyPlan;
|
|
37
|
+
//# sourceMappingURL=plan-journey.d.ts.map
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { haversineDistance, pointDistance } from '@expofp/geometry';
|
|
2
|
+
import { buildExternalHandoffUrl, isUsableGeo, resolveMapsProvider } from './maps-provider.js';
|
|
3
|
+
const placeRef = ({ id, name, placeKind }) => ({ id, name, placeKind });
|
|
4
|
+
const originRef = ({ kind, place }) => ({ ...placeRef(place), kind });
|
|
5
|
+
/**
|
|
6
|
+
* A plan-local point the planner can measure against, or undefined.
|
|
7
|
+
*
|
|
8
|
+
* A point that is not on the plan cannot rank anything, and a NaN cost would
|
|
9
|
+
* silently lose every comparison below rather than tie: read it as no point at
|
|
10
|
+
* all, which leaves the tie-break to decide on its own.
|
|
11
|
+
*/
|
|
12
|
+
const rankablePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y) ? point : undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The door a visitor should use, chosen for them.
|
|
15
|
+
*
|
|
16
|
+
* Cost is the indoor walk the choice actually changes — from `from` to the
|
|
17
|
+
* door, in plan-local units. Straight-line, not routed: the wayfinding engine
|
|
18
|
+
* never learns what an entrance is, and asking it to rank doors would teach it
|
|
19
|
+
* (ADR-0010, contract §6.1).
|
|
20
|
+
*
|
|
21
|
+
* Flat, too: a door's level is deliberately not part of the cost. Doors are
|
|
22
|
+
* where a building meets the street, so they cluster on the ground floor, and
|
|
23
|
+
* charging a door for the storeys between it and the booth would push a journey
|
|
24
|
+
* away from the door a visitor can actually walk through. The levels a visitor
|
|
25
|
+
* climbs belong to the indoor leg, which routes them properly.
|
|
26
|
+
*
|
|
27
|
+
* Doors that tie indoors are separated by `toward` — the other end of the
|
|
28
|
+
* street leg, so the visitor leaves by the door facing the place they are
|
|
29
|
+
* heading for and walks into the one facing the place they came from. Doors
|
|
30
|
+
* that tie on both are separated by authored order, so the same plan always
|
|
31
|
+
* picks the same door. An end with no point of its own leaves every door tied
|
|
32
|
+
* on cost, which quietly makes the direction the only criterion — and that is
|
|
33
|
+
* the right answer for it too.
|
|
34
|
+
*
|
|
35
|
+
* Undefined when the place authored no door the plan can place on the ground —
|
|
36
|
+
* the permanent state of every plan that authors none.
|
|
37
|
+
*/
|
|
38
|
+
function chooseEntrance(place, from, toward) {
|
|
39
|
+
const rankAgainst = rankablePoint(from);
|
|
40
|
+
let chosen;
|
|
41
|
+
let chosenCost = Number.POSITIVE_INFINITY;
|
|
42
|
+
let chosenDirection = Number.POSITIVE_INFINITY;
|
|
43
|
+
for (const entrance of place.entrances ?? []) {
|
|
44
|
+
if (!isUsableGeo(entrance.geo))
|
|
45
|
+
continue;
|
|
46
|
+
const cost = rankAgainst ? pointDistance(entrance.local, rankAgainst) : 0;
|
|
47
|
+
if (cost > chosenCost)
|
|
48
|
+
continue;
|
|
49
|
+
const direction = haversineDistance(toward, entrance.geo);
|
|
50
|
+
if (cost === chosenCost && direction >= chosenDirection)
|
|
51
|
+
continue;
|
|
52
|
+
chosen = entrance;
|
|
53
|
+
chosenCost = cost;
|
|
54
|
+
chosenDirection = direction;
|
|
55
|
+
}
|
|
56
|
+
return chosen;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* An indoor leg of a journey, or nothing when its venue authored no usable door.
|
|
60
|
+
*
|
|
61
|
+
* `venue`, not `place`: a leg only exists where a door was authored, and only a
|
|
62
|
+
* venue has doors — the narrower word is the precise one on this side.
|
|
63
|
+
*/
|
|
64
|
+
function indoorLeg(kind, venue, door) {
|
|
65
|
+
return door ? [{ kind, venue: placeRef(venue), door, label: door.name ?? venue.name }] : [];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The journey planner seam: every cross-venue decision — whether a journey
|
|
69
|
+
* applies at all, which doors it uses, what its external leg targets, which
|
|
70
|
+
* provider URL the handoff opens, and how a journey degrades when data is
|
|
71
|
+
* missing — is made here, from plain inputs, and returned as a plain value.
|
|
72
|
+
*
|
|
73
|
+
* Connectivity is the sole trigger (ADR-0010): a graph-routable pair keeps the
|
|
74
|
+
* built-in route at any distance, and only the producer's authoring decision —
|
|
75
|
+
* pathway or no pathway — moves a pair across the line. There is deliberately
|
|
76
|
+
* no distance threshold to configure.
|
|
77
|
+
*
|
|
78
|
+
* A journey is up to three legs walked in order: out of the origin venue to its
|
|
79
|
+
* chosen exit, across the gap in the maps app, and from the destination venue's
|
|
80
|
+
* chosen entrance to the booth. Both indoor legs carry a door and nothing else
|
|
81
|
+
* — routing them is the engine's job, and a door reaches it as an ordinary
|
|
82
|
+
* route endpoint.
|
|
83
|
+
*
|
|
84
|
+
* A journey degrades with the data it is given rather than failing. A place
|
|
85
|
+
* with no authored door loses its indoor leg and hands the street leg its
|
|
86
|
+
* marker point instead of a door; a plan that authors none anywhere gets the
|
|
87
|
+
* single-leg journey it has always got. None of that is scaffolding — it is
|
|
88
|
+
* what most plans run on, permanently.
|
|
89
|
+
*
|
|
90
|
+
* An outdoor PoI takes the same path through this function without a branch of
|
|
91
|
+
* its own: it authors no doors because it has none, so the side it stands on
|
|
92
|
+
* loses its indoor leg exactly as an unauthored venue's would. Only the
|
|
93
|
+
* external leg's target kind records the difference, because only there does it
|
|
94
|
+
* matter that nothing is missing (ADR-0011).
|
|
95
|
+
*
|
|
96
|
+
* The three journey origins — live position, kiosk anchor, picked from-booth —
|
|
97
|
+
* are one concept here: the plan is identical whichever the user came in on,
|
|
98
|
+
* bar the handoff URL, which names the origin only when it is a place rather
|
|
99
|
+
* than a moving user.
|
|
100
|
+
*/
|
|
101
|
+
export function planJourney(request) {
|
|
102
|
+
const { enabled, connectivity, origin, originPoint, destination, destinationName, destinationPoint, platform, providerOverride, } = request;
|
|
103
|
+
// The flag decides first: off means no behavioral change anywhere.
|
|
104
|
+
if (!enabled)
|
|
105
|
+
return { outcome: 'none', reason: 'disabled' };
|
|
106
|
+
if (connectivity === 'routable')
|
|
107
|
+
return { outcome: 'none', reason: 'graph-connected' };
|
|
108
|
+
if (!origin || !destination)
|
|
109
|
+
return { outcome: 'none', reason: 'place-unknown' };
|
|
110
|
+
// Kind as well as id: a venue id and a booth slug are both slug-shaped and
|
|
111
|
+
// are drawn from different namespaces, so `id` alone would occasionally
|
|
112
|
+
// report two genuinely different places as one and swallow the journey.
|
|
113
|
+
if (origin.place.id === destination.id && origin.place.placeKind === destination.placeKind) {
|
|
114
|
+
return { outcome: 'none', reason: 'same-place' };
|
|
115
|
+
}
|
|
116
|
+
// A place we cannot put on the ground cannot be handed to a maps app; say so
|
|
117
|
+
// plainly rather than presenting a journey that goes nowhere.
|
|
118
|
+
if (!isUsableGeo(origin.place.geo) || !isUsableGeo(destination.geo)) {
|
|
119
|
+
return { outcome: 'no-route', reason: 'place-not-geo-anchored' };
|
|
120
|
+
}
|
|
121
|
+
const provider = resolveMapsProvider(platform, providerOverride);
|
|
122
|
+
// The exit is chosen first, because it is where the street leg begins: from
|
|
123
|
+
// where the visitor stands now, facing the place they are heading for. A
|
|
124
|
+
// place that authored no door keeps its marker point — the degraded exit
|
|
125
|
+
// every unauthored plan runs on.
|
|
126
|
+
const exitDoor = chooseEntrance(origin.place, originPoint, destination.geo);
|
|
127
|
+
const departure = exitDoor?.geo ?? origin.place.geo;
|
|
128
|
+
// Then the arrival door, approached from wherever the visitor is leaving —
|
|
129
|
+
// the exit door if there is one — and ranked by the walk that follows it.
|
|
130
|
+
const arrivalDoor = chooseEntrance(destination, destinationPoint, departure);
|
|
131
|
+
const target = arrivalDoor
|
|
132
|
+
? {
|
|
133
|
+
geo: arrivalDoor.geo,
|
|
134
|
+
kind: 'venue-entrance',
|
|
135
|
+
label: arrivalDoor.name ?? destination.name,
|
|
136
|
+
entrance: arrivalDoor.name,
|
|
137
|
+
}
|
|
138
|
+
: {
|
|
139
|
+
geo: destination.geo,
|
|
140
|
+
// A PoI is aimed at itself, which is not the same admission as aiming
|
|
141
|
+
// at a venue's marker: the venue is missing a door an author could have
|
|
142
|
+
// drawn, the PoI has nothing to be missing.
|
|
143
|
+
kind: destination.placeKind === 'outdoor-poi' ? 'outdoor-poi' : 'venue-marker',
|
|
144
|
+
label: destination.name,
|
|
145
|
+
};
|
|
146
|
+
const externalLeg = {
|
|
147
|
+
kind: 'external',
|
|
148
|
+
target,
|
|
149
|
+
// The gap itself, measured over the ground — the map sketches it and the
|
|
150
|
+
// label states its scale, so the user can judge the trip before handing off.
|
|
151
|
+
connector: {
|
|
152
|
+
from: departure,
|
|
153
|
+
to: target.geo,
|
|
154
|
+
distanceMeters: haversineDistance(departure, target.geo),
|
|
155
|
+
},
|
|
156
|
+
provider,
|
|
157
|
+
// A live position is the user's to tell the maps app, not ours: it moves,
|
|
158
|
+
// and the provider already tracks it. Every other origin stands still long
|
|
159
|
+
// enough to be worth naming, so the street preview runs A to B.
|
|
160
|
+
url: buildExternalHandoffUrl(provider, target.geo, origin.kind === 'live-position' ? undefined : departure),
|
|
161
|
+
};
|
|
162
|
+
const legs = [
|
|
163
|
+
...indoorLeg('exit', origin.place, exitDoor),
|
|
164
|
+
externalLeg,
|
|
165
|
+
...indoorLeg('arrival', destination, arrivalDoor),
|
|
166
|
+
];
|
|
167
|
+
return {
|
|
168
|
+
outcome: 'journey',
|
|
169
|
+
journey: {
|
|
170
|
+
origin: originRef(origin),
|
|
171
|
+
destination: placeRef(destination),
|
|
172
|
+
destinationName: destinationName ?? destination.name,
|
|
173
|
+
legs,
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
}
|