@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,434 @@
|
|
|
1
|
+
import { Rect } from '@expofp/geometry';
|
|
2
|
+
import { FONT_FACE, FONT_WEIGHT_PRIMARY_BOOTH } from '../../../../constants';
|
|
3
|
+
import { clusterCounterCircle, PIN_ASPECT, PIN_EDGE_PX, PIN_HEAD_FACTOR } from './pin-geometry';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a canvas that remembers the device pixel ratio it was rasterized at.
|
|
6
|
+
*
|
|
7
|
+
* The backing size is taken as given, and `style.width`/`style.height` hold the CSS size, the
|
|
8
|
+
* backing size over the ratio. The renderer sizes defs from that CSS size, so the ratio only sets
|
|
9
|
+
* how crisp the canvas is. A caller with a CSS size passes it times the ratio.
|
|
10
|
+
* @param width - The backing width in device pixels.
|
|
11
|
+
* @param height - The backing height in device pixels.
|
|
12
|
+
* @param pixelRatio - Device pixels per CSS pixel.
|
|
13
|
+
* @returns The canvas.
|
|
14
|
+
*/
|
|
15
|
+
export function createCanvas(width, height, pixelRatio = 1) {
|
|
16
|
+
const canvas = document.createElement('canvas');
|
|
17
|
+
canvas.width = width;
|
|
18
|
+
canvas.height = height;
|
|
19
|
+
canvas.style.width = `${width / pixelRatio}px`;
|
|
20
|
+
canvas.style.height = `${height / pixelRatio}px`;
|
|
21
|
+
return canvas;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The CSS size a canvas from this module was drawn at, as it recorded when it was made.
|
|
25
|
+
*
|
|
26
|
+
* For a caller that holds a canvas and no longer holds the numbers it was made from. Prefer the
|
|
27
|
+
* size function that names the creator ({@link circleCanvasCssSize}, {@link imageCanvasCssSize})
|
|
28
|
+
* where the caller made the canvas itself.
|
|
29
|
+
* @param canvas - A canvas made by one of the creators here.
|
|
30
|
+
* @returns The canvas's CSS width and height.
|
|
31
|
+
*/
|
|
32
|
+
export function cssSizeOf(canvas) {
|
|
33
|
+
return { width: parseFloat(canvas.style.width), height: parseFloat(canvas.style.height) };
|
|
34
|
+
}
|
|
35
|
+
export function getBounds(x, y, width, height, scale = 1, rotate, elevation) {
|
|
36
|
+
const scaledWidth = width * scale;
|
|
37
|
+
const scaledHeight = height * scale;
|
|
38
|
+
return new Rect({ x, y }, { x: scaledWidth, y: scaledHeight }, rotate, elevation);
|
|
39
|
+
}
|
|
40
|
+
export function getFont(px, weight = 500, style = 'normal') {
|
|
41
|
+
const customFont = getComputedStyle(document.body).getPropertyValue(FONT_FACE);
|
|
42
|
+
const defaultFont = 'Oswald, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif';
|
|
43
|
+
const font = customFont ? `${customFont}, ${defaultFont}` : defaultFont;
|
|
44
|
+
return `${style} ${weight} ${px}px ${font}`;
|
|
45
|
+
}
|
|
46
|
+
// Created on first use, not at import: `engine/defs` imports this module and its specs run in node.
|
|
47
|
+
let measureCtx;
|
|
48
|
+
function measureText(font, text) {
|
|
49
|
+
measureCtx ??= document.createElement('canvas').getContext('2d');
|
|
50
|
+
measureCtx.font = font;
|
|
51
|
+
return measureCtx.measureText(text).width;
|
|
52
|
+
}
|
|
53
|
+
export function createLabelCanvas(text, fontSize, pixelRatio, color = '#fff', fontWeight, strokeStyle, strokeWidth) {
|
|
54
|
+
text = text.replace(/^_/, '');
|
|
55
|
+
fontSize *= pixelRatio;
|
|
56
|
+
const weight = Number(getComputedStyle(document.body).getPropertyValue(FONT_WEIGHT_PRIMARY_BOOTH));
|
|
57
|
+
const font = getFont(fontSize, weight || fontWeight);
|
|
58
|
+
const width = measureText(font, text.replace(/[0-9]/g, '3').replace(/[A-Z]/g, 'A')) + 3 + 3; //
|
|
59
|
+
const vPad = 4;
|
|
60
|
+
const height = fontSize + vPad;
|
|
61
|
+
const canvas = createCanvas(width * pixelRatio, height * pixelRatio, pixelRatio);
|
|
62
|
+
const c = canvas.getContext('2d');
|
|
63
|
+
c.font = font;
|
|
64
|
+
c.textAlign = 'center';
|
|
65
|
+
c.textBaseline = 'alphabetic';
|
|
66
|
+
// c.fillStyle = "#000";
|
|
67
|
+
// c.fillRect(0,0,canvas.width, canvas.height);
|
|
68
|
+
c.fillStyle = color;
|
|
69
|
+
if (strokeWidth && strokeStyle) {
|
|
70
|
+
c.lineWidth = strokeWidth;
|
|
71
|
+
c.strokeStyle = strokeStyle;
|
|
72
|
+
c.strokeText(text, width / 2, height - (vPad / 2) * pixelRatio);
|
|
73
|
+
c.lineJoin = 'round';
|
|
74
|
+
}
|
|
75
|
+
c.fillText(text, width / 2, height - (vPad / 2) * pixelRatio);
|
|
76
|
+
return canvas;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The CSS size a circle canvas of this radius is drawn at — the one answer to "how big is this dot",
|
|
80
|
+
* and the number a def's bounds are sized from.
|
|
81
|
+
*
|
|
82
|
+
* A canvas's `width` is its backing store in the device pixels it was baked at, which is a different
|
|
83
|
+
* quantity: truncated to a whole pixel, and baked at a ratio that need not be the one the renderer
|
|
84
|
+
* draws into. Geometry reads this; the backing store is for crispness.
|
|
85
|
+
* @param radius - The dot's radius in CSS pixels.
|
|
86
|
+
* @returns The canvas's CSS width and height, which are equal.
|
|
87
|
+
*/
|
|
88
|
+
export function circleCanvasCssSize(radius) {
|
|
89
|
+
return radius * 2 + CIRCLE_PADDING_PX * 2;
|
|
90
|
+
}
|
|
91
|
+
export function createCircleCanvas(radius, color) {
|
|
92
|
+
const key = color.toUpperCase();
|
|
93
|
+
if (!circleCanvasCache.has(key)) {
|
|
94
|
+
const size = circleCanvasCssSize(radius);
|
|
95
|
+
const canvas = createCanvas(size * devicePixelRatio, size * devicePixelRatio, devicePixelRatio);
|
|
96
|
+
const ctx = canvas.getContext('2d');
|
|
97
|
+
ctx.fillStyle = color;
|
|
98
|
+
ctx.beginPath();
|
|
99
|
+
ctx.arc(canvas.width / 2, canvas.height / 2, radius * devicePixelRatio, 0, 2 * Math.PI);
|
|
100
|
+
ctx.fill();
|
|
101
|
+
circleCanvasCache.set(key, canvas);
|
|
102
|
+
}
|
|
103
|
+
return circleCanvasCache.get(key);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The CSS size a bookmark canvas is drawn at: the width asked for, and the height its ribbon adds.
|
|
107
|
+
* @param maxSizePx - The ribbon's width in CSS pixels.
|
|
108
|
+
* @returns The canvas's CSS width and height.
|
|
109
|
+
*/
|
|
110
|
+
export function bookmarkCanvasCssSize(maxSizePx) {
|
|
111
|
+
return { width: maxSizePx, height: maxSizePx * 1.4 };
|
|
112
|
+
}
|
|
113
|
+
export function createBookmarkCanvas(maxSizePx, pixelRatio) {
|
|
114
|
+
const key = maxSizePx;
|
|
115
|
+
if (bookmarkCanvasCache.has(key))
|
|
116
|
+
return bookmarkCanvasCache.get(key);
|
|
117
|
+
const { width: logicalWidth, height: logicalHeight } = bookmarkCanvasCssSize(maxSizePx);
|
|
118
|
+
const w = Math.ceil(logicalWidth * pixelRatio);
|
|
119
|
+
const h = Math.ceil(logicalHeight * pixelRatio);
|
|
120
|
+
const canvas = createCanvas(w, h, pixelRatio);
|
|
121
|
+
const ctx = canvas.getContext('2d');
|
|
122
|
+
ctx.scale(pixelRatio, pixelRatio);
|
|
123
|
+
ctx.fillStyle = '#fdbf2b';
|
|
124
|
+
ctx.strokeStyle = '#fff';
|
|
125
|
+
ctx.lineWidth = 4 / pixelRatio;
|
|
126
|
+
ctx.beginPath();
|
|
127
|
+
ctx.moveTo(0, 0);
|
|
128
|
+
ctx.lineTo(0, logicalHeight);
|
|
129
|
+
ctx.lineTo(logicalWidth / 2, logicalHeight - logicalWidth / 2);
|
|
130
|
+
ctx.lineTo(logicalWidth, logicalHeight);
|
|
131
|
+
ctx.lineTo(logicalWidth, 0);
|
|
132
|
+
ctx.lineTo(0, 0);
|
|
133
|
+
ctx.fill();
|
|
134
|
+
ctx.stroke();
|
|
135
|
+
bookmarkCanvasCache.set(key, canvas);
|
|
136
|
+
return canvas;
|
|
137
|
+
}
|
|
138
|
+
/** The transparent margin around a circle canvas's dot, in CSS pixels, on each side. */
|
|
139
|
+
const CIRCLE_PADDING_PX = 1;
|
|
140
|
+
const circleCanvasCache = new Map();
|
|
141
|
+
const bookmarkCanvasCache = new Map();
|
|
142
|
+
/**
|
|
143
|
+
* The CSS size {@link createImageCanvas} draws an image at: the box it was asked for, shrunk on one
|
|
144
|
+
* axis to the image's own aspect.
|
|
145
|
+
* @param image - The image the canvas is drawn from.
|
|
146
|
+
* @param width - The box's width in CSS pixels.
|
|
147
|
+
* @param height - The box's height in CSS pixels.
|
|
148
|
+
* @param ptsScale - The scale the canvas was drawn at, as {@link createImageCanvas} takes it.
|
|
149
|
+
* @returns The canvas's CSS width and height.
|
|
150
|
+
*/
|
|
151
|
+
export function imageCanvasCssSize(image, width, height, ptsScale = 1) {
|
|
152
|
+
const [cssWidth, cssHeight] = fitToAspect(image, width, height, width * ptsScale, height * ptsScale);
|
|
153
|
+
return { width: cssWidth, height: cssHeight };
|
|
154
|
+
}
|
|
155
|
+
export function createImageCanvas(image, width, height, pixelRatio, ptsScale = 1, flip) {
|
|
156
|
+
const [scaledWidth, scaledHeight] = fitToAspect(image, width, height, width * pixelRatio * ptsScale, height * pixelRatio * ptsScale);
|
|
157
|
+
const canvas = createCanvas(scaledWidth, scaledHeight, pixelRatio);
|
|
158
|
+
const ctx = canvas.getContext('2d');
|
|
159
|
+
canvas.id = image.id;
|
|
160
|
+
if (flip === 'horizontal') {
|
|
161
|
+
ctx.scale(-1, 1);
|
|
162
|
+
ctx.translate(-scaledWidth, 0);
|
|
163
|
+
}
|
|
164
|
+
else if (flip === 'vertical') {
|
|
165
|
+
ctx.scale(1, -1);
|
|
166
|
+
ctx.translate(0, -scaledHeight);
|
|
167
|
+
}
|
|
168
|
+
ctx.drawImage(image, 0, 0, scaledWidth, scaledHeight);
|
|
169
|
+
return canvas;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Shrinks a box on one axis to an image's aspect, so the image fills it without stretching.
|
|
173
|
+
* @param image - The image whose aspect to keep.
|
|
174
|
+
* @param width - The requested box's width, in any unit.
|
|
175
|
+
* @param height - The requested box's height, in the same unit.
|
|
176
|
+
* @param scaledWidth - The box's width in the unit the result is wanted in.
|
|
177
|
+
* @param scaledHeight - The box's height in that unit.
|
|
178
|
+
* @returns The fitted width and height, in that unit.
|
|
179
|
+
*/
|
|
180
|
+
function fitToAspect(image, width, height, scaledWidth, scaledHeight) {
|
|
181
|
+
const aspectRatio = image ? image.width / image.height : 1;
|
|
182
|
+
return width / height > aspectRatio
|
|
183
|
+
? [scaledHeight * aspectRatio, scaledHeight]
|
|
184
|
+
: [scaledWidth, scaledWidth / aspectRatio];
|
|
185
|
+
}
|
|
186
|
+
export function createCurrentCanvas(pixelRatio, color = '#c8248b', scale = pixelRatio * 0.4, width, height, text, textColor = '#000') {
|
|
187
|
+
width = width || 95;
|
|
188
|
+
height = height || 95;
|
|
189
|
+
const canvas = createCanvas(width * scale, height * scale, pixelRatio);
|
|
190
|
+
const ctx = canvas.getContext('2d');
|
|
191
|
+
ctx.scale(scale, scale);
|
|
192
|
+
const cx = width / 2;
|
|
193
|
+
const cy = height / 2;
|
|
194
|
+
// when a label is shown below the pin, anchor the circle to the top so the text fits underneath
|
|
195
|
+
ctx.translate(cx - 35, text ? 0 : cy - 35);
|
|
196
|
+
ctx.beginPath();
|
|
197
|
+
ctx.fillStyle = '#FFFFFF';
|
|
198
|
+
ctx.moveTo(0.0, 35.0);
|
|
199
|
+
ctx.bezierCurveTo(0.0, 54.329966, 15.670034, 70.0, 35.0, 70.0);
|
|
200
|
+
ctx.bezierCurveTo(54.329966, 70.0, 70.0, 54.329966, 70.0, 35.0);
|
|
201
|
+
ctx.bezierCurveTo(70.0, 15.670034, 54.329966, 0.0, 35.0, 0.0);
|
|
202
|
+
ctx.bezierCurveTo(15.670034, 0.0, 0.0, 15.670034, 0.0, 35.0);
|
|
203
|
+
ctx.fill();
|
|
204
|
+
ctx.beginPath();
|
|
205
|
+
ctx.fillStyle = color;
|
|
206
|
+
ctx.moveTo(10.0, 35.0);
|
|
207
|
+
ctx.bezierCurveTo(10.0, 48.807119, 21.192881, 60.0, 35.0, 60.0);
|
|
208
|
+
ctx.bezierCurveTo(48.807119, 60.0, 60.0, 48.807119, 60.0, 35.0);
|
|
209
|
+
ctx.bezierCurveTo(60.0, 21.192881, 48.807119, 10.0, 35.0, 10.0);
|
|
210
|
+
ctx.bezierCurveTo(21.192881, 10.0, 10.0, 21.192881, 10.0, 35.0);
|
|
211
|
+
ctx.fill();
|
|
212
|
+
if (text) {
|
|
213
|
+
ctx.textAlign = 'center';
|
|
214
|
+
ctx.textBaseline = 'alphabetic';
|
|
215
|
+
ctx.lineJoin = 'round';
|
|
216
|
+
ctx.strokeStyle = '#fff';
|
|
217
|
+
ctx.fillStyle = textColor;
|
|
218
|
+
const fontSize = 38;
|
|
219
|
+
ctx.font = getFont(fontSize);
|
|
220
|
+
ctx.lineWidth = 6;
|
|
221
|
+
// baseline below the circle (which spans 0..70 post-translate), with breathing room above text
|
|
222
|
+
const textY = 70 + fontSize;
|
|
223
|
+
ctx.strokeText(text, 35, textY, width);
|
|
224
|
+
ctx.fillText(text, 35, textY, width);
|
|
225
|
+
}
|
|
226
|
+
return canvas;
|
|
227
|
+
}
|
|
228
|
+
export function createTargetCanvas(pixelRatio, color = '#c8248b', scale = pixelRatio * 0.5) {
|
|
229
|
+
const width = 70 * scale;
|
|
230
|
+
const height = 100 * scale;
|
|
231
|
+
const canvas = createCanvas(width, height, pixelRatio);
|
|
232
|
+
const ctx = canvas.getContext('2d');
|
|
233
|
+
ctx.scale(scale, scale);
|
|
234
|
+
ctx.beginPath();
|
|
235
|
+
ctx.fillStyle = 'rgb(255, 255, 255)';
|
|
236
|
+
ctx.moveTo(32.6, 97.8);
|
|
237
|
+
ctx.bezierCurveTo(24.4, 81.5, 0.0, 57.0, 0.0, 32.6);
|
|
238
|
+
ctx.bezierCurveTo(0.0, 14.6, 14.6, 0.0, 32.6, 0.0);
|
|
239
|
+
ctx.bezierCurveTo(50.5, 0.0, 65.2, 14.6, 65.2, 32.6);
|
|
240
|
+
ctx.bezierCurveTo(65.2, 57.0, 40.7, 81.5, 32.6, 97.8);
|
|
241
|
+
ctx.fill();
|
|
242
|
+
// #path1440
|
|
243
|
+
ctx.beginPath();
|
|
244
|
+
ctx.fillStyle = color;
|
|
245
|
+
ctx.moveTo(32.6, 91.1);
|
|
246
|
+
ctx.bezierCurveTo(25.2, 76.3, 3.1, 54.2, 3.1, 32.1);
|
|
247
|
+
ctx.bezierCurveTo(3.1, 15.9, 16.3, 2.6, 32.6, 2.6);
|
|
248
|
+
ctx.bezierCurveTo(48.8, 2.6, 62.0, 15.9, 62.0, 32.1);
|
|
249
|
+
ctx.bezierCurveTo(62.0, 54.2, 39.9, 76.3, 32.6, 91.1);
|
|
250
|
+
ctx.fill();
|
|
251
|
+
// #path1442
|
|
252
|
+
ctx.beginPath();
|
|
253
|
+
ctx.fillStyle = 'rgb(255, 255, 255)';
|
|
254
|
+
ctx.moveTo(16.2, 32.6);
|
|
255
|
+
ctx.bezierCurveTo(16.2, 41.6, 23.5, 48.9, 32.5, 48.9);
|
|
256
|
+
ctx.bezierCurveTo(41.5, 48.9, 48.8, 41.6, 48.8, 32.6);
|
|
257
|
+
ctx.bezierCurveTo(48.8, 23.6, 41.5, 16.3, 32.5, 16.3);
|
|
258
|
+
ctx.bezierCurveTo(23.5, 16.3, 16.2, 23.6, 16.2, 32.6);
|
|
259
|
+
ctx.fill();
|
|
260
|
+
return canvas;
|
|
261
|
+
}
|
|
262
|
+
export function createArrowCurrentCanvas(pixelRatio, color = '#c8248b', scale = pixelRatio * 0.4) {
|
|
263
|
+
const width = 95 * scale;
|
|
264
|
+
const height = 95 * scale;
|
|
265
|
+
const canvas = createCanvas(width, height, pixelRatio);
|
|
266
|
+
const ctx = canvas.getContext('2d');
|
|
267
|
+
ctx.scale(scale, scale);
|
|
268
|
+
// the circle
|
|
269
|
+
ctx.beginPath();
|
|
270
|
+
ctx.arc(47, 47, 25, 0, 2 * Math.PI);
|
|
271
|
+
ctx.fillStyle = color;
|
|
272
|
+
ctx.fill();
|
|
273
|
+
// the arrow
|
|
274
|
+
ctx.beginPath();
|
|
275
|
+
ctx.fillStyle = color;
|
|
276
|
+
ctx.moveTo(75, 27);
|
|
277
|
+
ctx.lineTo(95, 47);
|
|
278
|
+
ctx.lineTo(75, 67);
|
|
279
|
+
ctx.lineTo(80, 47);
|
|
280
|
+
ctx.closePath();
|
|
281
|
+
ctx.fill();
|
|
282
|
+
return canvas;
|
|
283
|
+
}
|
|
284
|
+
export function createYahCanvas(pixelRatio, color = '#ff4343', scale = pixelRatio * 0.5) {
|
|
285
|
+
const width = 77 * scale;
|
|
286
|
+
const height = 116 * scale;
|
|
287
|
+
const canvas = createCanvas(width, height, pixelRatio);
|
|
288
|
+
const ctx = canvas.getContext('2d');
|
|
289
|
+
ctx.scale(scale, scale);
|
|
290
|
+
ctx.scale(scale, scale);
|
|
291
|
+
ctx.beginPath();
|
|
292
|
+
ctx.fillStyle = '#FFFFFF';
|
|
293
|
+
ctx.moveTo(68.303, 57.335);
|
|
294
|
+
ctx.bezierCurveTo(77.894, 39.304, 70.649, 15.785, 50.95, 8.04);
|
|
295
|
+
ctx.bezierCurveTo(30.727, 0, 8.375, 11.837, 3.207, 32.831);
|
|
296
|
+
ctx.bezierCurveTo(0, 46.185, 6.644, 57.323, 13.131, 68.211);
|
|
297
|
+
ctx.fill();
|
|
298
|
+
ctx.beginPath();
|
|
299
|
+
ctx.fillStyle = color;
|
|
300
|
+
ctx.moveTo(51.565, 35.459);
|
|
301
|
+
ctx.bezierCurveTo(51.565, 43.256, 45.201, 49.575, 37.354, 49.575);
|
|
302
|
+
ctx.bezierCurveTo(29.516, 49.575, 23.159, 43.256, 23.159, 35.459);
|
|
303
|
+
ctx.bezierCurveTo(23.159, 27.668, 29.516, 21.345, 37.354, 21.345);
|
|
304
|
+
ctx.bezierCurveTo(45.201, 21.345, 51.565, 27.668, 51.565, 35.459);
|
|
305
|
+
ctx.closePath();
|
|
306
|
+
ctx.fill();
|
|
307
|
+
// #path4
|
|
308
|
+
ctx.beginPath();
|
|
309
|
+
ctx.moveTo(68.303, 57.335);
|
|
310
|
+
ctx.bezierCurveTo(77.894, 39.304, 70.649, 15.785, 50.95, 8.04);
|
|
311
|
+
ctx.bezierCurveTo(30.727, 0, 8.375, 11.837, 3.207, 32.831);
|
|
312
|
+
ctx.bezierCurveTo(0, 46.185, 6.644, 57.323, 13.131, 68.211);
|
|
313
|
+
ctx.lineTo(13.131, 68.211);
|
|
314
|
+
ctx.lineTo(13.131, 68.211);
|
|
315
|
+
ctx.bezierCurveTo(13.921, 69.533, 14.698, 70.829, 15.454, 72.137);
|
|
316
|
+
ctx.bezierCurveTo(19.465, 79.158, 23.533, 86.12, 27.571, 93.086);
|
|
317
|
+
ctx.lineTo(27.571, 93.086);
|
|
318
|
+
ctx.bezierCurveTo(30.098, 97.421, 32.611, 101.756, 35.116, 106.077);
|
|
319
|
+
ctx.bezierCurveTo(36.128, 107.868, 38.934, 107.868, 39.945, 106.077);
|
|
320
|
+
ctx.bezierCurveTo(49.387, 90.003, 58.708, 74.029, 68.031, 57.951);
|
|
321
|
+
ctx.bezierCurveTo(68.15, 57.743, 68.24, 57.543, 68.303, 57.335);
|
|
322
|
+
ctx.closePath();
|
|
323
|
+
ctx.moveTo(60.103, 60.395);
|
|
324
|
+
ctx.lineTo(63.201, 55.041);
|
|
325
|
+
ctx.lineTo(63.201, 55.041);
|
|
326
|
+
ctx.bezierCurveTo(73.31, 36.735, 61.285, 11.614, 39.04, 11.17);
|
|
327
|
+
ctx.bezierCurveTo(19.388, 10.714, 2.759, 29.479, 9.386, 49.013);
|
|
328
|
+
ctx.bezierCurveTo(10.726, 52.998, 12.657, 56.9, 14.84, 60.721);
|
|
329
|
+
ctx.bezierCurveTo(15.041, 58.454, 15.938, 56.258, 17.589, 54.586);
|
|
330
|
+
ctx.bezierCurveTo(19.708, 52.425, 22.216, 50.638, 24.996, 49.283);
|
|
331
|
+
ctx.bezierCurveTo(28.252, 52.249, 32.595, 54.051, 37.354, 54.051);
|
|
332
|
+
ctx.bezierCurveTo(42.123, 54.051, 46.47, 52.249, 49.73, 49.283);
|
|
333
|
+
ctx.bezierCurveTo(52.505, 50.638, 55.017, 52.425, 57.135, 54.586);
|
|
334
|
+
ctx.bezierCurveTo(58.701, 56.188, 59.701, 58.245, 60.103, 60.395);
|
|
335
|
+
ctx.closePath();
|
|
336
|
+
ctx.fill('evenodd');
|
|
337
|
+
// #path6
|
|
338
|
+
ctx.beginPath();
|
|
339
|
+
ctx.moveTo(29.024, 104.982);
|
|
340
|
+
ctx.bezierCurveTo(29.024, 103.626, 27.923, 102.527, 26.57, 102.527);
|
|
341
|
+
ctx.bezierCurveTo(25.214, 102.527, 24.114, 103.626, 24.114, 104.982);
|
|
342
|
+
ctx.bezierCurveTo(24.114, 111.395, 30.347, 116.838, 37.444, 116.838);
|
|
343
|
+
ctx.bezierCurveTo(44.54, 116.838, 50.771, 111.395, 50.771, 104.982);
|
|
344
|
+
ctx.bezierCurveTo(50.771, 103.626, 49.666, 102.527, 48.317, 102.527);
|
|
345
|
+
ctx.bezierCurveTo(46.961, 102.527, 45.855, 103.626, 45.855, 104.982);
|
|
346
|
+
ctx.bezierCurveTo(45.855, 108.193, 42.352, 111.956, 37.444, 111.956);
|
|
347
|
+
ctx.bezierCurveTo(32.528, 111.956, 29.024, 108.193, 29.024, 104.982);
|
|
348
|
+
ctx.closePath();
|
|
349
|
+
ctx.fill();
|
|
350
|
+
return canvas;
|
|
351
|
+
}
|
|
352
|
+
const PIN_STROKE_COLOR = '#ffffff';
|
|
353
|
+
/** The white center's radius as a fraction of the head radius. */
|
|
354
|
+
const POI_PIN_CENTER_FACTOR = 0.45;
|
|
355
|
+
const POI_PIN_BODY_COLOR = '#e8112d';
|
|
356
|
+
const POI_PIN_EDGE_COLOR = '#000000';
|
|
357
|
+
// Teardrop pin outline: a circle of radius `r` centered at (w / 2, r + inset)
|
|
358
|
+
// tapering to a tip at (w / 2, h - inset). `inset` keeps the caller's stroke
|
|
359
|
+
// inside the canvas. Callers fill/stroke the prepared path.
|
|
360
|
+
function drawPinPath(ctx, w, h, r, inset) {
|
|
361
|
+
const cx = w / 2;
|
|
362
|
+
const cy = r + inset;
|
|
363
|
+
const tipY = h - inset;
|
|
364
|
+
ctx.beginPath();
|
|
365
|
+
ctx.moveTo(cx, tipY);
|
|
366
|
+
ctx.bezierCurveTo(cx - r * 0.55, cy + r * 0.8, cx - r, cy + r * 0.35, cx - r, cy);
|
|
367
|
+
ctx.bezierCurveTo(cx - r, cy - r * 0.72, cx - r * 0.45, cy - r, cx, cy - r);
|
|
368
|
+
ctx.bezierCurveTo(cx + r * 0.45, cy - r, cx + r, cy - r * 0.72, cx + r, cy);
|
|
369
|
+
ctx.bezierCurveTo(cx + r, cy + r * 0.35, cx + r * 0.55, cy + r * 0.8, cx, tipY);
|
|
370
|
+
ctx.closePath();
|
|
371
|
+
}
|
|
372
|
+
// Rasterizes a filled + outlined teardrop pin `widthPx` wide at `pixelRatio`,
|
|
373
|
+
// and hands back the head geometry so callers can place a glyph inside it.
|
|
374
|
+
// `inset` doubles as the stroke width — it is exactly what keeps the stroke
|
|
375
|
+
// inside the canvas. `edgeColor` defaults to the white outline the outdoor pins
|
|
376
|
+
// draw; the filter pin passes black, which is what separates it from the red
|
|
377
|
+
// booth it stands on.
|
|
378
|
+
function createPinCanvas(widthPx, aspect, pixelRatio, radiusFactor, inset, color, edgeColor = PIN_STROKE_COLOR) {
|
|
379
|
+
const w = widthPx;
|
|
380
|
+
const h = widthPx * aspect;
|
|
381
|
+
const canvas = createCanvas(w * pixelRatio, h * pixelRatio, pixelRatio);
|
|
382
|
+
const ctx = canvas.getContext('2d');
|
|
383
|
+
ctx.scale(pixelRatio, pixelRatio);
|
|
384
|
+
const r = w * radiusFactor;
|
|
385
|
+
drawPinPath(ctx, w, h, r, inset);
|
|
386
|
+
ctx.fillStyle = color;
|
|
387
|
+
ctx.strokeStyle = edgeColor;
|
|
388
|
+
ctx.lineWidth = inset;
|
|
389
|
+
ctx.lineJoin = 'round';
|
|
390
|
+
ctx.fill();
|
|
391
|
+
ctx.stroke();
|
|
392
|
+
return { canvas, ctx, cx: w / 2, cy: r + inset, r };
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* The pin marking a booth an active PoI-type filter selected: a teardrop pointing down, filled red,
|
|
396
|
+
* edged in black, with a white center in its head.
|
|
397
|
+
*
|
|
398
|
+
* The black edge is what carries the shape over a highlighted booth — the body and a highlighted
|
|
399
|
+
* booth are both red, so without it the drop dissolves into the booth and only the center reads.
|
|
400
|
+
*
|
|
401
|
+
* Hands back a canvas rather than the `ImageData` the two pins above return, because the renderer
|
|
402
|
+
* packs a canvas into its atlas directly and every pin on the plan shares this one image.
|
|
403
|
+
*/
|
|
404
|
+
export function createPoiPinCanvas(widthPx, pixelRatio) {
|
|
405
|
+
const { canvas, ctx, cx, cy, r } = createPinCanvas(widthPx, PIN_ASPECT, pixelRatio, PIN_HEAD_FACTOR, PIN_EDGE_PX, POI_PIN_BODY_COLOR, POI_PIN_EDGE_COLOR);
|
|
406
|
+
ctx.beginPath();
|
|
407
|
+
ctx.arc(cx, cy, r * POI_PIN_CENTER_FACTOR, 0, 2 * Math.PI);
|
|
408
|
+
ctx.fillStyle = PIN_STROKE_COLOR;
|
|
409
|
+
ctx.fill();
|
|
410
|
+
return canvas;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* The marker standing for a group of booths an active PoI-type filter selected: the same teardrop
|
|
414
|
+
* the lone pin draws, with an empty white counter circle filling its head.
|
|
415
|
+
*
|
|
416
|
+
* The count is **not** baked in. A number on the canvas would make one `ImageSource` per count, and
|
|
417
|
+
* the renderer's image container repacks its atlas when the *set* of images changes, so a zoom step
|
|
418
|
+
* that moved a cluster from 7 members to 12 would repack. Drawn empty, exactly two images ever
|
|
419
|
+
* reach the atlas — this one and the lone pin — and the set is fixed for the plan's life. The count
|
|
420
|
+
* is a separate screen-space text def in a sibling layer, standing on the marker's anchor; neither
|
|
421
|
+
* carries a placement, since both draw a cluster the renderer already decided.
|
|
422
|
+
* @param widthPx - The marker's width in CSS pixels.
|
|
423
|
+
* @param pixelRatio - Device pixels per CSS pixel.
|
|
424
|
+
* @returns The canvas every cluster marker draws.
|
|
425
|
+
*/
|
|
426
|
+
export function createClusterPinCanvas(widthPx, pixelRatio) {
|
|
427
|
+
const { canvas, ctx } = createPinCanvas(widthPx, PIN_ASPECT, pixelRatio, PIN_HEAD_FACTOR, PIN_EDGE_PX, POI_PIN_BODY_COLOR, POI_PIN_EDGE_COLOR);
|
|
428
|
+
const { cx, cy, r } = clusterCounterCircle(widthPx);
|
|
429
|
+
ctx.beginPath();
|
|
430
|
+
ctx.arc(cx, cy, r, 0, 2 * Math.PI);
|
|
431
|
+
ctx.fillStyle = PIN_STROKE_COLOR;
|
|
432
|
+
ctx.fill();
|
|
433
|
+
return canvas;
|
|
434
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { initWayfindingLayers } from '@expofp/wayfinding';
|
|
2
|
+
import { createLayerDef } from '../../../../engine/defs';
|
|
3
|
+
import store, { boothStore, uiState } from '../../../../store';
|
|
4
|
+
import { isPathwayLayer } from '../../../../utils/is-pathway-layer';
|
|
5
|
+
import { createTrafficLayers } from '../../traffic/trafficLayers';
|
|
6
|
+
import { configBoothsBadges } from './config-booth-badge';
|
|
7
|
+
import loadLayer from './config-load-layer';
|
|
8
|
+
import { MARKER_LAYER_NAME } from './config-markers';
|
|
9
|
+
import { configPins, PIN_CLUSTER_LAYER_NAME, PIN_COUNT_LAYER_NAME, PIN_LAYER_NAME, } from './config-pins';
|
|
10
|
+
export default function configAll() {
|
|
11
|
+
const { defaultLayer } = store.layerStore;
|
|
12
|
+
let { layers } = store.layerStore;
|
|
13
|
+
if (defaultLayer) {
|
|
14
|
+
const lrs = [...layers];
|
|
15
|
+
const index = layers.indexOf(defaultLayer);
|
|
16
|
+
lrs.splice(index, 1);
|
|
17
|
+
layers = [defaultLayer, ...lrs];
|
|
18
|
+
}
|
|
19
|
+
const promises = layers.filter((l) => !l.rootParent).map((layer) => loadLayer(layer));
|
|
20
|
+
return Promise.all(promises).then((layers) => {
|
|
21
|
+
const markersLayer = createLayerDef(MARKER_LAYER_NAME, []);
|
|
22
|
+
// A marker sits on the floor, so a booth volume hides it from a tilted camera. The overlay tier
|
|
23
|
+
// is what keeps it visible, and `config-markers` stands the marker itself up from the same flag.
|
|
24
|
+
// Assigned rather than passed, because `overlay` is a `LayerDef` field and `createLayerDef`
|
|
25
|
+
// takes a `SharedDef`.
|
|
26
|
+
markersLayer.overlay = uiState.is3DView;
|
|
27
|
+
// PoI filter pins and their clusters exist only in 3D. A 2D plan shows a filter by highlighting
|
|
28
|
+
// the booths alone.
|
|
29
|
+
const pins = uiState.is3DView ? createPinLayers() : undefined;
|
|
30
|
+
// In 3D the route runs along the floor and a booth volume hides it from a tilted camera, so
|
|
31
|
+
// the block goes in the overlay tier. `is3DView` is the venue's own flag and it does not
|
|
32
|
+
// change while a plan is open, so reading it once here is enough.
|
|
33
|
+
const wayfindingLayer = initWayfindingLayers({ overlay: uiState.is3DView });
|
|
34
|
+
const planLayers = [];
|
|
35
|
+
const pathwayLayers = [];
|
|
36
|
+
for (const l of layers.flat()) {
|
|
37
|
+
if (isPathwayLayer(l.name)) {
|
|
38
|
+
l.dim = 0;
|
|
39
|
+
pathwayLayers.push(l);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
planLayers.push(l);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const { layer: badgeLayer, cleanup: badgesCleanup } = configBoothsBadges('root', boothStore.booths);
|
|
46
|
+
// Layer stack, bottom → top. Order matters: badges must sit above the
|
|
47
|
+
// plan (over designer-placed foreground logos) but below pathway layers
|
|
48
|
+
// so guided-tour hint cards stay visible; pathway must sit below
|
|
49
|
+
// traffic / markers / wayfinding so the active route wins on top
|
|
50
|
+
// (issue #1206).
|
|
51
|
+
return {
|
|
52
|
+
layers: [
|
|
53
|
+
// Floor plan (booths, halls, bg/fg, designer images)
|
|
54
|
+
...planLayers,
|
|
55
|
+
// Booth badges (booths with no visible label: noLabels or logo-in-booth)
|
|
56
|
+
...(badgeLayer ? [badgeLayer] : []),
|
|
57
|
+
// Guided-tour pathway
|
|
58
|
+
...pathwayLayers,
|
|
59
|
+
// Traffic heatmap
|
|
60
|
+
...createTrafficLayers(),
|
|
61
|
+
// Custom markers / pins
|
|
62
|
+
markersLayer,
|
|
63
|
+
// PoI filter pins, then their cluster markers' teardrops and counts
|
|
64
|
+
...(pins?.layers ?? []),
|
|
65
|
+
// Wayfinding. What the block holds and how it stacks inside belongs to
|
|
66
|
+
// `@expofp/wayfinding`; this is only where the block sits.
|
|
67
|
+
wayfindingLayer,
|
|
68
|
+
],
|
|
69
|
+
cleanup: () => {
|
|
70
|
+
badgesCleanup();
|
|
71
|
+
pins?.cleanup();
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Creates the three PoI pin layers and fills them through {@link configPins}.
|
|
78
|
+
*
|
|
79
|
+
* Each layer is `overlay` and has `dim: 0`, so pins stay readable over a dimmed, tilted plan. The
|
|
80
|
+
* layers stack as pins, cluster teardrops, then counts. Only the pin layer takes part in placement.
|
|
81
|
+
* @returns The layers, bottom to top, and their cleanup.
|
|
82
|
+
*/
|
|
83
|
+
function createPinLayers() {
|
|
84
|
+
const layers = [PIN_LAYER_NAME, PIN_CLUSTER_LAYER_NAME, PIN_COUNT_LAYER_NAME].map((name) => {
|
|
85
|
+
const layer = createLayerDef(name, []);
|
|
86
|
+
layer.overlay = true;
|
|
87
|
+
layer.dim = 0;
|
|
88
|
+
return layer;
|
|
89
|
+
});
|
|
90
|
+
const [pinLayer, clusterLayer, countLayer] = layers;
|
|
91
|
+
return { layers, cleanup: configPins(pinLayer, clusterLayer, countLayer) };
|
|
92
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LayerDef } from '@expofp/renderer';
|
|
2
|
+
import { Layer } from '../../../../store/LayerStore';
|
|
3
|
+
import { PathInfo, ShapeBgDef } from '../../../../types/drawing.types';
|
|
4
|
+
export declare const BG_LAYER_NAME = "bg";
|
|
5
|
+
export declare const FG_LAYER_NAME = "fg";
|
|
6
|
+
export default function configBg(layer: Layer): Promise<LayerDef>;
|
|
7
|
+
export declare function buildPathDef(path: PathInfo, layerName?: string): ShapeBgDef | undefined;
|
|
8
|
+
//# sourceMappingURL=config-bg.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { select } from 'd3-selection';
|
|
2
|
+
import { getLayerSvg, gtePathByIndex } from '../../../../data/svg';
|
|
3
|
+
import { meshToShapeDef, rectToShapeDef } from '../../../../engine/defs';
|
|
4
|
+
import store from '../../../../store';
|
|
5
|
+
import { LayersMode } from '../../../../store/LayerStore';
|
|
6
|
+
export const BG_LAYER_NAME = 'bg';
|
|
7
|
+
export const FG_LAYER_NAME = 'fg';
|
|
8
|
+
export default async function configBg(layer) {
|
|
9
|
+
let bg = [];
|
|
10
|
+
let fg = [];
|
|
11
|
+
const children = [];
|
|
12
|
+
const selected = select(getLayerSvg(layer)).select(`[data-layer="${layer.name}"]`);
|
|
13
|
+
const bgElements = selected
|
|
14
|
+
.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path")
|
|
15
|
+
.nodes();
|
|
16
|
+
const fgElements = selected
|
|
17
|
+
.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']")
|
|
18
|
+
.nodes();
|
|
19
|
+
const layerName = store.layerStore.mode !== LayersMode.Default ? layer.rootParent?.name || layer.name : '';
|
|
20
|
+
for (const el of bgElements) {
|
|
21
|
+
const pathIndex = +el.getAttribute('data-index');
|
|
22
|
+
let shape;
|
|
23
|
+
if (el.tagName === 'path' && pathIndex !== -1)
|
|
24
|
+
shape = buildPathDef({ color: el.style.fill, index: pathIndex }, layerName);
|
|
25
|
+
else if (el.tagName === 'rect')
|
|
26
|
+
shape = rectToShapeDef(el);
|
|
27
|
+
if (shape)
|
|
28
|
+
bg.push(shape);
|
|
29
|
+
}
|
|
30
|
+
for (const el of fgElements) {
|
|
31
|
+
const pathIndex = +el.getAttribute('data-index');
|
|
32
|
+
let shape;
|
|
33
|
+
if (el.tagName === 'path' && pathIndex !== -1)
|
|
34
|
+
shape = buildPathDef({ color: el.style.fill, index: pathIndex }, layerName);
|
|
35
|
+
else if (el.tagName === 'rect')
|
|
36
|
+
shape = rectToShapeDef(el);
|
|
37
|
+
if (shape)
|
|
38
|
+
fg.push(shape);
|
|
39
|
+
}
|
|
40
|
+
children.push({ name: BG_LAYER_NAME, children: bg });
|
|
41
|
+
children.push({ name: FG_LAYER_NAME, children: fg });
|
|
42
|
+
return Promise.resolve({ name: layer.name, children: children.filter((l) => l.children.length) });
|
|
43
|
+
}
|
|
44
|
+
export function buildPathDef(path, layerName) {
|
|
45
|
+
if (path.index === -1 || Number.isNaN(path.index))
|
|
46
|
+
return;
|
|
47
|
+
if (!path.color || path.color === 'none')
|
|
48
|
+
path.color = 'transparent';
|
|
49
|
+
const d = parseInt(path.index.toString());
|
|
50
|
+
const mesh = gtePathByIndex(d, layerName);
|
|
51
|
+
const pathDef = meshToShapeDef(mesh, path.color);
|
|
52
|
+
pathDef.unblinking = path.unblinking;
|
|
53
|
+
return pathDef;
|
|
54
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure eligibility predicate for booth number badges.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `configBoothsBadges` so the decision can be unit-tested in
|
|
5
|
+
* isolation (no canvas/mobx/renderer side effects). A booth gets a badge when
|
|
6
|
+
* badges aren't globally hidden, it has exhibitors, and it has no visible
|
|
7
|
+
* number — either because it's `noLabels` or because a logo-in-booth covers
|
|
8
|
+
* the label.
|
|
9
|
+
*
|
|
10
|
+
* This logic regressed once after the MapLibre refactor (logo-in-booth booths
|
|
11
|
+
* not authored as `noLabels` lost their badges), so it is covered by a table.
|
|
12
|
+
*/
|
|
13
|
+
export interface BoothBadgeEligibility {
|
|
14
|
+
/** Data flag: hide the number on booths that have an exhibitor. */
|
|
15
|
+
hideExhibitorBoothNumber?: boolean;
|
|
16
|
+
/** `flags.hideBoothBadges`: opt-out for all booth badges. */
|
|
17
|
+
hideBoothBadges?: boolean;
|
|
18
|
+
/** UI state: logos-in-booth are currently hidden. */
|
|
19
|
+
hideLogoInBooth: boolean;
|
|
20
|
+
/** Booth is authored without labels. */
|
|
21
|
+
noLabels: boolean;
|
|
22
|
+
/** Booth has at least one exhibitor. */
|
|
23
|
+
hasExhibitors: boolean;
|
|
24
|
+
/** Booth has at least one exhibitor with a visible logo-in-booth. */
|
|
25
|
+
hasLogoInBooth: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function isBoothBadgeEligible(b: BoothBadgeEligibility): boolean;
|
|
28
|
+
//# sourceMappingURL=config-booth-badge-eligibility.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** What {@link getBadgeScale} reads. */
|
|
2
|
+
export interface BadgeScaleInput {
|
|
3
|
+
/** Plan units per CSS pixel. */
|
|
4
|
+
pixelSize: number;
|
|
5
|
+
/** The font size, in css pixels, the badge is drawn at when the booth has room for it. */
|
|
6
|
+
fontSize: number;
|
|
7
|
+
/** The booth number's font size at scale 1, in the units of the plate's size at scale 1. */
|
|
8
|
+
plateFontSize: number;
|
|
9
|
+
/** The largest scale that still fits inside the booth's footprint. */
|
|
10
|
+
maxScale: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The badge plate's scale: `fontSize` css pixels on screen, or smaller when the booth has no room —
|
|
14
|
+
* then the badge fills what fits and shrinks with the booth.
|
|
15
|
+
* @param input - The pixel size, the target font size, the font size at scale 1 and the booth's
|
|
16
|
+
* limit.
|
|
17
|
+
* @returns The plate's scale; the font is `plateFontSize` times it, in plan units.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getBadgeScale({ pixelSize, fontSize, plateFontSize, maxScale, }: BadgeScaleInput): number;
|
|
20
|
+
//# sourceMappingURL=config-booth-badge-scale.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The badge plate's scale: `fontSize` css pixels on screen, or smaller when the booth has no room —
|
|
3
|
+
* then the badge fills what fits and shrinks with the booth.
|
|
4
|
+
* @param input - The pixel size, the target font size, the font size at scale 1 and the booth's
|
|
5
|
+
* limit.
|
|
6
|
+
* @returns The plate's scale; the font is `plateFontSize` times it, in plan units.
|
|
7
|
+
*/
|
|
8
|
+
export function getBadgeScale({ pixelSize, fontSize, plateFontSize, maxScale, }) {
|
|
9
|
+
const scale = (pixelSize * fontSize) / plateFontSize;
|
|
10
|
+
return Math.min(scale, maxScale);
|
|
11
|
+
}
|