@expofp/floorplan 0.0.0-experimental.2d6c681
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/browser/Button-DT-Jfwrb.js +64 -0
- package/dist/browser/CookieConsent-BIsWzAiP.js +38 -0
- package/dist/browser/Debug-B5mmo0ZX.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B2klxORi.js +71 -0
- package/dist/browser/Free-suULW-LU.js +69 -0
- package/dist/browser/GalleryContainer-BGBNGRKU.js +3355 -0
- package/dist/browser/GpsLoader-Idv0kq5D.js +154 -0
- package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
- package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
- package/dist/browser/MaplibreAdapter-uZUhZfFW.js +36770 -0
- package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-NE2I9tiF.js +3715 -0
- package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
- package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
- package/dist/browser/ViewerMenuPanel-CTAjGsq2.js +133 -0
- package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
- package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
- package/dist/browser/boolean-editor-CYMx87em.js +149 -0
- package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
- package/dist/browser/bundle.json +422 -0
- package/dist/browser/camera-events-DSCuSH25.js +18 -0
- package/dist/browser/classnames-YcGXWNfg.js +39 -0
- package/dist/browser/client-BcPpS_Gj.js +7402 -0
- package/dist/browser/compat-helper.js +6 -0
- package/dist/browser/components-BjEhhgf2.js +7393 -0
- package/dist/browser/create-live-plan-BaEGBhGA.js +4046 -0
- package/dist/browser/debounce-raMZ2DqK.js +2102 -0
- package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
- package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
- package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
- package/dist/browser/dist-C1NaWqk4.js +2611 -0
- package/dist/browser/dist-Cx8u0gjK.js +21 -0
- package/dist/browser/dist-wOC6gYFh.js +205 -0
- package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
- package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
- package/dist/browser/es5-B__Ovz45.js +1712 -0
- package/dist/browser/event-head-C_inMpbD.js +56 -0
- package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
- package/dist/browser/expofp-overlay.png +0 -0
- package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
- package/dist/browser/exports-CvUYw1h6.js +1525 -0
- package/dist/browser/favicon-BkDrYTmU.js +12 -0
- package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
- package/dist/browser/flex-3lSivw8z.js +823 -0
- package/dist/browser/floorplan.loader-CGzIMplb.js +3282 -0
- package/dist/browser/floorplan.ready-r96zV9bP.js +1448 -0
- package/dist/browser/fonts/efp-symbols.woff +0 -0
- package/dist/browser/fonts/inter-400.woff2 +0 -0
- package/dist/browser/fonts/inter-500.woff2 +0 -0
- package/dist/browser/fonts/inter-600.woff2 +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
- package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
- package/dist/browser/fuse-B7V1lkoA.js +1177 -0
- package/dist/browser/i18n-BgFBhYOU.js +7205 -0
- package/dist/browser/icons/accessible.svg +5 -0
- package/dist/browser/icons/arrow-down.svg +3 -0
- package/dist/browser/icons/bus-white.svg +3 -0
- package/dist/browser/icons/check.svg +3 -0
- package/dist/browser/icons/clear.svg +4 -0
- package/dist/browser/icons/departure.svg +5 -0
- package/dist/browser/icons/departure_inactive.svg +5 -0
- package/dist/browser/icons/destination.svg +5 -0
- package/dist/browser/icons/direction.svg +54 -0
- package/dist/browser/icons/dots.svg +4 -0
- package/dist/browser/icons/dragdrop-solid.svg +11 -0
- package/dist/browser/icons/facebook.svg +4 -0
- package/dist/browser/icons/from.svg +4 -0
- package/dist/browser/icons/kiosk.svg +1 -0
- package/dist/browser/icons/linkedin.svg +3 -0
- package/dist/browser/icons/rotate.svg +5 -0
- package/dist/browser/icons/tap.svg +5 -0
- package/dist/browser/icons/to.svg +4 -0
- package/dist/browser/icons/transition.svg +7 -0
- package/dist/browser/icons/transition_down.svg +15 -0
- package/dist/browser/icons/transition_up.svg +15 -0
- package/dist/browser/icons/twitter.svg +3 -0
- package/dist/browser/icons/yah.svg +17 -0
- package/dist/browser/index.html +139 -0
- package/dist/browser/index.js +254 -0
- package/dist/browser/index.module-kJmnWg5B.js +153 -0
- package/dist/browser/integrateKiosk-D45vYRsm.js +35 -0
- package/dist/browser/is-debug-BRHdrnKr.js +197 -0
- package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
- package/dist/browser/is-webview-cTH4yz8f.js +12 -0
- package/dist/browser/journey-plan-DtL28HMP.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-DfkGlDkT.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-CnYhnC_7.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-DzSnRAxX.js +30 -0
- package/dist/browser/locales/ar.json +228 -0
- package/dist/browser/locales/da.json +229 -0
- package/dist/browser/locales/de.json +228 -0
- package/dist/browser/locales/es.json +228 -0
- package/dist/browser/locales/fr.json +228 -0
- package/dist/browser/locales/he.json +228 -0
- package/dist/browser/locales/it.json +228 -0
- package/dist/browser/locales/kk.json +228 -0
- package/dist/browser/locales/ko.json +228 -0
- package/dist/browser/locales/mn.json +228 -0
- package/dist/browser/locales/nl.json +228 -0
- package/dist/browser/locales/pl.json +228 -0
- package/dist/browser/locales/pt.json +228 -0
- package/dist/browser/locales/ru.json +228 -0
- package/dist/browser/locales/sv.json +228 -0
- package/dist/browser/locales/th.json +228 -0
- package/dist/browser/locales/tr.json +228 -0
- package/dist/browser/locales/uk.json +228 -0
- package/dist/browser/locales/vi.json +228 -0
- package/dist/browser/locales/zh.json +228 -0
- package/dist/browser/logDeviceInfo-BTqyv9Xe.js +58 -0
- package/dist/browser/mobx-C-kcS0zI.js +43 -0
- package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
- package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
- package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
- package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
- package/dist/browser/particles.min-eC5xdOrB.js +133 -0
- package/dist/browser/react-DqPP-mkq.js +301 -0
- package/dist/browser/react-dom-BkVzoZWO.js +139 -0
- package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
- package/dist/browser/scheduler-NBuuaWIe.js +212 -0
- package/dist/browser/select-Cxf-YiNA.js +1367 -0
- package/dist/browser/settings-D74eG9h8.js +9 -0
- package/dist/browser/settings-item-DUUbKec_.js +76 -0
- package/dist/browser/store-q_CTsixH.js +58 -0
- package/dist/browser/string-editor-CINOmY_C.js +30 -0
- package/dist/browser/text-field-DORaOVht.js +88 -0
- package/dist/browser/theme-DyFm9MGz.js +2803 -0
- package/dist/browser/ui-DsCU3FV6.js +43 -0
- package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
- package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
- package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
- package/dist/browser/venue-public-BA3x-n4N.js +296 -0
- package/dist/browser/venues-DKpIy-87.js +447 -0
- package/dist/browser/viewport-B7plho3P.js +48 -0
- package/dist/browser/warning.png +0 -0
- package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
- package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
- package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
- package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
- package/dist/esm/components/AlertContainer.d.ts +4 -0
- package/dist/esm/components/AlertContainer.js +8 -0
- package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
- package/dist/esm/components/AutocompleteContainer.js +14 -0
- package/dist/esm/components/BaseFilterModal.d.ts +11 -0
- package/dist/esm/components/BaseFilterModal.js +73 -0
- package/dist/esm/components/Bookmarks.d.ts +3 -0
- package/dist/esm/components/Bookmarks.js +26 -0
- package/dist/esm/components/Booth/Booth.d.ts +5 -0
- package/dist/esm/components/Booth/Booth.js +135 -0
- package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
- package/dist/esm/components/Booth/BoothOnHold.js +11 -0
- package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
- package/dist/esm/components/Booth/BoothReserved.js +7 -0
- package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
- package/dist/esm/components/Booth/BoothSpecial.js +4 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
- package/dist/esm/components/Category.d.ts +5 -0
- package/dist/esm/components/Category.js +25 -0
- package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
- package/dist/esm/components/CategoryFilterModal.js +63 -0
- package/dist/esm/components/CookieConsent.d.ts +9 -0
- package/dist/esm/components/CookieConsent.js +9 -0
- package/dist/esm/components/Debug.d.ts +5 -0
- package/dist/esm/components/Debug.js +15 -0
- package/dist/esm/components/Demo.d.ts +4 -0
- package/dist/esm/components/Demo.js +37 -0
- package/dist/esm/components/DownloadListContainer.d.ts +5 -0
- package/dist/esm/components/DownloadListContainer.js +8 -0
- package/dist/esm/components/EntityItemContainer.d.ts +28 -0
- package/dist/esm/components/EntityItemContainer.js +36 -0
- package/dist/esm/components/EntityList.d.ts +9 -0
- package/dist/esm/components/EntityList.js +144 -0
- package/dist/esm/components/EntityListRow.d.ts +13 -0
- package/dist/esm/components/EntityListRow.js +78 -0
- package/dist/esm/components/ErrorBoundary.d.ts +15 -0
- package/dist/esm/components/ErrorBoundary.js +29 -0
- package/dist/esm/components/Event.d.ts +5 -0
- package/dist/esm/components/Event.js +167 -0
- package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
- package/dist/esm/components/EventBadgeContainer.js +29 -0
- package/dist/esm/components/Exhibitor.d.ts +5 -0
- package/dist/esm/components/Exhibitor.js +299 -0
- package/dist/esm/components/Filter.d.ts +4 -0
- package/dist/esm/components/Filter.js +24 -0
- package/dist/esm/components/Free.d.ts +4 -0
- package/dist/esm/components/Free.js +31 -0
- package/dist/esm/components/GalleryContainer.d.ts +6 -0
- package/dist/esm/components/GalleryContainer.js +55 -0
- package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
- package/dist/esm/components/GlobalErrorMessage.js +9 -0
- package/dist/esm/components/GpsLoader.d.ts +5 -0
- package/dist/esm/components/GpsLoader.js +29 -0
- package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
- package/dist/esm/components/HeatmapLegendContainer.js +13 -0
- package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
- package/dist/esm/components/HighlightTextContainer.js +10 -0
- package/dist/esm/components/IntercomLauncher.d.ts +5 -0
- package/dist/esm/components/IntercomLauncher.js +20 -0
- package/dist/esm/components/JourneyPanel.d.ts +35 -0
- package/dist/esm/components/JourneyPanel.js +68 -0
- package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
- package/dist/esm/components/Kiosk/KioskStore.js +411 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
- package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
- package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
- package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
- package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
- package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
- package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
- package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
- package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
- package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +47 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
- package/dist/esm/components/Language.d.ts +4 -0
- package/dist/esm/components/Language.js +15 -0
- package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
- package/dist/esm/components/LanguageRowContainer.js +9 -0
- package/dist/esm/components/Layout.d.ts +11 -0
- package/dist/esm/components/Layout.js +160 -0
- package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
- package/dist/esm/components/LevelBadgeContainer.js +10 -0
- package/dist/esm/components/List.d.ts +9 -0
- package/dist/esm/components/List.js +77 -0
- package/dist/esm/components/LogoOverlay.d.ts +3 -0
- package/dist/esm/components/LogoOverlay.js +78 -0
- package/dist/esm/components/Map/Map.d.ts +2 -0
- package/dist/esm/components/Map/Map.js +242 -0
- package/dist/esm/components/Map/MapCamera.d.ts +17 -0
- package/dist/esm/components/Map/MapCamera.js +194 -0
- package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
- package/dist/esm/components/Map/MapCursorCoords.js +61 -0
- package/dist/esm/components/Map/MapViewport.d.ts +12 -0
- package/dist/esm/components/Map/MapViewport.js +29 -0
- package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
- package/dist/esm/components/Map/booth-by-xy.js +128 -0
- package/dist/esm/components/Map/camera-events.d.ts +19 -0
- package/dist/esm/components/Map/camera-events.js +26 -0
- package/dist/esm/components/Map/camera.d.ts +48 -0
- package/dist/esm/components/Map/camera.js +43 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
- package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
- package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
- package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
- package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
- package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
- package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
- package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
- package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
- package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
- package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
- package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
- package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
- package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
- package/dist/esm/components/Map/framing-rect.d.ts +16 -0
- package/dist/esm/components/Map/framing-rect.js +24 -0
- package/dist/esm/components/Map/pointer.d.ts +79 -0
- package/dist/esm/components/Map/pointer.js +181 -0
- package/dist/esm/components/Map/scene.d.ts +20 -0
- package/dist/esm/components/Map/scene.js +24 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
- package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
- package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
- package/dist/esm/components/Map/viewport.d.ts +63 -0
- package/dist/esm/components/Map/viewport.js +82 -0
- package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
- package/dist/esm/components/Map/with-kiosk.js +25 -0
- package/dist/esm/components/MapControlsContainer.d.ts +3 -0
- package/dist/esm/components/MapControlsContainer.js +58 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
- package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
- package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
- package/dist/esm/components/Maplibre/useDimming.js +61 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
- package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
- package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
- package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
- package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
- package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
- package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/solver.js +238 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
- package/dist/esm/components/Menu.d.ts +11 -0
- package/dist/esm/components/Menu.js +94 -0
- package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
- package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
- package/dist/esm/components/ModalContainer.d.ts +41 -0
- package/dist/esm/components/ModalContainer.js +10 -0
- package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
- package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
- package/dist/esm/components/OverlayContainer.d.ts +8 -0
- package/dist/esm/components/OverlayContainer.js +82 -0
- package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
- package/dist/esm/components/OverlayGripContainer.js +11 -0
- package/dist/esm/components/OverlayParticles.d.ts +5 -0
- package/dist/esm/components/OverlayParticles.js +54 -0
- package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
- package/dist/esm/components/PlanSelectorContainer.js +79 -0
- package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
- package/dist/esm/components/RebookingNotesContainer.js +8 -0
- package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
- package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
- package/dist/esm/components/RouteQR.d.ts +12 -0
- package/dist/esm/components/RouteQR.js +10 -0
- package/dist/esm/components/Schedule.d.ts +13 -0
- package/dist/esm/components/Schedule.js +109 -0
- package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
- package/dist/esm/components/ScrollableRowContainer.js +11 -0
- package/dist/esm/components/Search.d.ts +5 -0
- package/dist/esm/components/Search.js +45 -0
- package/dist/esm/components/SearchBox.d.ts +7 -0
- package/dist/esm/components/SearchBox.js +171 -0
- package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
- package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
- package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
- package/dist/esm/components/SearchButtons/SearchButtons.js +25 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
- package/dist/esm/components/SearchButtons/index.d.ts +7 -0
- package/dist/esm/components/SearchButtons/index.js +5 -0
- package/dist/esm/components/Sessions.d.ts +8 -0
- package/dist/esm/components/Sessions.js +128 -0
- package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
- package/dist/esm/components/SessionsFiltersModal.js +105 -0
- package/dist/esm/components/SessionsList.d.ts +12 -0
- package/dist/esm/components/SessionsList.js +212 -0
- package/dist/esm/components/ShareContainer.d.ts +7 -0
- package/dist/esm/components/ShareContainer.js +29 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
- package/dist/esm/components/Shortcuts/index.d.ts +4 -0
- package/dist/esm/components/Shortcuts/index.js +4 -0
- package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
- package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
- package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
- package/dist/esm/components/SidebarActionsContainer.js +8 -0
- package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
- package/dist/esm/components/SimpleRowContainer.js +8 -0
- package/dist/esm/components/Speaker.d.ts +5 -0
- package/dist/esm/components/Speaker.js +72 -0
- package/dist/esm/components/Speakers.d.ts +8 -0
- package/dist/esm/components/Speakers.js +63 -0
- package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
- package/dist/esm/components/SpeakersFiltersModal.js +77 -0
- package/dist/esm/components/TourPoints.d.ts +4 -0
- package/dist/esm/components/TourPoints.js +20 -0
- package/dist/esm/components/Tours.d.ts +7 -0
- package/dist/esm/components/Tours.js +54 -0
- package/dist/esm/components/ToursList.d.ts +10 -0
- package/dist/esm/components/ToursList.js +22 -0
- package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
- package/dist/esm/components/ViewerMenuPanel.js +61 -0
- package/dist/esm/components/Visited.d.ts +4 -0
- package/dist/esm/components/Visited.js +13 -0
- package/dist/esm/components/WayInformation.d.ts +14 -0
- package/dist/esm/components/WayInformation.js +8 -0
- package/dist/esm/components/Wayfinding.d.ts +4 -0
- package/dist/esm/components/Wayfinding.js +285 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
- package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
- package/dist/esm/components/WayfindingTemplate.js +14 -0
- package/dist/esm/components/Ws.d.ts +5 -0
- package/dist/esm/components/Ws.js +131 -0
- package/dist/esm/components/YahRow.d.ts +8 -0
- package/dist/esm/components/YahRow.js +25 -0
- package/dist/esm/components/gps/GpsManager.d.ts +13 -0
- package/dist/esm/components/gps/GpsManager.js +60 -0
- package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
- package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
- package/dist/esm/components/gps/index.d.ts +5 -0
- package/dist/esm/components/gps/index.js +3 -0
- package/dist/esm/components/gps/types.d.ts +7 -0
- package/dist/esm/components/gps/types.js +1 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
- package/dist/esm/components/gps/utils.d.ts +5 -0
- package/dist/esm/components/gps/utils.js +11 -0
- package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
- package/dist/esm/components/heatmap-legend-ticks.js +18 -0
- package/dist/esm/components/index.d.ts +114 -0
- package/dist/esm/components/index.js +76 -0
- package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
- package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
- package/dist/esm/components/utils/getDescription.d.ts +19 -0
- package/dist/esm/components/utils/getDescription.js +35 -0
- package/dist/esm/constants.d.ts +44 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/data/fp-payloads.d.ts +27 -0
- package/dist/esm/data/fp-payloads.js +53 -0
- package/dist/esm/data/fpGeo.d.ts +45 -0
- package/dist/esm/data/fpGeo.js +9 -0
- package/dist/esm/data/index.d.ts +15 -0
- package/dist/esm/data/index.js +15 -0
- package/dist/esm/data/layer-viewbox.d.ts +10 -0
- package/dist/esm/data/layer-viewbox.js +20 -0
- package/dist/esm/data/svg.d.ts +43 -0
- package/dist/esm/data/svg.js +210 -0
- package/dist/esm/data/tours.json +280 -0
- package/dist/esm/data/venue-scene-preload.d.ts +34 -0
- package/dist/esm/data/venue-scene-preload.js +205 -0
- package/dist/esm/data/venues.d.ts +145 -0
- package/dist/esm/data/venues.js +955 -0
- package/dist/esm/engine/defs.d.ts +38 -0
- package/dist/esm/engine/defs.js +85 -0
- package/dist/esm/engine/fonts.d.ts +9 -0
- package/dist/esm/engine/fonts.js +12 -0
- package/dist/esm/engine/update-def.d.ts +55 -0
- package/dist/esm/engine/update-def.js +127 -0
- package/dist/esm/engine/utils/rotation.d.ts +13 -0
- package/dist/esm/engine/utils/rotation.js +73 -0
- package/dist/esm/floorplan.loader.d.ts +164 -0
- package/dist/esm/floorplan.loader.js +540 -0
- package/dist/esm/floorplan.ready.d.ts +149 -0
- package/dist/esm/floorplan.ready.js +1083 -0
- package/dist/esm/hooks/useURLFilters.d.ts +15 -0
- package/dist/esm/hooks/useURLFilters.js +44 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +47 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +74 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/internal-settings.d.ts +13 -0
- package/dist/esm/internal-settings.js +6 -0
- package/dist/esm/journey/external-navigation.d.ts +30 -0
- package/dist/esm/journey/external-navigation.js +38 -0
- package/dist/esm/journey/format-distance.d.ts +14 -0
- package/dist/esm/journey/format-distance.js +38 -0
- package/dist/esm/journey/index.d.ts +16 -0
- package/dist/esm/journey/index.js +15 -0
- package/dist/esm/journey/journey-context.d.ts +140 -0
- package/dist/esm/journey/journey-context.js +137 -0
- package/dist/esm/journey/journey-link.d.ts +49 -0
- package/dist/esm/journey/journey-link.js +35 -0
- package/dist/esm/journey/journey-stage.d.ts +35 -0
- package/dist/esm/journey/journey-stage.js +28 -0
- package/dist/esm/journey/maps-provider.d.ts +36 -0
- package/dist/esm/journey/maps-provider.js +58 -0
- package/dist/esm/journey/plan-journey.d.ts +37 -0
- package/dist/esm/journey/plan-journey.js +176 -0
- package/dist/esm/journey/types.d.ts +294 -0
- package/dist/esm/journey/types.js +1 -0
- package/dist/esm/load-dev.d.ts +44 -0
- package/dist/esm/load-dev.js +60 -0
- package/dist/esm/load.d.ts +17 -0
- package/dist/esm/load.js +244 -0
- package/dist/esm/locales.d.ts +25 -0
- package/dist/esm/locales.js +23 -0
- package/dist/esm/offline/constants.d.ts +5 -0
- package/dist/esm/offline/constants.js +4 -0
- package/dist/esm/offline/offlineManager.d.ts +2 -0
- package/dist/esm/offline/offlineManager.js +78 -0
- package/dist/esm/plan-lifecycle.d.ts +65 -0
- package/dist/esm/plan-lifecycle.js +97 -0
- package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
- package/dist/esm/schemas/sdk.schemas.js +24 -0
- package/dist/esm/services/URLFilterManager.d.ts +39 -0
- package/dist/esm/services/URLFilterManager.js +379 -0
- package/dist/esm/services/multi-slug.d.ts +20 -0
- package/dist/esm/services/multi-slug.js +30 -0
- package/dist/esm/services/url-dispatch.d.ts +22 -0
- package/dist/esm/services/url-dispatch.js +707 -0
- package/dist/esm/services/url-sync.d.ts +40 -0
- package/dist/esm/services/url-sync.js +185 -0
- package/dist/esm/store/BaseFilterStore.d.ts +17 -0
- package/dist/esm/store/BaseFilterStore.js +63 -0
- package/dist/esm/store/BookmarksStore.d.ts +9 -0
- package/dist/esm/store/BookmarksStore.js +28 -0
- package/dist/esm/store/BoothStore.d.ts +105 -0
- package/dist/esm/store/BoothStore.js +194 -0
- package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
- package/dist/esm/store/CategoryFilterStore.js +60 -0
- package/dist/esm/store/CategoryStore.d.ts +21 -0
- package/dist/esm/store/CategoryStore.js +30 -0
- package/dist/esm/store/EventStore.d.ts +56 -0
- package/dist/esm/store/EventStore.js +188 -0
- package/dist/esm/store/ExhibitorStore.d.ts +86 -0
- package/dist/esm/store/ExhibitorStore.js +175 -0
- package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
- package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
- package/dist/esm/store/HeatmapStore.d.ts +51 -0
- package/dist/esm/store/HeatmapStore.js +100 -0
- package/dist/esm/store/IntercomStore.d.ts +7 -0
- package/dist/esm/store/IntercomStore.js +26 -0
- package/dist/esm/store/LayerStore.d.ts +70 -0
- package/dist/esm/store/LayerStore.js +399 -0
- package/dist/esm/store/MaplibreStore.d.ts +71 -0
- package/dist/esm/store/MaplibreStore.js +137 -0
- package/dist/esm/store/OverlayStore.d.ts +32 -0
- package/dist/esm/store/OverlayStore.js +68 -0
- package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
- package/dist/esm/store/PoiMarkerStore.js +97 -0
- package/dist/esm/store/PoiTypeStore.d.ts +8 -0
- package/dist/esm/store/PoiTypeStore.js +6 -0
- package/dist/esm/store/RootStore.d.ts +118 -0
- package/dist/esm/store/RootStore.js +666 -0
- package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
- package/dist/esm/store/RoutePlannerStore.js +322 -0
- package/dist/esm/store/RouteStore.d.ts +138 -0
- package/dist/esm/store/RouteStore.js +692 -0
- package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
- package/dist/esm/store/SearchButtonsStore.js +2 -0
- package/dist/esm/store/SearchStore.d.ts +81 -0
- package/dist/esm/store/SearchStore.js +612 -0
- package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
- package/dist/esm/store/SessionsFilterStore.js +169 -0
- package/dist/esm/store/ShortcutProvider.d.ts +26 -0
- package/dist/esm/store/ShortcutProvider.js +5 -0
- package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
- package/dist/esm/store/ShortcutRegistry.js +130 -0
- package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
- package/dist/esm/store/SpeakerFilterStore.js +152 -0
- package/dist/esm/store/SpeakerStore.d.ts +45 -0
- package/dist/esm/store/SpeakerStore.js +142 -0
- package/dist/esm/store/SubButtonProvider.d.ts +16 -0
- package/dist/esm/store/SubButtonProvider.js +6 -0
- package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
- package/dist/esm/store/SubButtonRegistry.js +58 -0
- package/dist/esm/store/ToursStore.d.ts +30 -0
- package/dist/esm/store/ToursStore.js +184 -0
- package/dist/esm/store/UIState.d.ts +329 -0
- package/dist/esm/store/UIState.js +2138 -0
- package/dist/esm/store/VenueStore.d.ts +254 -0
- package/dist/esm/store/VenueStore.js +650 -0
- package/dist/esm/store/create-live-plan.d.ts +13 -0
- package/dist/esm/store/create-live-plan.js +25 -0
- package/dist/esm/store/details-events.d.ts +11 -0
- package/dist/esm/store/details-events.js +76 -0
- package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
- package/dist/esm/store/floor-activated-notifier.js +22 -0
- package/dist/esm/store/index.d.ts +3 -0
- package/dist/esm/store/index.js +14 -0
- package/dist/esm/store/init/index.d.ts +3 -0
- package/dist/esm/store/init/index.js +20 -0
- package/dist/esm/store/init/init-booths.d.ts +6 -0
- package/dist/esm/store/init/init-booths.js +306 -0
- package/dist/esm/store/init/init-categories.d.ts +3 -0
- package/dist/esm/store/init/init-categories.js +28 -0
- package/dist/esm/store/init/init-events.d.ts +3 -0
- package/dist/esm/store/init/init-events.js +45 -0
- package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
- package/dist/esm/store/init/init-exhibitors.js +71 -0
- package/dist/esm/store/init/init-heatmap.d.ts +3 -0
- package/dist/esm/store/init/init-heatmap.js +37 -0
- package/dist/esm/store/init/init-layers.d.ts +8 -0
- package/dist/esm/store/init/init-layers.js +151 -0
- package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
- package/dist/esm/store/init/init-poiTypes.js +6 -0
- package/dist/esm/store/init/init-speakers.d.ts +3 -0
- package/dist/esm/store/init/init-speakers.js +20 -0
- package/dist/esm/store/init/init-ui.d.ts +13 -0
- package/dist/esm/store/init/init-ui.js +155 -0
- package/dist/esm/store/journey-plan.d.ts +89 -0
- package/dist/esm/store/journey-plan.js +291 -0
- package/dist/esm/store/live-store.d.ts +19 -0
- package/dist/esm/store/live-store.js +26 -0
- package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
- package/dist/esm/store/outdoor-poi-filter.js +33 -0
- package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
- package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
- package/dist/esm/store/reveal-layer.d.ts +29 -0
- package/dist/esm/store/reveal-layer.js +25 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
- package/dist/esm/store/search-buttons/constants.d.ts +24 -0
- package/dist/esm/store/search-buttons/constants.js +24 -0
- package/dist/esm/store/search-buttons/index.d.ts +8 -0
- package/dist/esm/store/search-buttons/index.js +7 -0
- package/dist/esm/store/search-buttons/utils.d.ts +6 -0
- package/dist/esm/store/search-buttons/utils.js +34 -0
- package/dist/esm/store/types.d.ts +213 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/venue-public.d.ts +10 -0
- package/dist/esm/store/venue-public.js +14 -0
- package/dist/esm/store/venue-selection.d.ts +45 -0
- package/dist/esm/store/venue-selection.js +101 -0
- package/dist/esm/test/store-harness.d.ts +32 -0
- package/dist/esm/test/store-harness.js +116 -0
- package/dist/esm/tools/base-runtime-url.d.ts +3 -0
- package/dist/esm/tools/base-runtime-url.js +23 -0
- package/dist/esm/tools/debounce.d.ts +2 -0
- package/dist/esm/tools/debounce.js +10 -0
- package/dist/esm/tools/debugCanvases.d.ts +3 -0
- package/dist/esm/tools/debugCanvases.js +3 -0
- package/dist/esm/tools/event-not-found.d.ts +18 -0
- package/dist/esm/tools/event-not-found.js +50 -0
- package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
- package/dist/esm/tools/event-scoped-cache.js +47 -0
- package/dist/esm/tools/expofpUrl.d.ts +7 -0
- package/dist/esm/tools/expofpUrl.js +10 -0
- package/dist/esm/tools/freeBanner.d.ts +5 -0
- package/dist/esm/tools/freeBanner.js +11 -0
- package/dist/esm/tools/gtag.d.ts +66 -0
- package/dist/esm/tools/gtag.js +287 -0
- package/dist/esm/tools/handleDebugMode.d.ts +19 -0
- package/dist/esm/tools/handleDebugMode.js +61 -0
- package/dist/esm/tools/has-html-tags.d.ts +2 -0
- package/dist/esm/tools/has-html-tags.js +3 -0
- package/dist/esm/tools/id.d.ts +2 -0
- package/dist/esm/tools/id.js +5 -0
- package/dist/esm/tools/loaders.d.ts +5 -0
- package/dist/esm/tools/loaders.js +67 -0
- package/dist/esm/tools/logger.d.ts +38 -0
- package/dist/esm/tools/logger.js +87 -0
- package/dist/esm/tools/rebooking-config.d.ts +10 -0
- package/dist/esm/tools/rebooking-config.js +19 -0
- package/dist/esm/tools/rebookingUrl.d.ts +11 -0
- package/dist/esm/tools/rebookingUrl.js +27 -0
- package/dist/esm/tools/report-error.d.ts +2 -0
- package/dist/esm/tools/report-error.js +134 -0
- package/dist/esm/tools/reset.d.ts +2 -0
- package/dist/esm/tools/reset.js +35 -0
- package/dist/esm/tools/sentry.d.ts +7 -0
- package/dist/esm/tools/sentry.js +166 -0
- package/dist/esm/tools/settings.d.ts +36 -0
- package/dist/esm/tools/settings.js +110 -0
- package/dist/esm/tools/slug.d.ts +2 -0
- package/dist/esm/tools/slug.js +27 -0
- package/dist/esm/tools/strip-html.d.ts +2 -0
- package/dist/esm/tools/strip-html.js +7 -0
- package/dist/esm/tools/style-registry.d.ts +28 -0
- package/dist/esm/tools/style-registry.js +46 -0
- package/dist/esm/tools/telemetry.d.ts +37 -0
- package/dist/esm/tools/telemetry.js +266 -0
- package/dist/esm/tools/track-event.d.ts +28 -0
- package/dist/esm/tools/track-event.js +196 -0
- package/dist/esm/tools/webgl-logger.d.ts +2 -0
- package/dist/esm/tools/webgl-logger.js +31 -0
- package/dist/esm/types/drawing.types.d.ts +18 -0
- package/dist/esm/types/drawing.types.js +1 -0
- package/dist/esm/types/sdk.types.d.ts +49 -0
- package/dist/esm/types/sdk.types.js +6 -0
- package/dist/esm/types.d.ts +593 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
- package/dist/esm/utils/_OLD_gpu-info.js +23 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
- package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
- package/dist/esm/utils/areLayersEnabled.js +4 -0
- package/dist/esm/utils/blob-image-size.d.ts +27 -0
- package/dist/esm/utils/blob-image-size.js +37 -0
- package/dist/esm/utils/brand.d.ts +18 -0
- package/dist/esm/utils/brand.js +19 -0
- package/dist/esm/utils/browser.d.ts +4 -0
- package/dist/esm/utils/browser.js +4 -0
- package/dist/esm/utils/calcSpeed.d.ts +2 -0
- package/dist/esm/utils/calcSpeed.js +5 -0
- package/dist/esm/utils/calcTravelTime.d.ts +2 -0
- package/dist/esm/utils/calcTravelTime.js +3 -0
- package/dist/esm/utils/camera-map-settings.d.ts +26 -0
- package/dist/esm/utils/camera-map-settings.js +86 -0
- package/dist/esm/utils/color-gradient.d.ts +2 -0
- package/dist/esm/utils/color-gradient.js +14 -0
- package/dist/esm/utils/customCommands.d.ts +2 -0
- package/dist/esm/utils/customCommands.js +33 -0
- package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
- package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
- package/dist/esm/utils/dimming.d.ts +27 -0
- package/dist/esm/utils/dimming.js +88 -0
- package/dist/esm/utils/entity-storage.d.ts +14 -0
- package/dist/esm/utils/entity-storage.js +122 -0
- package/dist/esm/utils/event-head.d.ts +38 -0
- package/dist/esm/utils/event-head.js +90 -0
- package/dist/esm/utils/event-now.d.ts +11 -0
- package/dist/esm/utils/event-now.js +40 -0
- package/dist/esm/utils/event-title.d.ts +19 -0
- package/dist/esm/utils/event-title.js +20 -0
- package/dist/esm/utils/eventFullBadge.d.ts +3 -0
- package/dist/esm/utils/eventFullBadge.js +7 -0
- package/dist/esm/utils/eventTime.d.ts +15 -0
- package/dist/esm/utils/eventTime.js +82 -0
- package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
- package/dist/esm/utils/extractMetaFromString.js +16 -0
- package/dist/esm/utils/geo-anchors.d.ts +10 -0
- package/dist/esm/utils/geo-anchors.js +12 -0
- package/dist/esm/utils/geometry.d.ts +2 -0
- package/dist/esm/utils/geometry.js +12 -0
- package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
- package/dist/esm/utils/getContrastTextColor.js +26 -0
- package/dist/esm/utils/getLogoUrl.d.ts +9 -0
- package/dist/esm/utils/getLogoUrl.js +26 -0
- package/dist/esm/utils/getMostFrequent.d.ts +2 -0
- package/dist/esm/utils/getMostFrequent.js +14 -0
- package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
- package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
- package/dist/esm/utils/gps.d.ts +40 -0
- package/dist/esm/utils/gps.js +66 -0
- package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
- package/dist/esm/utils/heatmap-enabled.js +13 -0
- package/dist/esm/utils/i18n.d.ts +18 -0
- package/dist/esm/utils/i18n.js +117 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.js +60 -0
- package/dist/esm/utils/is-debug.d.ts +3 -0
- package/dist/esm/utils/is-debug.js +9 -0
- package/dist/esm/utils/is-from-designer.d.ts +3 -0
- package/dist/esm/utils/is-from-designer.js +4 -0
- package/dist/esm/utils/is-iframe.d.ts +3 -0
- package/dist/esm/utils/is-iframe.js +13 -0
- package/dist/esm/utils/is-localhost.d.ts +3 -0
- package/dist/esm/utils/is-localhost.js +11 -0
- package/dist/esm/utils/is-mac.d.ts +3 -0
- package/dist/esm/utils/is-mac.js +2 -0
- package/dist/esm/utils/is-mobile.d.ts +3 -0
- package/dist/esm/utils/is-mobile.js +2 -0
- package/dist/esm/utils/is-own-domain.d.ts +12 -0
- package/dist/esm/utils/is-own-domain.js +23 -0
- package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
- package/dist/esm/utils/is-pathway-layer.js +4 -0
- package/dist/esm/utils/is-phone.d.ts +9 -0
- package/dist/esm/utils/is-phone.js +17 -0
- package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
- package/dist/esm/utils/is-scroll-ugly.js +13 -0
- package/dist/esm/utils/is-webview.d.ts +3 -0
- package/dist/esm/utils/is-webview.js +2 -0
- package/dist/esm/utils/isNumericLevel.d.ts +2 -0
- package/dist/esm/utils/isNumericLevel.js +3 -0
- package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
- package/dist/esm/utils/lazy-qr-code.js +6 -0
- package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
- package/dist/esm/utils/legacy-storage-keys.js +38 -0
- package/dist/esm/utils/loadBlob.d.ts +16 -0
- package/dist/esm/utils/loadBlob.js +40 -0
- package/dist/esm/utils/loadCustomCss.d.ts +3 -0
- package/dist/esm/utils/loadCustomCss.js +19 -0
- package/dist/esm/utils/loadIcons.d.ts +3 -0
- package/dist/esm/utils/loadIcons.js +24 -0
- package/dist/esm/utils/loadImage.d.ts +2 -0
- package/dist/esm/utils/loadImage.js +11 -0
- package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
- package/dist/esm/utils/loadImagesInBatches.js +82 -0
- package/dist/esm/utils/loadLayerImages.d.ts +41 -0
- package/dist/esm/utils/loadLayerImages.js +107 -0
- package/dist/esm/utils/localStorage.d.ts +2 -0
- package/dist/esm/utils/localStorage.js +11 -0
- package/dist/esm/utils/lz-utils.d.ts +8 -0
- package/dist/esm/utils/lz-utils.js +16 -0
- package/dist/esm/utils/mapEntity.d.ts +3 -0
- package/dist/esm/utils/mapEntity.js +82 -0
- package/dist/esm/utils/math.d.ts +6 -0
- package/dist/esm/utils/math.js +7 -0
- package/dist/esm/utils/mobx.d.ts +35 -0
- package/dist/esm/utils/mobx.js +74 -0
- package/dist/esm/utils/outdoor-poi.d.ts +32 -0
- package/dist/esm/utils/outdoor-poi.js +28 -0
- package/dist/esm/utils/plan-reactions.d.ts +20 -0
- package/dist/esm/utils/plan-reactions.js +26 -0
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +15 -0
- package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
- package/dist/esm/utils/preview-exhibitor.js +19 -0
- package/dist/esm/utils/rasterize-svg.d.ts +32 -0
- package/dist/esm/utils/rasterize-svg.js +78 -0
- package/dist/esm/utils/responsiveClass.d.ts +2 -0
- package/dist/esm/utils/responsiveClass.js +25 -0
- package/dist/esm/utils/rtl.d.ts +2 -0
- package/dist/esm/utils/rtl.js +4 -0
- package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
- package/dist/esm/utils/sanitizeHtml.js +21 -0
- package/dist/esm/utils/sanitizeText.d.ts +9 -0
- package/dist/esm/utils/sanitizeText.js +19 -0
- package/dist/esm/utils/scene-bounds.d.ts +64 -0
- package/dist/esm/utils/scene-bounds.js +127 -0
- package/dist/esm/utils/shortenName.d.ts +2 -0
- package/dist/esm/utils/shortenName.js +19 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
- package/dist/esm/utils/strEqual.d.ts +2 -0
- package/dist/esm/utils/strEqual.js +3 -0
- package/dist/esm/utils/swappable-proxy.d.ts +28 -0
- package/dist/esm/utils/swappable-proxy.js +71 -0
- package/dist/esm/utils/trackingParams.d.ts +3 -0
- package/dist/esm/utils/trackingParams.js +24 -0
- package/dist/esm/utils/urlEncoding.d.ts +7 -0
- package/dist/esm/utils/urlEncoding.js +62 -0
- package/dist/esm/utils/use-shadow.d.ts +3 -0
- package/dist/esm/utils/use-shadow.js +10 -0
- package/dist/esm/utils/useHeatmapData.d.ts +10 -0
- package/dist/esm/utils/useHeatmapData.js +8 -0
- package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
- package/dist/esm/utils/useHeatmapOverlay.js +56 -0
- package/dist/esm/utils/useRenderTarget.d.ts +2 -0
- package/dist/esm/utils/useRenderTarget.js +35 -0
- package/dist/esm/utils/yah_icon.d.ts +6 -0
- package/dist/esm/utils/yah_icon.js +457 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.d.ts +13 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.js +25 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
- package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +49 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +87 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +10 -0
- package/dist/esm/wayfinding/adapters/index.js +8 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
- package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
- package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
- package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
- package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
- package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
- package/dist/esm/wayfinding/createWayfinding.js +184 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
- package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
- package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
- package/dist/esm/wayfinding/index.d.ts +12 -0
- package/dist/esm/wayfinding/index.js +9 -0
- package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
- package/dist/esm/wayfinding/routeSteps.js +29 -0
- package/dist/esm/wayfinding/storePorts.d.ts +67 -0
- package/dist/esm/wayfinding/storePorts.js +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { BOOTHS_PAINTER_MARKER, SEPARATOR } from '../../../../constants';
|
|
2
|
+
import { getFpPaths } from '../../../../data/fp-payloads';
|
|
3
|
+
import { ensureVenueSceneLayerPayload } from '../../../../data/venue-scene-preload';
|
|
4
|
+
import { createImageDef, createLayerDef } from '../../../../engine/defs';
|
|
5
|
+
import store, { boothStore, uiState } from '../../../../store';
|
|
6
|
+
import initBooths from '../../../../store/init/init-booths';
|
|
7
|
+
import { getChildLayers } from '../../../../store/init/init-layers';
|
|
8
|
+
import { LayersMode } from '../../../../store/LayerStore';
|
|
9
|
+
import { chunkArray } from '../../../../utils';
|
|
10
|
+
import { loadLayerImages } from '../../../../utils/loadLayerImages';
|
|
11
|
+
import configBg, { BG_LAYER_NAME, FG_LAYER_NAME } from './config-bg';
|
|
12
|
+
import configBooths, { BOOTHS_CHUNK_SIZE } from './config-booths';
|
|
13
|
+
import { configOutdoorPoiLayer } from './config-outdoor-poi';
|
|
14
|
+
import { registerLayerImages } from './layer-images';
|
|
15
|
+
import { createModelDefFromElement } from './layer-models';
|
|
16
|
+
import { getImageLayerName, getLayerGraphics, getModelLayerName } from './loadBoothsImages';
|
|
17
|
+
function createChildLayers(layer) {
|
|
18
|
+
if (layer.childLayers.length)
|
|
19
|
+
return layer.childLayers;
|
|
20
|
+
return getChildLayers(layer, layer.basePriority, 15).layers;
|
|
21
|
+
}
|
|
22
|
+
async function configLayer(l, visible) {
|
|
23
|
+
const shown = visible && !store.layerStore.isLayerQuarantined(l);
|
|
24
|
+
const children = [];
|
|
25
|
+
const booths = initBooths(store, l);
|
|
26
|
+
// Outdoor PoI layers never enter the renderer scene — see
|
|
27
|
+
// configOutdoorPoiLayer. Booths are still initialized above so search,
|
|
28
|
+
// selection and hit-testing keep working.
|
|
29
|
+
if (configOutdoorPoiLayer(l, booths)) {
|
|
30
|
+
l.loaded = true;
|
|
31
|
+
l.configured = true;
|
|
32
|
+
l.children = [];
|
|
33
|
+
return createLayerDef(l.name, [], { hidden: true });
|
|
34
|
+
}
|
|
35
|
+
const layer = (await configBg(l));
|
|
36
|
+
const boothsLayers = [];
|
|
37
|
+
const boothChunks = chunkArray(booths, BOOTHS_CHUNK_SIZE);
|
|
38
|
+
const logosBooths = boothStore.booths.filter((b) => b.rect &&
|
|
39
|
+
(!b.layer || b.layer === l || b.layer.childLayers.includes(l)) &&
|
|
40
|
+
b.exhibitors.find((e) => !!e.logoInBooth && !!e.logo?.url) &&
|
|
41
|
+
!uiState.hideLogoInBooth);
|
|
42
|
+
const boothNoLabelsSnapshot = new Map(logosBooths.map((booth) => [booth, booth.noLabels]));
|
|
43
|
+
logosBooths.forEach((b) => (b.noLabels = true));
|
|
44
|
+
if (booths.length)
|
|
45
|
+
boothChunks.forEach((chunk, i) => {
|
|
46
|
+
boothsLayers.push(configBooths(`${l.name}${SEPARATOR}${BOOTHS_PAINTER_MARKER}${SEPARATOR}${i}`, chunk));
|
|
47
|
+
});
|
|
48
|
+
for (const [booth, noLabels] of boothNoLabelsSnapshot)
|
|
49
|
+
booth.noLabels = noLabels;
|
|
50
|
+
l.loaded = true;
|
|
51
|
+
const bg = layer.children.find((c) => c.name === BG_LAYER_NAME);
|
|
52
|
+
const fg = layer.children.find((c) => c.name === FG_LAYER_NAME);
|
|
53
|
+
const imageLayerName = getImageLayerName(l.name);
|
|
54
|
+
// Designer graphics split two ways: ordinary images, and the ones standing in for 3D models.
|
|
55
|
+
// A model element is never loaded as an image — its href is not fetched at all.
|
|
56
|
+
const { icons, models } = getLayerGraphics(l);
|
|
57
|
+
const imageLayer = { name: imageLayerName, children: [] };
|
|
58
|
+
const modelLayer = {
|
|
59
|
+
name: getModelLayerName(l.name),
|
|
60
|
+
children: models.map(createModelDefFromElement),
|
|
61
|
+
};
|
|
62
|
+
if (icons.length) {
|
|
63
|
+
registerLayerImages(imageLayerName, async () => {
|
|
64
|
+
const layerImages = await loadLayerImages(icons);
|
|
65
|
+
const children = [];
|
|
66
|
+
for (const { bounds, source } of layerImages)
|
|
67
|
+
children.push(createImageDef(source, bounds));
|
|
68
|
+
return { layer: imageLayer, children };
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (bg)
|
|
72
|
+
children.push({ ...bg, name: `${layer.name}${SEPARATOR}${BG_LAYER_NAME}` });
|
|
73
|
+
if (boothsLayers.length)
|
|
74
|
+
children.push(...boothsLayers);
|
|
75
|
+
if (fg)
|
|
76
|
+
children.push({ ...fg, name: `${layer.name}${SEPARATOR}${FG_LAYER_NAME}` });
|
|
77
|
+
if (icons.length)
|
|
78
|
+
children.push(imageLayer);
|
|
79
|
+
// Right after the images they replace, so a model sits exactly where its placeholder would have.
|
|
80
|
+
if (modelLayer.children.length)
|
|
81
|
+
children.push(modelLayer);
|
|
82
|
+
const childLayers = await Promise.all(l.childLayers
|
|
83
|
+
.sort((a, b) => a.basePriority - b.basePriority)
|
|
84
|
+
.map((childLayer) => configLayer(childLayer, true)));
|
|
85
|
+
children.push(...childLayers);
|
|
86
|
+
l.children = children;
|
|
87
|
+
l.configured = true;
|
|
88
|
+
return createLayerDef(l.name, children, { hidden: !shown });
|
|
89
|
+
}
|
|
90
|
+
export default async function loadLayer(layer) {
|
|
91
|
+
if (layer.configured)
|
|
92
|
+
return createLayerDef(layer.name, layer.children, { hidden: !layer.visible });
|
|
93
|
+
if (store.layerStore.mode !== LayersMode.Default &&
|
|
94
|
+
!getFpPaths(layer.name) &&
|
|
95
|
+
!layer.rootParent) {
|
|
96
|
+
// Resolve the layer's drawing ref through the venue-scene preloader: it
|
|
97
|
+
// shares an in-flight load with the bootstrap preload and confirms the
|
|
98
|
+
// payload actually landed (readers pull it back synchronously via
|
|
99
|
+
// getFpSvg/getFpPaths on the resolver's memo). A missing file used to
|
|
100
|
+
// load as a silent no-op script, so a failure only warns and the layer
|
|
101
|
+
// renders bare.
|
|
102
|
+
if (!(await ensureVenueSceneLayerPayload(layer.name))) {
|
|
103
|
+
console.warn(`Layer data not loaded: ${layer.name}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const childLayers = createChildLayers(layer);
|
|
107
|
+
if (childLayers.length) {
|
|
108
|
+
layer.childLayers = childLayers;
|
|
109
|
+
childLayers.forEach((childLayer) => {
|
|
110
|
+
store.layerStore.setLayerVisibility(childLayer, childLayer.visible);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const { layers } = store.layerStore;
|
|
114
|
+
store.layerStore.layers = [
|
|
115
|
+
...layers,
|
|
116
|
+
...childLayers.filter((childLayer) => !layers.some((layer) => layer.name === childLayer.name)),
|
|
117
|
+
];
|
|
118
|
+
return configLayer(layer, layer.visible);
|
|
119
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type ImageDef, type RenderableDef, type SceneDef } from '@expofp/renderer';
|
|
2
|
+
import { type FloorPlanMarkerEvent } from '../../../../types';
|
|
3
|
+
export declare const MARKER_LAYER_NAME = "markers";
|
|
4
|
+
/** What {@link configMarkers} needs: the scene whose root layers hold the marker layer. */
|
|
5
|
+
export interface MarkerOptions {
|
|
6
|
+
/** The scene markers are drawn into; `config-all` pre-creates their layer in it. */
|
|
7
|
+
readonly scene: SceneDef;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Sizes one marker for a new pixel size — the `onScale` every marker def declares.
|
|
11
|
+
*
|
|
12
|
+
* One function for every marker on the plan, reached through each marker's own `onScale` closure
|
|
13
|
+
* and driven directly by the imperative bridge. Idempotent, because the center and rotation it
|
|
14
|
+
* reads back are the ones it wrote.
|
|
15
|
+
* @param marker - The marker to size.
|
|
16
|
+
* @param size - The icon's size in CSS pixels. Not the canvas's: that is rasterized at the device
|
|
17
|
+
* ratio.
|
|
18
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
19
|
+
* @returns The def, which always moves — a marker holds its on-screen size at every zoom.
|
|
20
|
+
*/
|
|
21
|
+
export declare function rescaleMarker(marker: ImageDef, size: {
|
|
22
|
+
readonly width: number;
|
|
23
|
+
readonly height: number;
|
|
24
|
+
}, pixelSize: number): readonly RenderableDef[];
|
|
25
|
+
/**
|
|
26
|
+
* Draws the plan's markers into a renderer scene and keeps them current with the store.
|
|
27
|
+
* @param options - The scene to draw into.
|
|
28
|
+
* @returns A disposer.
|
|
29
|
+
*/
|
|
30
|
+
export declare function configMarkers(options: MarkerOptions): () => void;
|
|
31
|
+
/**
|
|
32
|
+
* The marker a click on the plan landed on, at the size markers are currently drawn.
|
|
33
|
+
*
|
|
34
|
+
* The pixel size comes from the marker layer's own handler rather than from a renderer the plan holds
|
|
35
|
+
* a reference to — which is the whole of what this adds over {@link getMarkerFromClick}.
|
|
36
|
+
* @param x - Where the click landed, in plan units.
|
|
37
|
+
* @param y - Where the click landed, in plan units.
|
|
38
|
+
* @returns The marker, or `null` when the click reached none.
|
|
39
|
+
*/
|
|
40
|
+
export declare function markerAt(x: number, y: number): FloorPlanMarkerEvent | null;
|
|
41
|
+
export declare function getMarkerFromClick(x: number, y: number, scale: number): import("../../../../store/RouteStore").Marker | null;
|
|
42
|
+
//# sourceMappingURL=config-markers.d.ts.map
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { Box } from '@expofp/geometry';
|
|
2
|
+
import { update, } from '@expofp/renderer';
|
|
3
|
+
import { reaction } from 'mobx';
|
|
4
|
+
import { createImageDef } from '../../../../engine/defs';
|
|
5
|
+
import store, { layersStore, uiState } from '../../../../store';
|
|
6
|
+
import { setMarkerResolver } from '../../pointer';
|
|
7
|
+
import { createImageCanvas, getBounds, imageCanvasCssSize } from './canvases';
|
|
8
|
+
const SELECTED_ID = '_selected';
|
|
9
|
+
export const MARKER_LAYER_NAME = 'markers';
|
|
10
|
+
/**
|
|
11
|
+
* Sizes one marker for a new pixel size — the `onScale` every marker def declares.
|
|
12
|
+
*
|
|
13
|
+
* One function for every marker on the plan, reached through each marker's own `onScale` closure
|
|
14
|
+
* and driven directly by the imperative bridge. Idempotent, because the center and rotation it
|
|
15
|
+
* reads back are the ones it wrote.
|
|
16
|
+
* @param marker - The marker to size.
|
|
17
|
+
* @param size - The icon's size in CSS pixels. Not the canvas's: that is rasterized at the device
|
|
18
|
+
* ratio.
|
|
19
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
20
|
+
* @returns The def, which always moves — a marker holds its on-screen size at every zoom.
|
|
21
|
+
*/
|
|
22
|
+
export function rescaleMarker(marker, size, pixelSize) {
|
|
23
|
+
const { center, rotation, elevation } = marker.bounds;
|
|
24
|
+
const { width, height } = size;
|
|
25
|
+
// Elevation rides along with the center and the rotation. This builds a fresh Rect rather than
|
|
26
|
+
// resizing in place, so anything it does not read back is dropped, and a marker raised off the
|
|
27
|
+
// floor would sink to it on the first zoom step.
|
|
28
|
+
marker.bounds = getBounds(center.x, center.y, width, height, pixelSize, rotation, elevation);
|
|
29
|
+
return [marker];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Records the pixel size markers are drawn at — the marker layer's own `onScale`.
|
|
33
|
+
*
|
|
34
|
+
* Lays nothing out and returns nothing, so it never costs a write. It is here because {@link markerAt}
|
|
35
|
+
* has to size a marker's hit box the way the marker itself was sized, and the pixel size is knowledge
|
|
36
|
+
* only the renderer has.
|
|
37
|
+
* @param _def - The marker layer, unused.
|
|
38
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
39
|
+
*/
|
|
40
|
+
function readMarkerPixelSize(pixelSize) {
|
|
41
|
+
markerPixelSize = pixelSize;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Draws the plan's markers into a renderer scene and keeps them current with the store.
|
|
45
|
+
* @param options - The scene to draw into.
|
|
46
|
+
* @returns A disposer.
|
|
47
|
+
*/
|
|
48
|
+
export function configMarkers(options) {
|
|
49
|
+
const { scene } = options;
|
|
50
|
+
const disposers = [];
|
|
51
|
+
const iconMap = new Map();
|
|
52
|
+
const canvasCache = new Map();
|
|
53
|
+
let markerDefs = [];
|
|
54
|
+
const markerLayer = scene.rootLayer.children.find((i) => i.name === MARKER_LAYER_NAME);
|
|
55
|
+
// Markers are not picked — a click resolves to one through `markerAt`, as it always has — so the
|
|
56
|
+
// layer declares no pointer handler and never joins the raycast set. What it does declare is where
|
|
57
|
+
// the hit test gets the pixel size it needs, which only the renderer knows.
|
|
58
|
+
markerLayer.onScale = ({ pixelSize }) => readMarkerPixelSize(pixelSize);
|
|
59
|
+
setMarkerResolver(markerAt);
|
|
60
|
+
update(markerLayer);
|
|
61
|
+
async function loadMarkerIcons(icons) {
|
|
62
|
+
const promises = [];
|
|
63
|
+
icons.forEach((icon) => {
|
|
64
|
+
const { name, content, width, height, scale } = icon;
|
|
65
|
+
if (iconMap.has(name))
|
|
66
|
+
return;
|
|
67
|
+
const img = new Image();
|
|
68
|
+
const promise = new Promise((resolve, reject) => {
|
|
69
|
+
img.onload = () => {
|
|
70
|
+
iconMap.set(name, { img, width, height, scale });
|
|
71
|
+
resolve();
|
|
72
|
+
};
|
|
73
|
+
img.onerror = (error) => {
|
|
74
|
+
reject(error);
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
promises.push(promise);
|
|
78
|
+
img.src = content;
|
|
79
|
+
img.crossOrigin = 'anonymous';
|
|
80
|
+
});
|
|
81
|
+
await Promise.all(promises);
|
|
82
|
+
}
|
|
83
|
+
// The rules ride on the defs: the renderer lays a def out as it registers and again on every
|
|
84
|
+
// zoom step or roll change, in either mount.
|
|
85
|
+
const bindScale = (def, size) => {
|
|
86
|
+
def.onScale = ({ pixelSize }) => rescaleMarker(def, size, pixelSize);
|
|
87
|
+
};
|
|
88
|
+
const bindRoll = (def) => {
|
|
89
|
+
// A screen-space marker stands up to face the viewer, and `bounds.rotation` on it is a spin about
|
|
90
|
+
// the screen's normal, not a plan bearing. A roll rule would still run on it and spin the marker
|
|
91
|
+
// away from upright, so none is declared.
|
|
92
|
+
if (def.screenSpace)
|
|
93
|
+
return;
|
|
94
|
+
// A marker turns with the plan to the absolute angle, unlike the quarter-turn steppers, so an
|
|
95
|
+
// unchanged roll is the only no-op. `rotate` adds a delta, so subtract current.
|
|
96
|
+
def.onRoll = ({ roll }) => {
|
|
97
|
+
if (roll === def.bounds.rotation)
|
|
98
|
+
return undefined;
|
|
99
|
+
def.bounds.rotate(roll - def.bounds.rotation, def.bounds);
|
|
100
|
+
return [def];
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* One icon's canvas, drawn once and kept for every marker that asks for it again.
|
|
105
|
+
*
|
|
106
|
+
* Reads and fills in one step, so the value it hands back is the one it just stored. A separate
|
|
107
|
+
* `has` and `get` leaves the caller holding a value the types have to call optional.
|
|
108
|
+
* @param key - The icon's own name, which is what the cache is keyed by.
|
|
109
|
+
* @param icon - The icon to draw.
|
|
110
|
+
* @returns The canvas.
|
|
111
|
+
*/
|
|
112
|
+
function cachedCanvas(key, icon) {
|
|
113
|
+
const cached = canvasCache.get(key);
|
|
114
|
+
if (cached)
|
|
115
|
+
return cached;
|
|
116
|
+
// Rasterized at the device ratio for crispness, at the icon's own scale for the size.
|
|
117
|
+
const canvas = createImageCanvas(icon.img, icon.width, icon.height, window.devicePixelRatio, icon.scale || 1);
|
|
118
|
+
canvasCache.set(key, canvas);
|
|
119
|
+
return canvas;
|
|
120
|
+
}
|
|
121
|
+
function drawMarkers() {
|
|
122
|
+
const markers = store.routeStore.markersData.markers;
|
|
123
|
+
if (!markers.length)
|
|
124
|
+
return;
|
|
125
|
+
markerDefs = [];
|
|
126
|
+
// Placeholders: a def is laid out as it registers, and `rescaleMarker`/`onRoll` rebuild the
|
|
127
|
+
// bounds from the center the moment the renderer reports the real pixel size and roll.
|
|
128
|
+
const ptscale = 1;
|
|
129
|
+
const rollRadians = 0;
|
|
130
|
+
// On a 3D plan a marker lying on the floor smears under tilt, so it stands up to face the
|
|
131
|
+
// viewer instead. `is3DView` is the venue's own flag and does not change while a plan is open.
|
|
132
|
+
// The marker layer goes into the overlay tier for the same reason, in `config-all`.
|
|
133
|
+
const screenSpace = uiState.is3DView;
|
|
134
|
+
markers.forEach((marker) => {
|
|
135
|
+
const icon = iconMap.get(marker.icon);
|
|
136
|
+
if (!icon)
|
|
137
|
+
return;
|
|
138
|
+
// Skipped the way a missing icon is. A marker draws both states, so one without its selected
|
|
139
|
+
// icon has no second def to build and would take the whole sweep down on the first read.
|
|
140
|
+
const selectedIcon = iconMap.get(marker.selectedIcon);
|
|
141
|
+
if (!selectedIcon)
|
|
142
|
+
return;
|
|
143
|
+
const iconScale = icon.scale || 1;
|
|
144
|
+
const markerCanvas = cachedCanvas(marker.icon, icon);
|
|
145
|
+
const selectedMarkerCanvas = cachedCanvas(marker.selectedIcon, selectedIcon);
|
|
146
|
+
const visible = layersStore.findLayer(marker.z)?.visible ?? true;
|
|
147
|
+
// The size the icon is drawn at, which the canvas's backing store says nothing of: that is in
|
|
148
|
+
// the device pixels the icon was rasterized at, for crispness.
|
|
149
|
+
const cssSize = imageCanvasCssSize(icon.img, icon.width, icon.height, iconScale);
|
|
150
|
+
const selectedCssSize = imageCanvasCssSize(selectedIcon.img, selectedIcon.width, selectedIcon.height, iconScale);
|
|
151
|
+
const markerBounds = getBounds(marker.x, marker.y, cssSize.width, cssSize.height, ptscale, rollRadians);
|
|
152
|
+
const selectedMarkerBounds = getBounds(marker.x, marker.y, selectedCssSize.width, selectedCssSize.height, ptscale, rollRadians);
|
|
153
|
+
let origin;
|
|
154
|
+
switch (marker.position) {
|
|
155
|
+
case 'lefttop':
|
|
156
|
+
origin = [0, 0];
|
|
157
|
+
break;
|
|
158
|
+
case 'centertop':
|
|
159
|
+
origin = [0.5, 0];
|
|
160
|
+
break;
|
|
161
|
+
case 'centerbottom':
|
|
162
|
+
origin = [0.5, 1];
|
|
163
|
+
break;
|
|
164
|
+
default:
|
|
165
|
+
origin = [0.5, 0.5];
|
|
166
|
+
}
|
|
167
|
+
const imageDef = createImageDef(markerCanvas, markerBounds, { hidden: !visible, origin });
|
|
168
|
+
const markerDef = { ...imageDef, id: marker.id, scale: iconScale, screenSpace };
|
|
169
|
+
const selectedImageDef = createImageDef(selectedMarkerCanvas, selectedMarkerBounds, {
|
|
170
|
+
hidden: !(visible && marker.active),
|
|
171
|
+
origin,
|
|
172
|
+
});
|
|
173
|
+
const selectedMarkerDef = {
|
|
174
|
+
...selectedImageDef,
|
|
175
|
+
id: `${marker.id}${SELECTED_ID}`,
|
|
176
|
+
scale: iconScale,
|
|
177
|
+
screenSpace,
|
|
178
|
+
};
|
|
179
|
+
bindScale(markerDef, cssSize);
|
|
180
|
+
bindScale(selectedMarkerDef, selectedCssSize);
|
|
181
|
+
markerDefs.push(markerDef, selectedMarkerDef);
|
|
182
|
+
});
|
|
183
|
+
markerLayer.children = markerDefs;
|
|
184
|
+
markerDefs.forEach(bindRoll);
|
|
185
|
+
}
|
|
186
|
+
function clearMarkers() {
|
|
187
|
+
markerLayer.children = [];
|
|
188
|
+
markerDefs = [];
|
|
189
|
+
}
|
|
190
|
+
function updateMarkers() {
|
|
191
|
+
const markers = store.routeStore.markersData.markers;
|
|
192
|
+
if (!markers.length)
|
|
193
|
+
return;
|
|
194
|
+
markers.forEach((marker) => {
|
|
195
|
+
const markerDef = markerDefs.find((def) => def.id === marker.id);
|
|
196
|
+
const markerSelectedDef = markerDefs.find((def) => def.id === `${marker.id}${SELECTED_ID}`);
|
|
197
|
+
// A marker is pushed with its selected def or not at all, so either one missing means this
|
|
198
|
+
// marker was never drawn and there is nothing here to update.
|
|
199
|
+
if (!markerDef || !markerSelectedDef)
|
|
200
|
+
return;
|
|
201
|
+
const visible = layersStore.findLayer(marker.z)?.visible ?? true;
|
|
202
|
+
if (marker.active) {
|
|
203
|
+
markerDef.hidden = true;
|
|
204
|
+
markerSelectedDef.hidden = !(visible && marker.active);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
markerDef.hidden = !visible;
|
|
208
|
+
markerSelectedDef.hidden = true;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
disposers.push(reaction(() => [store.routeStore.selectedMarkers, store.layerStore.visible], () => {
|
|
213
|
+
const markers = store.routeStore.markersData.markers;
|
|
214
|
+
if (!markers.length) {
|
|
215
|
+
clearMarkers();
|
|
216
|
+
update(markerLayer);
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
updateMarkers();
|
|
220
|
+
update(...markerDefs);
|
|
221
|
+
}));
|
|
222
|
+
disposers.push(reaction(() => store.routeStore.markersData.markers, () => {
|
|
223
|
+
loadMarkerIcons(store.routeStore.markersData.icons).then(() => {
|
|
224
|
+
drawMarkers();
|
|
225
|
+
update(markerLayer);
|
|
226
|
+
});
|
|
227
|
+
}, { fireImmediately: true }));
|
|
228
|
+
return function cleanup() {
|
|
229
|
+
disposers.forEach((d) => d());
|
|
230
|
+
disposers.length = 0;
|
|
231
|
+
markerLayer.onScale = undefined;
|
|
232
|
+
setMarkerResolver();
|
|
233
|
+
// back to the pre-layout seed, so the next plan's first clicks are hit-tested
|
|
234
|
+
// at its own marker size rather than at this one's
|
|
235
|
+
markerPixelSize = 1;
|
|
236
|
+
update(markerLayer);
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* The marker a click on the plan landed on, at the size markers are currently drawn.
|
|
241
|
+
*
|
|
242
|
+
* The pixel size comes from the marker layer's own handler rather than from a renderer the plan holds
|
|
243
|
+
* a reference to — which is the whole of what this adds over {@link getMarkerFromClick}.
|
|
244
|
+
* @param x - Where the click landed, in plan units.
|
|
245
|
+
* @param y - Where the click landed, in plan units.
|
|
246
|
+
* @returns The marker, or `null` when the click reached none.
|
|
247
|
+
*/
|
|
248
|
+
export function markerAt(x, y) {
|
|
249
|
+
return getMarkerFromClick(x, y, markerPixelSize);
|
|
250
|
+
}
|
|
251
|
+
export function getMarkerFromClick(x, y, scale) {
|
|
252
|
+
for (const marker of store.routeStore.markersData.markers) {
|
|
253
|
+
const icon = store.routeStore.markersData.icons.find((icon) => icon.name === marker.icon);
|
|
254
|
+
if (!icon)
|
|
255
|
+
continue;
|
|
256
|
+
const iconWidth = icon.width * (icon.scale || 1) * scale;
|
|
257
|
+
const iconHeight = icon.height * (icon.scale || 1) * scale;
|
|
258
|
+
if (isPointInMarker(x, y, marker.x, marker.y, iconWidth, iconHeight)) {
|
|
259
|
+
const layer = store.layerStore.findLayer(marker.z);
|
|
260
|
+
if (!layer || (layer && layer.visible)) {
|
|
261
|
+
return marker;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
function isPointInMarker(x, y, markerX, markerY, iconWidth, iconHeight) {
|
|
268
|
+
// iconWidth/iconHeight are half-extents, so the hit box spans 2× each from
|
|
269
|
+
// the marker center.
|
|
270
|
+
const hitBox = Box.fromCenter({ x: markerX, y: markerY }, { x: 2 * iconWidth, y: 2 * iconHeight });
|
|
271
|
+
return hitBox.containsPoint({ x, y });
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* The pixel size markers were last drawn at, kept current by {@link readMarkerPixelSize}. Seeded at
|
|
275
|
+
* `1` for the window between the scene being built and its first layout, when nothing is drawn yet
|
|
276
|
+
* and so nothing can be clicked either.
|
|
277
|
+
*/
|
|
278
|
+
let markerPixelSize = 1;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Booth } from '../../../../store/BoothStore';
|
|
2
|
+
import { type Layer } from '../../../../store/LayerStore';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the Outdoor PoI markers (hotels, parking, transit) for one designer
|
|
5
|
+
* layer. Outdoor layers contain nothing but PoI pins — points without a
|
|
6
|
+
* physical size — so the layer contributes nothing to the renderer scene. In
|
|
7
|
+
* the geo map every PoI booth becomes a fixed-size native MapLibre marker
|
|
8
|
+
* (usePoiMarkers); in floorplan-only and legacy-SVG modes nothing renders.
|
|
9
|
+
* Clicks, selection and routing are unaffected — booths are hit-tested by
|
|
10
|
+
* geometry (getBoothIdFromClientXy), not by the rendered shape. Rationale:
|
|
11
|
+
* docs/adr/0011-declaring-a-place-outdoors-makes-it-a-journey-place.md.
|
|
12
|
+
*
|
|
13
|
+
* Returns true when the layer is an Outdoor layer; the caller must then
|
|
14
|
+
* exclude it from the scene. False leaves regular layers exactly as-is —
|
|
15
|
+
* including with `enableExperimentalOutdoorMarkers` off, so Outdoor layers then
|
|
16
|
+
* draw the way they did before the feature existed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function configOutdoorPoiLayer(l: Layer, booths: readonly Booth[]): boolean;
|
|
19
|
+
//# sourceMappingURL=config-outdoor-poi.d.ts.map
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import Color from 'color';
|
|
2
|
+
import { POI_MARKER_PIN_WIDTH_PX, POI_PIN_DEFAULT_COLOR } from '../../../../constants';
|
|
3
|
+
import store, { uiState } from '../../../../store';
|
|
4
|
+
import { loadImage } from '../../../../utils/loadImage';
|
|
5
|
+
import { isOutdoorMarkersEnabled, isOutdoorPoiLayer } from '../../../../utils/outdoor-poi';
|
|
6
|
+
import { createPoiPinImage } from './poi-pin.js';
|
|
7
|
+
const isPaintableColor = (c) => !!c && c !== 'transparent' && c !== 'none';
|
|
8
|
+
// The pin fill for a PoI booth: the color authored in the Designer, preferring
|
|
9
|
+
// the path color and falling back to the resolved shape fill. Returns null when
|
|
10
|
+
// nothing was authored, leaving the caller its default. Mirrors monochrome mode.
|
|
11
|
+
function getPoiPinColor(booth) {
|
|
12
|
+
const fromPaths = (booth.paths ?? []).map((p) => p.color).find(isPaintableColor);
|
|
13
|
+
const fromShapes = (booth.shapes ?? [])
|
|
14
|
+
.map((s) => s.color)
|
|
15
|
+
.find(isPaintableColor);
|
|
16
|
+
const color = fromPaths ?? fromShapes ?? null;
|
|
17
|
+
if (!color)
|
|
18
|
+
return null;
|
|
19
|
+
try {
|
|
20
|
+
return uiState.monochrome ? Color(color).grayscale().rgb().string() : color;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return color;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Rasterizes the pins for one Outdoor layer's PoI booths and publishes them to
|
|
28
|
+
* the PoiMarkerStore. Purely async and self-contained: the markers are not part
|
|
29
|
+
* of the renderer scene, so this doesn't block or contribute to layer
|
|
30
|
+
* configuration. Icon loads that outlive a scene teardown/rebuild are dropped
|
|
31
|
+
* via the store's generation guard.
|
|
32
|
+
*/
|
|
33
|
+
async function buildPoiMarkers(poiBooths) {
|
|
34
|
+
const generation = store.poiMarkerStore.generation;
|
|
35
|
+
const pixelRatio = window.devicePixelRatio || 1;
|
|
36
|
+
const newMarkers = [];
|
|
37
|
+
const poiTypeById = new Map((store.poiTypeStore?.poiTypes ?? []).map((p) => [p.id, p]));
|
|
38
|
+
// Icons are per poiType, not per booth: every "Parking" pin draws the same
|
|
39
|
+
// glyph. Share the load so a hundred booths don't fetch and decode it a
|
|
40
|
+
// hundred times.
|
|
41
|
+
const iconByUrl = new Map();
|
|
42
|
+
const loadIcon = (url) => {
|
|
43
|
+
let pending = iconByUrl.get(url);
|
|
44
|
+
if (!pending) {
|
|
45
|
+
pending = loadImage(url);
|
|
46
|
+
iconByUrl.set(url, pending);
|
|
47
|
+
}
|
|
48
|
+
return pending;
|
|
49
|
+
};
|
|
50
|
+
await Promise.all(poiBooths.map(async (booth) => {
|
|
51
|
+
const iconUrl = booth.poiTypeId == null ? undefined : poiTypeById.get(booth.poiTypeId)?.iconUrl;
|
|
52
|
+
// A missing icon (no iconUrl, failed load) never drops the marker: the
|
|
53
|
+
// pin is the booth's only visual — it just renders without the glyph.
|
|
54
|
+
const image = iconUrl ? await loadIcon(iconUrl) : null;
|
|
55
|
+
if (iconUrl && !image) {
|
|
56
|
+
console.warn('PoI icon failed to load', booth.name, iconUrl);
|
|
57
|
+
}
|
|
58
|
+
const center = booth.rect.center;
|
|
59
|
+
newMarkers.push({
|
|
60
|
+
boothId: booth.id,
|
|
61
|
+
center: { x: center.x, y: center.y },
|
|
62
|
+
icon: createPoiPinImage(image, POI_MARKER_PIN_WIDTH_PX, pixelRatio, getPoiPinColor(booth) ?? POI_PIN_DEFAULT_COLOR),
|
|
63
|
+
});
|
|
64
|
+
}));
|
|
65
|
+
// Torn down/rebuilt while loading: these canvases belong to a dead scene.
|
|
66
|
+
if (store.poiMarkerStore.generation !== generation)
|
|
67
|
+
return;
|
|
68
|
+
// Publish to the store (one notification for the whole batch);
|
|
69
|
+
// usePoiMarkers picks them up and (re)builds the MapLibre marker source.
|
|
70
|
+
store.poiMarkerStore.addMany(newMarkers);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Handles the Outdoor PoI markers (hotels, parking, transit) for one designer
|
|
74
|
+
* layer. Outdoor layers contain nothing but PoI pins — points without a
|
|
75
|
+
* physical size — so the layer contributes nothing to the renderer scene. In
|
|
76
|
+
* the geo map every PoI booth becomes a fixed-size native MapLibre marker
|
|
77
|
+
* (usePoiMarkers); in floorplan-only and legacy-SVG modes nothing renders.
|
|
78
|
+
* Clicks, selection and routing are unaffected — booths are hit-tested by
|
|
79
|
+
* geometry (getBoothIdFromClientXy), not by the rendered shape. Rationale:
|
|
80
|
+
* docs/adr/0011-declaring-a-place-outdoors-makes-it-a-journey-place.md.
|
|
81
|
+
*
|
|
82
|
+
* Returns true when the layer is an Outdoor layer; the caller must then
|
|
83
|
+
* exclude it from the scene. False leaves regular layers exactly as-is —
|
|
84
|
+
* including with `enableExperimentalOutdoorMarkers` off, so Outdoor layers then
|
|
85
|
+
* draw the way they did before the feature existed.
|
|
86
|
+
*/
|
|
87
|
+
export function configOutdoorPoiLayer(l, booths) {
|
|
88
|
+
if (!isOutdoorMarkersEnabled())
|
|
89
|
+
return false;
|
|
90
|
+
if (!isOutdoorPoiLayer(l))
|
|
91
|
+
return false;
|
|
92
|
+
if (store.maplibreStore.showMaplibre) {
|
|
93
|
+
void buildPoiMarkers(booths.filter((b) => b.poiTypeId && b.rect));
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type LayerDef } from '@expofp/renderer';
|
|
2
|
+
/**
|
|
3
|
+
* Draws a pin over every booth an active POI-type search button selects, and draws the renderer's
|
|
4
|
+
* clusters of those pins from a pool of hidden markers.
|
|
5
|
+
*
|
|
6
|
+
* The pins key off `uiState.selectedPoiTypeFilters`, which is what both a single `poi_type` button
|
|
7
|
+
* and a `poi_types` group button write — so one filter or a whole group reaches this the same way.
|
|
8
|
+
*
|
|
9
|
+
* This module only *substitutes*. The renderer decides which pins collide, hides every pin in a
|
|
10
|
+
* cluster through its own `onPlace`, and reports the clusters to the pin layer's `clustering`. What
|
|
11
|
+
* this draws for a report is a pooled marker per cluster, in two sibling layers that declare neither
|
|
12
|
+
* `placement` nor `clustering`, so a marker can never be clustered as its own input.
|
|
13
|
+
*
|
|
14
|
+
* Nothing is created or destroyed on a camera move. The pins are built when the booth set changes,
|
|
15
|
+
* one per booth, and so is the pool: a cluster needs two pins, so `floor(n / 2)` markers is every
|
|
16
|
+
* marker a report can ask for. A report writes positions and counts onto defs already mounted, and
|
|
17
|
+
* no layer's `children` is reassigned by anything but a booth-set change.
|
|
18
|
+
*
|
|
19
|
+
* Takes the layers rather than the scene, so it runs in `config-all` beside the layers' creation:
|
|
20
|
+
* nothing here needs the renderer, and `update` before the scene mounts is a documented no-op that
|
|
21
|
+
* the mount's own full sync covers.
|
|
22
|
+
* @param pinLayer - The layer for pins, which `config-all` creates.
|
|
23
|
+
* @param clusterLayer - The layer for cluster teardrops, created directly above `pinLayer`.
|
|
24
|
+
* @param countLayer - The layer for cluster counts, created directly above `clusterLayer`.
|
|
25
|
+
* @returns A disposer.
|
|
26
|
+
*/
|
|
27
|
+
export declare function configPins(pinLayer: LayerDef, clusterLayer: LayerDef, countLayer: LayerDef): () => void;
|
|
28
|
+
/** The layer `config-all` pre-creates for pins, and the one whose clustering this module declares. */
|
|
29
|
+
export declare const PIN_LAYER_NAME = "poiFilterPins";
|
|
30
|
+
/** The layer `config-all` pre-creates for cluster teardrops, drawn directly above the pins. */
|
|
31
|
+
export declare const PIN_CLUSTER_LAYER_NAME = "poiFilterPinClusters";
|
|
32
|
+
/** The layer `config-all` pre-creates for cluster counts, drawn directly above the teardrops. */
|
|
33
|
+
export declare const PIN_COUNT_LAYER_NAME = "poiFilterPinCounts";
|
|
34
|
+
/**
|
|
35
|
+
* How long a pin takes to fade in or out, in milliseconds. MapLibre's `fadeDuration` default, which
|
|
36
|
+
* the placement spec's research cites: long enough that a crowd thinning out reads as motion, short
|
|
37
|
+
* enough that a zoom does not leave half-faded pins behind the camera.
|
|
38
|
+
*/
|
|
39
|
+
export declare const PIN_FADE_MS = 300;
|
|
40
|
+
//# sourceMappingURL=config-pins.d.ts.map
|