@expofp/floorplan 0.0.0-experimental.2d6c681
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/browser/Button-DT-Jfwrb.js +64 -0
- package/dist/browser/CookieConsent-BIsWzAiP.js +38 -0
- package/dist/browser/Debug-B5mmo0ZX.js +53 -0
- package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
- package/dist/browser/Demo-B2klxORi.js +71 -0
- package/dist/browser/Free-suULW-LU.js +69 -0
- package/dist/browser/GalleryContainer-BGBNGRKU.js +3355 -0
- package/dist/browser/GpsLoader-Idv0kq5D.js +154 -0
- package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
- package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
- package/dist/browser/MaplibreAdapter-uZUhZfFW.js +36770 -0
- package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
- package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
- package/dist/browser/RouteStore-NE2I9tiF.js +3715 -0
- package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
- package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
- package/dist/browser/ViewerMenuPanel-CTAjGsq2.js +133 -0
- package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
- package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
- package/dist/browser/boolean-editor-CYMx87em.js +149 -0
- package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
- package/dist/browser/bundle.json +422 -0
- package/dist/browser/camera-events-DSCuSH25.js +18 -0
- package/dist/browser/classnames-YcGXWNfg.js +39 -0
- package/dist/browser/client-BcPpS_Gj.js +7402 -0
- package/dist/browser/compat-helper.js +6 -0
- package/dist/browser/components-BjEhhgf2.js +7393 -0
- package/dist/browser/create-live-plan-BaEGBhGA.js +4046 -0
- package/dist/browser/debounce-raMZ2DqK.js +2102 -0
- package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
- package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
- package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
- package/dist/browser/dist-C1NaWqk4.js +2611 -0
- package/dist/browser/dist-Cx8u0gjK.js +21 -0
- package/dist/browser/dist-wOC6gYFh.js +205 -0
- package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
- package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
- package/dist/browser/es5-B__Ovz45.js +1712 -0
- package/dist/browser/event-head-C_inMpbD.js +56 -0
- package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
- package/dist/browser/expofp-overlay.png +0 -0
- package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
- package/dist/browser/exports-CvUYw1h6.js +1525 -0
- package/dist/browser/favicon-BkDrYTmU.js +12 -0
- package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
- package/dist/browser/flex-3lSivw8z.js +823 -0
- package/dist/browser/floorplan.loader-CGzIMplb.js +3282 -0
- package/dist/browser/floorplan.ready-r96zV9bP.js +1448 -0
- package/dist/browser/fonts/efp-symbols.woff +0 -0
- package/dist/browser/fonts/inter-400.woff2 +0 -0
- package/dist/browser/fonts/inter-500.woff2 +0 -0
- package/dist/browser/fonts/inter-600.woff2 +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
- package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
- package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
- package/dist/browser/fuse-B7V1lkoA.js +1177 -0
- package/dist/browser/i18n-BgFBhYOU.js +7205 -0
- package/dist/browser/icons/accessible.svg +5 -0
- package/dist/browser/icons/arrow-down.svg +3 -0
- package/dist/browser/icons/bus-white.svg +3 -0
- package/dist/browser/icons/check.svg +3 -0
- package/dist/browser/icons/clear.svg +4 -0
- package/dist/browser/icons/departure.svg +5 -0
- package/dist/browser/icons/departure_inactive.svg +5 -0
- package/dist/browser/icons/destination.svg +5 -0
- package/dist/browser/icons/direction.svg +54 -0
- package/dist/browser/icons/dots.svg +4 -0
- package/dist/browser/icons/dragdrop-solid.svg +11 -0
- package/dist/browser/icons/facebook.svg +4 -0
- package/dist/browser/icons/from.svg +4 -0
- package/dist/browser/icons/kiosk.svg +1 -0
- package/dist/browser/icons/linkedin.svg +3 -0
- package/dist/browser/icons/rotate.svg +5 -0
- package/dist/browser/icons/tap.svg +5 -0
- package/dist/browser/icons/to.svg +4 -0
- package/dist/browser/icons/transition.svg +7 -0
- package/dist/browser/icons/transition_down.svg +15 -0
- package/dist/browser/icons/transition_up.svg +15 -0
- package/dist/browser/icons/twitter.svg +3 -0
- package/dist/browser/icons/yah.svg +17 -0
- package/dist/browser/index.html +139 -0
- package/dist/browser/index.js +254 -0
- package/dist/browser/index.module-kJmnWg5B.js +153 -0
- package/dist/browser/integrateKiosk-D45vYRsm.js +35 -0
- package/dist/browser/is-debug-BRHdrnKr.js +197 -0
- package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
- package/dist/browser/is-webview-cTH4yz8f.js +12 -0
- package/dist/browser/journey-plan-DtL28HMP.js +1865 -0
- package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
- package/dist/browser/kiosk-mode-DfkGlDkT.js +28 -0
- package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
- package/dist/browser/kioskUrlParam-CnYhnC_7.js +141 -0
- package/dist/browser/lib--J2yQXt6.js +1910 -0
- package/dist/browser/loadImage-DzSnRAxX.js +30 -0
- package/dist/browser/locales/ar.json +228 -0
- package/dist/browser/locales/da.json +229 -0
- package/dist/browser/locales/de.json +228 -0
- package/dist/browser/locales/es.json +228 -0
- package/dist/browser/locales/fr.json +228 -0
- package/dist/browser/locales/he.json +228 -0
- package/dist/browser/locales/it.json +228 -0
- package/dist/browser/locales/kk.json +228 -0
- package/dist/browser/locales/ko.json +228 -0
- package/dist/browser/locales/mn.json +228 -0
- package/dist/browser/locales/nl.json +228 -0
- package/dist/browser/locales/pl.json +228 -0
- package/dist/browser/locales/pt.json +228 -0
- package/dist/browser/locales/ru.json +228 -0
- package/dist/browser/locales/sv.json +228 -0
- package/dist/browser/locales/th.json +228 -0
- package/dist/browser/locales/tr.json +228 -0
- package/dist/browser/locales/uk.json +228 -0
- package/dist/browser/locales/vi.json +228 -0
- package/dist/browser/locales/zh.json +228 -0
- package/dist/browser/logDeviceInfo-BTqyv9Xe.js +58 -0
- package/dist/browser/mobx-C-kcS0zI.js +43 -0
- package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
- package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
- package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
- package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
- package/dist/browser/particles.min-eC5xdOrB.js +133 -0
- package/dist/browser/react-DqPP-mkq.js +301 -0
- package/dist/browser/react-dom-BkVzoZWO.js +139 -0
- package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
- package/dist/browser/scheduler-NBuuaWIe.js +212 -0
- package/dist/browser/select-Cxf-YiNA.js +1367 -0
- package/dist/browser/settings-D74eG9h8.js +9 -0
- package/dist/browser/settings-item-DUUbKec_.js +76 -0
- package/dist/browser/store-q_CTsixH.js +58 -0
- package/dist/browser/string-editor-CINOmY_C.js +30 -0
- package/dist/browser/text-field-DORaOVht.js +88 -0
- package/dist/browser/theme-DyFm9MGz.js +2803 -0
- package/dist/browser/ui-DsCU3FV6.js +43 -0
- package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
- package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
- package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
- package/dist/browser/venue-public-BA3x-n4N.js +296 -0
- package/dist/browser/venues-DKpIy-87.js +447 -0
- package/dist/browser/viewport-B7plho3P.js +48 -0
- package/dist/browser/warning.png +0 -0
- package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
- package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
- package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
- package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
- package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
- package/dist/esm/components/AlertContainer.d.ts +4 -0
- package/dist/esm/components/AlertContainer.js +8 -0
- package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
- package/dist/esm/components/AutocompleteContainer.js +14 -0
- package/dist/esm/components/BaseFilterModal.d.ts +11 -0
- package/dist/esm/components/BaseFilterModal.js +73 -0
- package/dist/esm/components/Bookmarks.d.ts +3 -0
- package/dist/esm/components/Bookmarks.js +26 -0
- package/dist/esm/components/Booth/Booth.d.ts +5 -0
- package/dist/esm/components/Booth/Booth.js +135 -0
- package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
- package/dist/esm/components/Booth/BoothOnHold.js +11 -0
- package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
- package/dist/esm/components/Booth/BoothReserved.js +7 -0
- package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
- package/dist/esm/components/Booth/BoothSpecial.js +4 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
- package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
- package/dist/esm/components/Category.d.ts +5 -0
- package/dist/esm/components/Category.js +25 -0
- package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
- package/dist/esm/components/CategoryFilterModal.js +63 -0
- package/dist/esm/components/CookieConsent.d.ts +9 -0
- package/dist/esm/components/CookieConsent.js +9 -0
- package/dist/esm/components/Debug.d.ts +5 -0
- package/dist/esm/components/Debug.js +15 -0
- package/dist/esm/components/Demo.d.ts +4 -0
- package/dist/esm/components/Demo.js +37 -0
- package/dist/esm/components/DownloadListContainer.d.ts +5 -0
- package/dist/esm/components/DownloadListContainer.js +8 -0
- package/dist/esm/components/EntityItemContainer.d.ts +28 -0
- package/dist/esm/components/EntityItemContainer.js +36 -0
- package/dist/esm/components/EntityList.d.ts +9 -0
- package/dist/esm/components/EntityList.js +144 -0
- package/dist/esm/components/EntityListRow.d.ts +13 -0
- package/dist/esm/components/EntityListRow.js +78 -0
- package/dist/esm/components/ErrorBoundary.d.ts +15 -0
- package/dist/esm/components/ErrorBoundary.js +29 -0
- package/dist/esm/components/Event.d.ts +5 -0
- package/dist/esm/components/Event.js +167 -0
- package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
- package/dist/esm/components/EventBadgeContainer.js +29 -0
- package/dist/esm/components/Exhibitor.d.ts +5 -0
- package/dist/esm/components/Exhibitor.js +299 -0
- package/dist/esm/components/Filter.d.ts +4 -0
- package/dist/esm/components/Filter.js +24 -0
- package/dist/esm/components/Free.d.ts +4 -0
- package/dist/esm/components/Free.js +31 -0
- package/dist/esm/components/GalleryContainer.d.ts +6 -0
- package/dist/esm/components/GalleryContainer.js +55 -0
- package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
- package/dist/esm/components/GlobalErrorMessage.js +9 -0
- package/dist/esm/components/GpsLoader.d.ts +5 -0
- package/dist/esm/components/GpsLoader.js +29 -0
- package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
- package/dist/esm/components/HeatmapLegendContainer.js +13 -0
- package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
- package/dist/esm/components/HighlightTextContainer.js +10 -0
- package/dist/esm/components/IntercomLauncher.d.ts +5 -0
- package/dist/esm/components/IntercomLauncher.js +20 -0
- package/dist/esm/components/JourneyPanel.d.ts +35 -0
- package/dist/esm/components/JourneyPanel.js +68 -0
- package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
- package/dist/esm/components/Kiosk/KioskStore.js +411 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
- package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
- package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
- package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
- package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
- package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
- package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
- package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
- package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
- package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
- package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
- package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
- package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
- package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
- package/dist/esm/components/Kiosk/kioskApi.js +47 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
- package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
- package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
- package/dist/esm/components/Language.d.ts +4 -0
- package/dist/esm/components/Language.js +15 -0
- package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
- package/dist/esm/components/LanguageRowContainer.js +9 -0
- package/dist/esm/components/Layout.d.ts +11 -0
- package/dist/esm/components/Layout.js +160 -0
- package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
- package/dist/esm/components/LevelBadgeContainer.js +10 -0
- package/dist/esm/components/List.d.ts +9 -0
- package/dist/esm/components/List.js +77 -0
- package/dist/esm/components/LogoOverlay.d.ts +3 -0
- package/dist/esm/components/LogoOverlay.js +78 -0
- package/dist/esm/components/Map/Map.d.ts +2 -0
- package/dist/esm/components/Map/Map.js +242 -0
- package/dist/esm/components/Map/MapCamera.d.ts +17 -0
- package/dist/esm/components/Map/MapCamera.js +194 -0
- package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
- package/dist/esm/components/Map/MapCursorCoords.js +61 -0
- package/dist/esm/components/Map/MapViewport.d.ts +12 -0
- package/dist/esm/components/Map/MapViewport.js +29 -0
- package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
- package/dist/esm/components/Map/booth-by-xy.js +128 -0
- package/dist/esm/components/Map/camera-events.d.ts +19 -0
- package/dist/esm/components/Map/camera-events.js +26 -0
- package/dist/esm/components/Map/camera.d.ts +48 -0
- package/dist/esm/components/Map/camera.js +43 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
- package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
- package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
- package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
- package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
- package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
- package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
- package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
- package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
- package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
- package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
- package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
- package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
- package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
- package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
- package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
- package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
- package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
- package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
- package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
- package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
- package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
- package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
- package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
- package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
- package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
- package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
- package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
- package/dist/esm/components/Map/framing-rect.d.ts +16 -0
- package/dist/esm/components/Map/framing-rect.js +24 -0
- package/dist/esm/components/Map/pointer.d.ts +79 -0
- package/dist/esm/components/Map/pointer.js +181 -0
- package/dist/esm/components/Map/scene.d.ts +20 -0
- package/dist/esm/components/Map/scene.js +24 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
- package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
- package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
- package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
- package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
- package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
- package/dist/esm/components/Map/viewport.d.ts +63 -0
- package/dist/esm/components/Map/viewport.js +82 -0
- package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
- package/dist/esm/components/Map/with-kiosk.js +25 -0
- package/dist/esm/components/MapControlsContainer.d.ts +3 -0
- package/dist/esm/components/MapControlsContainer.js +58 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
- package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
- package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
- package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
- package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
- package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
- package/dist/esm/components/Maplibre/useDimming.js +61 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
- package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
- package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
- package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
- package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
- package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
- package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
- package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
- package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
- package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
- package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
- package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
- package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
- package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
- package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
- package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/solver.js +238 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
- package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
- package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
- package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
- package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
- package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
- package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
- package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
- package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
- package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
- package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
- package/dist/esm/components/Menu.d.ts +11 -0
- package/dist/esm/components/Menu.js +94 -0
- package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
- package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
- package/dist/esm/components/ModalContainer.d.ts +41 -0
- package/dist/esm/components/ModalContainer.js +10 -0
- package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
- package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
- package/dist/esm/components/OverlayContainer.d.ts +8 -0
- package/dist/esm/components/OverlayContainer.js +82 -0
- package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
- package/dist/esm/components/OverlayGripContainer.js +11 -0
- package/dist/esm/components/OverlayParticles.d.ts +5 -0
- package/dist/esm/components/OverlayParticles.js +54 -0
- package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
- package/dist/esm/components/PlanSelectorContainer.js +79 -0
- package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
- package/dist/esm/components/RebookingNotesContainer.js +8 -0
- package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
- package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
- package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
- package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
- package/dist/esm/components/RouteQR.d.ts +12 -0
- package/dist/esm/components/RouteQR.js +10 -0
- package/dist/esm/components/Schedule.d.ts +13 -0
- package/dist/esm/components/Schedule.js +109 -0
- package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
- package/dist/esm/components/ScrollableRowContainer.js +11 -0
- package/dist/esm/components/Search.d.ts +5 -0
- package/dist/esm/components/Search.js +45 -0
- package/dist/esm/components/SearchBox.d.ts +7 -0
- package/dist/esm/components/SearchBox.js +171 -0
- package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
- package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
- package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
- package/dist/esm/components/SearchButtons/SearchButtons.js +25 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
- package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
- package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
- package/dist/esm/components/SearchButtons/index.d.ts +7 -0
- package/dist/esm/components/SearchButtons/index.js +5 -0
- package/dist/esm/components/Sessions.d.ts +8 -0
- package/dist/esm/components/Sessions.js +128 -0
- package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
- package/dist/esm/components/SessionsFiltersModal.js +105 -0
- package/dist/esm/components/SessionsList.d.ts +12 -0
- package/dist/esm/components/SessionsList.js +212 -0
- package/dist/esm/components/ShareContainer.d.ts +7 -0
- package/dist/esm/components/ShareContainer.js +29 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
- package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
- package/dist/esm/components/Shortcuts/index.d.ts +4 -0
- package/dist/esm/components/Shortcuts/index.js +4 -0
- package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
- package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
- package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
- package/dist/esm/components/SidebarActionsContainer.js +8 -0
- package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
- package/dist/esm/components/SimpleRowContainer.js +8 -0
- package/dist/esm/components/Speaker.d.ts +5 -0
- package/dist/esm/components/Speaker.js +72 -0
- package/dist/esm/components/Speakers.d.ts +8 -0
- package/dist/esm/components/Speakers.js +63 -0
- package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
- package/dist/esm/components/SpeakersFiltersModal.js +77 -0
- package/dist/esm/components/TourPoints.d.ts +4 -0
- package/dist/esm/components/TourPoints.js +20 -0
- package/dist/esm/components/Tours.d.ts +7 -0
- package/dist/esm/components/Tours.js +54 -0
- package/dist/esm/components/ToursList.d.ts +10 -0
- package/dist/esm/components/ToursList.js +22 -0
- package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
- package/dist/esm/components/ViewerMenuPanel.js +61 -0
- package/dist/esm/components/Visited.d.ts +4 -0
- package/dist/esm/components/Visited.js +13 -0
- package/dist/esm/components/WayInformation.d.ts +14 -0
- package/dist/esm/components/WayInformation.js +8 -0
- package/dist/esm/components/Wayfinding.d.ts +4 -0
- package/dist/esm/components/Wayfinding.js +285 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
- package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
- package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
- package/dist/esm/components/WayfindingTemplate.js +14 -0
- package/dist/esm/components/Ws.d.ts +5 -0
- package/dist/esm/components/Ws.js +131 -0
- package/dist/esm/components/YahRow.d.ts +8 -0
- package/dist/esm/components/YahRow.js +25 -0
- package/dist/esm/components/gps/GpsManager.d.ts +13 -0
- package/dist/esm/components/gps/GpsManager.js +60 -0
- package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
- package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
- package/dist/esm/components/gps/index.d.ts +5 -0
- package/dist/esm/components/gps/index.js +3 -0
- package/dist/esm/components/gps/types.d.ts +7 -0
- package/dist/esm/components/gps/types.js +1 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
- package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
- package/dist/esm/components/gps/utils.d.ts +5 -0
- package/dist/esm/components/gps/utils.js +11 -0
- package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
- package/dist/esm/components/heatmap-legend-ticks.js +18 -0
- package/dist/esm/components/index.d.ts +114 -0
- package/dist/esm/components/index.js +76 -0
- package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
- package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
- package/dist/esm/components/utils/getDescription.d.ts +19 -0
- package/dist/esm/components/utils/getDescription.js +35 -0
- package/dist/esm/constants.d.ts +44 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/data/fp-payloads.d.ts +27 -0
- package/dist/esm/data/fp-payloads.js +53 -0
- package/dist/esm/data/fpGeo.d.ts +45 -0
- package/dist/esm/data/fpGeo.js +9 -0
- package/dist/esm/data/index.d.ts +15 -0
- package/dist/esm/data/index.js +15 -0
- package/dist/esm/data/layer-viewbox.d.ts +10 -0
- package/dist/esm/data/layer-viewbox.js +20 -0
- package/dist/esm/data/svg.d.ts +43 -0
- package/dist/esm/data/svg.js +210 -0
- package/dist/esm/data/tours.json +280 -0
- package/dist/esm/data/venue-scene-preload.d.ts +34 -0
- package/dist/esm/data/venue-scene-preload.js +205 -0
- package/dist/esm/data/venues.d.ts +145 -0
- package/dist/esm/data/venues.js +955 -0
- package/dist/esm/engine/defs.d.ts +38 -0
- package/dist/esm/engine/defs.js +85 -0
- package/dist/esm/engine/fonts.d.ts +9 -0
- package/dist/esm/engine/fonts.js +12 -0
- package/dist/esm/engine/update-def.d.ts +55 -0
- package/dist/esm/engine/update-def.js +127 -0
- package/dist/esm/engine/utils/rotation.d.ts +13 -0
- package/dist/esm/engine/utils/rotation.js +73 -0
- package/dist/esm/floorplan.loader.d.ts +164 -0
- package/dist/esm/floorplan.loader.js +540 -0
- package/dist/esm/floorplan.ready.d.ts +149 -0
- package/dist/esm/floorplan.ready.js +1083 -0
- package/dist/esm/hooks/useURLFilters.d.ts +15 -0
- package/dist/esm/hooks/useURLFilters.js +44 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +47 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +74 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/internal-settings.d.ts +13 -0
- package/dist/esm/internal-settings.js +6 -0
- package/dist/esm/journey/external-navigation.d.ts +30 -0
- package/dist/esm/journey/external-navigation.js +38 -0
- package/dist/esm/journey/format-distance.d.ts +14 -0
- package/dist/esm/journey/format-distance.js +38 -0
- package/dist/esm/journey/index.d.ts +16 -0
- package/dist/esm/journey/index.js +15 -0
- package/dist/esm/journey/journey-context.d.ts +140 -0
- package/dist/esm/journey/journey-context.js +137 -0
- package/dist/esm/journey/journey-link.d.ts +49 -0
- package/dist/esm/journey/journey-link.js +35 -0
- package/dist/esm/journey/journey-stage.d.ts +35 -0
- package/dist/esm/journey/journey-stage.js +28 -0
- package/dist/esm/journey/maps-provider.d.ts +36 -0
- package/dist/esm/journey/maps-provider.js +58 -0
- package/dist/esm/journey/plan-journey.d.ts +37 -0
- package/dist/esm/journey/plan-journey.js +176 -0
- package/dist/esm/journey/types.d.ts +294 -0
- package/dist/esm/journey/types.js +1 -0
- package/dist/esm/load-dev.d.ts +44 -0
- package/dist/esm/load-dev.js +60 -0
- package/dist/esm/load.d.ts +17 -0
- package/dist/esm/load.js +244 -0
- package/dist/esm/locales.d.ts +25 -0
- package/dist/esm/locales.js +23 -0
- package/dist/esm/offline/constants.d.ts +5 -0
- package/dist/esm/offline/constants.js +4 -0
- package/dist/esm/offline/offlineManager.d.ts +2 -0
- package/dist/esm/offline/offlineManager.js +78 -0
- package/dist/esm/plan-lifecycle.d.ts +65 -0
- package/dist/esm/plan-lifecycle.js +97 -0
- package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
- package/dist/esm/schemas/sdk.schemas.js +24 -0
- package/dist/esm/services/URLFilterManager.d.ts +39 -0
- package/dist/esm/services/URLFilterManager.js +379 -0
- package/dist/esm/services/multi-slug.d.ts +20 -0
- package/dist/esm/services/multi-slug.js +30 -0
- package/dist/esm/services/url-dispatch.d.ts +22 -0
- package/dist/esm/services/url-dispatch.js +707 -0
- package/dist/esm/services/url-sync.d.ts +40 -0
- package/dist/esm/services/url-sync.js +185 -0
- package/dist/esm/store/BaseFilterStore.d.ts +17 -0
- package/dist/esm/store/BaseFilterStore.js +63 -0
- package/dist/esm/store/BookmarksStore.d.ts +9 -0
- package/dist/esm/store/BookmarksStore.js +28 -0
- package/dist/esm/store/BoothStore.d.ts +105 -0
- package/dist/esm/store/BoothStore.js +194 -0
- package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
- package/dist/esm/store/CategoryFilterStore.js +60 -0
- package/dist/esm/store/CategoryStore.d.ts +21 -0
- package/dist/esm/store/CategoryStore.js +30 -0
- package/dist/esm/store/EventStore.d.ts +56 -0
- package/dist/esm/store/EventStore.js +188 -0
- package/dist/esm/store/ExhibitorStore.d.ts +86 -0
- package/dist/esm/store/ExhibitorStore.js +175 -0
- package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
- package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
- package/dist/esm/store/HeatmapStore.d.ts +51 -0
- package/dist/esm/store/HeatmapStore.js +100 -0
- package/dist/esm/store/IntercomStore.d.ts +7 -0
- package/dist/esm/store/IntercomStore.js +26 -0
- package/dist/esm/store/LayerStore.d.ts +70 -0
- package/dist/esm/store/LayerStore.js +399 -0
- package/dist/esm/store/MaplibreStore.d.ts +71 -0
- package/dist/esm/store/MaplibreStore.js +137 -0
- package/dist/esm/store/OverlayStore.d.ts +32 -0
- package/dist/esm/store/OverlayStore.js +68 -0
- package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
- package/dist/esm/store/PoiMarkerStore.js +97 -0
- package/dist/esm/store/PoiTypeStore.d.ts +8 -0
- package/dist/esm/store/PoiTypeStore.js +6 -0
- package/dist/esm/store/RootStore.d.ts +118 -0
- package/dist/esm/store/RootStore.js +666 -0
- package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
- package/dist/esm/store/RoutePlannerStore.js +322 -0
- package/dist/esm/store/RouteStore.d.ts +138 -0
- package/dist/esm/store/RouteStore.js +692 -0
- package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
- package/dist/esm/store/SearchButtonsStore.js +2 -0
- package/dist/esm/store/SearchStore.d.ts +81 -0
- package/dist/esm/store/SearchStore.js +612 -0
- package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
- package/dist/esm/store/SessionsFilterStore.js +169 -0
- package/dist/esm/store/ShortcutProvider.d.ts +26 -0
- package/dist/esm/store/ShortcutProvider.js +5 -0
- package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
- package/dist/esm/store/ShortcutRegistry.js +130 -0
- package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
- package/dist/esm/store/SpeakerFilterStore.js +152 -0
- package/dist/esm/store/SpeakerStore.d.ts +45 -0
- package/dist/esm/store/SpeakerStore.js +142 -0
- package/dist/esm/store/SubButtonProvider.d.ts +16 -0
- package/dist/esm/store/SubButtonProvider.js +6 -0
- package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
- package/dist/esm/store/SubButtonRegistry.js +58 -0
- package/dist/esm/store/ToursStore.d.ts +30 -0
- package/dist/esm/store/ToursStore.js +184 -0
- package/dist/esm/store/UIState.d.ts +329 -0
- package/dist/esm/store/UIState.js +2138 -0
- package/dist/esm/store/VenueStore.d.ts +254 -0
- package/dist/esm/store/VenueStore.js +650 -0
- package/dist/esm/store/create-live-plan.d.ts +13 -0
- package/dist/esm/store/create-live-plan.js +25 -0
- package/dist/esm/store/details-events.d.ts +11 -0
- package/dist/esm/store/details-events.js +76 -0
- package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
- package/dist/esm/store/floor-activated-notifier.js +22 -0
- package/dist/esm/store/index.d.ts +3 -0
- package/dist/esm/store/index.js +14 -0
- package/dist/esm/store/init/index.d.ts +3 -0
- package/dist/esm/store/init/index.js +20 -0
- package/dist/esm/store/init/init-booths.d.ts +6 -0
- package/dist/esm/store/init/init-booths.js +306 -0
- package/dist/esm/store/init/init-categories.d.ts +3 -0
- package/dist/esm/store/init/init-categories.js +28 -0
- package/dist/esm/store/init/init-events.d.ts +3 -0
- package/dist/esm/store/init/init-events.js +45 -0
- package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
- package/dist/esm/store/init/init-exhibitors.js +71 -0
- package/dist/esm/store/init/init-heatmap.d.ts +3 -0
- package/dist/esm/store/init/init-heatmap.js +37 -0
- package/dist/esm/store/init/init-layers.d.ts +8 -0
- package/dist/esm/store/init/init-layers.js +151 -0
- package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
- package/dist/esm/store/init/init-poiTypes.js +6 -0
- package/dist/esm/store/init/init-speakers.d.ts +3 -0
- package/dist/esm/store/init/init-speakers.js +20 -0
- package/dist/esm/store/init/init-ui.d.ts +13 -0
- package/dist/esm/store/init/init-ui.js +155 -0
- package/dist/esm/store/journey-plan.d.ts +89 -0
- package/dist/esm/store/journey-plan.js +291 -0
- package/dist/esm/store/live-store.d.ts +19 -0
- package/dist/esm/store/live-store.js +26 -0
- package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
- package/dist/esm/store/outdoor-poi-filter.js +33 -0
- package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
- package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
- package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
- package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
- package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
- package/dist/esm/store/reveal-layer.d.ts +29 -0
- package/dist/esm/store/reveal-layer.js +25 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
- package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
- package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
- package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
- package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
- package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
- package/dist/esm/store/search-buttons/constants.d.ts +24 -0
- package/dist/esm/store/search-buttons/constants.js +24 -0
- package/dist/esm/store/search-buttons/index.d.ts +8 -0
- package/dist/esm/store/search-buttons/index.js +7 -0
- package/dist/esm/store/search-buttons/utils.d.ts +6 -0
- package/dist/esm/store/search-buttons/utils.js +34 -0
- package/dist/esm/store/types.d.ts +213 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/venue-public.d.ts +10 -0
- package/dist/esm/store/venue-public.js +14 -0
- package/dist/esm/store/venue-selection.d.ts +45 -0
- package/dist/esm/store/venue-selection.js +101 -0
- package/dist/esm/test/store-harness.d.ts +32 -0
- package/dist/esm/test/store-harness.js +116 -0
- package/dist/esm/tools/base-runtime-url.d.ts +3 -0
- package/dist/esm/tools/base-runtime-url.js +23 -0
- package/dist/esm/tools/debounce.d.ts +2 -0
- package/dist/esm/tools/debounce.js +10 -0
- package/dist/esm/tools/debugCanvases.d.ts +3 -0
- package/dist/esm/tools/debugCanvases.js +3 -0
- package/dist/esm/tools/event-not-found.d.ts +18 -0
- package/dist/esm/tools/event-not-found.js +50 -0
- package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
- package/dist/esm/tools/event-scoped-cache.js +47 -0
- package/dist/esm/tools/expofpUrl.d.ts +7 -0
- package/dist/esm/tools/expofpUrl.js +10 -0
- package/dist/esm/tools/freeBanner.d.ts +5 -0
- package/dist/esm/tools/freeBanner.js +11 -0
- package/dist/esm/tools/gtag.d.ts +66 -0
- package/dist/esm/tools/gtag.js +287 -0
- package/dist/esm/tools/handleDebugMode.d.ts +19 -0
- package/dist/esm/tools/handleDebugMode.js +61 -0
- package/dist/esm/tools/has-html-tags.d.ts +2 -0
- package/dist/esm/tools/has-html-tags.js +3 -0
- package/dist/esm/tools/id.d.ts +2 -0
- package/dist/esm/tools/id.js +5 -0
- package/dist/esm/tools/loaders.d.ts +5 -0
- package/dist/esm/tools/loaders.js +67 -0
- package/dist/esm/tools/logger.d.ts +38 -0
- package/dist/esm/tools/logger.js +87 -0
- package/dist/esm/tools/rebooking-config.d.ts +10 -0
- package/dist/esm/tools/rebooking-config.js +19 -0
- package/dist/esm/tools/rebookingUrl.d.ts +11 -0
- package/dist/esm/tools/rebookingUrl.js +27 -0
- package/dist/esm/tools/report-error.d.ts +2 -0
- package/dist/esm/tools/report-error.js +134 -0
- package/dist/esm/tools/reset.d.ts +2 -0
- package/dist/esm/tools/reset.js +35 -0
- package/dist/esm/tools/sentry.d.ts +7 -0
- package/dist/esm/tools/sentry.js +166 -0
- package/dist/esm/tools/settings.d.ts +36 -0
- package/dist/esm/tools/settings.js +110 -0
- package/dist/esm/tools/slug.d.ts +2 -0
- package/dist/esm/tools/slug.js +27 -0
- package/dist/esm/tools/strip-html.d.ts +2 -0
- package/dist/esm/tools/strip-html.js +7 -0
- package/dist/esm/tools/style-registry.d.ts +28 -0
- package/dist/esm/tools/style-registry.js +46 -0
- package/dist/esm/tools/telemetry.d.ts +37 -0
- package/dist/esm/tools/telemetry.js +266 -0
- package/dist/esm/tools/track-event.d.ts +28 -0
- package/dist/esm/tools/track-event.js +196 -0
- package/dist/esm/tools/webgl-logger.d.ts +2 -0
- package/dist/esm/tools/webgl-logger.js +31 -0
- package/dist/esm/types/drawing.types.d.ts +18 -0
- package/dist/esm/types/drawing.types.js +1 -0
- package/dist/esm/types/sdk.types.d.ts +49 -0
- package/dist/esm/types/sdk.types.js +6 -0
- package/dist/esm/types.d.ts +593 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
- package/dist/esm/utils/_OLD_gpu-info.js +23 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
- package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
- package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
- package/dist/esm/utils/areLayersEnabled.js +4 -0
- package/dist/esm/utils/blob-image-size.d.ts +27 -0
- package/dist/esm/utils/blob-image-size.js +37 -0
- package/dist/esm/utils/brand.d.ts +18 -0
- package/dist/esm/utils/brand.js +19 -0
- package/dist/esm/utils/browser.d.ts +4 -0
- package/dist/esm/utils/browser.js +4 -0
- package/dist/esm/utils/calcSpeed.d.ts +2 -0
- package/dist/esm/utils/calcSpeed.js +5 -0
- package/dist/esm/utils/calcTravelTime.d.ts +2 -0
- package/dist/esm/utils/calcTravelTime.js +3 -0
- package/dist/esm/utils/camera-map-settings.d.ts +26 -0
- package/dist/esm/utils/camera-map-settings.js +86 -0
- package/dist/esm/utils/color-gradient.d.ts +2 -0
- package/dist/esm/utils/color-gradient.js +14 -0
- package/dist/esm/utils/customCommands.d.ts +2 -0
- package/dist/esm/utils/customCommands.js +33 -0
- package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
- package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
- package/dist/esm/utils/dimming.d.ts +27 -0
- package/dist/esm/utils/dimming.js +88 -0
- package/dist/esm/utils/entity-storage.d.ts +14 -0
- package/dist/esm/utils/entity-storage.js +122 -0
- package/dist/esm/utils/event-head.d.ts +38 -0
- package/dist/esm/utils/event-head.js +90 -0
- package/dist/esm/utils/event-now.d.ts +11 -0
- package/dist/esm/utils/event-now.js +40 -0
- package/dist/esm/utils/event-title.d.ts +19 -0
- package/dist/esm/utils/event-title.js +20 -0
- package/dist/esm/utils/eventFullBadge.d.ts +3 -0
- package/dist/esm/utils/eventFullBadge.js +7 -0
- package/dist/esm/utils/eventTime.d.ts +15 -0
- package/dist/esm/utils/eventTime.js +82 -0
- package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
- package/dist/esm/utils/extractMetaFromString.js +16 -0
- package/dist/esm/utils/geo-anchors.d.ts +10 -0
- package/dist/esm/utils/geo-anchors.js +12 -0
- package/dist/esm/utils/geometry.d.ts +2 -0
- package/dist/esm/utils/geometry.js +12 -0
- package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
- package/dist/esm/utils/getContrastTextColor.js +26 -0
- package/dist/esm/utils/getLogoUrl.d.ts +9 -0
- package/dist/esm/utils/getLogoUrl.js +26 -0
- package/dist/esm/utils/getMostFrequent.d.ts +2 -0
- package/dist/esm/utils/getMostFrequent.js +14 -0
- package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
- package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
- package/dist/esm/utils/gps.d.ts +40 -0
- package/dist/esm/utils/gps.js +66 -0
- package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
- package/dist/esm/utils/heatmap-enabled.js +13 -0
- package/dist/esm/utils/i18n.d.ts +18 -0
- package/dist/esm/utils/i18n.js +117 -0
- package/dist/esm/utils/index.d.ts +10 -0
- package/dist/esm/utils/index.js +60 -0
- package/dist/esm/utils/is-debug.d.ts +3 -0
- package/dist/esm/utils/is-debug.js +9 -0
- package/dist/esm/utils/is-from-designer.d.ts +3 -0
- package/dist/esm/utils/is-from-designer.js +4 -0
- package/dist/esm/utils/is-iframe.d.ts +3 -0
- package/dist/esm/utils/is-iframe.js +13 -0
- package/dist/esm/utils/is-localhost.d.ts +3 -0
- package/dist/esm/utils/is-localhost.js +11 -0
- package/dist/esm/utils/is-mac.d.ts +3 -0
- package/dist/esm/utils/is-mac.js +2 -0
- package/dist/esm/utils/is-mobile.d.ts +3 -0
- package/dist/esm/utils/is-mobile.js +2 -0
- package/dist/esm/utils/is-own-domain.d.ts +12 -0
- package/dist/esm/utils/is-own-domain.js +23 -0
- package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
- package/dist/esm/utils/is-pathway-layer.js +4 -0
- package/dist/esm/utils/is-phone.d.ts +9 -0
- package/dist/esm/utils/is-phone.js +17 -0
- package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
- package/dist/esm/utils/is-scroll-ugly.js +13 -0
- package/dist/esm/utils/is-webview.d.ts +3 -0
- package/dist/esm/utils/is-webview.js +2 -0
- package/dist/esm/utils/isNumericLevel.d.ts +2 -0
- package/dist/esm/utils/isNumericLevel.js +3 -0
- package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
- package/dist/esm/utils/lazy-qr-code.js +6 -0
- package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
- package/dist/esm/utils/legacy-storage-keys.js +38 -0
- package/dist/esm/utils/loadBlob.d.ts +16 -0
- package/dist/esm/utils/loadBlob.js +40 -0
- package/dist/esm/utils/loadCustomCss.d.ts +3 -0
- package/dist/esm/utils/loadCustomCss.js +19 -0
- package/dist/esm/utils/loadIcons.d.ts +3 -0
- package/dist/esm/utils/loadIcons.js +24 -0
- package/dist/esm/utils/loadImage.d.ts +2 -0
- package/dist/esm/utils/loadImage.js +11 -0
- package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
- package/dist/esm/utils/loadImagesInBatches.js +82 -0
- package/dist/esm/utils/loadLayerImages.d.ts +41 -0
- package/dist/esm/utils/loadLayerImages.js +107 -0
- package/dist/esm/utils/localStorage.d.ts +2 -0
- package/dist/esm/utils/localStorage.js +11 -0
- package/dist/esm/utils/lz-utils.d.ts +8 -0
- package/dist/esm/utils/lz-utils.js +16 -0
- package/dist/esm/utils/mapEntity.d.ts +3 -0
- package/dist/esm/utils/mapEntity.js +82 -0
- package/dist/esm/utils/math.d.ts +6 -0
- package/dist/esm/utils/math.js +7 -0
- package/dist/esm/utils/mobx.d.ts +35 -0
- package/dist/esm/utils/mobx.js +74 -0
- package/dist/esm/utils/outdoor-poi.d.ts +32 -0
- package/dist/esm/utils/outdoor-poi.js +28 -0
- package/dist/esm/utils/plan-reactions.d.ts +20 -0
- package/dist/esm/utils/plan-reactions.js +26 -0
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +15 -0
- package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
- package/dist/esm/utils/preview-exhibitor.js +19 -0
- package/dist/esm/utils/rasterize-svg.d.ts +32 -0
- package/dist/esm/utils/rasterize-svg.js +78 -0
- package/dist/esm/utils/responsiveClass.d.ts +2 -0
- package/dist/esm/utils/responsiveClass.js +25 -0
- package/dist/esm/utils/rtl.d.ts +2 -0
- package/dist/esm/utils/rtl.js +4 -0
- package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
- package/dist/esm/utils/sanitizeHtml.js +21 -0
- package/dist/esm/utils/sanitizeText.d.ts +9 -0
- package/dist/esm/utils/sanitizeText.js +19 -0
- package/dist/esm/utils/scene-bounds.d.ts +64 -0
- package/dist/esm/utils/scene-bounds.js +127 -0
- package/dist/esm/utils/shortenName.d.ts +2 -0
- package/dist/esm/utils/shortenName.js +19 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
- package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
- package/dist/esm/utils/strEqual.d.ts +2 -0
- package/dist/esm/utils/strEqual.js +3 -0
- package/dist/esm/utils/swappable-proxy.d.ts +28 -0
- package/dist/esm/utils/swappable-proxy.js +71 -0
- package/dist/esm/utils/trackingParams.d.ts +3 -0
- package/dist/esm/utils/trackingParams.js +24 -0
- package/dist/esm/utils/urlEncoding.d.ts +7 -0
- package/dist/esm/utils/urlEncoding.js +62 -0
- package/dist/esm/utils/use-shadow.d.ts +3 -0
- package/dist/esm/utils/use-shadow.js +10 -0
- package/dist/esm/utils/useHeatmapData.d.ts +10 -0
- package/dist/esm/utils/useHeatmapData.js +8 -0
- package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
- package/dist/esm/utils/useHeatmapOverlay.js +56 -0
- package/dist/esm/utils/useRenderTarget.d.ts +2 -0
- package/dist/esm/utils/useRenderTarget.js +35 -0
- package/dist/esm/utils/yah_icon.d.ts +6 -0
- package/dist/esm/utils/yah_icon.js +457 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
- package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
- package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.d.ts +13 -0
- package/dist/esm/wayfinding/adapters/campusEndpoints.js +25 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
- package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
- package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +49 -0
- package/dist/esm/wayfinding/adapters/graphDataSource.js +87 -0
- package/dist/esm/wayfinding/adapters/index.d.ts +10 -0
- package/dist/esm/wayfinding/adapters/index.js +8 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
- package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
- package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
- package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
- package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
- package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
- package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
- package/dist/esm/wayfinding/createWayfinding.js +184 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
- package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
- package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
- package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
- package/dist/esm/wayfinding/index.d.ts +12 -0
- package/dist/esm/wayfinding/index.js +9 -0
- package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
- package/dist/esm/wayfinding/routeSteps.js +29 -0
- package/dist/esm/wayfinding/storePorts.d.ts +67 -0
- package/dist/esm/wayfinding/storePorts.js +1 -0
- package/package.json +146 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Rect } from '@expofp/geometry';
|
|
2
|
+
import { type ImageDef, type TextAlignment, type TextDef } from '@expofp/renderer';
|
|
3
|
+
import { type FontSizeFactor } from '../../../../engine/defs';
|
|
4
|
+
import { type CustomFonts } from '../../../../engine/fonts';
|
|
5
|
+
import { type Booth } from '../../../../store/BoothStore';
|
|
6
|
+
import { type Exhibitor } from '../../../../store/ExhibitorStore';
|
|
7
|
+
import { BoothDrawerBaseWithoutPainter } from './BoothDrawerBase';
|
|
8
|
+
interface Prefix {
|
|
9
|
+
fontSize: number;
|
|
10
|
+
name: string;
|
|
11
|
+
short?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export default function configBoothLabels(booth: Booth): BoothLabelDrawer | undefined;
|
|
14
|
+
export declare function getMinZoomFactorForDot(scaleFactors: number[]): number;
|
|
15
|
+
export declare const isDirectionsMode: () => boolean;
|
|
16
|
+
export declare function getFontUrlByWeight(weight: number, customFonts?: CustomFonts[], style?: string): string;
|
|
17
|
+
interface LabelFontWeights {
|
|
18
|
+
main: number;
|
|
19
|
+
details: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function getBoothLabelWeights(): LabelFontWeights;
|
|
22
|
+
export declare function getExhibitorLabelWeights(): LabelFontWeights;
|
|
23
|
+
export declare function getBadgeFontWeight(): number;
|
|
24
|
+
export declare class BoothLabelDrawer extends BoothDrawerBaseWithoutPainter {
|
|
25
|
+
protected canvasRect: Rect;
|
|
26
|
+
protected paddingScaled: [number, number];
|
|
27
|
+
protected padding: number;
|
|
28
|
+
protected minZoomDotVisible: number;
|
|
29
|
+
protected maxZoomDotVisible: number;
|
|
30
|
+
protected exh: Exhibitor[];
|
|
31
|
+
protected shapeLabel: TextDef;
|
|
32
|
+
protected shapeDot: ImageDef;
|
|
33
|
+
protected fontSizes: [FontSizeFactor[], FontSizeFactor[]];
|
|
34
|
+
protected lines: [string[], string[]];
|
|
35
|
+
protected topLeftAlignment: TextAlignment;
|
|
36
|
+
protected centerAlignment: TextAlignment;
|
|
37
|
+
protected prefixes: Prefix[];
|
|
38
|
+
protected fontUrls: [string, string];
|
|
39
|
+
constructor(booth: Booth);
|
|
40
|
+
getShape(): (ImageDef | TextDef)[];
|
|
41
|
+
/**
|
|
42
|
+
* Lays this booth's label out for a new pixel size: the font-size step, the alignment that follows
|
|
43
|
+
* it, and the padding that scales with it.
|
|
44
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
45
|
+
* @returns The label when it moved, empty when nothing changed so the renderer skips the write.
|
|
46
|
+
*/
|
|
47
|
+
layOutLabel(pixelSize: number): TextDef[];
|
|
48
|
+
/**
|
|
49
|
+
* Lays this booth's dot out for a new pixel size: it is drawn only in the band between the zoom
|
|
50
|
+
* where the label stops fitting and the zoom where the dot itself would overflow the booth.
|
|
51
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
52
|
+
* @returns The dot when it moved, empty when nothing changed so the renderer skips the write.
|
|
53
|
+
*/
|
|
54
|
+
layOutDot(pixelSize: number): ImageDef[];
|
|
55
|
+
getShapeDot(): void;
|
|
56
|
+
private createLines;
|
|
57
|
+
private calculateFontSizeFactors;
|
|
58
|
+
private calcArea;
|
|
59
|
+
private optimizationLevel;
|
|
60
|
+
private measureText;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=config-booth-labels.d.ts.map
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { Rect } from '@expofp/geometry';
|
|
2
|
+
import { update } from '@expofp/renderer';
|
|
3
|
+
import { FONT_WEIGHT_PRIMARY_BOOTH, FONT_WEIGHT_PRIMARY_EXHIBITOR, FONT_WEIGHT_SECONDARY_BOOTH, FONT_WEIGHT_SECONDARY_EXHIBITOR, } from '../../../../constants';
|
|
4
|
+
import data from '../../../../data';
|
|
5
|
+
import { createShapeDot, createTextDef, createTextDefLines, SHAPE_DOT_CSS_PX, } from '../../../../engine/defs';
|
|
6
|
+
import { DEFAULT_FONT_LIGHT_URL, DEFAULT_FONT_URL, loadCustomFontsUrls, } from '../../../../engine/fonts';
|
|
7
|
+
import { getQuarterTurns, getRollValue, rotateRectByQuarters, rotateTextDefByQuarters, updateLinesScale, } from '../../../../engine/update-def';
|
|
8
|
+
import { boothStore, layersStore, uiState } from '../../../../store';
|
|
9
|
+
import { RegularBooth, SpecialBooth } from '../../../../store/BoothStore';
|
|
10
|
+
import settings from '../../../../tools/settings';
|
|
11
|
+
import { t } from '../../../../utils/i18n';
|
|
12
|
+
import isMobile from '../../../../utils/is-mobile';
|
|
13
|
+
import isWebview from '../../../../utils/is-webview';
|
|
14
|
+
import { planReaction } from '../../../../utils/plan-reactions.js';
|
|
15
|
+
import { isArabicText } from '../../../../utils/rtl';
|
|
16
|
+
import { BoothDrawerBaseWithoutPainter } from './BoothDrawerBase';
|
|
17
|
+
import { getFont } from './canvases';
|
|
18
|
+
import { getLabelBorderInset } from './label-inset.js';
|
|
19
|
+
/** The live event's label color (one expo overrides the configured one). */
|
|
20
|
+
function fillStyle() {
|
|
21
|
+
if (settings.EXPO === 'tqs2021')
|
|
22
|
+
return '#000';
|
|
23
|
+
return settings.boothLabelColor;
|
|
24
|
+
}
|
|
25
|
+
const isMobileDevice = isMobile || isWebview;
|
|
26
|
+
const truncateText = (x) => x.replace(' ', '').substring(0, 4).replace(/[0-9]/g, '3').replace(/[A-Z]/gi, 'A');
|
|
27
|
+
const ctx2d = document.createElement('canvas').getContext('2d');
|
|
28
|
+
export default function configBoothLabels(booth) {
|
|
29
|
+
if (!(booth instanceof RegularBooth) || booth.noLabels)
|
|
30
|
+
return;
|
|
31
|
+
return new BoothLabelDrawer(booth);
|
|
32
|
+
}
|
|
33
|
+
export function getMinZoomFactorForDot(scaleFactors) {
|
|
34
|
+
if (Array.isArray(scaleFactors) && scaleFactors.length > 0) {
|
|
35
|
+
return Math.max(...scaleFactors.map((sf) => sf));
|
|
36
|
+
}
|
|
37
|
+
return typeof scaleFactors === 'number' ? scaleFactors : -0;
|
|
38
|
+
}
|
|
39
|
+
export const isDirectionsMode = () => {
|
|
40
|
+
return Boolean(uiState.selectedRoute?.from && uiState.selectedRoute?.to);
|
|
41
|
+
};
|
|
42
|
+
export function getFontUrlByWeight(weight, customFonts = [], style = 'normal') {
|
|
43
|
+
const fonts = [
|
|
44
|
+
...customFonts,
|
|
45
|
+
{ weight: 500, url: DEFAULT_FONT_URL, style: 'normal' },
|
|
46
|
+
{ weight: 300, url: DEFAULT_FONT_LIGHT_URL, style: 'normal' },
|
|
47
|
+
];
|
|
48
|
+
const fontByWeight = fonts.find((f) => +f.weight === weight && f.style === style);
|
|
49
|
+
return fontByWeight?.url || DEFAULT_FONT_URL;
|
|
50
|
+
}
|
|
51
|
+
function readCssWeight(cssVar, fallback) {
|
|
52
|
+
return Number(getComputedStyle(document.body).getPropertyValue(cssVar)) || fallback;
|
|
53
|
+
}
|
|
54
|
+
export function getBoothLabelWeights() {
|
|
55
|
+
return {
|
|
56
|
+
main: readCssWeight(FONT_WEIGHT_PRIMARY_BOOTH, 500),
|
|
57
|
+
details: readCssWeight(FONT_WEIGHT_SECONDARY_BOOTH, 300),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function getExhibitorLabelWeights() {
|
|
61
|
+
return {
|
|
62
|
+
main: readCssWeight(FONT_WEIGHT_PRIMARY_EXHIBITOR, 500),
|
|
63
|
+
details: readCssWeight(FONT_WEIGHT_SECONDARY_EXHIBITOR, 300),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// Badge text is the booth number — same role as the main line of a booth
|
|
67
|
+
// label. Mirror that weight so the link stays explicit in one place.
|
|
68
|
+
export function getBadgeFontWeight() {
|
|
69
|
+
return getBoothLabelWeights().main;
|
|
70
|
+
}
|
|
71
|
+
const DETAILS_PREFIX = 'Details';
|
|
72
|
+
export class BoothLabelDrawer extends BoothDrawerBaseWithoutPainter {
|
|
73
|
+
constructor(booth) {
|
|
74
|
+
super(booth);
|
|
75
|
+
this.minZoomDotVisible = 0;
|
|
76
|
+
this.maxZoomDotVisible = 0;
|
|
77
|
+
this.exh = [];
|
|
78
|
+
// Both defs are built further down this constructor for a regular booth and
|
|
79
|
+
// by BoothLabelSpecialDrawer for a special one — the early return below hides
|
|
80
|
+
// that from the checker, and Babel's decorator pipeline rejects `!` fields.
|
|
81
|
+
this.shapeLabel = undefined;
|
|
82
|
+
this.shapeDot = undefined;
|
|
83
|
+
this.fontSizes = [[], []];
|
|
84
|
+
this.lines = [[], []];
|
|
85
|
+
this.fontUrls = ['', ''];
|
|
86
|
+
// booth.rect is an unrotated Box; combine it with booth.rotate into a
|
|
87
|
+
// geometry Rect held as the canvas rect (converted to the renderer only
|
|
88
|
+
// at the def factories / rotateRectByQuarters).
|
|
89
|
+
this.canvasRect = new Rect(booth.rect.center, booth.rect.size, booth.rotate, booth.elevation);
|
|
90
|
+
this.paddingScaled = [4, 4];
|
|
91
|
+
// same stroke config-booth-border paints, so the text clears the border it
|
|
92
|
+
// actually has; the subclass inherits this inset rather than recomputing it
|
|
93
|
+
this.padding = getLabelBorderInset(booth.borderWidth || boothStore.borderWidth, booth.rect.size);
|
|
94
|
+
this.topLeftAlignment = { horizontal: uiState.rtl ? 'right' : 'left', vertical: 'top' };
|
|
95
|
+
this.centerAlignment = { horizontal: 'center', vertical: 'center' };
|
|
96
|
+
this.prefixes = isMobileDevice
|
|
97
|
+
? [
|
|
98
|
+
{ fontSize: 7, name: 'XS', short: true },
|
|
99
|
+
{ fontSize: 10, name: 'S', short: true },
|
|
100
|
+
{ fontSize: 16, name: DETAILS_PREFIX, short: false },
|
|
101
|
+
]
|
|
102
|
+
: [
|
|
103
|
+
{ fontSize: 7, name: 'XS', short: true },
|
|
104
|
+
{ fontSize: 10, name: 'S', short: true },
|
|
105
|
+
{ fontSize: 12, name: 'M', short: true },
|
|
106
|
+
{ fontSize: 14, name: 'L', short: true },
|
|
107
|
+
{ fontSize: 18, name: DETAILS_PREFIX, short: false },
|
|
108
|
+
];
|
|
109
|
+
if (booth instanceof SpecialBooth)
|
|
110
|
+
return;
|
|
111
|
+
this.exh = data.hideExhibitors
|
|
112
|
+
? []
|
|
113
|
+
: !data.onlyFeaturedExhibitors
|
|
114
|
+
? booth.exhibitors
|
|
115
|
+
: booth.exhibitors.filter((e) => e.featured);
|
|
116
|
+
if (isMobileDevice && this.optimizationLevel() >= 3) {
|
|
117
|
+
this.prefixes = this.prefixes.filter((p) => p.name !== 'S');
|
|
118
|
+
}
|
|
119
|
+
this.createLines();
|
|
120
|
+
this.calculateFontSizeFactors();
|
|
121
|
+
this.shapeLabel = createTextDef(createTextDefLines(this.lines, this.booth.labelColor || fillStyle(), 0, this.fontUrls), new Rect(this.booth.rect.center, this.booth.rect.size, this.booth.rotate, this.booth.elevation), [...this.paddingScaled], { horizontal: 'left', vertical: 'top' });
|
|
122
|
+
// Wrapped in an arrow because handlers are called with no receiver — a bare method reference
|
|
123
|
+
// would lose `this`. See `LayoutHandlers.onScale` for what such a closure may capture.
|
|
124
|
+
this.shapeLabel.onScale = ({ pixelSize }) => this.layOutLabel(pixelSize);
|
|
125
|
+
this.getShapeDot();
|
|
126
|
+
// A boolean, so the reaction runs only for the booths whose own `skipDim` flipped. Directions
|
|
127
|
+
// un-dims every label at once, on the chunk's label layer (`configBooths`).
|
|
128
|
+
planReaction(() => layersStore.layersLoaded && this.booth.skipDim === true, (skipDim) => {
|
|
129
|
+
// `dim` is a number in [0, 1], `undefined` inheriting from the layer; `0` is what un-dims
|
|
130
|
+
// a def inside a dimmed one, and what the badge and bookmark drawers already write.
|
|
131
|
+
this.shapeLabel.dim = skipDim ? 0 : undefined;
|
|
132
|
+
this.shapeDot.dim = skipDim ? 0 : undefined;
|
|
133
|
+
update(this.shapeLabel, this.shapeDot);
|
|
134
|
+
});
|
|
135
|
+
planReaction(() => uiState.mapSettings, ({ roll }) => {
|
|
136
|
+
if (!getRollValue(roll ?? 0))
|
|
137
|
+
return;
|
|
138
|
+
// Declared on the def, so the renderer runs it as the plan turns; assigning again on a
|
|
139
|
+
// later settings change is idempotent, as re-registering under one name used to be.
|
|
140
|
+
this.shapeLabel.onRoll = ({ roll: angle, pixelSize }) => {
|
|
141
|
+
const turns = getQuarterTurns(angle, this.shapeLabel.bounds.rotation);
|
|
142
|
+
if (turns === 0)
|
|
143
|
+
return undefined;
|
|
144
|
+
const { size } = this.canvasRect;
|
|
145
|
+
this.shapeLabel = rotateTextDefByQuarters(this.shapeLabel, turns);
|
|
146
|
+
if (!this.shapeLabel.hidden && !this.exh.length && size.x !== size.y) {
|
|
147
|
+
this.canvasRect = rotateRectByQuarters(this.canvasRect, turns);
|
|
148
|
+
this.calculateFontSizeFactors();
|
|
149
|
+
this.layOutLabel(pixelSize);
|
|
150
|
+
this.layOutDot(pixelSize);
|
|
151
|
+
}
|
|
152
|
+
return [this.shapeLabel, this.shapeDot];
|
|
153
|
+
};
|
|
154
|
+
}, { fireImmediately: true });
|
|
155
|
+
}
|
|
156
|
+
getShape() {
|
|
157
|
+
return [this.shapeLabel, this.shapeDot];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Lays this booth's label out for a new pixel size: the font-size step, the alignment that follows
|
|
161
|
+
* it, and the padding that scales with it.
|
|
162
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
163
|
+
* @returns The label when it moved, empty when nothing changed so the renderer skips the write.
|
|
164
|
+
*/
|
|
165
|
+
layOutLabel(pixelSize) {
|
|
166
|
+
const detailsLines = this.lines[1] ?? [];
|
|
167
|
+
const detailFontSizes = this.fontSizes[1] ?? [];
|
|
168
|
+
if (settings.EXPO !== 'wineparis2026') {
|
|
169
|
+
const alignment = !this.exh.length
|
|
170
|
+
? detailsLines.length
|
|
171
|
+
? pixelSize < detailFontSizes[detailFontSizes.length - 1].scaleFactor
|
|
172
|
+
? this.topLeftAlignment
|
|
173
|
+
: this.centerAlignment
|
|
174
|
+
: this.topLeftAlignment
|
|
175
|
+
: this.topLeftAlignment;
|
|
176
|
+
this.shapeLabel.alignment = alignment;
|
|
177
|
+
}
|
|
178
|
+
const haveLinesChanged = updateLinesScale(this.shapeLabel.lines, pixelSize, this.fontSizes);
|
|
179
|
+
if (!haveLinesChanged)
|
|
180
|
+
return [];
|
|
181
|
+
this.shapeLabel.padding[0] = this.paddingScaled[0] * pixelSize + this.padding;
|
|
182
|
+
this.shapeLabel.padding[1] = this.paddingScaled[1] * pixelSize + this.padding;
|
|
183
|
+
return [this.shapeLabel];
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Lays this booth's dot out for a new pixel size: it is drawn only in the band between the zoom
|
|
187
|
+
* where the label stops fitting and the zoom where the dot itself would overflow the booth.
|
|
188
|
+
* @param pixelSize - Plan units per CSS pixel.
|
|
189
|
+
* @returns The dot when it moved, empty when nothing changed so the renderer skips the write.
|
|
190
|
+
*/
|
|
191
|
+
layOutDot(pixelSize) {
|
|
192
|
+
const isVisible = pixelSize >= this.minZoomDotVisible && pixelSize <= this.maxZoomDotVisible;
|
|
193
|
+
if (!isVisible && this.shapeDot.hidden)
|
|
194
|
+
return []; // already hidden, nothing to write
|
|
195
|
+
const bounds = this.shapeDot.bounds;
|
|
196
|
+
// Resize the dot to its CSS size × pixel size about its center. The factor is target-over-
|
|
197
|
+
// current, so repeated layouts do not drift.
|
|
198
|
+
bounds.scale({
|
|
199
|
+
x: (SHAPE_DOT_CSS_PX * pixelSize) / bounds.size.x,
|
|
200
|
+
y: (SHAPE_DOT_CSS_PX * pixelSize) / bounds.size.y,
|
|
201
|
+
}, bounds.center, bounds);
|
|
202
|
+
this.shapeDot.hidden = !isVisible;
|
|
203
|
+
return [this.shapeDot];
|
|
204
|
+
}
|
|
205
|
+
getShapeDot() {
|
|
206
|
+
this.shapeDot = createShapeDot(this.canvasRect, this.booth.labelColor || fillStyle());
|
|
207
|
+
this.shapeDot.hidden = true;
|
|
208
|
+
// Like the label's closure; `this.layOutDot` dispatches to the special drawer's override when
|
|
209
|
+
// this drawer is one.
|
|
210
|
+
this.shapeDot.onScale = ({ pixelSize }) => this.layOutDot(pixelSize);
|
|
211
|
+
// The pixel size past which the dot, drawn at its CSS size, would overflow the booth.
|
|
212
|
+
this.maxZoomDotVisible = Math.min(this.canvasRect.size.x / SHAPE_DOT_CSS_PX, this.canvasRect.size.y / SHAPE_DOT_CSS_PX);
|
|
213
|
+
}
|
|
214
|
+
createLines() {
|
|
215
|
+
const booth = this.booth;
|
|
216
|
+
const mainLines = [];
|
|
217
|
+
const detailsLines = [];
|
|
218
|
+
const linesLimit = isMobileDevice && this.optimizationLevel() >= 3 ? 1 : 3;
|
|
219
|
+
if (this.exh.length) {
|
|
220
|
+
const primaryExhibitors = booth.exhibitors.filter((e) => e.order === 0);
|
|
221
|
+
const exhibitorsWithOrder = booth.exhibitors.filter((e) => e.order);
|
|
222
|
+
if (primaryExhibitors.length > 0) {
|
|
223
|
+
mainLines.push(...primaryExhibitors.map((e) => e.name));
|
|
224
|
+
}
|
|
225
|
+
else if (data.onlyFeaturedExhibitors) {
|
|
226
|
+
mainLines.push(...booth.exhibitors.filter((e) => e.featured).map((e) => e.name));
|
|
227
|
+
}
|
|
228
|
+
else if (exhibitorsWithOrder.length > 0) {
|
|
229
|
+
mainLines.push(...exhibitorsWithOrder.map((e) => e.name));
|
|
230
|
+
const exhibitorsWithoutOrder = booth.exhibitors.filter((e) => e.order === undefined);
|
|
231
|
+
if (exhibitorsWithoutOrder.length > 0) {
|
|
232
|
+
mainLines.push(t('and {{moreCount}} more', { moreCount: exhibitorsWithoutOrder.length }));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (booth.exhibitors.length > linesLimit) {
|
|
237
|
+
mainLines.push(`${booth.exhibitors.length} ${data.exhibitorTermPlural}`);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
mainLines.push(...booth.exhibitors.map((e) => e.name));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
detailsLines.push(booth.title || booth.name);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
const onlyId = !!booth.exhibitors.length;
|
|
247
|
+
mainLines.push(booth.title || booth.name);
|
|
248
|
+
if (booth.onHold) {
|
|
249
|
+
detailsLines.push(t('On Hold'));
|
|
250
|
+
}
|
|
251
|
+
else if (booth.reserved) {
|
|
252
|
+
detailsLines.push(t('Reserved'));
|
|
253
|
+
}
|
|
254
|
+
else if (!onlyId) {
|
|
255
|
+
detailsLines.push(...booth.exhibitors.map((e) => e.name).sort((a, b) => (a > b ? 1 : -1)));
|
|
256
|
+
}
|
|
257
|
+
if (booth.size)
|
|
258
|
+
detailsLines.push(booth.size.indexOf('/') > -1
|
|
259
|
+
? booth.size.substring(0, booth.size.indexOf('/')).trim()
|
|
260
|
+
: booth.size);
|
|
261
|
+
if (booth.price && booth.price !== '0' && !uiState.previewMode)
|
|
262
|
+
detailsLines.push(booth.price);
|
|
263
|
+
}
|
|
264
|
+
if (uiState.rtl) {
|
|
265
|
+
mainLines.forEach((text, i) => {
|
|
266
|
+
// Adding an invisible character to display punctuation marks correctly in the right-to-left version
|
|
267
|
+
if (text.endsWith('.') || text.endsWith('!') || text.endsWith('?')) {
|
|
268
|
+
mainLines[i] = mainLines[i] + '\u200F';
|
|
269
|
+
}
|
|
270
|
+
// Adding a 2-space suffix to fix rendering of Arabic text
|
|
271
|
+
if (isArabicText(text)) {
|
|
272
|
+
mainLines[i] = mainLines[i] + '\u0020\u0020';
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
this.lines = [mainLines, detailsLines];
|
|
277
|
+
}
|
|
278
|
+
// The table is in CSS pixels: both columns. A `scaleFactor` is the pixel size at which text of
|
|
279
|
+
// that size exactly fills the booth, measured against a canvas laid out at `fontSize`, so the
|
|
280
|
+
// `value` beside it has to be that same measured size — `updateLinesScale` multiplies it by the
|
|
281
|
+
// pixel size to reach the plan units the renderer draws in.
|
|
282
|
+
calculateFontSizeFactors() {
|
|
283
|
+
const mainLines = this.lines[0];
|
|
284
|
+
// only read on the exhibitor branch below, which assigns it first
|
|
285
|
+
let detailsLines;
|
|
286
|
+
const bounds = this.canvasRect;
|
|
287
|
+
const mainFontSizes = [];
|
|
288
|
+
const detailsFontSizes = [];
|
|
289
|
+
const prefixes = this.prefixes.slice(0, this.exh.length ? this.prefixes.length : this.prefixes.length - 1);
|
|
290
|
+
const { main: weightMain, details: weightDetails } = this.exh.length
|
|
291
|
+
? getExhibitorLabelWeights()
|
|
292
|
+
: getBoothLabelWeights();
|
|
293
|
+
for (const { fontSize, short } of prefixes) {
|
|
294
|
+
const mainFontSize = fontSize;
|
|
295
|
+
const detailFontSize = 0.9 * fontSize;
|
|
296
|
+
const mainFont = getFont(mainFontSize, weightMain);
|
|
297
|
+
const detailFont = getFont(detailFontSize, weightDetails);
|
|
298
|
+
const onlyMain = data.hideExhibitorBoothNumber || short;
|
|
299
|
+
let w;
|
|
300
|
+
let h;
|
|
301
|
+
let width;
|
|
302
|
+
let height;
|
|
303
|
+
if (this.exh.length) {
|
|
304
|
+
detailsLines = short ? [] : this.lines[1];
|
|
305
|
+
width = Math.max(...mainLines.map((line) => this.measureText(line, mainFont).width), ...detailsLines.map((line) => this.measureText(line, detailFont).width));
|
|
306
|
+
w = Math.max(...mainLines.map((line) => {
|
|
307
|
+
if (this.exh.length) {
|
|
308
|
+
return this.measureText(truncateText(line), mainFont).width;
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
return this.measureText(truncateText(line), mainFont).width + 3 + 3;
|
|
312
|
+
}
|
|
313
|
+
}), ...detailsLines.map((line) => this.measureText(truncateText(line), detailFont).width));
|
|
314
|
+
height =
|
|
315
|
+
mainFontSize * mainLines.length +
|
|
316
|
+
detailFontSize * detailsLines.length +
|
|
317
|
+
(mainLines.length + detailsLines.length) +
|
|
318
|
+
3;
|
|
319
|
+
h = onlyMain ? height / mainLines.length : null;
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
const text = mainLines[0].replace(/[0-9]/g, '3').replace(/[A-Z]/g, 'A');
|
|
323
|
+
const vPad = 4;
|
|
324
|
+
width = this.measureText(text, mainFont).width + 3 + 3;
|
|
325
|
+
height = mainFontSize + vPad;
|
|
326
|
+
}
|
|
327
|
+
const xFactor = bounds.size.x / (w || width);
|
|
328
|
+
const yFactor = bounds.size.y / (h || height);
|
|
329
|
+
const scaleFactor = Math.min(xFactor, yFactor);
|
|
330
|
+
// `lines` carries the fitter's line breaks for special labels; this path
|
|
331
|
+
// picks a font size by factor alone, so it stays empty.
|
|
332
|
+
mainFontSizes.push({ scaleFactor, value: mainFontSize, lines: [] });
|
|
333
|
+
if (!onlyMain)
|
|
334
|
+
detailsFontSizes.push({ scaleFactor, value: detailFontSize, lines: [] });
|
|
335
|
+
}
|
|
336
|
+
// Details without exhibitors are show at:
|
|
337
|
+
if (!this.exh.length) {
|
|
338
|
+
const lastFactor = mainFontSizes[mainFontSizes.length - 1];
|
|
339
|
+
const prefixDetails = this.prefixes.find((p) => p.name === DETAILS_PREFIX);
|
|
340
|
+
// the Details prefix is always one of the two sets built in the constructor
|
|
341
|
+
if (prefixDetails) {
|
|
342
|
+
mainFontSizes.push({
|
|
343
|
+
scaleFactor: lastFactor.scaleFactor / 1.8,
|
|
344
|
+
value: prefixDetails.fontSize,
|
|
345
|
+
lines: [],
|
|
346
|
+
});
|
|
347
|
+
detailsFontSizes.push({
|
|
348
|
+
scaleFactor: lastFactor.scaleFactor / 1.8,
|
|
349
|
+
value: prefixDetails.fontSize * (!isMobileDevice ? 0.9 : 1),
|
|
350
|
+
lines: [],
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
// Read here rather than off the renderer service, whose copy is only filled when an imperative
|
|
355
|
+
// renderer is created or attached — under the new `Map` neither happens, and every custom font the plan
|
|
356
|
+
// declares would be silently replaced by the default.
|
|
357
|
+
const customFonts = loadCustomFontsUrls();
|
|
358
|
+
this.fontUrls = [
|
|
359
|
+
getFontUrlByWeight(weightMain, customFonts),
|
|
360
|
+
getFontUrlByWeight(weightDetails, customFonts),
|
|
361
|
+
];
|
|
362
|
+
this.minZoomDotVisible = getMinZoomFactorForDot(mainFontSizes.map((f) => f.scaleFactor));
|
|
363
|
+
this.fontSizes = [mainFontSizes, detailsFontSizes];
|
|
364
|
+
}
|
|
365
|
+
calcArea(width, height) {
|
|
366
|
+
const magicNumber = 1000; // Just to reduce the number.
|
|
367
|
+
return Math.floor((Math.max(0, width) * Math.max(0, height)) / magicNumber);
|
|
368
|
+
}
|
|
369
|
+
optimizationLevel() {
|
|
370
|
+
const limit = 5000;
|
|
371
|
+
const maxLevel = 3;
|
|
372
|
+
return Math.min(data.viewOptimizationLevel
|
|
373
|
+
? data.viewOptimizationLevel
|
|
374
|
+
: Math.floor(this.calcArea(this.canvasRect.size.x, this.canvasRect.size.y) / limit), maxLevel);
|
|
375
|
+
}
|
|
376
|
+
measureText(text, font) {
|
|
377
|
+
ctx2d.font = font;
|
|
378
|
+
return ctx2d.measureText(text);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type LayerDef } from '@expofp/renderer';
|
|
2
|
+
import type { Booth } from '../../../../store/BoothStore';
|
|
3
|
+
export declare const BOOTHS_CHUNK_SIZE = 350;
|
|
4
|
+
export default function configBooths(layerID: string, booths: Booth[]): LayerDef;
|
|
5
|
+
//# sourceMappingURL=config-booths.d.ts.map
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Rect } from '@expofp/geometry';
|
|
2
|
+
import { update, } from '@expofp/renderer';
|
|
3
|
+
import debug from 'debug';
|
|
4
|
+
import { SEPARATOR } from '../../../../constants';
|
|
5
|
+
import { createImageDef } from '../../../../engine/defs';
|
|
6
|
+
import { flipImageDef, isInnerInsideOuter, rotateImageDef, } from '../../../../engine/utils/rotation';
|
|
7
|
+
import { planGeneration } from '../../../../plan-lifecycle.js';
|
|
8
|
+
import { boothStore, layersStore, uiState } from '../../../../store';
|
|
9
|
+
import settings from '../../../../tools/settings';
|
|
10
|
+
import { loadBlobsInBatchesById } from '../../../../utils/loadImagesInBatches';
|
|
11
|
+
import { planReaction } from '../../../../utils/plan-reactions.js';
|
|
12
|
+
import { clearHoveredBooth, hoverBooth, rememberBoothShapes, selectBooth } from '../../pointer';
|
|
13
|
+
import { createLogoPreparer } from './booth-logos';
|
|
14
|
+
import configBoothBg from './config-booth-bg';
|
|
15
|
+
import configBoothBookmark from './config-booth-bookmark';
|
|
16
|
+
import configBoothBorder from './config-booth-border';
|
|
17
|
+
import configBoothLabels, { isDirectionsMode } from './config-booth-labels';
|
|
18
|
+
import configBoothLabelsSpecial from './config-booth-labels-special';
|
|
19
|
+
import { registerLayerImages } from './layer-images';
|
|
20
|
+
import { createBoothImg, getImageLayerName, mapBoothsLogos } from './loadBoothsImages';
|
|
21
|
+
const log = debug('efp:booth-logos');
|
|
22
|
+
export const BOOTHS_CHUNK_SIZE = 350;
|
|
23
|
+
export default function configBooths(layerID, booths) {
|
|
24
|
+
const buildBoothsLayerDef = (booths) => {
|
|
25
|
+
const name = layerID;
|
|
26
|
+
const bgShapes = [];
|
|
27
|
+
const boothLabels = [];
|
|
28
|
+
const specialBoothLabels = [];
|
|
29
|
+
const boothsBorders = [];
|
|
30
|
+
const boothsBookmark = [];
|
|
31
|
+
const imageLayerName = getImageLayerName(name);
|
|
32
|
+
const imageLayer = { name: imageLayerName, children: [] };
|
|
33
|
+
for (const booth of booths) {
|
|
34
|
+
const bg = configBoothBg(booth)?.getShape();
|
|
35
|
+
if (bg) {
|
|
36
|
+
bgShapes.push(...bg);
|
|
37
|
+
// What a pointer hit resolves through: the renderer reports the def, and this is where the
|
|
38
|
+
// def and its booth are both in hand.
|
|
39
|
+
rememberBoothShapes(booth, bg);
|
|
40
|
+
}
|
|
41
|
+
const labels = configBoothLabels(booth)?.getShape();
|
|
42
|
+
if (labels)
|
|
43
|
+
boothLabels.push(...labels);
|
|
44
|
+
const special = configBoothLabelsSpecial(booth)?.getShape();
|
|
45
|
+
if (special)
|
|
46
|
+
specialBoothLabels.push(...special);
|
|
47
|
+
if (!settings.borderless) {
|
|
48
|
+
const border = configBoothBorder(booth)?.getShape();
|
|
49
|
+
if (border)
|
|
50
|
+
boothsBorders.push(border);
|
|
51
|
+
}
|
|
52
|
+
const bookmark = configBoothBookmark(booth)?.getShape();
|
|
53
|
+
if (bookmark)
|
|
54
|
+
boothsBookmark.push(bookmark);
|
|
55
|
+
}
|
|
56
|
+
const labels = boothLabels.filter((e) => e.lines);
|
|
57
|
+
const specialLabels = specialBoothLabels.filter((e) => e.lines);
|
|
58
|
+
const dots = boothLabels.filter((e) => e.source);
|
|
59
|
+
const specialDots = specialBoothLabels.filter((e) => e.source);
|
|
60
|
+
if (!uiState.hideLogoInBooth) {
|
|
61
|
+
const boothsLogoUrls = mapBoothsLogos(booths);
|
|
62
|
+
const plan = planGeneration();
|
|
63
|
+
registerLayerImages(imageLayerName, async () => {
|
|
64
|
+
const loaded = await loadBlobsInBatchesById(boothsLogoUrls, BOOTHS_CHUNK_SIZE);
|
|
65
|
+
// The logos outlived the plan that asked for them: the booths they belong to went with it,
|
|
66
|
+
// so reading the barrel here would land either in the dead window or — mid-swap — in the
|
|
67
|
+
// next event's graph, drawing this event's logos onto its plan (ADR-0011).
|
|
68
|
+
if (planGeneration() !== plan)
|
|
69
|
+
return undefined;
|
|
70
|
+
const children = [];
|
|
71
|
+
// One preparer for the whole batch: it shares a converted Blob and a measured ratio
|
|
72
|
+
// between the booths that share a logo.
|
|
73
|
+
const prepareLogo = createLogoPreparer();
|
|
74
|
+
// Every logo starts before any of them is awaited, so the browser's decoder overlaps
|
|
75
|
+
// the work. Nothing here limits how many decodes run at once, and nothing has to: a
|
|
76
|
+
// logo is decoded only when the event data states no ratio for it, and the decoded
|
|
77
|
+
// bitmap is closed the moment its size has been read.
|
|
78
|
+
const prepared = await Promise.all([...loaded].map(async ([boothId, blob]) => {
|
|
79
|
+
const booth = boothStore.boothById.get(boothId);
|
|
80
|
+
return [boothId, booth, booth ? await prepareLogo(booth, blob) : null];
|
|
81
|
+
}));
|
|
82
|
+
// The same question again: the decodes are a second await, and the loop reads the barrel.
|
|
83
|
+
if (planGeneration() !== plan)
|
|
84
|
+
return undefined;
|
|
85
|
+
for (const [boothId, booth, logo] of prepared) {
|
|
86
|
+
if (!booth) {
|
|
87
|
+
log('dropped a logo: no booth has id %s', boothId);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
// The bytes did not decode. The loop drops the logo instead of drawing it at a
|
|
91
|
+
// guessed ratio, and says so: a silent drop is how SVG logos went missing before.
|
|
92
|
+
if (!logo) {
|
|
93
|
+
log('dropped the logo of booth %s: the image could not be read', boothId);
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const { blob, aspectRatio } = logo;
|
|
97
|
+
// `createImageDef` keeps this `Rect` by reference, and `rotateImageDef` and
|
|
98
|
+
// `flipImageDef` rotate it in place. `createBoothImg` builds a fresh one per booth,
|
|
99
|
+
// so no other owner sees those writes.
|
|
100
|
+
const { bounds } = createBoothImg(booth, aspectRatio);
|
|
101
|
+
const logoShape = createImageDef(blob, bounds);
|
|
102
|
+
const borderWidth = booth.borderWidth || boothStore.borderWidth;
|
|
103
|
+
const parentBox = booth.rect.expand(-borderWidth);
|
|
104
|
+
const parentRect = new Rect(parentBox.center, parentBox.size, booth.rotate);
|
|
105
|
+
logoShape.onRoll = isInnerInsideOuter(logoShape.bounds, parentRect)
|
|
106
|
+
? ({ roll }) => (rotateImageDef(logoShape, roll) ? [logoShape] : undefined)
|
|
107
|
+
: ({ roll }) => (flipImageDef(logoShape, roll) ? [logoShape] : undefined);
|
|
108
|
+
booth.shapes.push(logoShape);
|
|
109
|
+
children.push(logoShape);
|
|
110
|
+
}
|
|
111
|
+
return { layer: imageLayer, children };
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// Labels and dots under one layer, so that Directions un-dims all of them with one field on it
|
|
115
|
+
// rather than an override on each of the chunk's defs. An update on a layer whose children are
|
|
116
|
+
// layers renders that layer alone; the same update on a leaf would sweep its whole container.
|
|
117
|
+
const labelGroup = {
|
|
118
|
+
name: `${name}${SEPARATOR}labelGroup`,
|
|
119
|
+
children: [
|
|
120
|
+
{ name: `${name}${SEPARATOR}labels`, children: labels },
|
|
121
|
+
{ name: `${name}${SEPARATOR}specialLabels`, children: specialLabels },
|
|
122
|
+
{ name: `${name}${SEPARATOR}dots`, children: dots },
|
|
123
|
+
{ name: `${name}${SEPARATOR}specialDots`, children: specialDots },
|
|
124
|
+
],
|
|
125
|
+
};
|
|
126
|
+
planReaction(() => layersStore.layersLoaded && isDirectionsMode(), (directions) => {
|
|
127
|
+
labelGroup.dim = directions ? 0 : undefined;
|
|
128
|
+
update(labelGroup);
|
|
129
|
+
}, { fireImmediately: true });
|
|
130
|
+
let children = [];
|
|
131
|
+
if (booths.length) {
|
|
132
|
+
const prefix = name + SEPARATOR;
|
|
133
|
+
children = [
|
|
134
|
+
// Declaring handlers is what makes this the layer booths are picked in — no other layer is
|
|
135
|
+
// raycast. One shared function each, so the plan's chunks cost three references apiece.
|
|
136
|
+
{
|
|
137
|
+
name: `${prefix}boothBackground`,
|
|
138
|
+
children: bgShapes,
|
|
139
|
+
onPointerMove: hoverBooth,
|
|
140
|
+
onPointerOut: clearHoveredBooth,
|
|
141
|
+
onClick: selectBooth,
|
|
142
|
+
},
|
|
143
|
+
labelGroup,
|
|
144
|
+
imageLayer,
|
|
145
|
+
{ name: `${prefix}boothsBookmark`, children: boothsBookmark },
|
|
146
|
+
{ name: `${name}${SEPARATOR}boothBorder`, children: boothsBorders },
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
return { name, children };
|
|
150
|
+
};
|
|
151
|
+
return buildBoothsLayerDef(booths);
|
|
152
|
+
}
|