@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,117 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable @typescript-eslint/consistent-type-imports */
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
import { getConfig } from '@expofp/config';
|
|
5
|
+
import i18next from 'i18next';
|
|
6
|
+
import { observable } from 'mobx';
|
|
7
|
+
import { LANGUAGE_TYPE } from '../constants';
|
|
8
|
+
import localeMap from '../locales';
|
|
9
|
+
import baseRuntimeUrl from '../tools/base-runtime-url';
|
|
10
|
+
import { loadJson } from '../tools/loaders';
|
|
11
|
+
import { isLocalStorageAvailable } from './localStorage';
|
|
12
|
+
const DEFAULT_LOCALE = 'en';
|
|
13
|
+
const STORAGE_KEY = 'efp-locale';
|
|
14
|
+
const LEGACY_STORAGE_KEY = 'language';
|
|
15
|
+
// Page-scoped, deliberately: the locale is the visitor's preference (stored,
|
|
16
|
+
// or detected from the browser), not the event's — the event only supplies a
|
|
17
|
+
// fallback, read per call in `detectLocale()`. `initI18n()` runs on every
|
|
18
|
+
// `load()`, so a plan swap re-detects and re-populates both (ADR-0011).
|
|
19
|
+
const currentLocale = observable.box(DEFAULT_LOCALE);
|
|
20
|
+
const availableLocales = observable.array([], { deep: false });
|
|
21
|
+
const loadTranslations = (locale) => loadJson(`${baseRuntimeUrl}locales/${locale}.json`);
|
|
22
|
+
/** Reads the persisted locale, migrating from the legacy `language` key if needed. */
|
|
23
|
+
const readStoredLocale = () => {
|
|
24
|
+
if (!isLocalStorageAvailable)
|
|
25
|
+
return null;
|
|
26
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
27
|
+
const legacy = localStorage.getItem(LEGACY_STORAGE_KEY);
|
|
28
|
+
// Always drop the legacy key once we've observed it, so it cannot linger alongside the new one.
|
|
29
|
+
if (legacy)
|
|
30
|
+
localStorage.removeItem(LEGACY_STORAGE_KEY);
|
|
31
|
+
if (stored)
|
|
32
|
+
return stored;
|
|
33
|
+
if (legacy)
|
|
34
|
+
localStorage.setItem(STORAGE_KEY, legacy);
|
|
35
|
+
return legacy;
|
|
36
|
+
};
|
|
37
|
+
const detectLocale = () => {
|
|
38
|
+
const browserLang = navigator.languages?.[0] || navigator.language;
|
|
39
|
+
const browserMatch = Object.keys(localeMap).find((id) => browserLang.startsWith(id));
|
|
40
|
+
return (readStoredLocale() || getConfig().locale || browserMatch || DEFAULT_LOCALE).toLowerCase();
|
|
41
|
+
};
|
|
42
|
+
export const getLocale = () => currentLocale.get();
|
|
43
|
+
export const getLocales = () => availableLocales;
|
|
44
|
+
export const hasLocale = (id) => availableLocales.some((l) => l.id === id);
|
|
45
|
+
export const t = (template, options) => {
|
|
46
|
+
currentLocale.get(); // Subscribe to locale changes so MobX observers re-run on language switch.
|
|
47
|
+
return i18next.t(template, options);
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Like {@link t}, but only looks the string up when a matching key exists in the
|
|
51
|
+
* active locale; otherwise it returns the string verbatim. Use for values that
|
|
52
|
+
* may be organizer-authored (e.g. search-button names): built-in labels still
|
|
53
|
+
* localize and react to language switches, while custom names pass through
|
|
54
|
+
* without tripping saveMissing / missingKeyHandler (console noise + extra work)
|
|
55
|
+
* in non-English locales.
|
|
56
|
+
*/
|
|
57
|
+
export const tIfExists = (template, options) => {
|
|
58
|
+
currentLocale.get(); // Subscribe to locale changes so MobX observers re-run on language switch.
|
|
59
|
+
return i18next.exists(template, options) ? i18next.t(template, options) : template;
|
|
60
|
+
};
|
|
61
|
+
export const initI18n = async () => {
|
|
62
|
+
// localeMap keys and detectLocale() output are lowercase, so lowercasing the
|
|
63
|
+
// allowed list is enough to make uiLanguages matching case-insensitive.
|
|
64
|
+
const allowed = (getConfig().uiLanguages ?? []).map((id) => id.toLowerCase());
|
|
65
|
+
const isAllowed = (id) => allowed.length === 0 || allowed.includes(id);
|
|
66
|
+
availableLocales.replace(Object.entries(localeMap)
|
|
67
|
+
.filter(([id]) => isAllowed(id))
|
|
68
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
69
|
+
.map(([id, name]) => ({ id, name, entity: { type: LANGUAGE_TYPE } })));
|
|
70
|
+
let locale = detectLocale();
|
|
71
|
+
if (!isAllowed(locale))
|
|
72
|
+
locale = availableLocales[0]?.id ?? DEFAULT_LOCALE;
|
|
73
|
+
const resources = {};
|
|
74
|
+
if (locale !== DEFAULT_LOCALE) {
|
|
75
|
+
try {
|
|
76
|
+
resources[locale] = { translation: await loadTranslations(locale) };
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
console.error(`Unable to load "${locale}" localization, falling back to "${DEFAULT_LOCALE}".`, err);
|
|
80
|
+
locale = DEFAULT_LOCALE;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
currentLocale.set(locale);
|
|
84
|
+
return i18next.init({
|
|
85
|
+
resources,
|
|
86
|
+
lng: locale,
|
|
87
|
+
keySeparator: false,
|
|
88
|
+
// English keys are the source strings, so "missing" is the normal case — only log for translated locales.
|
|
89
|
+
saveMissing: locale !== DEFAULT_LOCALE,
|
|
90
|
+
missingKeyHandler: (lngs, ns, key, fallbackValue) => console.debug(`i18n missing key: '${lngs[0]}:${ns}:${key}', fallback: '${fallbackValue}'`),
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
export const setLocale = async (id) => {
|
|
94
|
+
const locale = id.toLowerCase();
|
|
95
|
+
try {
|
|
96
|
+
if (locale !== DEFAULT_LOCALE && !i18next.hasResourceBundle(locale, 'translation')) {
|
|
97
|
+
i18next.addResourceBundle(locale, 'translation', await loadTranslations(locale), true, true);
|
|
98
|
+
}
|
|
99
|
+
await i18next.changeLanguage(locale);
|
|
100
|
+
currentLocale.set(locale);
|
|
101
|
+
if (isLocalStorageAvailable) {
|
|
102
|
+
localStorage.setItem(STORAGE_KEY, locale);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
// Swallow failures so callers can fire-and-forget; current selection is preserved
|
|
107
|
+
// because currentLocale is only mutated after the awaited load succeeds.
|
|
108
|
+
console.error(`Failed to switch language to "${locale}":`, err);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
export const resetLocale = async () => {
|
|
112
|
+
if (isLocalStorageAvailable) {
|
|
113
|
+
localStorage.removeItem(STORAGE_KEY);
|
|
114
|
+
localStorage.removeItem(LEGACY_STORAGE_KEY);
|
|
115
|
+
}
|
|
116
|
+
return setLocale(detectLocale());
|
|
117
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function remsToPixels(rem: number): number;
|
|
2
|
+
export declare function chunkArray<T>(array: T[], chunkSize: number): T[][];
|
|
3
|
+
export declare function sortByName<T extends {
|
|
4
|
+
name: string;
|
|
5
|
+
}>(arr: T[]): void;
|
|
6
|
+
export declare const isWebGlSupported: boolean;
|
|
7
|
+
export declare function shuffle<T>(array: T[]): T[];
|
|
8
|
+
export declare function sleep(ms: any): Promise<void>;
|
|
9
|
+
export * from './urlEncoding';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, no-var */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
export function remsToPixels(rem) {
|
|
4
|
+
// TODO: touch store devicePixelRatio
|
|
5
|
+
return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
6
|
+
}
|
|
7
|
+
export function chunkArray(array, chunkSize) {
|
|
8
|
+
const chunks = [];
|
|
9
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
|
10
|
+
chunks.push(array.slice(i, i + chunkSize));
|
|
11
|
+
}
|
|
12
|
+
return chunks;
|
|
13
|
+
}
|
|
14
|
+
export function sortByName(arr) {
|
|
15
|
+
arr.sort(function (a, b) {
|
|
16
|
+
var x = a.name.toLowerCase();
|
|
17
|
+
var y = b.name.toLowerCase();
|
|
18
|
+
return x < y ? -1 : x > y ? 1 : 0;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const c = document.createElement('canvas');
|
|
22
|
+
const gl = c.getContext('webgl') || c.getContext('experimental-webgl');
|
|
23
|
+
export const isWebGlSupported = !!gl;
|
|
24
|
+
if (!isWebGlSupported) {
|
|
25
|
+
const d = document.createElement('div');
|
|
26
|
+
d.innerHTML = '<!--no webgl-->';
|
|
27
|
+
document.body.appendChild(d);
|
|
28
|
+
}
|
|
29
|
+
export function shuffle(array) {
|
|
30
|
+
var currentIndex = array.length, temporaryValue, randomIndex;
|
|
31
|
+
// While there remain elements to shuffle...
|
|
32
|
+
while (0 !== currentIndex) {
|
|
33
|
+
// Pick a remaining element...
|
|
34
|
+
randomIndex = Math.floor(Math.random() * currentIndex);
|
|
35
|
+
currentIndex -= 1;
|
|
36
|
+
// And swap it with the current element.
|
|
37
|
+
temporaryValue = array[currentIndex];
|
|
38
|
+
array[currentIndex] = array[randomIndex];
|
|
39
|
+
array[randomIndex] = temporaryValue;
|
|
40
|
+
}
|
|
41
|
+
return array;
|
|
42
|
+
}
|
|
43
|
+
export function sleep(ms) {
|
|
44
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
45
|
+
}
|
|
46
|
+
export * from './urlEncoding';
|
|
47
|
+
// let isWebGlSupportedVal: boolean;
|
|
48
|
+
// export function isWebGlSupported() {
|
|
49
|
+
// if (typeof isWebGlSupportedVal === "undefined") {
|
|
50
|
+
// const c = document.createElement("canvas");
|
|
51
|
+
// const gl = c.getContext("webgl") || (c.getContext("experimental-webgl") as any);
|
|
52
|
+
// isWebGlSupportedVal = !!gl;
|
|
53
|
+
// if (!isWebGlSupportedVal) {
|
|
54
|
+
// const d = document.createElement("div");
|
|
55
|
+
// d.innerHTML = "<!--no webgl-->";
|
|
56
|
+
// document.body.appendChild(d);
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
// return isWebGlSupportedVal;
|
|
60
|
+
// }
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DEBUG_STORAGE_KEY } from '../constants';
|
|
2
|
+
import { isLocalStorageAvailable } from './localStorage';
|
|
3
|
+
// The `debugMode` config field, read straight off its localStorage key at
|
|
4
|
+
// module init — long before `loadConfig` settles the effective config. The
|
|
5
|
+
// debug panel edits the same key (its editor is derived from
|
|
6
|
+
// LocalStorageConfigSchema); a data.js/manifest/options value only reaches
|
|
7
|
+
// `getConfig().debugMode`, never this boot-time constant.
|
|
8
|
+
const isDebug = isLocalStorageAvailable && localStorage.getItem(DEBUG_STORAGE_KEY) === 'true';
|
|
9
|
+
export default isDebug;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import logger from '../tools/logger';
|
|
2
|
+
function inIframe() {
|
|
3
|
+
try {
|
|
4
|
+
return window.self !== window.top;
|
|
5
|
+
}
|
|
6
|
+
catch (e) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const val = inIframe();
|
|
11
|
+
logger.log('Running in iframe: ', val);
|
|
12
|
+
export default val;
|
|
13
|
+
//https://stackoverflow.com/questions/326069/how-to-identify-if-a-webpage-is-being-loaded-inside-an-iframe-or-directly-into-t
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const { hostname, protocol } = window.location;
|
|
2
|
+
const isLocalhost = hostname === 'localhost' ||
|
|
3
|
+
hostname === '127.0.0.1' ||
|
|
4
|
+
hostname === '::1' ||
|
|
5
|
+
hostname.startsWith('192.168.') ||
|
|
6
|
+
hostname.startsWith('10.') ||
|
|
7
|
+
/^172\.(1[6-9]|2[0-9]|3[0-1])\./.test(hostname) ||
|
|
8
|
+
hostname.endsWith('.local') ||
|
|
9
|
+
protocol === 'file:' ||
|
|
10
|
+
hostname === '';
|
|
11
|
+
export default isLocalhost;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Pure so it's testable without stubbing `window.location`/`import.meta.env`. */
|
|
2
|
+
export declare function computeIsOwnDomain(hostname: string, isDevServer: boolean): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Whether we're allowed to mutate `document.title` on this page: true on our
|
|
5
|
+
* own event subdomains, false when `load()` mounted the SDK into a `<div>`
|
|
6
|
+
* on a third-party page with no iframe — same `document` as the host, and
|
|
7
|
+
* indistinguishable from a direct visit by `window.self === window.top`
|
|
8
|
+
* alone, so only the hostname tells them apart.
|
|
9
|
+
*/
|
|
10
|
+
declare const val: boolean;
|
|
11
|
+
export default val;
|
|
12
|
+
//# sourceMappingURL=is-own-domain.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
import { OWN_APEX_DOMAINS } from './brand';
|
|
3
|
+
// The apex domains themselves (listed in brand.ts) serve the marketing sites,
|
|
4
|
+
// which don't depend on `@expofp/floorplan`. `fplan.io` also has per-event
|
|
5
|
+
// subdomains, but they run a different engine (the `fest` repo) — this package
|
|
6
|
+
// never executes there.
|
|
7
|
+
/** Pure so it's testable without stubbing `window.location`/`import.meta.env`. */
|
|
8
|
+
export function computeIsOwnDomain(hostname, isDevServer) {
|
|
9
|
+
if (isDevServer)
|
|
10
|
+
return true;
|
|
11
|
+
return OWN_APEX_DOMAINS.some((domain) => hostname.endsWith(`.${domain}`));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Whether we're allowed to mutate `document.title` on this page: true on our
|
|
15
|
+
* own event subdomains, false when `load()` mounted the SDK into a `<div>`
|
|
16
|
+
* on a third-party page with no iframe — same `document` as the host, and
|
|
17
|
+
* indistinguishable from a direct visit by `window.self === window.top`
|
|
18
|
+
* alone, so only the hostname tells them apart.
|
|
19
|
+
*/
|
|
20
|
+
const val = typeof window !== 'undefined' &&
|
|
21
|
+
// `import.meta.env` may not exist outside Vite (e.g. the unpkg/CDN build).
|
|
22
|
+
computeIsOwnDomain(window.location.hostname, !!import.meta.env?.DEV);
|
|
23
|
+
export default val;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether this device is a phone, as opposed to a tablet or a kiosk panel that runs a mobile system.
|
|
3
|
+
*
|
|
4
|
+
* Measured on the device's screen rather than on the plan's container, so the answer is the same in
|
|
5
|
+
* either orientation, and whatever room a browser's toolbars or a host page leave the plan.
|
|
6
|
+
*/
|
|
7
|
+
declare const isPhone: boolean;
|
|
8
|
+
export default isPhone;
|
|
9
|
+
//# sourceMappingURL=is-phone.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import isMobile from './is-mobile.js';
|
|
2
|
+
import isWebview from './is-webview.js';
|
|
3
|
+
/**
|
|
4
|
+
* The short side, in CSS pixels, from which a mobile device is a tablet rather than a phone. It is
|
|
5
|
+
* where Android itself draws that line (`sw600dp`); every iPad is well above it and every iPhone
|
|
6
|
+
* well below.
|
|
7
|
+
*/
|
|
8
|
+
const TABLET_MIN_SHORT_SIDE = 600;
|
|
9
|
+
/**
|
|
10
|
+
* Whether this device is a phone, as opposed to a tablet or a kiosk panel that runs a mobile system.
|
|
11
|
+
*
|
|
12
|
+
* Measured on the device's screen rather than on the plan's container, so the answer is the same in
|
|
13
|
+
* either orientation, and whatever room a browser's toolbars or a host page leave the plan.
|
|
14
|
+
*/
|
|
15
|
+
const isPhone = (isMobile || isWebview) &&
|
|
16
|
+
Math.min(window.screen.width, window.screen.height) < TABLET_MIN_SHORT_SIDE;
|
|
17
|
+
export default isPhone;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
const div = document.createElement('div');
|
|
3
|
+
div.innerHTML = `<div style='height: 50px; width: 50px; overflow: scroll; visibility: hidden'>
|
|
4
|
+
<section style='height: 80px'></section>
|
|
5
|
+
</div>`;
|
|
6
|
+
document.body.appendChild(div);
|
|
7
|
+
const d = div.getElementsByTagName('div')[0];
|
|
8
|
+
const s = div.getElementsByTagName('section')[0];
|
|
9
|
+
const isScrollUgly = d.offsetWidth > s.offsetWidth;
|
|
10
|
+
//console.log("zzz", isScrollUgly, d.offsetWidth, s.offsetWidth);
|
|
11
|
+
// __logger.log(d.offsetWidth, s.offsetWidth);
|
|
12
|
+
document.body.removeChild(div);
|
|
13
|
+
export default isScrollUgly;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-shot boot migration of the pre-schema preference keys (`___viewer_mode`
|
|
3
|
+
* / `___preview_mode` / `___ui-scale`) to their schema-typed `efp-*`
|
|
4
|
+
* equivalents — the keys the debug panel edits and `UIState` prefers. Runs
|
|
5
|
+
* before anything reads the keys (`load()` calls it ahead of `loadConfig`).
|
|
6
|
+
*
|
|
7
|
+
* Copy, not move: the legacy keys stay in place for a release or two so a
|
|
8
|
+
* rollback to an older SDK still sees them (their readers keep a fallback);
|
|
9
|
+
* only an explicit disable/reset seed removes both generations. An existing
|
|
10
|
+
* `efp-*` value always wins — a stale legacy key must not clobber it.
|
|
11
|
+
*
|
|
12
|
+
* `storage` is injectable for tests; the default is the real `localStorage`
|
|
13
|
+
* when it is usable.
|
|
14
|
+
*/
|
|
15
|
+
export declare function migrateLegacyStorageKeys(storage?: Pick<Storage, 'getItem' | 'setItem'> | undefined): void;
|
|
16
|
+
//# sourceMappingURL=legacy-storage-keys.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LEGACY_PREVIEW_MODE_STORAGE_KEY, LEGACY_UI_SCALE_STORAGE_KEY, LEGACY_VIEWER_MODE_STORAGE_KEY, PREVIEW_MODE_STORAGE_KEY, UI_SCALE_STORAGE_KEY, VIEWER_MODE_STORAGE_KEY, } from '../constants';
|
|
2
|
+
import { isLocalStorageAvailable } from './localStorage';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot boot migration of the pre-schema preference keys (`___viewer_mode`
|
|
5
|
+
* / `___preview_mode` / `___ui-scale`) to their schema-typed `efp-*`
|
|
6
|
+
* equivalents — the keys the debug panel edits and `UIState` prefers. Runs
|
|
7
|
+
* before anything reads the keys (`load()` calls it ahead of `loadConfig`).
|
|
8
|
+
*
|
|
9
|
+
* Copy, not move: the legacy keys stay in place for a release or two so a
|
|
10
|
+
* rollback to an older SDK still sees them (their readers keep a fallback);
|
|
11
|
+
* only an explicit disable/reset seed removes both generations. An existing
|
|
12
|
+
* `efp-*` value always wins — a stale legacy key must not clobber it.
|
|
13
|
+
*
|
|
14
|
+
* `storage` is injectable for tests; the default is the real `localStorage`
|
|
15
|
+
* when it is usable.
|
|
16
|
+
*/
|
|
17
|
+
export function migrateLegacyStorageKeys(storage = isLocalStorageAvailable
|
|
18
|
+
? localStorage
|
|
19
|
+
: undefined) {
|
|
20
|
+
if (!storage)
|
|
21
|
+
return;
|
|
22
|
+
// the legacy mode keys only ever store the enabled marker '1'
|
|
23
|
+
if (storage.getItem(LEGACY_VIEWER_MODE_STORAGE_KEY) === '1' &&
|
|
24
|
+
storage.getItem(VIEWER_MODE_STORAGE_KEY) === null) {
|
|
25
|
+
storage.setItem(VIEWER_MODE_STORAGE_KEY, 'true');
|
|
26
|
+
}
|
|
27
|
+
if (storage.getItem(LEGACY_PREVIEW_MODE_STORAGE_KEY) === '1' &&
|
|
28
|
+
storage.getItem(PREVIEW_MODE_STORAGE_KEY) === null) {
|
|
29
|
+
storage.setItem(PREVIEW_MODE_STORAGE_KEY, 'true');
|
|
30
|
+
}
|
|
31
|
+
// copied verbatim — both readers (the schema codec and UIState) validate
|
|
32
|
+
// the value themselves, so a hand-edited legacy value stays as harmless
|
|
33
|
+
// under the new key as it was under the old one
|
|
34
|
+
const legacyScale = storage.getItem(LEGACY_UI_SCALE_STORAGE_KEY);
|
|
35
|
+
if (legacyScale !== null && storage.getItem(UI_SCALE_STORAGE_KEY) === null) {
|
|
36
|
+
storage.setItem(UI_SCALE_STORAGE_KEY, legacyScale);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches an image as a `Blob`, the form the renderer packs from.
|
|
3
|
+
*
|
|
4
|
+
* This function returns a `Blob`, not an `HTMLImageElement`, because decoding an image element
|
|
5
|
+
* blocks the main thread. At a thousand booth logos, the `HTMLImageElement` route stalls the
|
|
6
|
+
* thread for two seconds, and the `Blob` route does not stall it at all. A `Blob` is also a handle
|
|
7
|
+
* to bytes that do not change. A worker that receives one gets the handle, not a copy of the bytes.
|
|
8
|
+
*
|
|
9
|
+
* This function never throws. `normalize-legacy-data.ts` mints the `__small` and `__tiny` logo
|
|
10
|
+
* variants by adding a suffix to the full URL. It never confirms that the variant file exists. A
|
|
11
|
+
* 404 here is routine. When it happens, the caller retries with its fallback URL.
|
|
12
|
+
* @param src - The image URL.
|
|
13
|
+
* @returns The bytes, or `null` when the fetch fails.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadBlob(src: string): Promise<Blob | null>;
|
|
16
|
+
//# sourceMappingURL=loadBlob.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches an image as a `Blob`, the form the renderer packs from.
|
|
3
|
+
*
|
|
4
|
+
* This function returns a `Blob`, not an `HTMLImageElement`, because decoding an image element
|
|
5
|
+
* blocks the main thread. At a thousand booth logos, the `HTMLImageElement` route stalls the
|
|
6
|
+
* thread for two seconds, and the `Blob` route does not stall it at all. A `Blob` is also a handle
|
|
7
|
+
* to bytes that do not change. A worker that receives one gets the handle, not a copy of the bytes.
|
|
8
|
+
*
|
|
9
|
+
* This function never throws. `normalize-legacy-data.ts` mints the `__small` and `__tiny` logo
|
|
10
|
+
* variants by adding a suffix to the full URL. It never confirms that the variant file exists. A
|
|
11
|
+
* 404 here is routine. When it happens, the caller retries with its fallback URL.
|
|
12
|
+
* @param src - The image URL.
|
|
13
|
+
* @returns The bytes, or `null` when the fetch fails.
|
|
14
|
+
*/
|
|
15
|
+
export async function loadBlob(src) {
|
|
16
|
+
try {
|
|
17
|
+
// Fetch with `cors` and no credentials. This matches the `crossOrigin = 'anonymous'` that the
|
|
18
|
+
// image loader sets. The renderer reads the atlas back through a canvas, so a tainted response
|
|
19
|
+
// would break the whole floor plan. A `data:` URL ignores both options, because the browser
|
|
20
|
+
// serves it locally. So a drawing's inline base64 image still comes through unchanged.
|
|
21
|
+
const response = await fetch(src, { mode: 'cors', credentials: 'omit' });
|
|
22
|
+
if (!response.ok)
|
|
23
|
+
return null;
|
|
24
|
+
const blob = await response.blob();
|
|
25
|
+
// Reject anything that does not claim to be an image. `fetch` succeeds on requests that
|
|
26
|
+
// `<img>` used to fail on. For example, a fragment href such as `<image href="#defs">`
|
|
27
|
+
// resolves against the current document, so `fetch` answers with status 200 and the page's
|
|
28
|
+
// own HTML. This was measured, not assumed. The old `<img>` loader could not decode that
|
|
29
|
+
// HTML, so it dropped the image safely. A Blob would instead reach the renderer and throw at
|
|
30
|
+
// decode time.
|
|
31
|
+
//
|
|
32
|
+
// No sampled floor plan has an href like this. The resource walk in `@expofp/config` carries
|
|
33
|
+
// one fixture for the case, and three real drawings have none. So this guard is cheap
|
|
34
|
+
// insurance, and not a fix for a bug seen in real data.
|
|
35
|
+
return blob.type.startsWith('image/') ? blob : null;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { loadCustomFonts } from '../tools/loaders';
|
|
2
|
+
export async function loadCustomCss(data, appendTo) {
|
|
3
|
+
if (data?.customCss) {
|
|
4
|
+
// Custom CSS must be injected at the document level: browsers ignore
|
|
5
|
+
// `@font-face` rules and `:root` custom properties (e.g. `--expofp-font-face`)
|
|
6
|
+
// declared inside a shadow root, so custom fonts would otherwise never load.
|
|
7
|
+
const style = document.createElement('style');
|
|
8
|
+
style.textContent = data.customCss;
|
|
9
|
+
document.head.append(style);
|
|
10
|
+
// When rendering inside a shadow root, inject a second copy so custom CSS that
|
|
11
|
+
// targets the shadow-scoped UI (component overrides) applies there too.
|
|
12
|
+
if (typeof ShadowRoot !== 'undefined' && appendTo instanceof ShadowRoot) {
|
|
13
|
+
const shadowStyle = document.createElement('style');
|
|
14
|
+
shadowStyle.textContent = data.customCss;
|
|
15
|
+
appendTo.append(shadowStyle);
|
|
16
|
+
}
|
|
17
|
+
await loadCustomFonts(data.customCss);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import baseRuntimeUrl from '../tools/base-runtime-url';
|
|
2
|
+
import { loadImage } from './loadImage';
|
|
3
|
+
export async function loadIcons(icons) {
|
|
4
|
+
try {
|
|
5
|
+
const iconEntries = await Promise.allSettled(Object.entries({
|
|
6
|
+
departure: 'icons/departure.svg',
|
|
7
|
+
departure_inactive: 'icons/departure_inactive.svg',
|
|
8
|
+
destination: 'icons/destination.svg',
|
|
9
|
+
direction: 'icons/direction.svg',
|
|
10
|
+
transition: 'icons/transition.svg',
|
|
11
|
+
transition_up: 'icons/transition_up.svg',
|
|
12
|
+
transition_down: 'icons/transition_down.svg',
|
|
13
|
+
kiosk: 'icons/kiosk.svg',
|
|
14
|
+
yah: 'icons/yah.svg',
|
|
15
|
+
}).map(([key, path]) => loadImage(baseRuntimeUrl + path).then((image) => [key, image])));
|
|
16
|
+
iconEntries
|
|
17
|
+
.filter((entry) => entry.status === 'fulfilled')
|
|
18
|
+
.map((entry) => entry.value)
|
|
19
|
+
.forEach(([key, icon]) => icons.set(key, icon));
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
console.warn(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* eslint-disable no-var */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
export function loadImage(src) {
|
|
4
|
+
return new Promise((resolve) => {
|
|
5
|
+
var img = new Image();
|
|
6
|
+
img.onerror = () => resolve(null);
|
|
7
|
+
img.onload = () => resolve(img);
|
|
8
|
+
img.crossOrigin = 'anonymous';
|
|
9
|
+
img.src = src;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ImageUrls {
|
|
2
|
+
preferred?: string;
|
|
3
|
+
fallback: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function loadImagesInBatchesById(logosUrls: Map<number, ImageUrls>, batchSize?: number, delay?: number): Promise<Map<number, HTMLImageElement>>;
|
|
6
|
+
/**
|
|
7
|
+
* Loads a map of ids to image bytes. One URL loads at most once per call, no matter how many ids
|
|
8
|
+
* share it.
|
|
9
|
+
*
|
|
10
|
+
* This dedup is not an optimization. It is a correctness requirement. The renderer dedupes image
|
|
11
|
+
* sources by object identity, so two booths that share a logo must get the very same `Blob`
|
|
12
|
+
* object. If they do not, the logo downloads twice, packs twice, and draws from two atlas
|
|
13
|
+
* regions. The cache lives only for the length of this call, because the defs keep their own
|
|
14
|
+
* Blobs afterward. A cache that outlived the call would give every logo on the plan a second
|
|
15
|
+
* place to stay in memory.
|
|
16
|
+
* @param logosUrls - The URLs to load, keyed by booth id.
|
|
17
|
+
* @param batchSize - How many URLs to load at once.
|
|
18
|
+
* @param delay - Milliseconds to wait between batches.
|
|
19
|
+
* @returns The bytes, keyed by booth id. An id is absent when its logo failed to load.
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadBlobsInBatchesById(logosUrls: Map<number, ImageUrls>, batchSize?: number, delay?: number): Promise<Map<number, Blob>>;
|
|
22
|
+
//# sourceMappingURL=loadImagesInBatches.d.ts.map
|