@expofp/floorplan 0.0.0-experimental.2632d13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/browser/Button-DT-Jfwrb.js +64 -0
- package/dist/browser/CookieConsent-DYjf8elV.js +38 -0
- package/dist/browser/Debug-CK-BLY-v.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B677YULI.js +71 -0
- package/dist/browser/Free-B_nU7Krr.js +69 -0
- package/dist/browser/GalleryContainer-DcZrZnJz.js +3355 -0
- package/dist/browser/GpsLoader-DwNSQv4V.js +154 -0
- package/dist/browser/KioskStore-DgP9k2lT.js +250 -0
- package/dist/browser/LayerStore-DCwl80sb.js +24105 -0
- package/dist/browser/MaplibreAdapter-B-c-uOJf.js +36770 -0
- package/dist/browser/ModalContainer-DnZxo0qA.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-CuslHjhJ.js +3719 -0
- package/dist/browser/SetKioskMode-CVD7sZLr.js +49 -0
- package/dist/browser/ShowKiosk-DuOS8tTO.js +82 -0
- package/dist/browser/ViewerMenuPanel-Xj-8aVzf.js +133 -0
- package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
- package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
- package/dist/browser/boolean-editor-CYMx87em.js +149 -0
- package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
- package/dist/browser/bundle.json +422 -0
- package/dist/browser/camera-events-DSCuSH25.js +18 -0
- package/dist/browser/classnames-YcGXWNfg.js +39 -0
- package/dist/browser/client-BcPpS_Gj.js +7402 -0
- package/dist/browser/compat-helper.js +6 -0
- package/dist/browser/components-D8dv3ezN.js +7393 -0
- package/dist/browser/create-live-plan-Ff4MkKcG.js +4046 -0
- package/dist/browser/debounce-B4PlcNh4.js +2102 -0
- package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
- package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
- package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
- package/dist/browser/dist-C1NaWqk4.js +2611 -0
- package/dist/browser/dist-Cx8u0gjK.js +21 -0
- package/dist/browser/dist-wOC6gYFh.js +205 -0
- package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
- package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
- package/dist/browser/es5-B__Ovz45.js +1712 -0
- package/dist/browser/event-head-C_inMpbD.js +56 -0
- package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
- package/dist/browser/expofp-overlay.png +0 -0
- package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
- package/dist/browser/exports-CvUYw1h6.js +1525 -0
- package/dist/browser/favicon-BkDrYTmU.js +12 -0
- package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
- package/dist/browser/flex-3lSivw8z.js +823 -0
- package/dist/browser/floorplan.loader-fOvLfGGf.js +3282 -0
- package/dist/browser/floorplan.ready-Bvj8hVzH.js +1540 -0
- package/dist/browser/fonts/efp-symbols.woff +0 -0
- package/dist/browser/fonts/inter-400.woff2 +0 -0
- package/dist/browser/fonts/inter-500.woff2 +0 -0
- package/dist/browser/fonts/inter-600.woff2 +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
- package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
- package/dist/browser/fuse-B7V1lkoA.js +1177 -0
- package/dist/browser/i18n-DRDvImjG.js +7210 -0
- package/dist/browser/icons/accessible.svg +5 -0
- package/dist/browser/icons/arrow-down.svg +3 -0
- package/dist/browser/icons/bus-white.svg +3 -0
- package/dist/browser/icons/check.svg +3 -0
- package/dist/browser/icons/clear.svg +4 -0
- package/dist/browser/icons/departure.svg +5 -0
- package/dist/browser/icons/departure_inactive.svg +5 -0
- package/dist/browser/icons/destination.svg +5 -0
- package/dist/browser/icons/direction.svg +54 -0
- package/dist/browser/icons/dots.svg +4 -0
- package/dist/browser/icons/dragdrop-solid.svg +11 -0
- package/dist/browser/icons/facebook.svg +4 -0
- package/dist/browser/icons/from.svg +4 -0
- package/dist/browser/icons/kiosk.svg +1 -0
- package/dist/browser/icons/linkedin.svg +3 -0
- package/dist/browser/icons/rotate.svg +5 -0
- package/dist/browser/icons/tap.svg +5 -0
- package/dist/browser/icons/to.svg +4 -0
- package/dist/browser/icons/transition.svg +7 -0
- package/dist/browser/icons/transition_down.svg +15 -0
- package/dist/browser/icons/transition_up.svg +15 -0
- package/dist/browser/icons/twitter.svg +3 -0
- package/dist/browser/icons/yah.svg +17 -0
- package/dist/browser/index.html +139 -0
- package/dist/browser/index.js +254 -0
- package/dist/browser/index.module-kJmnWg5B.js +153 -0
- package/dist/browser/integrateKiosk-DhdxcN-Y.js +35 -0
- package/dist/browser/is-debug-6YYr83sg.js +197 -0
- package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
- package/dist/browser/is-webview-cTH4yz8f.js +12 -0
- package/dist/browser/journey-plan-cw-9rqLk.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-Bqv2L5PO.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-dw9tDQ6e.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-CenmkrfL.js +30 -0
- package/dist/browser/locales/ar.json +228 -0
- package/dist/browser/locales/da.json +229 -0
- package/dist/browser/locales/de.json +228 -0
- package/dist/browser/locales/es.json +228 -0
- package/dist/browser/locales/fr.json +228 -0
- package/dist/browser/locales/he.json +228 -0
- package/dist/browser/locales/it.json +228 -0
- package/dist/browser/locales/kk.json +228 -0
- package/dist/browser/locales/ko.json +228 -0
- package/dist/browser/locales/mn.json +228 -0
- package/dist/browser/locales/nl.json +228 -0
- package/dist/browser/locales/pl.json +228 -0
- package/dist/browser/locales/pt.json +228 -0
- package/dist/browser/locales/ru.json +228 -0
- package/dist/browser/locales/sv.json +228 -0
- package/dist/browser/locales/th.json +228 -0
- package/dist/browser/locales/tr.json +228 -0
- package/dist/browser/locales/uk.json +228 -0
- package/dist/browser/locales/vi.json +228 -0
- package/dist/browser/locales/zh.json +228 -0
- package/dist/browser/logDeviceInfo-D2Anqc6y.js +58 -0
- package/dist/browser/mobx-C-kcS0zI.js +43 -0
- package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
- package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
- package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
- package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
- package/dist/browser/particles.min-eC5xdOrB.js +133 -0
- package/dist/browser/react-DqPP-mkq.js +301 -0
- package/dist/browser/react-dom-BkVzoZWO.js +139 -0
- package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
- package/dist/browser/scheduler-NBuuaWIe.js +212 -0
- package/dist/browser/select-Cxf-YiNA.js +1367 -0
- package/dist/browser/settings-D74eG9h8.js +9 -0
- package/dist/browser/settings-item-DUUbKec_.js +76 -0
- package/dist/browser/store-q_CTsixH.js +58 -0
- package/dist/browser/string-editor-CINOmY_C.js +30 -0
- package/dist/browser/text-field-DORaOVht.js +88 -0
- package/dist/browser/theme-DyFm9MGz.js +2803 -0
- package/dist/browser/ui-DsCU3FV6.js +43 -0
- package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
- package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
- package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
- package/dist/browser/venue-public-CH7uq9Xn.js +296 -0
- package/dist/browser/venues-Yq0wU18A.js +447 -0
- package/dist/browser/viewport-juWifKNy.js +48 -0
- package/dist/browser/warning.png +0 -0
- package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
- package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
- package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
- package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
- package/dist/esm/components/AlertContainer.d.ts +4 -0
- package/dist/esm/components/AlertContainer.js +8 -0
- package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
- package/dist/esm/components/AutocompleteContainer.js +14 -0
- package/dist/esm/components/BaseFilterModal.d.ts +11 -0
- package/dist/esm/components/BaseFilterModal.js +73 -0
- package/dist/esm/components/Bookmarks.d.ts +3 -0
- package/dist/esm/components/Bookmarks.js +26 -0
- package/dist/esm/components/Booth/Booth.d.ts +5 -0
- package/dist/esm/components/Booth/Booth.js +135 -0
- package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
- package/dist/esm/components/Booth/BoothOnHold.js +11 -0
- package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
- package/dist/esm/components/Booth/BoothReserved.js +7 -0
- package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
- package/dist/esm/components/Booth/BoothSpecial.js +4 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
- package/dist/esm/components/Category.d.ts +5 -0
- package/dist/esm/components/Category.js +25 -0
- package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
- package/dist/esm/components/CategoryFilterModal.js +63 -0
- package/dist/esm/components/CookieConsent.d.ts +9 -0
- package/dist/esm/components/CookieConsent.js +9 -0
- package/dist/esm/components/Debug.d.ts +5 -0
- package/dist/esm/components/Debug.js +15 -0
- package/dist/esm/components/Demo.d.ts +4 -0
- package/dist/esm/components/Demo.js +37 -0
- package/dist/esm/components/DownloadListContainer.d.ts +5 -0
- package/dist/esm/components/DownloadListContainer.js +8 -0
- package/dist/esm/components/EntityItemContainer.d.ts +28 -0
- package/dist/esm/components/EntityItemContainer.js +36 -0
- package/dist/esm/components/EntityList.d.ts +9 -0
- package/dist/esm/components/EntityList.js +144 -0
- package/dist/esm/components/EntityListRow.d.ts +13 -0
- package/dist/esm/components/EntityListRow.js +78 -0
- package/dist/esm/components/ErrorBoundary.d.ts +15 -0
- package/dist/esm/components/ErrorBoundary.js +29 -0
- package/dist/esm/components/Event.d.ts +5 -0
- package/dist/esm/components/Event.js +167 -0
- package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
- package/dist/esm/components/EventBadgeContainer.js +29 -0
- package/dist/esm/components/Exhibitor.d.ts +5 -0
- package/dist/esm/components/Exhibitor.js +299 -0
- package/dist/esm/components/Filter.d.ts +4 -0
- package/dist/esm/components/Filter.js +24 -0
- package/dist/esm/components/Free.d.ts +4 -0
- package/dist/esm/components/Free.js +31 -0
- package/dist/esm/components/GalleryContainer.d.ts +6 -0
- package/dist/esm/components/GalleryContainer.js +55 -0
- package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
- package/dist/esm/components/GlobalErrorMessage.js +9 -0
- package/dist/esm/components/GpsLoader.d.ts +5 -0
- package/dist/esm/components/GpsLoader.js +29 -0
- package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
- package/dist/esm/components/HeatmapLegendContainer.js +13 -0
- package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
- package/dist/esm/components/HighlightTextContainer.js +10 -0
- package/dist/esm/components/IntercomLauncher.d.ts +5 -0
- package/dist/esm/components/IntercomLauncher.js +20 -0
- package/dist/esm/components/JourneyPanel.d.ts +35 -0
- package/dist/esm/components/JourneyPanel.js +68 -0
- package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
- package/dist/esm/components/Kiosk/KioskStore.js +411 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
- package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
- package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
- package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
- package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
- package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
- package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
- package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
- package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
- package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +47 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
- package/dist/esm/components/Language.d.ts +4 -0
- package/dist/esm/components/Language.js +15 -0
- package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
- package/dist/esm/components/LanguageRowContainer.js +9 -0
- package/dist/esm/components/Layout.d.ts +11 -0
- package/dist/esm/components/Layout.js +160 -0
- package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
- package/dist/esm/components/LevelBadgeContainer.js +10 -0
- package/dist/esm/components/List.d.ts +9 -0
- package/dist/esm/components/List.js +77 -0
- package/dist/esm/components/LogoOverlay.d.ts +3 -0
- package/dist/esm/components/LogoOverlay.js +78 -0
- package/dist/esm/components/Map/Map.d.ts +2 -0
- package/dist/esm/components/Map/Map.js +242 -0
- package/dist/esm/components/Map/MapCamera.d.ts +17 -0
- package/dist/esm/components/Map/MapCamera.js +194 -0
- package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
- package/dist/esm/components/Map/MapCursorCoords.js +61 -0
- package/dist/esm/components/Map/MapViewport.d.ts +12 -0
- package/dist/esm/components/Map/MapViewport.js +29 -0
- package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
- package/dist/esm/components/Map/booth-by-xy.js +128 -0
- package/dist/esm/components/Map/camera-events.d.ts +19 -0
- package/dist/esm/components/Map/camera-events.js +26 -0
- package/dist/esm/components/Map/camera.d.ts +48 -0
- package/dist/esm/components/Map/camera.js +43 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
- package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
- package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
- package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
- package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
- package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
- package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
- package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
- package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
- package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
- package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
- package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
- package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
- package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
- package/dist/esm/components/Map/framing-rect.d.ts +16 -0
- package/dist/esm/components/Map/framing-rect.js +24 -0
- package/dist/esm/components/Map/pointer.d.ts +79 -0
- package/dist/esm/components/Map/pointer.js +181 -0
- package/dist/esm/components/Map/scene.d.ts +20 -0
- package/dist/esm/components/Map/scene.js +24 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
- package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
- package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
- package/dist/esm/components/Map/viewport.d.ts +63 -0
- package/dist/esm/components/Map/viewport.js +82 -0
- package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
- package/dist/esm/components/Map/with-kiosk.js +25 -0
- package/dist/esm/components/MapControlsContainer.d.ts +3 -0
- package/dist/esm/components/MapControlsContainer.js +58 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
- package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
- package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
- package/dist/esm/components/Maplibre/useDimming.js +61 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
- package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
- package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
- package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
- package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
- package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
- package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/solver.js +238 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
- package/dist/esm/components/Menu.d.ts +11 -0
- package/dist/esm/components/Menu.js +94 -0
- package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
- package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
- package/dist/esm/components/ModalContainer.d.ts +41 -0
- package/dist/esm/components/ModalContainer.js +10 -0
- package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
- package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
- package/dist/esm/components/OverlayContainer.d.ts +8 -0
- package/dist/esm/components/OverlayContainer.js +82 -0
- package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
- package/dist/esm/components/OverlayGripContainer.js +11 -0
- package/dist/esm/components/OverlayParticles.d.ts +5 -0
- package/dist/esm/components/OverlayParticles.js +54 -0
- package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
- package/dist/esm/components/PlanSelectorContainer.js +79 -0
- package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
- package/dist/esm/components/RebookingNotesContainer.js +8 -0
- package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
- package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
- package/dist/esm/components/RouteQR.d.ts +12 -0
- package/dist/esm/components/RouteQR.js +10 -0
- package/dist/esm/components/Schedule.d.ts +13 -0
- package/dist/esm/components/Schedule.js +109 -0
- package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
- package/dist/esm/components/ScrollableRowContainer.js +11 -0
- package/dist/esm/components/Search.d.ts +5 -0
- package/dist/esm/components/Search.js +45 -0
- package/dist/esm/components/SearchBox.d.ts +7 -0
- package/dist/esm/components/SearchBox.js +171 -0
- package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
- package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
- package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
- package/dist/esm/components/SearchButtons/SearchButtons.js +25 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
- package/dist/esm/components/SearchButtons/index.d.ts +7 -0
- package/dist/esm/components/SearchButtons/index.js +5 -0
- package/dist/esm/components/Sessions.d.ts +8 -0
- package/dist/esm/components/Sessions.js +128 -0
- package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
- package/dist/esm/components/SessionsFiltersModal.js +105 -0
- package/dist/esm/components/SessionsList.d.ts +12 -0
- package/dist/esm/components/SessionsList.js +212 -0
- package/dist/esm/components/ShareContainer.d.ts +7 -0
- package/dist/esm/components/ShareContainer.js +29 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
- package/dist/esm/components/Shortcuts/index.d.ts +4 -0
- package/dist/esm/components/Shortcuts/index.js +4 -0
- package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
- package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
- package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
- package/dist/esm/components/SidebarActionsContainer.js +8 -0
- package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
- package/dist/esm/components/SimpleRowContainer.js +8 -0
- package/dist/esm/components/Speaker.d.ts +5 -0
- package/dist/esm/components/Speaker.js +72 -0
- package/dist/esm/components/Speakers.d.ts +8 -0
- package/dist/esm/components/Speakers.js +63 -0
- package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
- package/dist/esm/components/SpeakersFiltersModal.js +77 -0
- package/dist/esm/components/TourPoints.d.ts +4 -0
- package/dist/esm/components/TourPoints.js +20 -0
- package/dist/esm/components/Tours.d.ts +7 -0
- package/dist/esm/components/Tours.js +54 -0
- package/dist/esm/components/ToursList.d.ts +10 -0
- package/dist/esm/components/ToursList.js +22 -0
- package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
- package/dist/esm/components/ViewerMenuPanel.js +61 -0
- package/dist/esm/components/Visited.d.ts +4 -0
- package/dist/esm/components/Visited.js +13 -0
- package/dist/esm/components/WayInformation.d.ts +14 -0
- package/dist/esm/components/WayInformation.js +8 -0
- package/dist/esm/components/Wayfinding.d.ts +4 -0
- package/dist/esm/components/Wayfinding.js +285 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
- package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
- package/dist/esm/components/WayfindingTemplate.js +14 -0
- package/dist/esm/components/Ws.d.ts +5 -0
- package/dist/esm/components/Ws.js +131 -0
- package/dist/esm/components/YahRow.d.ts +8 -0
- package/dist/esm/components/YahRow.js +25 -0
- package/dist/esm/components/gps/GpsManager.d.ts +13 -0
- package/dist/esm/components/gps/GpsManager.js +60 -0
- package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
- package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
- package/dist/esm/components/gps/index.d.ts +5 -0
- package/dist/esm/components/gps/index.js +3 -0
- package/dist/esm/components/gps/types.d.ts +7 -0
- package/dist/esm/components/gps/types.js +1 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
- package/dist/esm/components/gps/utils.d.ts +5 -0
- package/dist/esm/components/gps/utils.js +11 -0
- package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
- package/dist/esm/components/heatmap-legend-ticks.js +18 -0
- package/dist/esm/components/index.d.ts +114 -0
- package/dist/esm/components/index.js +76 -0
- package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
- package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
- package/dist/esm/components/utils/getDescription.d.ts +19 -0
- package/dist/esm/components/utils/getDescription.js +35 -0
- package/dist/esm/constants.d.ts +44 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/data/fp-payloads.d.ts +27 -0
- package/dist/esm/data/fp-payloads.js +53 -0
- package/dist/esm/data/fpGeo.d.ts +45 -0
- package/dist/esm/data/fpGeo.js +9 -0
- package/dist/esm/data/index.d.ts +15 -0
- package/dist/esm/data/index.js +15 -0
- package/dist/esm/data/layer-viewbox.d.ts +10 -0
- package/dist/esm/data/layer-viewbox.js +20 -0
- package/dist/esm/data/svg.d.ts +43 -0
- package/dist/esm/data/svg.js +210 -0
- package/dist/esm/data/tours.json +280 -0
- package/dist/esm/data/venue-scene-preload.d.ts +34 -0
- package/dist/esm/data/venue-scene-preload.js +205 -0
- package/dist/esm/data/venues.d.ts +145 -0
- package/dist/esm/data/venues.js +955 -0
- package/dist/esm/engine/defs.d.ts +38 -0
- package/dist/esm/engine/defs.js +85 -0
- package/dist/esm/engine/fonts.d.ts +9 -0
- package/dist/esm/engine/fonts.js +12 -0
- package/dist/esm/engine/update-def.d.ts +55 -0
- package/dist/esm/engine/update-def.js +127 -0
- package/dist/esm/engine/utils/rotation.d.ts +13 -0
- package/dist/esm/engine/utils/rotation.js +73 -0
- package/dist/esm/floorplan.loader.d.ts +164 -0
- package/dist/esm/floorplan.loader.js +540 -0
- package/dist/esm/floorplan.ready.d.ts +149 -0
- package/dist/esm/floorplan.ready.js +1093 -0
- package/dist/esm/hooks/useURLFilters.d.ts +15 -0
- package/dist/esm/hooks/useURLFilters.js +44 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +47 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +74 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/internal-settings.d.ts +13 -0
- package/dist/esm/internal-settings.js +6 -0
- package/dist/esm/journey/external-navigation.d.ts +30 -0
- package/dist/esm/journey/external-navigation.js +38 -0
- package/dist/esm/journey/format-distance.d.ts +14 -0
- package/dist/esm/journey/format-distance.js +38 -0
- package/dist/esm/journey/index.d.ts +16 -0
- package/dist/esm/journey/index.js +15 -0
- package/dist/esm/journey/journey-context.d.ts +140 -0
- package/dist/esm/journey/journey-context.js +137 -0
- package/dist/esm/journey/journey-link.d.ts +49 -0
- package/dist/esm/journey/journey-link.js +35 -0
- package/dist/esm/journey/journey-stage.d.ts +35 -0
- package/dist/esm/journey/journey-stage.js +28 -0
- package/dist/esm/journey/maps-provider.d.ts +36 -0
- package/dist/esm/journey/maps-provider.js +58 -0
- package/dist/esm/journey/plan-journey.d.ts +37 -0
- package/dist/esm/journey/plan-journey.js +176 -0
- package/dist/esm/journey/types.d.ts +294 -0
- package/dist/esm/journey/types.js +1 -0
- package/dist/esm/load-dev.d.ts +44 -0
- package/dist/esm/load-dev.js +60 -0
- package/dist/esm/load.d.ts +17 -0
- package/dist/esm/load.js +244 -0
- package/dist/esm/locales.d.ts +25 -0
- package/dist/esm/locales.js +23 -0
- package/dist/esm/offline/constants.d.ts +5 -0
- package/dist/esm/offline/constants.js +4 -0
- package/dist/esm/offline/offlineManager.d.ts +2 -0
- package/dist/esm/offline/offlineManager.js +78 -0
- package/dist/esm/plan-lifecycle.d.ts +65 -0
- package/dist/esm/plan-lifecycle.js +97 -0
- package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
- package/dist/esm/schemas/sdk.schemas.js +24 -0
- package/dist/esm/services/URLFilterManager.d.ts +39 -0
- package/dist/esm/services/URLFilterManager.js +379 -0
- package/dist/esm/services/multi-slug.d.ts +20 -0
- package/dist/esm/services/multi-slug.js +30 -0
- package/dist/esm/services/url-dispatch.d.ts +22 -0
- package/dist/esm/services/url-dispatch.js +707 -0
- package/dist/esm/services/url-sync.d.ts +40 -0
- package/dist/esm/services/url-sync.js +185 -0
- package/dist/esm/store/BaseFilterStore.d.ts +17 -0
- package/dist/esm/store/BaseFilterStore.js +63 -0
- package/dist/esm/store/BookmarksStore.d.ts +9 -0
- package/dist/esm/store/BookmarksStore.js +28 -0
- package/dist/esm/store/BoothStore.d.ts +105 -0
- package/dist/esm/store/BoothStore.js +194 -0
- package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
- package/dist/esm/store/CategoryFilterStore.js +60 -0
- package/dist/esm/store/CategoryStore.d.ts +21 -0
- package/dist/esm/store/CategoryStore.js +30 -0
- package/dist/esm/store/EventStore.d.ts +56 -0
- package/dist/esm/store/EventStore.js +188 -0
- package/dist/esm/store/ExhibitorStore.d.ts +86 -0
- package/dist/esm/store/ExhibitorStore.js +175 -0
- package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
- package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
- package/dist/esm/store/HeatmapStore.d.ts +51 -0
- package/dist/esm/store/HeatmapStore.js +100 -0
- package/dist/esm/store/IntercomStore.d.ts +7 -0
- package/dist/esm/store/IntercomStore.js +26 -0
- package/dist/esm/store/LayerStore.d.ts +70 -0
- package/dist/esm/store/LayerStore.js +399 -0
- package/dist/esm/store/MaplibreStore.d.ts +71 -0
- package/dist/esm/store/MaplibreStore.js +137 -0
- package/dist/esm/store/OverlayStore.d.ts +32 -0
- package/dist/esm/store/OverlayStore.js +68 -0
- package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
- package/dist/esm/store/PoiMarkerStore.js +97 -0
- package/dist/esm/store/PoiTypeStore.d.ts +8 -0
- package/dist/esm/store/PoiTypeStore.js +6 -0
- package/dist/esm/store/RootStore.d.ts +118 -0
- package/dist/esm/store/RootStore.js +666 -0
- package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
- package/dist/esm/store/RoutePlannerStore.js +322 -0
- package/dist/esm/store/RouteStore.d.ts +138 -0
- package/dist/esm/store/RouteStore.js +697 -0
- package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
- package/dist/esm/store/SearchButtonsStore.js +2 -0
- package/dist/esm/store/SearchStore.d.ts +81 -0
- package/dist/esm/store/SearchStore.js +612 -0
- package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
- package/dist/esm/store/SessionsFilterStore.js +169 -0
- package/dist/esm/store/ShortcutProvider.d.ts +26 -0
- package/dist/esm/store/ShortcutProvider.js +5 -0
- package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
- package/dist/esm/store/ShortcutRegistry.js +130 -0
- package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
- package/dist/esm/store/SpeakerFilterStore.js +152 -0
- package/dist/esm/store/SpeakerStore.d.ts +45 -0
- package/dist/esm/store/SpeakerStore.js +142 -0
- package/dist/esm/store/SubButtonProvider.d.ts +16 -0
- package/dist/esm/store/SubButtonProvider.js +6 -0
- package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
- package/dist/esm/store/SubButtonRegistry.js +58 -0
- package/dist/esm/store/ToursStore.d.ts +30 -0
- package/dist/esm/store/ToursStore.js +184 -0
- package/dist/esm/store/UIState.d.ts +329 -0
- package/dist/esm/store/UIState.js +2138 -0
- package/dist/esm/store/VenueStore.d.ts +254 -0
- package/dist/esm/store/VenueStore.js +650 -0
- package/dist/esm/store/create-live-plan.d.ts +13 -0
- package/dist/esm/store/create-live-plan.js +25 -0
- package/dist/esm/store/details-events.d.ts +11 -0
- package/dist/esm/store/details-events.js +76 -0
- package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
- package/dist/esm/store/floor-activated-notifier.js +22 -0
- package/dist/esm/store/index.d.ts +3 -0
- package/dist/esm/store/index.js +14 -0
- package/dist/esm/store/init/index.d.ts +3 -0
- package/dist/esm/store/init/index.js +20 -0
- package/dist/esm/store/init/init-booths.d.ts +6 -0
- package/dist/esm/store/init/init-booths.js +306 -0
- package/dist/esm/store/init/init-categories.d.ts +3 -0
- package/dist/esm/store/init/init-categories.js +28 -0
- package/dist/esm/store/init/init-events.d.ts +3 -0
- package/dist/esm/store/init/init-events.js +45 -0
- package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
- package/dist/esm/store/init/init-exhibitors.js +71 -0
- package/dist/esm/store/init/init-heatmap.d.ts +3 -0
- package/dist/esm/store/init/init-heatmap.js +37 -0
- package/dist/esm/store/init/init-layers.d.ts +8 -0
- package/dist/esm/store/init/init-layers.js +151 -0
- package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
- package/dist/esm/store/init/init-poiTypes.js +6 -0
- package/dist/esm/store/init/init-speakers.d.ts +3 -0
- package/dist/esm/store/init/init-speakers.js +20 -0
- package/dist/esm/store/init/init-ui.d.ts +13 -0
- package/dist/esm/store/init/init-ui.js +155 -0
- package/dist/esm/store/journey-plan.d.ts +89 -0
- package/dist/esm/store/journey-plan.js +291 -0
- package/dist/esm/store/live-store.d.ts +19 -0
- package/dist/esm/store/live-store.js +26 -0
- package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
- package/dist/esm/store/outdoor-poi-filter.js +33 -0
- package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
- package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
- package/dist/esm/store/reveal-layer.d.ts +29 -0
- package/dist/esm/store/reveal-layer.js +25 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
- package/dist/esm/store/search-buttons/constants.d.ts +24 -0
- package/dist/esm/store/search-buttons/constants.js +24 -0
- package/dist/esm/store/search-buttons/index.d.ts +8 -0
- package/dist/esm/store/search-buttons/index.js +7 -0
- package/dist/esm/store/search-buttons/utils.d.ts +6 -0
- package/dist/esm/store/search-buttons/utils.js +34 -0
- package/dist/esm/store/types.d.ts +213 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/venue-public.d.ts +10 -0
- package/dist/esm/store/venue-public.js +14 -0
- package/dist/esm/store/venue-selection.d.ts +45 -0
- package/dist/esm/store/venue-selection.js +101 -0
- package/dist/esm/test/store-harness.d.ts +32 -0
- package/dist/esm/test/store-harness.js +116 -0
- package/dist/esm/tools/base-runtime-url.d.ts +3 -0
- package/dist/esm/tools/base-runtime-url.js +23 -0
- package/dist/esm/tools/debounce.d.ts +2 -0
- package/dist/esm/tools/debounce.js +10 -0
- package/dist/esm/tools/debugCanvases.d.ts +3 -0
- package/dist/esm/tools/debugCanvases.js +3 -0
- package/dist/esm/tools/event-not-found.d.ts +18 -0
- package/dist/esm/tools/event-not-found.js +50 -0
- package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
- package/dist/esm/tools/event-scoped-cache.js +47 -0
- package/dist/esm/tools/expofpUrl.d.ts +7 -0
- package/dist/esm/tools/expofpUrl.js +10 -0
- package/dist/esm/tools/freeBanner.d.ts +5 -0
- package/dist/esm/tools/freeBanner.js +11 -0
- package/dist/esm/tools/gtag.d.ts +66 -0
- package/dist/esm/tools/gtag.js +287 -0
- package/dist/esm/tools/handleDebugMode.d.ts +19 -0
- package/dist/esm/tools/handleDebugMode.js +61 -0
- package/dist/esm/tools/has-html-tags.d.ts +2 -0
- package/dist/esm/tools/has-html-tags.js +3 -0
- package/dist/esm/tools/id.d.ts +2 -0
- package/dist/esm/tools/id.js +5 -0
- package/dist/esm/tools/loaders.d.ts +5 -0
- package/dist/esm/tools/loaders.js +67 -0
- package/dist/esm/tools/logger.d.ts +38 -0
- package/dist/esm/tools/logger.js +87 -0
- package/dist/esm/tools/rebooking-config.d.ts +10 -0
- package/dist/esm/tools/rebooking-config.js +19 -0
- package/dist/esm/tools/rebookingUrl.d.ts +11 -0
- package/dist/esm/tools/rebookingUrl.js +27 -0
- package/dist/esm/tools/report-error.d.ts +2 -0
- package/dist/esm/tools/report-error.js +134 -0
- package/dist/esm/tools/reset.d.ts +2 -0
- package/dist/esm/tools/reset.js +35 -0
- package/dist/esm/tools/sdk-telemetry.d.ts +10 -0
- package/dist/esm/tools/sdk-telemetry.js +122 -0
- package/dist/esm/tools/sentry.d.ts +7 -0
- package/dist/esm/tools/sentry.js +166 -0
- package/dist/esm/tools/settings.d.ts +36 -0
- package/dist/esm/tools/settings.js +110 -0
- package/dist/esm/tools/slug.d.ts +2 -0
- package/dist/esm/tools/slug.js +27 -0
- package/dist/esm/tools/strip-html.d.ts +2 -0
- package/dist/esm/tools/strip-html.js +7 -0
- package/dist/esm/tools/style-registry.d.ts +28 -0
- package/dist/esm/tools/style-registry.js +46 -0
- package/dist/esm/tools/telemetry.d.ts +37 -0
- package/dist/esm/tools/telemetry.js +266 -0
- package/dist/esm/tools/track-event.d.ts +28 -0
- package/dist/esm/tools/track-event.js +196 -0
- package/dist/esm/tools/webgl-logger.d.ts +2 -0
- package/dist/esm/tools/webgl-logger.js +31 -0
- package/dist/esm/types/drawing.types.d.ts +18 -0
- package/dist/esm/types/drawing.types.js +1 -0
- package/dist/esm/types/sdk.types.d.ts +49 -0
- package/dist/esm/types/sdk.types.js +6 -0
- package/dist/esm/types.d.ts +593 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
- package/dist/esm/utils/_OLD_gpu-info.js +23 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
- package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
- package/dist/esm/utils/areLayersEnabled.js +4 -0
- package/dist/esm/utils/blob-image-size.d.ts +27 -0
- package/dist/esm/utils/blob-image-size.js +37 -0
- package/dist/esm/utils/brand.d.ts +18 -0
- package/dist/esm/utils/brand.js +19 -0
- package/dist/esm/utils/browser.d.ts +4 -0
- package/dist/esm/utils/browser.js +4 -0
- package/dist/esm/utils/calcSpeed.d.ts +2 -0
- package/dist/esm/utils/calcSpeed.js +5 -0
- package/dist/esm/utils/calcTravelTime.d.ts +2 -0
- package/dist/esm/utils/calcTravelTime.js +3 -0
- package/dist/esm/utils/camera-map-settings.d.ts +26 -0
- package/dist/esm/utils/camera-map-settings.js +86 -0
- package/dist/esm/utils/color-gradient.d.ts +2 -0
- package/dist/esm/utils/color-gradient.js +14 -0
- package/dist/esm/utils/customCommands.d.ts +2 -0
- package/dist/esm/utils/customCommands.js +33 -0
- package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
- package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
- package/dist/esm/utils/dimming.d.ts +27 -0
- package/dist/esm/utils/dimming.js +88 -0
- package/dist/esm/utils/entity-storage.d.ts +14 -0
- package/dist/esm/utils/entity-storage.js +122 -0
- package/dist/esm/utils/event-head.d.ts +38 -0
- package/dist/esm/utils/event-head.js +90 -0
- package/dist/esm/utils/event-now.d.ts +11 -0
- package/dist/esm/utils/event-now.js +40 -0
- package/dist/esm/utils/event-title.d.ts +19 -0
- package/dist/esm/utils/event-title.js +20 -0
- package/dist/esm/utils/eventFullBadge.d.ts +3 -0
- package/dist/esm/utils/eventFullBadge.js +7 -0
- package/dist/esm/utils/eventTime.d.ts +15 -0
- package/dist/esm/utils/eventTime.js +82 -0
- package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
- package/dist/esm/utils/extractMetaFromString.js +16 -0
- package/dist/esm/utils/geo-anchors.d.ts +10 -0
- package/dist/esm/utils/geo-anchors.js +12 -0
- package/dist/esm/utils/geometry.d.ts +2 -0
- package/dist/esm/utils/geometry.js +12 -0
- package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
- package/dist/esm/utils/getContrastTextColor.js +26 -0
- package/dist/esm/utils/getLogoUrl.d.ts +9 -0
- package/dist/esm/utils/getLogoUrl.js +26 -0
- package/dist/esm/utils/getMostFrequent.d.ts +2 -0
- package/dist/esm/utils/getMostFrequent.js +14 -0
- package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
- package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
- package/dist/esm/utils/gps.d.ts +40 -0
- package/dist/esm/utils/gps.js +66 -0
- package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
- package/dist/esm/utils/heatmap-enabled.js +13 -0
- package/dist/esm/utils/i18n.d.ts +18 -0
- package/dist/esm/utils/i18n.js +117 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.js +60 -0
- package/dist/esm/utils/is-debug.d.ts +3 -0
- package/dist/esm/utils/is-debug.js +9 -0
- package/dist/esm/utils/is-from-designer.d.ts +3 -0
- package/dist/esm/utils/is-from-designer.js +4 -0
- package/dist/esm/utils/is-iframe.d.ts +3 -0
- package/dist/esm/utils/is-iframe.js +13 -0
- package/dist/esm/utils/is-localhost.d.ts +3 -0
- package/dist/esm/utils/is-localhost.js +11 -0
- package/dist/esm/utils/is-mac.d.ts +3 -0
- package/dist/esm/utils/is-mac.js +2 -0
- package/dist/esm/utils/is-mobile.d.ts +3 -0
- package/dist/esm/utils/is-mobile.js +2 -0
- package/dist/esm/utils/is-own-domain.d.ts +12 -0
- package/dist/esm/utils/is-own-domain.js +23 -0
- package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
- package/dist/esm/utils/is-pathway-layer.js +4 -0
- package/dist/esm/utils/is-phone.d.ts +9 -0
- package/dist/esm/utils/is-phone.js +17 -0
- package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
- package/dist/esm/utils/is-scroll-ugly.js +13 -0
- package/dist/esm/utils/is-webview.d.ts +3 -0
- package/dist/esm/utils/is-webview.js +2 -0
- package/dist/esm/utils/isNumericLevel.d.ts +2 -0
- package/dist/esm/utils/isNumericLevel.js +3 -0
- package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
- package/dist/esm/utils/lazy-qr-code.js +6 -0
- package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
- package/dist/esm/utils/legacy-storage-keys.js +38 -0
- package/dist/esm/utils/loadBlob.d.ts +16 -0
- package/dist/esm/utils/loadBlob.js +40 -0
- package/dist/esm/utils/loadCustomCss.d.ts +3 -0
- package/dist/esm/utils/loadCustomCss.js +19 -0
- package/dist/esm/utils/loadIcons.d.ts +3 -0
- package/dist/esm/utils/loadIcons.js +24 -0
- package/dist/esm/utils/loadImage.d.ts +2 -0
- package/dist/esm/utils/loadImage.js +11 -0
- package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
- package/dist/esm/utils/loadImagesInBatches.js +82 -0
- package/dist/esm/utils/loadLayerImages.d.ts +41 -0
- package/dist/esm/utils/loadLayerImages.js +107 -0
- package/dist/esm/utils/localStorage.d.ts +2 -0
- package/dist/esm/utils/localStorage.js +11 -0
- package/dist/esm/utils/lz-utils.d.ts +8 -0
- package/dist/esm/utils/lz-utils.js +16 -0
- package/dist/esm/utils/mapEntity.d.ts +3 -0
- package/dist/esm/utils/mapEntity.js +82 -0
- package/dist/esm/utils/math.d.ts +6 -0
- package/dist/esm/utils/math.js +7 -0
- package/dist/esm/utils/mobx.d.ts +35 -0
- package/dist/esm/utils/mobx.js +74 -0
- package/dist/esm/utils/outdoor-poi.d.ts +32 -0
- package/dist/esm/utils/outdoor-poi.js +28 -0
- package/dist/esm/utils/plan-reactions.d.ts +20 -0
- package/dist/esm/utils/plan-reactions.js +26 -0
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +15 -0
- package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
- package/dist/esm/utils/preview-exhibitor.js +19 -0
- package/dist/esm/utils/rasterize-svg.d.ts +32 -0
- package/dist/esm/utils/rasterize-svg.js +78 -0
- package/dist/esm/utils/responsiveClass.d.ts +2 -0
- package/dist/esm/utils/responsiveClass.js +25 -0
- package/dist/esm/utils/rtl.d.ts +2 -0
- package/dist/esm/utils/rtl.js +4 -0
- package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
- package/dist/esm/utils/sanitizeHtml.js +21 -0
- package/dist/esm/utils/sanitizeText.d.ts +9 -0
- package/dist/esm/utils/sanitizeText.js +19 -0
- package/dist/esm/utils/scene-bounds.d.ts +64 -0
- package/dist/esm/utils/scene-bounds.js +127 -0
- package/dist/esm/utils/shortenName.d.ts +2 -0
- package/dist/esm/utils/shortenName.js +19 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
- package/dist/esm/utils/strEqual.d.ts +2 -0
- package/dist/esm/utils/strEqual.js +3 -0
- package/dist/esm/utils/swappable-proxy.d.ts +28 -0
- package/dist/esm/utils/swappable-proxy.js +71 -0
- package/dist/esm/utils/trackingParams.d.ts +3 -0
- package/dist/esm/utils/trackingParams.js +24 -0
- package/dist/esm/utils/urlEncoding.d.ts +7 -0
- package/dist/esm/utils/urlEncoding.js +62 -0
- package/dist/esm/utils/use-shadow.d.ts +3 -0
- package/dist/esm/utils/use-shadow.js +10 -0
- package/dist/esm/utils/useHeatmapData.d.ts +10 -0
- package/dist/esm/utils/useHeatmapData.js +8 -0
- package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
- package/dist/esm/utils/useHeatmapOverlay.js +56 -0
- package/dist/esm/utils/useRenderTarget.d.ts +2 -0
- package/dist/esm/utils/useRenderTarget.js +35 -0
- package/dist/esm/utils/yah_icon.d.ts +6 -0
- package/dist/esm/utils/yah_icon.js +457 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.d.ts +13 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.js +25 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
- package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +49 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +87 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +10 -0
- package/dist/esm/wayfinding/adapters/index.js +8 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
- package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
- package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
- package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
- package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
- package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
- package/dist/esm/wayfinding/createWayfinding.js +184 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
- package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
- package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
- package/dist/esm/wayfinding/index.d.ts +12 -0
- package/dist/esm/wayfinding/index.js +9 -0
- package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
- package/dist/esm/wayfinding/routeSteps.js +29 -0
- package/dist/esm/wayfinding/storePorts.d.ts +67 -0
- package/dist/esm/wayfinding/storePorts.js +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { Box } from '@expofp/geometry';
|
|
2
|
+
function meshPositions(mesh) {
|
|
3
|
+
if (!mesh || !Array.isArray(mesh.positions) || mesh.positions.length < 3)
|
|
4
|
+
return null;
|
|
5
|
+
const points = [];
|
|
6
|
+
for (const position of mesh.positions) {
|
|
7
|
+
if (!Array.isArray(position) ||
|
|
8
|
+
!Number.isFinite(position[0]) ||
|
|
9
|
+
!Number.isFinite(position[1])) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
points.push({ x: position[0], y: position[1] });
|
|
13
|
+
}
|
|
14
|
+
return points;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Walks the boundary of a triangulated mesh back into a single ring. Returns
|
|
18
|
+
* null unless the boundary is exactly one closed, manifold loop — a mesh with a
|
|
19
|
+
* hole, several disjoint parts, or a non-manifold edge has no single outline.
|
|
20
|
+
*/
|
|
21
|
+
function ringFromMesh(mesh) {
|
|
22
|
+
if (!mesh || !Array.isArray(mesh.positions) || !Array.isArray(mesh.cells))
|
|
23
|
+
return null;
|
|
24
|
+
const vertices = [];
|
|
25
|
+
const vertexByCoordinate = new Map();
|
|
26
|
+
const sourceToVertex = mesh.positions.map((position) => {
|
|
27
|
+
if (!Array.isArray(position) ||
|
|
28
|
+
!Number.isFinite(position[0]) ||
|
|
29
|
+
!Number.isFinite(position[1])) {
|
|
30
|
+
return -1;
|
|
31
|
+
}
|
|
32
|
+
const key = `${position[0]},${position[1]}`;
|
|
33
|
+
const known = vertexByCoordinate.get(key);
|
|
34
|
+
if (known !== undefined)
|
|
35
|
+
return known;
|
|
36
|
+
const index = vertices.length;
|
|
37
|
+
vertices.push({ x: position[0], y: position[1] });
|
|
38
|
+
vertexByCoordinate.set(key, index);
|
|
39
|
+
return index;
|
|
40
|
+
});
|
|
41
|
+
const edgeCounts = new Map();
|
|
42
|
+
for (const cell of mesh.cells) {
|
|
43
|
+
if (!Array.isArray(cell) || cell.length !== 3)
|
|
44
|
+
return null;
|
|
45
|
+
const triangle = cell.map((index) => sourceToVertex[index]);
|
|
46
|
+
if (triangle.some((index) => index === undefined || index < 0) ||
|
|
47
|
+
new Set(triangle).size !== 3) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
for (let index = 0; index < 3; index++) {
|
|
51
|
+
const first = triangle[index];
|
|
52
|
+
const second = triangle[(index + 1) % 3];
|
|
53
|
+
const a = Math.min(first, second);
|
|
54
|
+
const b = Math.max(first, second);
|
|
55
|
+
const key = `${a}:${b}`;
|
|
56
|
+
const edge = edgeCounts.get(key);
|
|
57
|
+
if (edge) {
|
|
58
|
+
edge.count++;
|
|
59
|
+
if (edge.count > 2)
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
edgeCounts.set(key, { a, b, count: 1 });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const adjacency = new Map();
|
|
68
|
+
for (const edge of edgeCounts.values()) {
|
|
69
|
+
if (edge.count !== 1)
|
|
70
|
+
continue;
|
|
71
|
+
const from = adjacency.get(edge.a) ?? [];
|
|
72
|
+
const to = adjacency.get(edge.b) ?? [];
|
|
73
|
+
from.push(edge.b);
|
|
74
|
+
to.push(edge.a);
|
|
75
|
+
adjacency.set(edge.a, from);
|
|
76
|
+
adjacency.set(edge.b, to);
|
|
77
|
+
}
|
|
78
|
+
if (adjacency.size < 3 ||
|
|
79
|
+
Array.from(adjacency.values()).some((neighbors) => neighbors.length !== 2)) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
let start = Number.POSITIVE_INFINITY;
|
|
83
|
+
adjacency.forEach((_neighbors, vertex) => {
|
|
84
|
+
start = Math.min(start, vertex);
|
|
85
|
+
});
|
|
86
|
+
const ordered = [];
|
|
87
|
+
const visited = new Set();
|
|
88
|
+
let previous = -1;
|
|
89
|
+
let current = start;
|
|
90
|
+
do {
|
|
91
|
+
if (visited.has(current))
|
|
92
|
+
return null;
|
|
93
|
+
visited.add(current);
|
|
94
|
+
ordered.push(current);
|
|
95
|
+
const neighbors = adjacency.get(current);
|
|
96
|
+
const next = neighbors[0] === previous ? neighbors[1] : neighbors[0];
|
|
97
|
+
previous = current;
|
|
98
|
+
current = next;
|
|
99
|
+
} while (current !== start && ordered.length <= adjacency.size);
|
|
100
|
+
if (current !== start || ordered.length !== adjacency.size)
|
|
101
|
+
return null;
|
|
102
|
+
return ordered.map((index) => vertices[index]);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* True when the shape (or an ancestor) carries an effect whose painted extent
|
|
106
|
+
* can exceed its geometry — a genuine reason to fall back to the bounding
|
|
107
|
+
* box. A stroke is deliberately NOT one of these: a single stroked closed
|
|
108
|
+
* path is the natural way to author a contour outline (§6 tells authors to
|
|
109
|
+
* do exactly that), so treating a stroke as disqualifying pushed idiomatic
|
|
110
|
+
* artwork straight into the fallback it was meant to avoid.
|
|
111
|
+
*/
|
|
112
|
+
function hasPaintExtendingEffect(shape, root) {
|
|
113
|
+
let current = shape;
|
|
114
|
+
while (current) {
|
|
115
|
+
if (['filter', 'mask', 'clip-path', 'marker-start', 'marker-mid', 'marker-end'].some((name) => current.hasAttribute(name))) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (current === root)
|
|
119
|
+
break;
|
|
120
|
+
current = current.parentElement;
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
function boundsRing(pointSets) {
|
|
125
|
+
const box = Box.fromPoints(pointSets.flat());
|
|
126
|
+
const { min, max } = box;
|
|
127
|
+
if (!Number.isFinite(min.x) || !Number.isFinite(min.y))
|
|
128
|
+
return null;
|
|
129
|
+
return [
|
|
130
|
+
{ x: min.x, y: min.y },
|
|
131
|
+
{ x: max.x, y: min.y },
|
|
132
|
+
{ x: max.x, y: max.y },
|
|
133
|
+
{ x: min.x, y: max.y },
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Every SVG shape element that can appear on a plan layer. Only `<path>` is a
|
|
138
|
+
* footprint source — both drawing implementations select paths and dispatch on
|
|
139
|
+
* their mesh index, so nothing else on an ordinary layer is ever rendered (§6).
|
|
140
|
+
* The rest are matched anyway, so an author who drew one can be told which.
|
|
141
|
+
*/
|
|
142
|
+
const SHAPE_SELECTOR = 'path, rect, polygon, circle, ellipse, polyline, line';
|
|
143
|
+
/**
|
|
144
|
+
* Extracts one plan-local ring from a venue's scene layer.
|
|
145
|
+
*
|
|
146
|
+
* Geometry comes from the same source the renderer draws from: a `<path>` is
|
|
147
|
+
* read through its `data-index` mesh (`window.__fpPaths`), never by parsing `d`,
|
|
148
|
+
* and coordinates are taken verbatim — no SVG transform or viewBox scaling is
|
|
149
|
+
* applied, matching `Box.fromSvg` and `meshToShapeDef`. A path the renderer
|
|
150
|
+
* cannot draw therefore yields no contour, and the caller falls back per §6 of
|
|
151
|
+
* the data contract.
|
|
152
|
+
*
|
|
153
|
+
* The returned ring is a candidate only; `parseVenues` validates it.
|
|
154
|
+
*/
|
|
155
|
+
export function extractVenueContour(root, getMesh) {
|
|
156
|
+
const shapes = Array.from(root.querySelectorAll(SHAPE_SELECTOR)).filter((shape) => !shape.closest('defs'));
|
|
157
|
+
const paths = shapes.filter((shape) => shape.tagName.toLowerCase() === 'path');
|
|
158
|
+
const noRing = (unusableElementKinds = []) => ({
|
|
159
|
+
ring: null,
|
|
160
|
+
unusableElementKinds,
|
|
161
|
+
});
|
|
162
|
+
// Kinds are named only here, where the shapes drawn instead of a path are the
|
|
163
|
+
// whole reason there is no footprint. Below, a path was drawn and the answer
|
|
164
|
+
// is missing geometry, not the wrong element — naming the decoration standing
|
|
165
|
+
// beside it would send the author to redraw artwork that was never at fault.
|
|
166
|
+
if (paths.length === 0) {
|
|
167
|
+
return noRing([...new Set(shapes.map((shape) => shape.tagName.toLowerCase()))]);
|
|
168
|
+
}
|
|
169
|
+
const meshes = paths.map((path) => {
|
|
170
|
+
const dataIndex = path.getAttribute('data-index');
|
|
171
|
+
if (dataIndex === null || !/^\d+$/.test(dataIndex) || !getMesh)
|
|
172
|
+
return null;
|
|
173
|
+
return getMesh(Number(dataIndex)) ?? null;
|
|
174
|
+
});
|
|
175
|
+
const pointSets = meshes.map((mesh) => meshPositions(mesh));
|
|
176
|
+
if (pointSets.some((points) => !points))
|
|
177
|
+
return noRing();
|
|
178
|
+
const validPointSets = pointSets;
|
|
179
|
+
const bounds = () => {
|
|
180
|
+
const ring = boundsRing(validPointSets);
|
|
181
|
+
return ring ? { ring, boundsFallback: true } : noRing();
|
|
182
|
+
};
|
|
183
|
+
if (paths.length > 1 || hasPaintExtendingEffect(paths[0], root))
|
|
184
|
+
return bounds();
|
|
185
|
+
// Only reached for a lone path, so the boundary walk runs at most once.
|
|
186
|
+
const ring = ringFromMesh(meshes[0]);
|
|
187
|
+
return ring ? { ring, boundsFallback: false } : noRing();
|
|
188
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Box } from '@expofp/geometry';
|
|
2
|
+
export interface VenueFocusCandidate {
|
|
3
|
+
name: string;
|
|
4
|
+
floorIndex?: number;
|
|
5
|
+
indoorDetail?: boolean;
|
|
6
|
+
rect?: Box | null;
|
|
7
|
+
viewbox?: Box | null;
|
|
8
|
+
}
|
|
9
|
+
export type VenueFocusState = {
|
|
10
|
+
kind: 'focus';
|
|
11
|
+
name: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: 'none';
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the viewport's context venue from weighted spatial confidence.
|
|
17
|
+
*
|
|
18
|
+
* The score combines center proximity, visible screen area, visible venue
|
|
19
|
+
* fraction, and center containment. A cold campus view needs both absolute
|
|
20
|
+
* and relative confidence. An incumbent is retained until a challenger earns
|
|
21
|
+
* the larger handoff margin. Indoor detail always receives a context: an
|
|
22
|
+
* ambiguous view retains its visible indoor incumbent or chooses the nearest
|
|
23
|
+
* visible indoor venue on a cold start.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveVenueFocusState(viewport: Box, candidates: readonly VenueFocusCandidate[], focusedName?: string | null): VenueFocusState;
|
|
26
|
+
//# sourceMappingURL=venue-focus.d.ts.map
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { pointDistance } from '@expofp/geometry';
|
|
2
|
+
// SDK-owned policy values. They are intentionally centralized here rather
|
|
3
|
+
// than exposed through venue authoring data.
|
|
4
|
+
const CENTER_PROXIMITY_WEIGHT = 0.35;
|
|
5
|
+
const VISIBLE_VENUE_FRACTION_WEIGHT = 0.3;
|
|
6
|
+
const VISIBLE_VIEWPORT_AREA_WEIGHT = 0.15;
|
|
7
|
+
const VIEWPORT_CENTER_INSIDE_WEIGHT = 0.2;
|
|
8
|
+
const ABSOLUTE_CONFIDENCE = 0.45;
|
|
9
|
+
const RELATIVE_CONFIDENCE_MARGIN = 0.08;
|
|
10
|
+
const CONTEXT_HANDOFF_MARGIN = 0.12;
|
|
11
|
+
function boundsOf(candidate) {
|
|
12
|
+
const bounds = candidate.viewbox ?? candidate.rect ?? null;
|
|
13
|
+
return bounds && bounds.area > 0 ? bounds : null;
|
|
14
|
+
}
|
|
15
|
+
function scoreCandidates(viewport, candidates) {
|
|
16
|
+
const viewportArea = viewport.area;
|
|
17
|
+
const viewportDiagonal = Math.hypot(viewport.size.x, viewport.size.y);
|
|
18
|
+
if (viewportArea <= 0 || viewportDiagonal <= 0)
|
|
19
|
+
return [];
|
|
20
|
+
return candidates.flatMap((candidate, index) => {
|
|
21
|
+
const bounds = boundsOf(candidate);
|
|
22
|
+
if (!bounds)
|
|
23
|
+
return [];
|
|
24
|
+
const overlap = bounds.intersection(viewport)?.area ?? 0;
|
|
25
|
+
if (overlap <= 0)
|
|
26
|
+
return [];
|
|
27
|
+
const centerDistance = pointDistance(bounds.center, viewport.center);
|
|
28
|
+
const centerProximity = Math.max(0, 1 - centerDistance / viewportDiagonal);
|
|
29
|
+
const visibleVenueFraction = Math.min(1, overlap / bounds.area);
|
|
30
|
+
const visibleViewportArea = Math.min(1, overlap / viewportArea);
|
|
31
|
+
const viewportCenterInside = bounds.containsPoint(viewport.center) ? 1 : 0;
|
|
32
|
+
return [
|
|
33
|
+
{
|
|
34
|
+
candidate,
|
|
35
|
+
centerDistance,
|
|
36
|
+
indoorDetail: candidate.indoorDetail === true,
|
|
37
|
+
order: candidate.floorIndex ?? index,
|
|
38
|
+
score: centerProximity * CENTER_PROXIMITY_WEIGHT +
|
|
39
|
+
visibleVenueFraction * VISIBLE_VENUE_FRACTION_WEIGHT +
|
|
40
|
+
visibleViewportArea * VISIBLE_VIEWPORT_AREA_WEIGHT +
|
|
41
|
+
viewportCenterInside * VIEWPORT_CENTER_INSIDE_WEIGHT,
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function compareCandidates(a, b) {
|
|
47
|
+
return b.score - a.score || a.centerDistance - b.centerDistance || a.order - b.order;
|
|
48
|
+
}
|
|
49
|
+
function nearestIndoorCandidate(scored) {
|
|
50
|
+
return (scored
|
|
51
|
+
.filter(({ indoorDetail }) => indoorDetail)
|
|
52
|
+
.sort((a, b) => a.centerDistance - b.centerDistance || a.order - b.order)[0] ?? null);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolves the viewport's context venue from weighted spatial confidence.
|
|
56
|
+
*
|
|
57
|
+
* The score combines center proximity, visible screen area, visible venue
|
|
58
|
+
* fraction, and center containment. A cold campus view needs both absolute
|
|
59
|
+
* and relative confidence. An incumbent is retained until a challenger earns
|
|
60
|
+
* the larger handoff margin. Indoor detail always receives a context: an
|
|
61
|
+
* ambiguous view retains its visible indoor incumbent or chooses the nearest
|
|
62
|
+
* visible indoor venue on a cold start.
|
|
63
|
+
*/
|
|
64
|
+
export function resolveVenueFocusState(viewport, candidates, focusedName = null) {
|
|
65
|
+
const ordered = candidates
|
|
66
|
+
.map((candidate, index) => ({ candidate, order: candidate.floorIndex ?? index }))
|
|
67
|
+
.sort((a, b) => a.order - b.order);
|
|
68
|
+
// A zero-area viewport is the camera hook's point fallback. It cannot
|
|
69
|
+
// support area scoring, but containment still gives a deterministic result.
|
|
70
|
+
if (viewport.area <= 0) {
|
|
71
|
+
const containing = ordered.find(({ candidate }) => boundsOf(candidate)?.containsPoint(viewport.center));
|
|
72
|
+
return containing ? { kind: 'focus', name: containing.candidate.name } : { kind: 'none' };
|
|
73
|
+
}
|
|
74
|
+
const scored = scoreCandidates(viewport, ordered.map(({ candidate }) => candidate)).sort(compareCandidates);
|
|
75
|
+
if (!scored.length)
|
|
76
|
+
return { kind: 'none' };
|
|
77
|
+
const indoorScored = scored.filter(({ indoorDetail }) => indoorDetail);
|
|
78
|
+
const eligible = indoorScored.length > 0 ? indoorScored : scored;
|
|
79
|
+
const best = eligible[0];
|
|
80
|
+
const incumbent = focusedName
|
|
81
|
+
? eligible.find(({ candidate }) => candidate.name === focusedName)
|
|
82
|
+
: undefined;
|
|
83
|
+
if (incumbent) {
|
|
84
|
+
if (best.candidate.name === incumbent.candidate.name) {
|
|
85
|
+
if (incumbent.score >= ABSOLUTE_CONFIDENCE || incumbent.indoorDetail) {
|
|
86
|
+
return { kind: 'focus', name: incumbent.candidate.name };
|
|
87
|
+
}
|
|
88
|
+
return { kind: 'none' };
|
|
89
|
+
}
|
|
90
|
+
if (best.score >= ABSOLUTE_CONFIDENCE &&
|
|
91
|
+
best.score - incumbent.score >= CONTEXT_HANDOFF_MARGIN) {
|
|
92
|
+
return { kind: 'focus', name: best.candidate.name };
|
|
93
|
+
}
|
|
94
|
+
if (incumbent.score >= ABSOLUTE_CONFIDENCE || incumbent.indoorDetail) {
|
|
95
|
+
return { kind: 'focus', name: incumbent.candidate.name };
|
|
96
|
+
}
|
|
97
|
+
return { kind: 'none' };
|
|
98
|
+
}
|
|
99
|
+
const runnerUp = eligible[1];
|
|
100
|
+
const hasRelativeConfidence = !runnerUp || best.score - runnerUp.score >= RELATIVE_CONFIDENCE_MARGIN;
|
|
101
|
+
if (best.score >= ABSOLUTE_CONFIDENCE && hasRelativeConfidence) {
|
|
102
|
+
return { kind: 'focus', name: best.candidate.name };
|
|
103
|
+
}
|
|
104
|
+
const nearestIndoor = nearestIndoorCandidate(eligible);
|
|
105
|
+
return nearestIndoor ? { kind: 'focus', name: nearestIndoor.candidate.name } : { kind: 'none' };
|
|
106
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { DEFAULT_DETAIL_MIN_SIZE_PX, DEFAULT_MARKER_MAX_SIZE_PX } from '../../../data/venues';
|
|
2
|
+
export declare const SIZE_HYSTERESIS_RATIO = 0.1;
|
|
3
|
+
/**
|
|
4
|
+
* The venue's detail cutoff. `parseVenues` already rejects non-positive values
|
|
5
|
+
* and clamps authored ones into the legal band, so an absent value is the only
|
|
6
|
+
* case left to resolve — every size-axis module resolves it through here.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveDetailThreshold(detailMinSizePx: number | undefined): number;
|
|
9
|
+
/**
|
|
10
|
+
* The venue's marker ⇄ scene edge (§4, Revision 5). Like the detail cutoff,
|
|
11
|
+
* `parseVenues` has already replaced an unusable or inverted value with the
|
|
12
|
+
* default, so an absent value is the only case left.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveMarkerThreshold(markerMaxSizePx: number | undefined): number;
|
|
15
|
+
/** The size at which a below-threshold edge flips above it (the sticky enter edge). */
|
|
16
|
+
export declare function stickyEnterSizePx(threshold: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* The detail cutoff on the current screen. A venue whose floors fit the
|
|
19
|
+
* viewport only below its authored cutoff (a wide hall on a phone) would
|
|
20
|
+
* otherwise show its contour wherever its whole floor is visible, so the
|
|
21
|
+
* cutoff drops until the sticky enter edge sits at `fitSizePx` — the venue's
|
|
22
|
+
* size where its floors fit. Never below `floor` — the venue's own detail
|
|
23
|
+
* floor (`detailMinSizeFloor` of its marker edge; the contract's 66 by
|
|
24
|
+
* default) — which keeps the scene band between the marker and detail edges.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveViewportDetailThreshold(threshold: number, fitSizePx: number | null, floor?: number): number;
|
|
27
|
+
export type StickySizeEdgeState = 'below' | 'above';
|
|
28
|
+
/** Resolves one default size edge while retaining its incumbent side inside the ±10% band. */
|
|
29
|
+
export declare function resolveStickySizeEdge(sizePx: number | null, threshold: number, previous: StickySizeEdgeState | null): StickySizeEdgeState;
|
|
30
|
+
//# sourceMappingURL=venue-legibility.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DEFAULT_DETAIL_MIN_SIZE_PX, DEFAULT_MARKER_MAX_SIZE_PX, MIN_DETAIL_MIN_SIZE_PX, } from '../../../data/venues';
|
|
2
|
+
// The contract owns these defaults; re-exported so the size-axis modules keep
|
|
3
|
+
// importing them from one place.
|
|
4
|
+
export { DEFAULT_DETAIL_MIN_SIZE_PX, DEFAULT_MARKER_MAX_SIZE_PX } from '../../../data/venues';
|
|
5
|
+
export const SIZE_HYSTERESIS_RATIO = 0.1;
|
|
6
|
+
/**
|
|
7
|
+
* The venue's detail cutoff. `parseVenues` already rejects non-positive values
|
|
8
|
+
* and clamps authored ones into the legal band, so an absent value is the only
|
|
9
|
+
* case left to resolve — every size-axis module resolves it through here.
|
|
10
|
+
*/
|
|
11
|
+
export function resolveDetailThreshold(detailMinSizePx) {
|
|
12
|
+
return detailMinSizePx ?? DEFAULT_DETAIL_MIN_SIZE_PX;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The venue's marker ⇄ scene edge (§4, Revision 5). Like the detail cutoff,
|
|
16
|
+
* `parseVenues` has already replaced an unusable or inverted value with the
|
|
17
|
+
* default, so an absent value is the only case left.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveMarkerThreshold(markerMaxSizePx) {
|
|
20
|
+
return markerMaxSizePx ?? DEFAULT_MARKER_MAX_SIZE_PX;
|
|
21
|
+
}
|
|
22
|
+
/** The size at which a below-threshold edge flips above it (the sticky enter edge). */
|
|
23
|
+
export function stickyEnterSizePx(threshold) {
|
|
24
|
+
return threshold + threshold * SIZE_HYSTERESIS_RATIO;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The detail cutoff on the current screen. A venue whose floors fit the
|
|
28
|
+
* viewport only below its authored cutoff (a wide hall on a phone) would
|
|
29
|
+
* otherwise show its contour wherever its whole floor is visible, so the
|
|
30
|
+
* cutoff drops until the sticky enter edge sits at `fitSizePx` — the venue's
|
|
31
|
+
* size where its floors fit. Never below `floor` — the venue's own detail
|
|
32
|
+
* floor (`detailMinSizeFloor` of its marker edge; the contract's 66 by
|
|
33
|
+
* default) — which keeps the scene band between the marker and detail edges.
|
|
34
|
+
*/
|
|
35
|
+
export function resolveViewportDetailThreshold(threshold, fitSizePx, floor = MIN_DETAIL_MIN_SIZE_PX) {
|
|
36
|
+
if (fitSizePx === null || !Number.isFinite(fitSizePx) || fitSizePx <= 0)
|
|
37
|
+
return threshold;
|
|
38
|
+
const fitThreshold = fitSizePx / (1 + SIZE_HYSTERESIS_RATIO);
|
|
39
|
+
return Math.min(threshold, Math.max(floor, fitThreshold));
|
|
40
|
+
}
|
|
41
|
+
/** Resolves one default size edge while retaining its incumbent side inside the ±10% band. */
|
|
42
|
+
export function resolveStickySizeEdge(sizePx, threshold, previous) {
|
|
43
|
+
if (!Number.isFinite(sizePx) || sizePx === null || sizePx < 0)
|
|
44
|
+
return 'below';
|
|
45
|
+
if (previous === 'below') {
|
|
46
|
+
return sizePx >= stickyEnterSizePx(threshold) ? 'above' : 'below';
|
|
47
|
+
}
|
|
48
|
+
if (previous === 'above') {
|
|
49
|
+
return sizePx <= threshold - threshold * SIZE_HYSTERESIS_RATIO ? 'below' : 'above';
|
|
50
|
+
}
|
|
51
|
+
return sizePx >= threshold ? 'above' : 'below';
|
|
52
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Box } from '@expofp/geometry';
|
|
2
|
+
import type { FpPathMesh, GetFpPathMesh } from './venue-contour';
|
|
3
|
+
/**
|
|
4
|
+
* Rasterization of an authored venue pin layer (KTD-5): the designer's plan
|
|
5
|
+
* layer artwork is serialized to a standalone SVG, rasterized through an
|
|
6
|
+
* `<img>` (the outdoor-POI `loadImage` → canvas → `map.addImage` pipeline),
|
|
7
|
+
* and rendered as a screen-fixed MapLibre symbol at the artwork's resolved
|
|
8
|
+
* bottom-center anchor. Pure helpers and the DOM/canvas path are unit-tested.
|
|
9
|
+
*
|
|
10
|
+
* The layer's SVG is fpsync2's compiled output, not the authored drawing: a
|
|
11
|
+
* vector shape survives only as a `<path data-index>` stub carrying its fill,
|
|
12
|
+
* with the geometry moved to the layer's mesh table (strokes already outlined
|
|
13
|
+
* into meshes of their own). The rasterizer rebuilds each stub's `d` from its
|
|
14
|
+
* mesh before decoding, and leaves everything else — `<image>` children in
|
|
15
|
+
* particular — to the `<img>` pipeline as authored.
|
|
16
|
+
*/
|
|
17
|
+
/** CSS width of a rasterized venue pin icon (the POI markers use 42). */
|
|
18
|
+
export declare const VENUE_PIN_WIDTH_PX = 42;
|
|
19
|
+
/**
|
|
20
|
+
* Icon pixel size for artwork with the given plan-local bounds, scaled to the
|
|
21
|
+
* target width with the aspect ratio preserved. Null for degenerate bounds.
|
|
22
|
+
*/
|
|
23
|
+
export declare function venuePinIconSize(bounds: Box, targetWidthPx: number): {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* SVG path data tracing a triangulated mesh's outline: its triangles are wound
|
|
29
|
+
* one way, every edge two of them share cancels, and what is left — the
|
|
30
|
+
* boundary — is chained into closed loops. Under the default nonzero fill the
|
|
31
|
+
* loops paint exactly the triangles' union (the winding number is a sum over
|
|
32
|
+
* edges, so a hole's loop runs the other way and stays empty), but with no
|
|
33
|
+
* interior edge for anti-aliasing to leave a hairline seam along — which
|
|
34
|
+
* painting triangles one at a time does, visibly so at 42 px. Null when the
|
|
35
|
+
* mesh draws nothing.
|
|
36
|
+
*/
|
|
37
|
+
export declare function meshPathData(mesh: FpPathMesh | undefined): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* A copy of a compiled layer group whose `<path data-index>` stubs carry their
|
|
40
|
+
* mesh geometry again, plus the plan-space extent of those meshes (null when
|
|
41
|
+
* the layer has none — an image-only layer). Rebuilt paths paint their fill
|
|
42
|
+
* only: the mesh is already the shape's whole appearance, outlined strokes
|
|
43
|
+
* included, and its coordinates are final plan coordinates, so a leftover
|
|
44
|
+
* stroke or transform on the stub would draw it twice or move it. Paths
|
|
45
|
+
* without a mesh, and every other element, are kept as they are.
|
|
46
|
+
*/
|
|
47
|
+
export declare function restoreMeshPaths(group: Element, getMesh: GetFpPathMesh): {
|
|
48
|
+
group: Element;
|
|
49
|
+
meshBounds: Box | null;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The plan-space frame to rasterize: the layer rect grown to the meshes'
|
|
53
|
+
* extent. The rect is computed without stroke, so an outlined stroke pokes
|
|
54
|
+
* past it; the meshes alone are never the frame, because an image-only layer
|
|
55
|
+
* has none.
|
|
56
|
+
*/
|
|
57
|
+
export declare function venuePinFrame(bounds: Box, meshBounds: Box | null): Box;
|
|
58
|
+
/** Whether a bitmap draws anything: at least one pixel with non-zero alpha. */
|
|
59
|
+
export declare function hasOpaquePixel(rgba: Uint8ClampedArray): boolean;
|
|
60
|
+
/** A rasterized pin and where the symbol must shift it to stay anchored. */
|
|
61
|
+
export interface VenuePinRaster {
|
|
62
|
+
canvas: HTMLCanvasElement;
|
|
63
|
+
/**
|
|
64
|
+
* `icon-offset` (CSS px, for `icon-anchor: bottom`) that puts the rect's
|
|
65
|
+
* bottom-center — the venue anchor (§6) — back on the map point once the
|
|
66
|
+
* frame grew past the rect. `[0, 0]` when the frame is the rect.
|
|
67
|
+
*/
|
|
68
|
+
iconOffset: [number, number];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Wraps serialized plan-layer markup in a standalone SVG document whose
|
|
72
|
+
* viewBox is the artwork's plan-local bounds, so the group's own coordinates
|
|
73
|
+
* render unchanged. Class-driven fills are already inlined as style attributes
|
|
74
|
+
* by the plan SVG parser (data/svg.ts), so no stylesheet needs embedding.
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildStandaloneSvg(groupMarkup: string, bounds: Box, width: number, height: number): string;
|
|
77
|
+
/**
|
|
78
|
+
* Rasterizes an authored pin layer's SVG group to a canvas sized for a
|
|
79
|
+
* screen-fixed marker icon (at `pixelRatio` density; register with
|
|
80
|
+
* `map.addImage(..., { pixelRatio })` to restore the CSS size). The rect sets
|
|
81
|
+
* the scale — its width maps to `targetWidthPx` — and the frame grows past it
|
|
82
|
+
* where meshes do (see {@link venuePinFrame}). Resolves null when the bounds
|
|
83
|
+
* are degenerate or the browser fails to decode the SVG — the caller keeps
|
|
84
|
+
* the procedural pin rather than throwing. A successful decode can still be
|
|
85
|
+
* blank; checking the pixels is the caller's job, since it reads them anyway.
|
|
86
|
+
*/
|
|
87
|
+
export declare function rasterizeVenuePinLayer(group: Element, bounds: Box, targetWidthPx: number, pixelRatio: number, getMesh: GetFpPathMesh): Promise<VenuePinRaster | null>;
|
|
88
|
+
//# sourceMappingURL=venue-pin-rasterize.d.ts.map
|