@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.
Files changed (1011) hide show
  1. package/README.md +8 -0
  2. package/dist/browser/Button-DT-Jfwrb.js +64 -0
  3. package/dist/browser/CookieConsent-BIsWzAiP.js +38 -0
  4. package/dist/browser/Debug-B5mmo0ZX.js +53 -0
  5. package/dist/browser/DebugTools-Y0aycjKM.js +1931 -0
  6. package/dist/browser/Demo-B2klxORi.js +71 -0
  7. package/dist/browser/Free-suULW-LU.js +69 -0
  8. package/dist/browser/GalleryContainer-BGBNGRKU.js +3355 -0
  9. package/dist/browser/GpsLoader-Idv0kq5D.js +154 -0
  10. package/dist/browser/KioskStore-Dg9jaX5d.js +250 -0
  11. package/dist/browser/LayerStore-CK6wLW56.js +24105 -0
  12. package/dist/browser/MaplibreAdapter-uZUhZfFW.js +36770 -0
  13. package/dist/browser/ModalContainer-DWm8vEaI.js +148 -0
  14. package/dist/browser/PermissionNotice-DaqnuHln.js +54 -0
  15. package/dist/browser/RouteStore-NE2I9tiF.js +3715 -0
  16. package/dist/browser/SetKioskMode-Dwlf5w7q.js +49 -0
  17. package/dist/browser/ShowKiosk-Cr-QmIUT.js +82 -0
  18. package/dist/browser/ViewerMenuPanel-CTAjGsq2.js +133 -0
  19. package/dist/browser/add-debug-secret-listener-BECnIMzo.js +55 -0
  20. package/dist/browser/adopt-global-settings-U-KbyxMd.js +185 -0
  21. package/dist/browser/boolean-editor-CYMx87em.js +149 -0
  22. package/dist/browser/bootIntercom-BqQsnxII.js +37 -0
  23. package/dist/browser/bundle.json +422 -0
  24. package/dist/browser/camera-events-DSCuSH25.js +18 -0
  25. package/dist/browser/classnames-YcGXWNfg.js +39 -0
  26. package/dist/browser/client-BcPpS_Gj.js +7402 -0
  27. package/dist/browser/compat-helper.js +6 -0
  28. package/dist/browser/components-BjEhhgf2.js +7393 -0
  29. package/dist/browser/create-live-plan-BaEGBhGA.js +4046 -0
  30. package/dist/browser/debounce-raMZ2DqK.js +2102 -0
  31. package/dist/browser/debug-context-CNBgUWR8.js +24315 -0
  32. package/dist/browser/debug-overlay-B__pFwQg.js +1455 -0
  33. package/dist/browser/debug-ui-BaE8MZQX.js +86 -0
  34. package/dist/browser/dist-C1NaWqk4.js +2611 -0
  35. package/dist/browser/dist-Cx8u0gjK.js +21 -0
  36. package/dist/browser/dist-wOC6gYFh.js +205 -0
  37. package/dist/browser/efp-debug-init-CozbueIl.js +245 -0
  38. package/dist/browser/enum-editor-CkiQPgZv.js +34 -0
  39. package/dist/browser/es5-B__Ovz45.js +1712 -0
  40. package/dist/browser/event-head-C_inMpbD.js +56 -0
  41. package/dist/browser/event-not-found-Z2mJBZE3.js +31 -0
  42. package/dist/browser/expofp-overlay.png +0 -0
  43. package/dist/browser/expofpUrl-jBUlvkwz.js +19 -0
  44. package/dist/browser/exports-CvUYw1h6.js +1525 -0
  45. package/dist/browser/favicon-BkDrYTmU.js +12 -0
  46. package/dist/browser/fetch-retry.umd-2B2pCUIS.js +78 -0
  47. package/dist/browser/flex-3lSivw8z.js +823 -0
  48. package/dist/browser/floorplan.loader-CGzIMplb.js +3282 -0
  49. package/dist/browser/floorplan.ready-r96zV9bP.js +1448 -0
  50. package/dist/browser/fonts/efp-symbols.woff +0 -0
  51. package/dist/browser/fonts/inter-400.woff2 +0 -0
  52. package/dist/browser/fonts/inter-500.woff2 +0 -0
  53. package/dist/browser/fonts/inter-600.woff2 +0 -0
  54. package/dist/browser/fonts/oswald-v17-cyrillic_latin-300.woff +0 -0
  55. package/dist/browser/fonts/oswald-v17-cyrillic_latin-500.woff +0 -0
  56. package/dist/browser/freeBanner-CnrBc9Tl.js +22 -0
  57. package/dist/browser/fuse-B7V1lkoA.js +1177 -0
  58. package/dist/browser/i18n-BgFBhYOU.js +7205 -0
  59. package/dist/browser/icons/accessible.svg +5 -0
  60. package/dist/browser/icons/arrow-down.svg +3 -0
  61. package/dist/browser/icons/bus-white.svg +3 -0
  62. package/dist/browser/icons/check.svg +3 -0
  63. package/dist/browser/icons/clear.svg +4 -0
  64. package/dist/browser/icons/departure.svg +5 -0
  65. package/dist/browser/icons/departure_inactive.svg +5 -0
  66. package/dist/browser/icons/destination.svg +5 -0
  67. package/dist/browser/icons/direction.svg +54 -0
  68. package/dist/browser/icons/dots.svg +4 -0
  69. package/dist/browser/icons/dragdrop-solid.svg +11 -0
  70. package/dist/browser/icons/facebook.svg +4 -0
  71. package/dist/browser/icons/from.svg +4 -0
  72. package/dist/browser/icons/kiosk.svg +1 -0
  73. package/dist/browser/icons/linkedin.svg +3 -0
  74. package/dist/browser/icons/rotate.svg +5 -0
  75. package/dist/browser/icons/tap.svg +5 -0
  76. package/dist/browser/icons/to.svg +4 -0
  77. package/dist/browser/icons/transition.svg +7 -0
  78. package/dist/browser/icons/transition_down.svg +15 -0
  79. package/dist/browser/icons/transition_up.svg +15 -0
  80. package/dist/browser/icons/twitter.svg +3 -0
  81. package/dist/browser/icons/yah.svg +17 -0
  82. package/dist/browser/index.html +139 -0
  83. package/dist/browser/index.js +254 -0
  84. package/dist/browser/index.module-kJmnWg5B.js +153 -0
  85. package/dist/browser/integrateKiosk-D45vYRsm.js +35 -0
  86. package/dist/browser/is-debug-BRHdrnKr.js +197 -0
  87. package/dist/browser/is-own-domain-DNvxb9Ph.js +26 -0
  88. package/dist/browser/is-webview-cTH4yz8f.js +12 -0
  89. package/dist/browser/journey-plan-DtL28HMP.js +1865 -0
  90. package/dist/browser/jsx-runtime-DQgnuS-I.js +30 -0
  91. package/dist/browser/kiosk-mode-DfkGlDkT.js +28 -0
  92. package/dist/browser/kiosk-record-JAEq8SV6.js +18 -0
  93. package/dist/browser/kioskUrlParam-CnYhnC_7.js +141 -0
  94. package/dist/browser/lib--J2yQXt6.js +1910 -0
  95. package/dist/browser/loadImage-DzSnRAxX.js +30 -0
  96. package/dist/browser/locales/ar.json +228 -0
  97. package/dist/browser/locales/da.json +229 -0
  98. package/dist/browser/locales/de.json +228 -0
  99. package/dist/browser/locales/es.json +228 -0
  100. package/dist/browser/locales/fr.json +228 -0
  101. package/dist/browser/locales/he.json +228 -0
  102. package/dist/browser/locales/it.json +228 -0
  103. package/dist/browser/locales/kk.json +228 -0
  104. package/dist/browser/locales/ko.json +228 -0
  105. package/dist/browser/locales/mn.json +228 -0
  106. package/dist/browser/locales/nl.json +228 -0
  107. package/dist/browser/locales/pl.json +228 -0
  108. package/dist/browser/locales/pt.json +228 -0
  109. package/dist/browser/locales/ru.json +228 -0
  110. package/dist/browser/locales/sv.json +228 -0
  111. package/dist/browser/locales/th.json +228 -0
  112. package/dist/browser/locales/tr.json +228 -0
  113. package/dist/browser/locales/uk.json +228 -0
  114. package/dist/browser/locales/vi.json +228 -0
  115. package/dist/browser/locales/zh.json +228 -0
  116. package/dist/browser/logDeviceInfo-BTqyv9Xe.js +58 -0
  117. package/dist/browser/mobx-C-kcS0zI.js +43 -0
  118. package/dist/browser/mobx.module-BOCLFB5I.js +2064 -0
  119. package/dist/browser/optional-boolean-editor-ZncW2HBw.js +20 -0
  120. package/dist/browser/optional-enum-editor-Dkzs9jDN.js +34 -0
  121. package/dist/browser/optional-string-editor-DC9PMUWB.js +30 -0
  122. package/dist/browser/particles.min-eC5xdOrB.js +133 -0
  123. package/dist/browser/react-DqPP-mkq.js +301 -0
  124. package/dist/browser/react-dom-BkVzoZWO.js +139 -0
  125. package/dist/browser/rolldown-runtime-DUb2xvRc.js +28 -0
  126. package/dist/browser/scheduler-NBuuaWIe.js +212 -0
  127. package/dist/browser/select-Cxf-YiNA.js +1367 -0
  128. package/dist/browser/settings-D74eG9h8.js +9 -0
  129. package/dist/browser/settings-item-DUUbKec_.js +76 -0
  130. package/dist/browser/store-q_CTsixH.js +58 -0
  131. package/dist/browser/string-editor-CINOmY_C.js +30 -0
  132. package/dist/browser/text-field-DORaOVht.js +88 -0
  133. package/dist/browser/theme-DyFm9MGz.js +2803 -0
  134. package/dist/browser/ui-DsCU3FV6.js +43 -0
  135. package/dist/browser/useRenderTarget-RFckzUJM.js +57 -0
  136. package/dist/browser/vendor/perfect-scrollbar/css/perfect-scrollbar.css +1 -0
  137. package/dist/browser/vendor/sanitize-css/sanitize.css +1 -0
  138. package/dist/browser/venue-public-BA3x-n4N.js +296 -0
  139. package/dist/browser/venues-DKpIy-87.js +447 -0
  140. package/dist/browser/viewport-B7plho3P.js +48 -0
  141. package/dist/browser/warning.png +0 -0
  142. package/dist/esm/_misc_to_move/initHtmlHead.d.ts +2 -0
  143. package/dist/esm/_misc_to_move/initHtmlHead.js +34 -0
  144. package/dist/esm/_misc_to_move/logBuildInfo.d.ts +2 -0
  145. package/dist/esm/_misc_to_move/logBuildInfo.js +35 -0
  146. package/dist/esm/_misc_to_move/logDeviceInfo.d.ts +10 -0
  147. package/dist/esm/_misc_to_move/logDeviceInfo.js +84 -0
  148. package/dist/esm/components/AlertContainer.d.ts +4 -0
  149. package/dist/esm/components/AlertContainer.js +8 -0
  150. package/dist/esm/components/AutocompleteContainer.d.ts +4 -0
  151. package/dist/esm/components/AutocompleteContainer.js +14 -0
  152. package/dist/esm/components/BaseFilterModal.d.ts +11 -0
  153. package/dist/esm/components/BaseFilterModal.js +73 -0
  154. package/dist/esm/components/Bookmarks.d.ts +3 -0
  155. package/dist/esm/components/Bookmarks.js +26 -0
  156. package/dist/esm/components/Booth/Booth.d.ts +5 -0
  157. package/dist/esm/components/Booth/Booth.js +135 -0
  158. package/dist/esm/components/Booth/BoothOnHold.d.ts +13 -0
  159. package/dist/esm/components/Booth/BoothOnHold.js +11 -0
  160. package/dist/esm/components/Booth/BoothReserved.d.ts +3 -0
  161. package/dist/esm/components/Booth/BoothReserved.js +7 -0
  162. package/dist/esm/components/Booth/BoothSpecial.d.ts +8 -0
  163. package/dist/esm/components/Booth/BoothSpecial.js +4 -0
  164. package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +13 -0
  165. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +29 -0
  166. package/dist/esm/components/Category.d.ts +5 -0
  167. package/dist/esm/components/Category.js +25 -0
  168. package/dist/esm/components/CategoryFilterModal.d.ts +3 -0
  169. package/dist/esm/components/CategoryFilterModal.js +63 -0
  170. package/dist/esm/components/CookieConsent.d.ts +9 -0
  171. package/dist/esm/components/CookieConsent.js +9 -0
  172. package/dist/esm/components/Debug.d.ts +5 -0
  173. package/dist/esm/components/Debug.js +15 -0
  174. package/dist/esm/components/Demo.d.ts +4 -0
  175. package/dist/esm/components/Demo.js +37 -0
  176. package/dist/esm/components/DownloadListContainer.d.ts +5 -0
  177. package/dist/esm/components/DownloadListContainer.js +8 -0
  178. package/dist/esm/components/EntityItemContainer.d.ts +28 -0
  179. package/dist/esm/components/EntityItemContainer.js +36 -0
  180. package/dist/esm/components/EntityList.d.ts +9 -0
  181. package/dist/esm/components/EntityList.js +144 -0
  182. package/dist/esm/components/EntityListRow.d.ts +13 -0
  183. package/dist/esm/components/EntityListRow.js +78 -0
  184. package/dist/esm/components/ErrorBoundary.d.ts +15 -0
  185. package/dist/esm/components/ErrorBoundary.js +29 -0
  186. package/dist/esm/components/Event.d.ts +5 -0
  187. package/dist/esm/components/Event.js +167 -0
  188. package/dist/esm/components/EventBadgeContainer.d.ts +8 -0
  189. package/dist/esm/components/EventBadgeContainer.js +29 -0
  190. package/dist/esm/components/Exhibitor.d.ts +5 -0
  191. package/dist/esm/components/Exhibitor.js +299 -0
  192. package/dist/esm/components/Filter.d.ts +4 -0
  193. package/dist/esm/components/Filter.js +24 -0
  194. package/dist/esm/components/Free.d.ts +4 -0
  195. package/dist/esm/components/Free.js +31 -0
  196. package/dist/esm/components/GalleryContainer.d.ts +6 -0
  197. package/dist/esm/components/GalleryContainer.js +55 -0
  198. package/dist/esm/components/GlobalErrorMessage.d.ts +4 -0
  199. package/dist/esm/components/GlobalErrorMessage.js +9 -0
  200. package/dist/esm/components/GpsLoader.d.ts +5 -0
  201. package/dist/esm/components/GpsLoader.js +29 -0
  202. package/dist/esm/components/HeatmapLegendContainer.d.ts +5 -0
  203. package/dist/esm/components/HeatmapLegendContainer.js +13 -0
  204. package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
  205. package/dist/esm/components/HighlightTextContainer.js +10 -0
  206. package/dist/esm/components/IntercomLauncher.d.ts +5 -0
  207. package/dist/esm/components/IntercomLauncher.js +20 -0
  208. package/dist/esm/components/JourneyPanel.d.ts +35 -0
  209. package/dist/esm/components/JourneyPanel.js +68 -0
  210. package/dist/esm/components/Kiosk/KioskStore.d.ts +60 -0
  211. package/dist/esm/components/Kiosk/KioskStore.js +411 -0
  212. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +5 -0
  213. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +8 -0
  214. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +5 -0
  215. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +24 -0
  216. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +5 -0
  217. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +7 -0
  218. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +5 -0
  219. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +78 -0
  220. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +5 -0
  221. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +10 -0
  222. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +5 -0
  223. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +15 -0
  224. package/dist/esm/components/Kiosk/SetKiosk/constants.d.ts +6 -0
  225. package/dist/esm/components/Kiosk/SetKiosk/constants.js +6 -0
  226. package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.d.ts +2 -0
  227. package/dist/esm/components/Kiosk/SetKiosk/getKioskUrlParamKey.js +4 -0
  228. package/dist/esm/components/Kiosk/SetKiosk/getName.d.ts +2 -0
  229. package/dist/esm/components/Kiosk/SetKiosk/getName.js +2 -0
  230. package/dist/esm/components/Kiosk/SetKiosk/getSlug.d.ts +2 -0
  231. package/dist/esm/components/Kiosk/SetKiosk/getSlug.js +2 -0
  232. package/dist/esm/components/Kiosk/SetKiosk/index.d.ts +7 -0
  233. package/dist/esm/components/Kiosk/SetKiosk/index.js +6 -0
  234. package/dist/esm/components/Kiosk/SetKiosk/storage.d.ts +5 -0
  235. package/dist/esm/components/Kiosk/SetKiosk/storage.js +21 -0
  236. package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +109 -0
  237. package/dist/esm/components/Kiosk/SetKiosk/types.js +1 -0
  238. package/dist/esm/components/Kiosk/SetKioskMode.d.ts +3 -0
  239. package/dist/esm/components/Kiosk/SetKioskMode.js +35 -0
  240. package/dist/esm/components/Kiosk/ShowKiosk.d.ts +3 -0
  241. package/dist/esm/components/Kiosk/ShowKiosk.js +72 -0
  242. package/dist/esm/components/Kiosk/integrateKiosk.d.ts +10 -0
  243. package/dist/esm/components/Kiosk/integrateKiosk.js +68 -0
  244. package/dist/esm/components/Kiosk/kiosk-mode.d.ts +26 -0
  245. package/dist/esm/components/Kiosk/kiosk-mode.js +56 -0
  246. package/dist/esm/components/Kiosk/kiosk-record.d.ts +23 -0
  247. package/dist/esm/components/Kiosk/kiosk-record.js +29 -0
  248. package/dist/esm/components/Kiosk/kioskApi.d.ts +4 -0
  249. package/dist/esm/components/Kiosk/kioskApi.js +47 -0
  250. package/dist/esm/components/Kiosk/kioskUrlParam.d.ts +8 -0
  251. package/dist/esm/components/Kiosk/kioskUrlParam.js +46 -0
  252. package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.d.ts +2 -0
  253. package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +9 -0
  254. package/dist/esm/components/Language.d.ts +4 -0
  255. package/dist/esm/components/Language.js +15 -0
  256. package/dist/esm/components/LanguageRowContainer.d.ts +7 -0
  257. package/dist/esm/components/LanguageRowContainer.js +9 -0
  258. package/dist/esm/components/Layout.d.ts +11 -0
  259. package/dist/esm/components/Layout.js +160 -0
  260. package/dist/esm/components/LevelBadgeContainer.d.ts +6 -0
  261. package/dist/esm/components/LevelBadgeContainer.js +10 -0
  262. package/dist/esm/components/List.d.ts +9 -0
  263. package/dist/esm/components/List.js +77 -0
  264. package/dist/esm/components/LogoOverlay.d.ts +3 -0
  265. package/dist/esm/components/LogoOverlay.js +78 -0
  266. package/dist/esm/components/Map/Map.d.ts +2 -0
  267. package/dist/esm/components/Map/Map.js +242 -0
  268. package/dist/esm/components/Map/MapCamera.d.ts +17 -0
  269. package/dist/esm/components/Map/MapCamera.js +194 -0
  270. package/dist/esm/components/Map/MapCursorCoords.d.ts +13 -0
  271. package/dist/esm/components/Map/MapCursorCoords.js +61 -0
  272. package/dist/esm/components/Map/MapViewport.d.ts +12 -0
  273. package/dist/esm/components/Map/MapViewport.js +29 -0
  274. package/dist/esm/components/Map/booth-by-xy.d.ts +14 -0
  275. package/dist/esm/components/Map/booth-by-xy.js +128 -0
  276. package/dist/esm/components/Map/camera-events.d.ts +19 -0
  277. package/dist/esm/components/Map/camera-events.js +26 -0
  278. package/dist/esm/components/Map/camera.d.ts +48 -0
  279. package/dist/esm/components/Map/camera.js +43 -0
  280. package/dist/esm/components/Map/drawing/config/BoothDrawerBase.d.ts +8 -0
  281. package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +8 -0
  282. package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +7 -0
  283. package/dist/esm/components/Map/drawing/config/BoothShape.js +76 -0
  284. package/dist/esm/components/Map/drawing/config/TextFitter.d.ts +11 -0
  285. package/dist/esm/components/Map/drawing/config/TextFitter.js +174 -0
  286. package/dist/esm/components/Map/drawing/config/booth-badge-anchor.d.ts +130 -0
  287. package/dist/esm/components/Map/drawing/config/booth-badge-anchor.js +306 -0
  288. package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
  289. package/dist/esm/components/Map/drawing/config/booth-logos.js +94 -0
  290. package/dist/esm/components/Map/drawing/config/canvases.d.ts +96 -0
  291. package/dist/esm/components/Map/drawing/config/canvases.js +434 -0
  292. package/dist/esm/components/Map/drawing/config/config-all.d.ts +6 -0
  293. package/dist/esm/components/Map/drawing/config/config-all.js +92 -0
  294. package/dist/esm/components/Map/drawing/config/config-bg.d.ts +8 -0
  295. package/dist/esm/components/Map/drawing/config/config-bg.js +54 -0
  296. package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
  297. package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +7 -0
  298. package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
  299. package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +11 -0
  300. package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.d.ts +37 -0
  301. package/dist/esm/components/Map/drawing/config/config-booth-badge-visibility.js +3 -0
  302. package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +90 -0
  303. package/dist/esm/components/Map/drawing/config/config-booth-badge.js +326 -0
  304. package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +33 -0
  305. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +240 -0
  306. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +24 -0
  307. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +65 -0
  308. package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +12 -0
  309. package/dist/esm/components/Map/drawing/config/config-booth-border.js +92 -0
  310. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +28 -0
  311. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +147 -0
  312. package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +63 -0
  313. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +380 -0
  314. package/dist/esm/components/Map/drawing/config/config-booths.d.ts +5 -0
  315. package/dist/esm/components/Map/drawing/config/config-booths.js +152 -0
  316. package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +4 -0
  317. package/dist/esm/components/Map/drawing/config/config-load-layer.js +119 -0
  318. package/dist/esm/components/Map/drawing/config/config-markers.d.ts +42 -0
  319. package/dist/esm/components/Map/drawing/config/config-markers.js +278 -0
  320. package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +19 -0
  321. package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +96 -0
  322. package/dist/esm/components/Map/drawing/config/config-pins.d.ts +40 -0
  323. package/dist/esm/components/Map/drawing/config/config-pins.js +533 -0
  324. package/dist/esm/components/Map/drawing/config/label-inset.d.ts +26 -0
  325. package/dist/esm/components/Map/drawing/config/label-inset.js +26 -0
  326. package/dist/esm/components/Map/drawing/config/layer-images.d.ts +24 -0
  327. package/dist/esm/components/Map/drawing/config/layer-images.js +32 -0
  328. package/dist/esm/components/Map/drawing/config/layer-models.d.ts +31 -0
  329. package/dist/esm/components/Map/drawing/config/layer-models.js +38 -0
  330. package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +45 -0
  331. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +99 -0
  332. package/dist/esm/components/Map/drawing/config/pin-geometry.d.ts +65 -0
  333. package/dist/esm/components/Map/drawing/config/pin-geometry.js +75 -0
  334. package/dist/esm/components/Map/drawing/config/poi-pin-shape.d.ts +100 -0
  335. package/dist/esm/components/Map/drawing/config/poi-pin-shape.js +51 -0
  336. package/dist/esm/components/Map/drawing/config/poi-pin.d.ts +10 -0
  337. package/dist/esm/components/Map/drawing/config/poi-pin.js +88 -0
  338. package/dist/esm/components/Map/drawing/config/selection-style.d.ts +12 -0
  339. package/dist/esm/components/Map/drawing/config/selection-style.js +18 -0
  340. package/dist/esm/components/Map/framing-rect.d.ts +16 -0
  341. package/dist/esm/components/Map/framing-rect.js +24 -0
  342. package/dist/esm/components/Map/pointer.d.ts +79 -0
  343. package/dist/esm/components/Map/pointer.js +181 -0
  344. package/dist/esm/components/Map/scene.d.ts +20 -0
  345. package/dist/esm/components/Map/scene.js +24 -0
  346. package/dist/esm/components/Map/traffic/UpdateQueue.d.ts +13 -0
  347. package/dist/esm/components/Map/traffic/UpdateQueue.js +82 -0
  348. package/dist/esm/components/Map/traffic/trafficLayers.d.ts +12 -0
  349. package/dist/esm/components/Map/traffic/trafficLayers.js +29 -0
  350. package/dist/esm/components/Map/traffic/useBuildRoute.d.ts +9 -0
  351. package/dist/esm/components/Map/traffic/useBuildRoute.js +359 -0
  352. package/dist/esm/components/Map/traffic/useManageTraffic.d.ts +10 -0
  353. package/dist/esm/components/Map/traffic/useManageTraffic.js +643 -0
  354. package/dist/esm/components/Map/viewport.d.ts +63 -0
  355. package/dist/esm/components/Map/viewport.js +82 -0
  356. package/dist/esm/components/Map/with-kiosk.d.ts +11 -0
  357. package/dist/esm/components/Map/with-kiosk.js +25 -0
  358. package/dist/esm/components/MapControlsContainer.d.ts +3 -0
  359. package/dist/esm/components/MapControlsContainer.js +58 -0
  360. package/dist/esm/components/Maplibre/CollapsedAttributionControl.d.ts +12 -0
  361. package/dist/esm/components/Maplibre/CollapsedAttributionControl.js +19 -0
  362. package/dist/esm/components/Maplibre/ExpofpLogoControl.d.ts +20 -0
  363. package/dist/esm/components/Maplibre/ExpofpLogoControl.js +39 -0
  364. package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +18 -0
  365. package/dist/esm/components/Maplibre/MaplibreAdapter.js +354 -0
  366. package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +111 -0
  367. package/dist/esm/components/Maplibre/MaplibreWrapper.js +310 -0
  368. package/dist/esm/components/Maplibre/maplibre-recovery.d.ts +4 -0
  369. package/dist/esm/components/Maplibre/maplibre-recovery.js +4 -0
  370. package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
  371. package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +7048 -0
  372. package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
  373. package/dist/esm/components/Maplibre/styles/mapbox-streets.js +6132 -0
  374. package/dist/esm/components/Maplibre/useCameraReactions.d.ts +14 -0
  375. package/dist/esm/components/Maplibre/useCameraReactions.js +256 -0
  376. package/dist/esm/components/Maplibre/useDimming.d.ts +25 -0
  377. package/dist/esm/components/Maplibre/useDimming.js +61 -0
  378. package/dist/esm/components/Maplibre/useJourneyConnector.d.ts +16 -0
  379. package/dist/esm/components/Maplibre/useJourneyConnector.js +175 -0
  380. package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
  381. package/dist/esm/components/Maplibre/useKioskCameraEvents.js +52 -0
  382. package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +25 -0
  383. package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +85 -0
  384. package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +25 -0
  385. package/dist/esm/components/Maplibre/usePoiMarkers.js +368 -0
  386. package/dist/esm/components/Maplibre/useVenueCameraTracking.d.ts +6 -0
  387. package/dist/esm/components/Maplibre/useVenueCameraTracking.js +115 -0
  388. package/dist/esm/components/Maplibre/useVenueLayers.d.ts +15 -0
  389. package/dist/esm/components/Maplibre/useVenueLayers.js +463 -0
  390. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +11 -0
  391. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +23 -0
  392. package/dist/esm/components/Maplibre/utils/basemap-palette.d.ts +19 -0
  393. package/dist/esm/components/Maplibre/utils/basemap-palette.js +125 -0
  394. package/dist/esm/components/Maplibre/utils/geo-config.d.ts +92 -0
  395. package/dist/esm/components/Maplibre/utils/geo-config.js +305 -0
  396. package/dist/esm/components/Maplibre/utils/hit-test-registry.d.ts +18 -0
  397. package/dist/esm/components/Maplibre/utils/hit-test-registry.js +17 -0
  398. package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +9 -0
  399. package/dist/esm/components/Maplibre/utils/layer-defs.js +19 -0
  400. package/dist/esm/components/Maplibre/utils/local-viewport.d.ts +13 -0
  401. package/dist/esm/components/Maplibre/utils/local-viewport.js +31 -0
  402. package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +21 -0
  403. package/dist/esm/components/Maplibre/utils/map-helpers.js +85 -0
  404. package/dist/esm/components/Maplibre/utils/map-theme.d.ts +20 -0
  405. package/dist/esm/components/Maplibre/utils/map-theme.js +44 -0
  406. package/dist/esm/components/Maplibre/utils/marker-layer-order.d.ts +22 -0
  407. package/dist/esm/components/Maplibre/utils/marker-layer-order.js +20 -0
  408. package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.d.ts +53 -0
  409. package/dist/esm/components/Maplibre/utils/pmtiles-range-fallback.js +110 -0
  410. package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +8 -0
  411. package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +8 -0
  412. package/dist/esm/components/Maplibre/utils/resolve-map-style.d.ts +19 -0
  413. package/dist/esm/components/Maplibre/utils/resolve-map-style.js +73 -0
  414. package/dist/esm/components/Maplibre/utils/solver.d.ts +23 -0
  415. package/dist/esm/components/Maplibre/utils/solver.js +238 -0
  416. package/dist/esm/components/Maplibre/utils/style-fonts.d.ts +10 -0
  417. package/dist/esm/components/Maplibre/utils/style-fonts.js +24 -0
  418. package/dist/esm/components/Maplibre/utils/venue-calibration-console.d.ts +10 -0
  419. package/dist/esm/components/Maplibre/utils/venue-calibration-console.js +130 -0
  420. package/dist/esm/components/Maplibre/utils/venue-calibration.d.ts +127 -0
  421. package/dist/esm/components/Maplibre/utils/venue-calibration.js +144 -0
  422. package/dist/esm/components/Maplibre/utils/venue-camera-target.d.ts +15 -0
  423. package/dist/esm/components/Maplibre/utils/venue-camera-target.js +19 -0
  424. package/dist/esm/components/Maplibre/utils/venue-contour.d.ts +50 -0
  425. package/dist/esm/components/Maplibre/utils/venue-contour.fixture.d.ts +18 -0
  426. package/dist/esm/components/Maplibre/utils/venue-contour.fixture.js +69 -0
  427. package/dist/esm/components/Maplibre/utils/venue-contour.js +188 -0
  428. package/dist/esm/components/Maplibre/utils/venue-focus.d.ts +26 -0
  429. package/dist/esm/components/Maplibre/utils/venue-focus.js +106 -0
  430. package/dist/esm/components/Maplibre/utils/venue-legibility.d.ts +30 -0
  431. package/dist/esm/components/Maplibre/utils/venue-legibility.js +52 -0
  432. package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.d.ts +88 -0
  433. package/dist/esm/components/Maplibre/utils/venue-pin-rasterize.js +220 -0
  434. package/dist/esm/components/Maplibre/utils/venue-projection.d.ts +37 -0
  435. package/dist/esm/components/Maplibre/utils/venue-projection.js +88 -0
  436. package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.d.ts +9 -0
  437. package/dist/esm/components/Maplibre/utils/venue-tap-hit-test.js +9 -0
  438. package/dist/esm/components/Maplibre/utils/venue-viewport-detail.d.ts +19 -0
  439. package/dist/esm/components/Maplibre/utils/venue-viewport-detail.js +24 -0
  440. package/dist/esm/components/Maplibre/utils/venue-zoom.d.ts +23 -0
  441. package/dist/esm/components/Maplibre/utils/venue-zoom.js +62 -0
  442. package/dist/esm/components/Menu.d.ts +11 -0
  443. package/dist/esm/components/Menu.js +94 -0
  444. package/dist/esm/components/MobileToggleButtonContainer.d.ts +3 -0
  445. package/dist/esm/components/MobileToggleButtonContainer.js +24 -0
  446. package/dist/esm/components/ModalContainer.d.ts +41 -0
  447. package/dist/esm/components/ModalContainer.js +10 -0
  448. package/dist/esm/components/MultiSelectGroupsContainer.d.ts +5 -0
  449. package/dist/esm/components/MultiSelectGroupsContainer.js +8 -0
  450. package/dist/esm/components/OverlayContainer.d.ts +8 -0
  451. package/dist/esm/components/OverlayContainer.js +82 -0
  452. package/dist/esm/components/OverlayGripContainer.d.ts +4 -0
  453. package/dist/esm/components/OverlayGripContainer.js +11 -0
  454. package/dist/esm/components/OverlayParticles.d.ts +5 -0
  455. package/dist/esm/components/OverlayParticles.js +54 -0
  456. package/dist/esm/components/PlanSelectorContainer.d.ts +3 -0
  457. package/dist/esm/components/PlanSelectorContainer.js +79 -0
  458. package/dist/esm/components/RebookingNotesContainer.d.ts +4 -0
  459. package/dist/esm/components/RebookingNotesContainer.js +8 -0
  460. package/dist/esm/components/RebookingRadioGroupContainer.d.ts +6 -0
  461. package/dist/esm/components/RebookingRadioGroupContainer.js +23 -0
  462. package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +5 -0
  463. package/dist/esm/components/RoutePlanner/RoutePlanner.js +25 -0
  464. package/dist/esm/components/RoutePlanner/RoutePlannerHeader.d.ts +4 -0
  465. package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +11 -0
  466. package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.d.ts +9 -0
  467. package/dist/esm/components/RoutePlanner/RoutePlannerStartPoint.js +21 -0
  468. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +9 -0
  469. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +41 -0
  470. package/dist/esm/components/RouteQR.d.ts +12 -0
  471. package/dist/esm/components/RouteQR.js +10 -0
  472. package/dist/esm/components/Schedule.d.ts +13 -0
  473. package/dist/esm/components/Schedule.js +109 -0
  474. package/dist/esm/components/ScrollableRowContainer.d.ts +6 -0
  475. package/dist/esm/components/ScrollableRowContainer.js +11 -0
  476. package/dist/esm/components/Search.d.ts +5 -0
  477. package/dist/esm/components/Search.js +45 -0
  478. package/dist/esm/components/SearchBox.d.ts +7 -0
  479. package/dist/esm/components/SearchBox.js +171 -0
  480. package/dist/esm/components/SearchButtons/SearchButton.d.ts +20 -0
  481. package/dist/esm/components/SearchButtons/SearchButton.js +30 -0
  482. package/dist/esm/components/SearchButtons/SearchButtons.d.ts +4 -0
  483. package/dist/esm/components/SearchButtons/SearchButtons.js +25 -0
  484. package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +14 -0
  485. package/dist/esm/components/SearchButtons/SearchSubButton.js +12 -0
  486. package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +5 -0
  487. package/dist/esm/components/SearchButtons/SearchSubButtons.js +43 -0
  488. package/dist/esm/components/SearchButtons/index.d.ts +7 -0
  489. package/dist/esm/components/SearchButtons/index.js +5 -0
  490. package/dist/esm/components/Sessions.d.ts +8 -0
  491. package/dist/esm/components/Sessions.js +128 -0
  492. package/dist/esm/components/SessionsFiltersModal.d.ts +11 -0
  493. package/dist/esm/components/SessionsFiltersModal.js +105 -0
  494. package/dist/esm/components/SessionsList.d.ts +12 -0
  495. package/dist/esm/components/SessionsList.js +212 -0
  496. package/dist/esm/components/ShareContainer.d.ts +7 -0
  497. package/dist/esm/components/ShareContainer.js +29 -0
  498. package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +9 -0
  499. package/dist/esm/components/Shortcuts/ShortcutButton.js +25 -0
  500. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +9 -0
  501. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +41 -0
  502. package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +10 -0
  503. package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +22 -0
  504. package/dist/esm/components/Shortcuts/index.d.ts +4 -0
  505. package/dist/esm/components/Shortcuts/index.js +4 -0
  506. package/dist/esm/components/ShowMoreButtonContainer.d.ts +5 -0
  507. package/dist/esm/components/ShowMoreButtonContainer.js +8 -0
  508. package/dist/esm/components/SidebarActionsContainer.d.ts +5 -0
  509. package/dist/esm/components/SidebarActionsContainer.js +8 -0
  510. package/dist/esm/components/SimpleRowContainer.d.ts +8 -0
  511. package/dist/esm/components/SimpleRowContainer.js +8 -0
  512. package/dist/esm/components/Speaker.d.ts +5 -0
  513. package/dist/esm/components/Speaker.js +72 -0
  514. package/dist/esm/components/Speakers.d.ts +8 -0
  515. package/dist/esm/components/Speakers.js +63 -0
  516. package/dist/esm/components/SpeakersFiltersModal.d.ts +11 -0
  517. package/dist/esm/components/SpeakersFiltersModal.js +77 -0
  518. package/dist/esm/components/TourPoints.d.ts +4 -0
  519. package/dist/esm/components/TourPoints.js +20 -0
  520. package/dist/esm/components/Tours.d.ts +7 -0
  521. package/dist/esm/components/Tours.js +54 -0
  522. package/dist/esm/components/ToursList.d.ts +10 -0
  523. package/dist/esm/components/ToursList.js +22 -0
  524. package/dist/esm/components/ViewerMenuPanel.d.ts +5 -0
  525. package/dist/esm/components/ViewerMenuPanel.js +61 -0
  526. package/dist/esm/components/Visited.d.ts +4 -0
  527. package/dist/esm/components/Visited.js +13 -0
  528. package/dist/esm/components/WayInformation.d.ts +14 -0
  529. package/dist/esm/components/WayInformation.js +8 -0
  530. package/dist/esm/components/Wayfinding.d.ts +4 -0
  531. package/dist/esm/components/Wayfinding.js +285 -0
  532. package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
  533. package/dist/esm/components/WayfindingFloorSelectorContainer.js +12 -0
  534. package/dist/esm/components/WayfindingTemplate.d.ts +66 -0
  535. package/dist/esm/components/WayfindingTemplate.js +14 -0
  536. package/dist/esm/components/Ws.d.ts +5 -0
  537. package/dist/esm/components/Ws.js +131 -0
  538. package/dist/esm/components/YahRow.d.ts +8 -0
  539. package/dist/esm/components/YahRow.js +25 -0
  540. package/dist/esm/components/gps/GpsManager.d.ts +13 -0
  541. package/dist/esm/components/gps/GpsManager.js +60 -0
  542. package/dist/esm/components/gps/GpsPermissionRequest.d.ts +8 -0
  543. package/dist/esm/components/gps/GpsPermissionRequest.js +10 -0
  544. package/dist/esm/components/gps/index.d.ts +5 -0
  545. package/dist/esm/components/gps/index.js +3 -0
  546. package/dist/esm/components/gps/types.d.ts +7 -0
  547. package/dist/esm/components/gps/types.js +1 -0
  548. package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +8 -0
  549. package/dist/esm/components/gps/useUserLocationAndHeading.js +122 -0
  550. package/dist/esm/components/gps/utils.d.ts +5 -0
  551. package/dist/esm/components/gps/utils.js +11 -0
  552. package/dist/esm/components/heatmap-legend-ticks.d.ts +11 -0
  553. package/dist/esm/components/heatmap-legend-ticks.js +18 -0
  554. package/dist/esm/components/index.d.ts +114 -0
  555. package/dist/esm/components/index.js +76 -0
  556. package/dist/esm/components/utils/entity-venue-grouping.d.ts +32 -0
  557. package/dist/esm/components/utils/entity-venue-grouping.js +43 -0
  558. package/dist/esm/components/utils/getDescription.d.ts +19 -0
  559. package/dist/esm/components/utils/getDescription.js +35 -0
  560. package/dist/esm/constants.d.ts +44 -0
  561. package/dist/esm/constants.js +66 -0
  562. package/dist/esm/data/fp-payloads.d.ts +27 -0
  563. package/dist/esm/data/fp-payloads.js +53 -0
  564. package/dist/esm/data/fpGeo.d.ts +45 -0
  565. package/dist/esm/data/fpGeo.js +9 -0
  566. package/dist/esm/data/index.d.ts +15 -0
  567. package/dist/esm/data/index.js +15 -0
  568. package/dist/esm/data/layer-viewbox.d.ts +10 -0
  569. package/dist/esm/data/layer-viewbox.js +20 -0
  570. package/dist/esm/data/svg.d.ts +43 -0
  571. package/dist/esm/data/svg.js +210 -0
  572. package/dist/esm/data/tours.json +280 -0
  573. package/dist/esm/data/venue-scene-preload.d.ts +34 -0
  574. package/dist/esm/data/venue-scene-preload.js +205 -0
  575. package/dist/esm/data/venues.d.ts +145 -0
  576. package/dist/esm/data/venues.js +955 -0
  577. package/dist/esm/engine/defs.d.ts +38 -0
  578. package/dist/esm/engine/defs.js +85 -0
  579. package/dist/esm/engine/fonts.d.ts +9 -0
  580. package/dist/esm/engine/fonts.js +12 -0
  581. package/dist/esm/engine/update-def.d.ts +55 -0
  582. package/dist/esm/engine/update-def.js +127 -0
  583. package/dist/esm/engine/utils/rotation.d.ts +13 -0
  584. package/dist/esm/engine/utils/rotation.js +73 -0
  585. package/dist/esm/floorplan.loader.d.ts +164 -0
  586. package/dist/esm/floorplan.loader.js +540 -0
  587. package/dist/esm/floorplan.ready.d.ts +149 -0
  588. package/dist/esm/floorplan.ready.js +1083 -0
  589. package/dist/esm/hooks/useURLFilters.d.ts +15 -0
  590. package/dist/esm/hooks/useURLFilters.js +44 -0
  591. package/dist/esm/index.d.ts +3 -0
  592. package/dist/esm/index.js +12 -0
  593. package/dist/esm/intercom/bootIntercom.d.ts +3 -0
  594. package/dist/esm/intercom/bootIntercom.js +47 -0
  595. package/dist/esm/intercom/index.d.ts +3 -0
  596. package/dist/esm/intercom/index.js +1 -0
  597. package/dist/esm/intercom/shouldLoad.d.ts +4 -0
  598. package/dist/esm/intercom/shouldLoad.js +74 -0
  599. package/dist/esm/intercom/types.d.ts +6 -0
  600. package/dist/esm/intercom/types.js +1 -0
  601. package/dist/esm/internal-settings.d.ts +13 -0
  602. package/dist/esm/internal-settings.js +6 -0
  603. package/dist/esm/journey/external-navigation.d.ts +30 -0
  604. package/dist/esm/journey/external-navigation.js +38 -0
  605. package/dist/esm/journey/format-distance.d.ts +14 -0
  606. package/dist/esm/journey/format-distance.js +38 -0
  607. package/dist/esm/journey/index.d.ts +16 -0
  608. package/dist/esm/journey/index.js +15 -0
  609. package/dist/esm/journey/journey-context.d.ts +140 -0
  610. package/dist/esm/journey/journey-context.js +137 -0
  611. package/dist/esm/journey/journey-link.d.ts +49 -0
  612. package/dist/esm/journey/journey-link.js +35 -0
  613. package/dist/esm/journey/journey-stage.d.ts +35 -0
  614. package/dist/esm/journey/journey-stage.js +28 -0
  615. package/dist/esm/journey/maps-provider.d.ts +36 -0
  616. package/dist/esm/journey/maps-provider.js +58 -0
  617. package/dist/esm/journey/plan-journey.d.ts +37 -0
  618. package/dist/esm/journey/plan-journey.js +176 -0
  619. package/dist/esm/journey/types.d.ts +294 -0
  620. package/dist/esm/journey/types.js +1 -0
  621. package/dist/esm/load-dev.d.ts +44 -0
  622. package/dist/esm/load-dev.js +60 -0
  623. package/dist/esm/load.d.ts +17 -0
  624. package/dist/esm/load.js +244 -0
  625. package/dist/esm/locales.d.ts +25 -0
  626. package/dist/esm/locales.js +23 -0
  627. package/dist/esm/offline/constants.d.ts +5 -0
  628. package/dist/esm/offline/constants.js +4 -0
  629. package/dist/esm/offline/offlineManager.d.ts +2 -0
  630. package/dist/esm/offline/offlineManager.js +78 -0
  631. package/dist/esm/plan-lifecycle.d.ts +65 -0
  632. package/dist/esm/plan-lifecycle.js +97 -0
  633. package/dist/esm/schemas/sdk.schemas.d.ts +25 -0
  634. package/dist/esm/schemas/sdk.schemas.js +24 -0
  635. package/dist/esm/services/URLFilterManager.d.ts +39 -0
  636. package/dist/esm/services/URLFilterManager.js +379 -0
  637. package/dist/esm/services/multi-slug.d.ts +20 -0
  638. package/dist/esm/services/multi-slug.js +30 -0
  639. package/dist/esm/services/url-dispatch.d.ts +22 -0
  640. package/dist/esm/services/url-dispatch.js +707 -0
  641. package/dist/esm/services/url-sync.d.ts +40 -0
  642. package/dist/esm/services/url-sync.js +185 -0
  643. package/dist/esm/store/BaseFilterStore.d.ts +17 -0
  644. package/dist/esm/store/BaseFilterStore.js +63 -0
  645. package/dist/esm/store/BookmarksStore.d.ts +9 -0
  646. package/dist/esm/store/BookmarksStore.js +28 -0
  647. package/dist/esm/store/BoothStore.d.ts +105 -0
  648. package/dist/esm/store/BoothStore.js +194 -0
  649. package/dist/esm/store/CategoryFilterStore.d.ts +13 -0
  650. package/dist/esm/store/CategoryFilterStore.js +60 -0
  651. package/dist/esm/store/CategoryStore.d.ts +21 -0
  652. package/dist/esm/store/CategoryStore.js +30 -0
  653. package/dist/esm/store/EventStore.d.ts +56 -0
  654. package/dist/esm/store/EventStore.js +188 -0
  655. package/dist/esm/store/ExhibitorStore.d.ts +86 -0
  656. package/dist/esm/store/ExhibitorStore.js +175 -0
  657. package/dist/esm/store/FuzzySearchEngineStore.d.ts +15 -0
  658. package/dist/esm/store/FuzzySearchEngineStore.js +45 -0
  659. package/dist/esm/store/HeatmapStore.d.ts +51 -0
  660. package/dist/esm/store/HeatmapStore.js +100 -0
  661. package/dist/esm/store/IntercomStore.d.ts +7 -0
  662. package/dist/esm/store/IntercomStore.js +26 -0
  663. package/dist/esm/store/LayerStore.d.ts +70 -0
  664. package/dist/esm/store/LayerStore.js +399 -0
  665. package/dist/esm/store/MaplibreStore.d.ts +71 -0
  666. package/dist/esm/store/MaplibreStore.js +137 -0
  667. package/dist/esm/store/OverlayStore.d.ts +32 -0
  668. package/dist/esm/store/OverlayStore.js +68 -0
  669. package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
  670. package/dist/esm/store/PoiMarkerStore.js +97 -0
  671. package/dist/esm/store/PoiTypeStore.d.ts +8 -0
  672. package/dist/esm/store/PoiTypeStore.js +6 -0
  673. package/dist/esm/store/RootStore.d.ts +118 -0
  674. package/dist/esm/store/RootStore.js +666 -0
  675. package/dist/esm/store/RoutePlannerStore.d.ts +56 -0
  676. package/dist/esm/store/RoutePlannerStore.js +322 -0
  677. package/dist/esm/store/RouteStore.d.ts +138 -0
  678. package/dist/esm/store/RouteStore.js +692 -0
  679. package/dist/esm/store/SearchButtonsStore.d.ts +2 -0
  680. package/dist/esm/store/SearchButtonsStore.js +2 -0
  681. package/dist/esm/store/SearchStore.d.ts +81 -0
  682. package/dist/esm/store/SearchStore.js +612 -0
  683. package/dist/esm/store/SessionsFilterStore.d.ts +53 -0
  684. package/dist/esm/store/SessionsFilterStore.js +169 -0
  685. package/dist/esm/store/ShortcutProvider.d.ts +26 -0
  686. package/dist/esm/store/ShortcutProvider.js +5 -0
  687. package/dist/esm/store/ShortcutRegistry.d.ts +33 -0
  688. package/dist/esm/store/ShortcutRegistry.js +130 -0
  689. package/dist/esm/store/SpeakerFilterStore.d.ts +39 -0
  690. package/dist/esm/store/SpeakerFilterStore.js +152 -0
  691. package/dist/esm/store/SpeakerStore.d.ts +45 -0
  692. package/dist/esm/store/SpeakerStore.js +142 -0
  693. package/dist/esm/store/SubButtonProvider.d.ts +16 -0
  694. package/dist/esm/store/SubButtonProvider.js +6 -0
  695. package/dist/esm/store/SubButtonRegistry.d.ts +16 -0
  696. package/dist/esm/store/SubButtonRegistry.js +58 -0
  697. package/dist/esm/store/ToursStore.d.ts +30 -0
  698. package/dist/esm/store/ToursStore.js +184 -0
  699. package/dist/esm/store/UIState.d.ts +329 -0
  700. package/dist/esm/store/UIState.js +2138 -0
  701. package/dist/esm/store/VenueStore.d.ts +254 -0
  702. package/dist/esm/store/VenueStore.js +650 -0
  703. package/dist/esm/store/create-live-plan.d.ts +13 -0
  704. package/dist/esm/store/create-live-plan.js +25 -0
  705. package/dist/esm/store/details-events.d.ts +11 -0
  706. package/dist/esm/store/details-events.js +76 -0
  707. package/dist/esm/store/floor-activated-notifier.d.ts +18 -0
  708. package/dist/esm/store/floor-activated-notifier.js +22 -0
  709. package/dist/esm/store/index.d.ts +3 -0
  710. package/dist/esm/store/index.js +14 -0
  711. package/dist/esm/store/init/index.d.ts +3 -0
  712. package/dist/esm/store/init/index.js +20 -0
  713. package/dist/esm/store/init/init-booths.d.ts +6 -0
  714. package/dist/esm/store/init/init-booths.js +306 -0
  715. package/dist/esm/store/init/init-categories.d.ts +3 -0
  716. package/dist/esm/store/init/init-categories.js +28 -0
  717. package/dist/esm/store/init/init-events.d.ts +3 -0
  718. package/dist/esm/store/init/init-events.js +45 -0
  719. package/dist/esm/store/init/init-exhibitors.d.ts +3 -0
  720. package/dist/esm/store/init/init-exhibitors.js +71 -0
  721. package/dist/esm/store/init/init-heatmap.d.ts +3 -0
  722. package/dist/esm/store/init/init-heatmap.js +37 -0
  723. package/dist/esm/store/init/init-layers.d.ts +8 -0
  724. package/dist/esm/store/init/init-layers.js +151 -0
  725. package/dist/esm/store/init/init-poiTypes.d.ts +3 -0
  726. package/dist/esm/store/init/init-poiTypes.js +6 -0
  727. package/dist/esm/store/init/init-speakers.d.ts +3 -0
  728. package/dist/esm/store/init/init-speakers.js +20 -0
  729. package/dist/esm/store/init/init-ui.d.ts +13 -0
  730. package/dist/esm/store/init/init-ui.js +155 -0
  731. package/dist/esm/store/journey-plan.d.ts +89 -0
  732. package/dist/esm/store/journey-plan.js +291 -0
  733. package/dist/esm/store/live-store.d.ts +19 -0
  734. package/dist/esm/store/live-store.js +26 -0
  735. package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
  736. package/dist/esm/store/outdoor-poi-filter.js +33 -0
  737. package/dist/esm/store/providers/SearchShortcutProvider.d.ts +13 -0
  738. package/dist/esm/store/providers/SearchShortcutProvider.js +59 -0
  739. package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +17 -0
  740. package/dist/esm/store/providers/SessionsShortcutProvider.js +221 -0
  741. package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +33 -0
  742. package/dist/esm/store/providers/SessionsSubButtonProvider.js +100 -0
  743. package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +12 -0
  744. package/dist/esm/store/providers/SpeakerShortcutProvider.js +73 -0
  745. package/dist/esm/store/reveal-layer.d.ts +29 -0
  746. package/dist/esm/store/reveal-layer.js +25 -0
  747. package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +55 -0
  748. package/dist/esm/store/search-buttons/SearchButtonsActions.js +363 -0
  749. package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +37 -0
  750. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +291 -0
  751. package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +20 -0
  752. package/dist/esm/store/search-buttons/SearchButtonsFilters.js +157 -0
  753. package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +24 -0
  754. package/dist/esm/store/search-buttons/SearchButtonsState.js +125 -0
  755. package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +73 -0
  756. package/dist/esm/store/search-buttons/SearchButtonsStore.js +364 -0
  757. package/dist/esm/store/search-buttons/constants.d.ts +24 -0
  758. package/dist/esm/store/search-buttons/constants.js +24 -0
  759. package/dist/esm/store/search-buttons/index.d.ts +8 -0
  760. package/dist/esm/store/search-buttons/index.js +7 -0
  761. package/dist/esm/store/search-buttons/utils.d.ts +6 -0
  762. package/dist/esm/store/search-buttons/utils.js +34 -0
  763. package/dist/esm/store/types.d.ts +213 -0
  764. package/dist/esm/store/types.js +1 -0
  765. package/dist/esm/store/venue-public.d.ts +10 -0
  766. package/dist/esm/store/venue-public.js +14 -0
  767. package/dist/esm/store/venue-selection.d.ts +45 -0
  768. package/dist/esm/store/venue-selection.js +101 -0
  769. package/dist/esm/test/store-harness.d.ts +32 -0
  770. package/dist/esm/test/store-harness.js +116 -0
  771. package/dist/esm/tools/base-runtime-url.d.ts +3 -0
  772. package/dist/esm/tools/base-runtime-url.js +23 -0
  773. package/dist/esm/tools/debounce.d.ts +2 -0
  774. package/dist/esm/tools/debounce.js +10 -0
  775. package/dist/esm/tools/debugCanvases.d.ts +3 -0
  776. package/dist/esm/tools/debugCanvases.js +3 -0
  777. package/dist/esm/tools/event-not-found.d.ts +18 -0
  778. package/dist/esm/tools/event-not-found.js +50 -0
  779. package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
  780. package/dist/esm/tools/event-scoped-cache.js +47 -0
  781. package/dist/esm/tools/expofpUrl.d.ts +7 -0
  782. package/dist/esm/tools/expofpUrl.js +10 -0
  783. package/dist/esm/tools/freeBanner.d.ts +5 -0
  784. package/dist/esm/tools/freeBanner.js +11 -0
  785. package/dist/esm/tools/gtag.d.ts +66 -0
  786. package/dist/esm/tools/gtag.js +287 -0
  787. package/dist/esm/tools/handleDebugMode.d.ts +19 -0
  788. package/dist/esm/tools/handleDebugMode.js +61 -0
  789. package/dist/esm/tools/has-html-tags.d.ts +2 -0
  790. package/dist/esm/tools/has-html-tags.js +3 -0
  791. package/dist/esm/tools/id.d.ts +2 -0
  792. package/dist/esm/tools/id.js +5 -0
  793. package/dist/esm/tools/loaders.d.ts +5 -0
  794. package/dist/esm/tools/loaders.js +67 -0
  795. package/dist/esm/tools/logger.d.ts +38 -0
  796. package/dist/esm/tools/logger.js +87 -0
  797. package/dist/esm/tools/rebooking-config.d.ts +10 -0
  798. package/dist/esm/tools/rebooking-config.js +19 -0
  799. package/dist/esm/tools/rebookingUrl.d.ts +11 -0
  800. package/dist/esm/tools/rebookingUrl.js +27 -0
  801. package/dist/esm/tools/report-error.d.ts +2 -0
  802. package/dist/esm/tools/report-error.js +134 -0
  803. package/dist/esm/tools/reset.d.ts +2 -0
  804. package/dist/esm/tools/reset.js +35 -0
  805. package/dist/esm/tools/sentry.d.ts +7 -0
  806. package/dist/esm/tools/sentry.js +166 -0
  807. package/dist/esm/tools/settings.d.ts +36 -0
  808. package/dist/esm/tools/settings.js +110 -0
  809. package/dist/esm/tools/slug.d.ts +2 -0
  810. package/dist/esm/tools/slug.js +27 -0
  811. package/dist/esm/tools/strip-html.d.ts +2 -0
  812. package/dist/esm/tools/strip-html.js +7 -0
  813. package/dist/esm/tools/style-registry.d.ts +28 -0
  814. package/dist/esm/tools/style-registry.js +46 -0
  815. package/dist/esm/tools/telemetry.d.ts +37 -0
  816. package/dist/esm/tools/telemetry.js +266 -0
  817. package/dist/esm/tools/track-event.d.ts +28 -0
  818. package/dist/esm/tools/track-event.js +196 -0
  819. package/dist/esm/tools/webgl-logger.d.ts +2 -0
  820. package/dist/esm/tools/webgl-logger.js +31 -0
  821. package/dist/esm/types/drawing.types.d.ts +18 -0
  822. package/dist/esm/types/drawing.types.js +1 -0
  823. package/dist/esm/types/sdk.types.d.ts +49 -0
  824. package/dist/esm/types/sdk.types.js +6 -0
  825. package/dist/esm/types.d.ts +593 -0
  826. package/dist/esm/types.js +1 -0
  827. package/dist/esm/utils/_OLD_gpu-info.d.ts +6 -0
  828. package/dist/esm/utils/_OLD_gpu-info.js +23 -0
  829. package/dist/esm/utils/_OLD_should-use-backdrop.d.ts +3 -0
  830. package/dist/esm/utils/_OLD_should-use-backdrop.js +4 -0
  831. package/dist/esm/utils/areLayersEnabled.d.ts +2 -0
  832. package/dist/esm/utils/areLayersEnabled.js +4 -0
  833. package/dist/esm/utils/blob-image-size.d.ts +27 -0
  834. package/dist/esm/utils/blob-image-size.js +37 -0
  835. package/dist/esm/utils/brand.d.ts +18 -0
  836. package/dist/esm/utils/brand.js +19 -0
  837. package/dist/esm/utils/browser.d.ts +4 -0
  838. package/dist/esm/utils/browser.js +4 -0
  839. package/dist/esm/utils/calcSpeed.d.ts +2 -0
  840. package/dist/esm/utils/calcSpeed.js +5 -0
  841. package/dist/esm/utils/calcTravelTime.d.ts +2 -0
  842. package/dist/esm/utils/calcTravelTime.js +3 -0
  843. package/dist/esm/utils/camera-map-settings.d.ts +26 -0
  844. package/dist/esm/utils/camera-map-settings.js +86 -0
  845. package/dist/esm/utils/color-gradient.d.ts +2 -0
  846. package/dist/esm/utils/color-gradient.js +14 -0
  847. package/dist/esm/utils/customCommands.d.ts +2 -0
  848. package/dist/esm/utils/customCommands.js +33 -0
  849. package/dist/esm/utils/detectLimitedModeViaImage.d.ts +2 -0
  850. package/dist/esm/utils/detectLimitedModeViaImage.js +33 -0
  851. package/dist/esm/utils/dimming.d.ts +27 -0
  852. package/dist/esm/utils/dimming.js +88 -0
  853. package/dist/esm/utils/entity-storage.d.ts +14 -0
  854. package/dist/esm/utils/entity-storage.js +122 -0
  855. package/dist/esm/utils/event-head.d.ts +38 -0
  856. package/dist/esm/utils/event-head.js +90 -0
  857. package/dist/esm/utils/event-now.d.ts +11 -0
  858. package/dist/esm/utils/event-now.js +40 -0
  859. package/dist/esm/utils/event-title.d.ts +19 -0
  860. package/dist/esm/utils/event-title.js +20 -0
  861. package/dist/esm/utils/eventFullBadge.d.ts +3 -0
  862. package/dist/esm/utils/eventFullBadge.js +7 -0
  863. package/dist/esm/utils/eventTime.d.ts +15 -0
  864. package/dist/esm/utils/eventTime.js +82 -0
  865. package/dist/esm/utils/extractMetaFromString.d.ts +5 -0
  866. package/dist/esm/utils/extractMetaFromString.js +16 -0
  867. package/dist/esm/utils/geo-anchors.d.ts +10 -0
  868. package/dist/esm/utils/geo-anchors.js +12 -0
  869. package/dist/esm/utils/geometry.d.ts +2 -0
  870. package/dist/esm/utils/geometry.js +12 -0
  871. package/dist/esm/utils/getContrastTextColor.d.ts +2 -0
  872. package/dist/esm/utils/getContrastTextColor.js +26 -0
  873. package/dist/esm/utils/getLogoUrl.d.ts +9 -0
  874. package/dist/esm/utils/getLogoUrl.js +26 -0
  875. package/dist/esm/utils/getMostFrequent.d.ts +2 -0
  876. package/dist/esm/utils/getMostFrequent.js +14 -0
  877. package/dist/esm/utils/getRenderTargetFromRoot.d.ts +2 -0
  878. package/dist/esm/utils/getRenderTargetFromRoot.js +19 -0
  879. package/dist/esm/utils/gps.d.ts +40 -0
  880. package/dist/esm/utils/gps.js +66 -0
  881. package/dist/esm/utils/heatmap-enabled.d.ts +13 -0
  882. package/dist/esm/utils/heatmap-enabled.js +13 -0
  883. package/dist/esm/utils/i18n.d.ts +18 -0
  884. package/dist/esm/utils/i18n.js +117 -0
  885. package/dist/esm/utils/index.d.ts +10 -0
  886. package/dist/esm/utils/index.js +60 -0
  887. package/dist/esm/utils/is-debug.d.ts +3 -0
  888. package/dist/esm/utils/is-debug.js +9 -0
  889. package/dist/esm/utils/is-from-designer.d.ts +3 -0
  890. package/dist/esm/utils/is-from-designer.js +4 -0
  891. package/dist/esm/utils/is-iframe.d.ts +3 -0
  892. package/dist/esm/utils/is-iframe.js +13 -0
  893. package/dist/esm/utils/is-localhost.d.ts +3 -0
  894. package/dist/esm/utils/is-localhost.js +11 -0
  895. package/dist/esm/utils/is-mac.d.ts +3 -0
  896. package/dist/esm/utils/is-mac.js +2 -0
  897. package/dist/esm/utils/is-mobile.d.ts +3 -0
  898. package/dist/esm/utils/is-mobile.js +2 -0
  899. package/dist/esm/utils/is-own-domain.d.ts +12 -0
  900. package/dist/esm/utils/is-own-domain.js +23 -0
  901. package/dist/esm/utils/is-pathway-layer.d.ts +2 -0
  902. package/dist/esm/utils/is-pathway-layer.js +4 -0
  903. package/dist/esm/utils/is-phone.d.ts +9 -0
  904. package/dist/esm/utils/is-phone.js +17 -0
  905. package/dist/esm/utils/is-scroll-ugly.d.ts +3 -0
  906. package/dist/esm/utils/is-scroll-ugly.js +13 -0
  907. package/dist/esm/utils/is-webview.d.ts +3 -0
  908. package/dist/esm/utils/is-webview.js +2 -0
  909. package/dist/esm/utils/isNumericLevel.d.ts +2 -0
  910. package/dist/esm/utils/isNumericLevel.js +3 -0
  911. package/dist/esm/utils/lazy-qr-code.d.ts +5 -0
  912. package/dist/esm/utils/lazy-qr-code.js +6 -0
  913. package/dist/esm/utils/legacy-storage-keys.d.ts +16 -0
  914. package/dist/esm/utils/legacy-storage-keys.js +38 -0
  915. package/dist/esm/utils/loadBlob.d.ts +16 -0
  916. package/dist/esm/utils/loadBlob.js +40 -0
  917. package/dist/esm/utils/loadCustomCss.d.ts +3 -0
  918. package/dist/esm/utils/loadCustomCss.js +19 -0
  919. package/dist/esm/utils/loadIcons.d.ts +3 -0
  920. package/dist/esm/utils/loadIcons.js +24 -0
  921. package/dist/esm/utils/loadImage.d.ts +2 -0
  922. package/dist/esm/utils/loadImage.js +11 -0
  923. package/dist/esm/utils/loadImagesInBatches.d.ts +22 -0
  924. package/dist/esm/utils/loadImagesInBatches.js +82 -0
  925. package/dist/esm/utils/loadLayerImages.d.ts +41 -0
  926. package/dist/esm/utils/loadLayerImages.js +107 -0
  927. package/dist/esm/utils/localStorage.d.ts +2 -0
  928. package/dist/esm/utils/localStorage.js +11 -0
  929. package/dist/esm/utils/lz-utils.d.ts +8 -0
  930. package/dist/esm/utils/lz-utils.js +16 -0
  931. package/dist/esm/utils/mapEntity.d.ts +3 -0
  932. package/dist/esm/utils/mapEntity.js +82 -0
  933. package/dist/esm/utils/math.d.ts +6 -0
  934. package/dist/esm/utils/math.js +7 -0
  935. package/dist/esm/utils/mobx.d.ts +35 -0
  936. package/dist/esm/utils/mobx.js +74 -0
  937. package/dist/esm/utils/outdoor-poi.d.ts +32 -0
  938. package/dist/esm/utils/outdoor-poi.js +28 -0
  939. package/dist/esm/utils/plan-reactions.d.ts +20 -0
  940. package/dist/esm/utils/plan-reactions.js +26 -0
  941. package/dist/esm/utils/planBearing.d.ts +14 -0
  942. package/dist/esm/utils/planBearing.js +15 -0
  943. package/dist/esm/utils/preview-exhibitor.d.ts +11 -0
  944. package/dist/esm/utils/preview-exhibitor.js +19 -0
  945. package/dist/esm/utils/rasterize-svg.d.ts +32 -0
  946. package/dist/esm/utils/rasterize-svg.js +78 -0
  947. package/dist/esm/utils/responsiveClass.d.ts +2 -0
  948. package/dist/esm/utils/responsiveClass.js +25 -0
  949. package/dist/esm/utils/rtl.d.ts +2 -0
  950. package/dist/esm/utils/rtl.js +4 -0
  951. package/dist/esm/utils/sanitizeHtml.d.ts +3 -0
  952. package/dist/esm/utils/sanitizeHtml.js +21 -0
  953. package/dist/esm/utils/sanitizeText.d.ts +9 -0
  954. package/dist/esm/utils/sanitizeText.js +19 -0
  955. package/dist/esm/utils/scene-bounds.d.ts +64 -0
  956. package/dist/esm/utils/scene-bounds.js +127 -0
  957. package/dist/esm/utils/shortenName.d.ts +2 -0
  958. package/dist/esm/utils/shortenName.js +19 -0
  959. package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +2 -0
  960. package/dist/esm/utils/silence-mobx-react-lite-warning.js +24 -0
  961. package/dist/esm/utils/strEqual.d.ts +2 -0
  962. package/dist/esm/utils/strEqual.js +3 -0
  963. package/dist/esm/utils/swappable-proxy.d.ts +28 -0
  964. package/dist/esm/utils/swappable-proxy.js +71 -0
  965. package/dist/esm/utils/trackingParams.d.ts +3 -0
  966. package/dist/esm/utils/trackingParams.js +24 -0
  967. package/dist/esm/utils/urlEncoding.d.ts +7 -0
  968. package/dist/esm/utils/urlEncoding.js +62 -0
  969. package/dist/esm/utils/use-shadow.d.ts +3 -0
  970. package/dist/esm/utils/use-shadow.js +10 -0
  971. package/dist/esm/utils/useHeatmapData.d.ts +10 -0
  972. package/dist/esm/utils/useHeatmapData.js +8 -0
  973. package/dist/esm/utils/useHeatmapOverlay.d.ts +9 -0
  974. package/dist/esm/utils/useHeatmapOverlay.js +56 -0
  975. package/dist/esm/utils/useRenderTarget.d.ts +2 -0
  976. package/dist/esm/utils/useRenderTarget.js +35 -0
  977. package/dist/esm/utils/yah_icon.d.ts +6 -0
  978. package/dist/esm/utils/yah_icon.js +457 -0
  979. package/dist/esm/wayfinding/adapters/arbitraryPoint.d.ts +32 -0
  980. package/dist/esm/wayfinding/adapters/arbitraryPoint.js +25 -0
  981. package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +19 -0
  982. package/dist/esm/wayfinding/adapters/boothToEndpoint.js +32 -0
  983. package/dist/esm/wayfinding/adapters/campusEndpoints.d.ts +13 -0
  984. package/dist/esm/wayfinding/adapters/campusEndpoints.js +25 -0
  985. package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
  986. package/dist/esm/wayfinding/adapters/canvasIconProvider.js +73 -0
  987. package/dist/esm/wayfinding/adapters/floorContext.d.ts +20 -0
  988. package/dist/esm/wayfinding/adapters/floorContext.js +43 -0
  989. package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +49 -0
  990. package/dist/esm/wayfinding/adapters/graphDataSource.js +87 -0
  991. package/dist/esm/wayfinding/adapters/index.d.ts +10 -0
  992. package/dist/esm/wayfinding/adapters/index.js +8 -0
  993. package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
  994. package/dist/esm/wayfinding/adapters/kioskCanvas.js +22 -0
  995. package/dist/esm/wayfinding/adapters/positionInput.d.ts +12 -0
  996. package/dist/esm/wayfinding/adapters/positionInput.js +16 -0
  997. package/dist/esm/wayfinding/bindMobxReactions.d.ts +28 -0
  998. package/dist/esm/wayfinding/bindMobxReactions.js +171 -0
  999. package/dist/esm/wayfinding/createWayfinding.d.ts +34 -0
  1000. package/dist/esm/wayfinding/createWayfinding.js +184 -0
  1001. package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +26 -0
  1002. package/dist/esm/wayfinding/handlers/kioskHandler.js +52 -0
  1003. package/dist/esm/wayfinding/handlers/yahHandler.d.ts +21 -0
  1004. package/dist/esm/wayfinding/handlers/yahHandler.js +42 -0
  1005. package/dist/esm/wayfinding/index.d.ts +12 -0
  1006. package/dist/esm/wayfinding/index.js +9 -0
  1007. package/dist/esm/wayfinding/routeSteps.d.ts +15 -0
  1008. package/dist/esm/wayfinding/routeSteps.js +29 -0
  1009. package/dist/esm/wayfinding/storePorts.d.ts +67 -0
  1010. package/dist/esm/wayfinding/storePorts.js +1 -0
  1011. package/package.json +146 -0
@@ -0,0 +1,85 @@
1
+ import { update } from '@expofp/renderer';
2
+ import { useRef } from 'react';
3
+ import store from '../../store';
4
+ import { useReaction } from '../../utils/mobx';
5
+ import { fitMapToLocalRect } from './utils/geo-config';
6
+ import { collectLayerDefsByName } from './utils/layer-defs';
7
+ /**
8
+ * Keeps the 3D scene layer visibility in sync with LayerStore.
9
+ * When a layer's visibility changes, updates the corresponding LayerDefs
10
+ * and fits the camera to the newly visible floor.
11
+ *
12
+ * Single owner of `LayerDef.hidden`: a floor def is hidden when its layer is
13
+ * not visible OR its venue has degraded below its detail cutoff (R6); a venue
14
+ * aux layer def is hidden unless the venue's zoom state lists it visible (R5 —
15
+ * `Layer.visible` is ignored, the zoom range is the only signal). No other
16
+ * code writes the field, so degradation hiding and visibility switching can
17
+ * never fight over it.
18
+ *
19
+ * The claim is scoped to the defs reachable from `store.layerStore.layers`.
20
+ * Booth badges are deliberately outside it: `configAll` stacks them in a flat
21
+ * `root::badges` layer above the plan, which is neither a store layer nor a
22
+ * child of one, so neither this reaction nor the parent-hidden cascade reaches
23
+ * them. They answer the same question for themselves — see
24
+ * `config-booth-badge-visibility`.
25
+ */
26
+ export function useLayerVisibilitySync(scene, mapRef, geoConfig) {
27
+ const layerDefsByNameRef = useRef(null);
28
+ const visibleFloorNameRef = useRef(null);
29
+ useReaction(() => [
30
+ ...store.layerStore.layers.map((layer) => `${layer.name}:${layer.visible ? 1 : 0}`),
31
+ `quarantine:${store.layerStore.quarantinedLayerNames.join('+')}`,
32
+ ...store.venueStore.venues.map((venue) => `${venue.id}:${venue.detailVisible ? 1 : 0}:${venue.presentationState?.visibleAuxLayers.join('+') ?? ''}`),
33
+ ].join(','), () => {
34
+ if (!scene)
35
+ return;
36
+ if (layerDefsByNameRef.current?.rootLayer !== scene.rootLayer) {
37
+ layerDefsByNameRef.current = {
38
+ rootLayer: scene.rootLayer,
39
+ defsByName: collectLayerDefsByName(scene.rootLayer),
40
+ };
41
+ }
42
+ const defsByName = layerDefsByNameRef.current.defsByName;
43
+ const defsToUpdate = [];
44
+ const belowDetail = (layer) => {
45
+ const venue = store.venueStore.venueOfLayer(layer.rootParent?.name ?? layer.name);
46
+ return !!venue && !venue.detailVisible;
47
+ };
48
+ const auxVenuesByLayerName = store.venueStore.auxVenuesByLayerName;
49
+ // Pin-kind aux artwork renders only as a screen-fixed marker icon
50
+ // (useVenueLayers, KTD-5) — its scene def stays hidden unconditionally
51
+ // so the artwork never double-renders as a zoom-scaling plan layer.
52
+ const isPinAux = (name, owners) => owners.some((venue) => venue.auxLayers.some((ref) => ref.layer === name && ref.render === 'marker'));
53
+ for (const layer of store.layerStore.layers) {
54
+ const defs = defsByName.get(layer.name);
55
+ if (!defs?.length)
56
+ continue;
57
+ const auxOwners = auxVenuesByLayerName.get(layer.name);
58
+ const hidden = store.layerStore.isLayerQuarantined(layer) ||
59
+ (auxOwners
60
+ ? isPinAux(layer.name, auxOwners) ||
61
+ !auxOwners.some((venue) => venue.presentationState?.visibleAuxLayers.includes(layer.name))
62
+ : !layer.visible || belowDetail(layer));
63
+ for (const def of defs) {
64
+ if (def.hidden === hidden)
65
+ continue;
66
+ def.hidden = hidden;
67
+ defsToUpdate.push(def);
68
+ }
69
+ }
70
+ if (defsToUpdate.length) {
71
+ update(...defsToUpdate);
72
+ }
73
+ // Venue-model plans drive the camera from focus/level actions, never
74
+ // from visibility syncing: venue-model activation sets its own target
75
+ // (VenueStore.activateLayer).
76
+ if (store.venueStore.isCampusMode)
77
+ return;
78
+ const visibleFloor = store.layerStore.layers.find((layer) => layer.visible && !layer.frozen && !layer.rootParent && !layer.pathway);
79
+ if (!visibleFloor || visibleFloorNameRef.current === visibleFloor.name)
80
+ return;
81
+ visibleFloorNameRef.current = visibleFloor.name;
82
+ const floorRect = visibleFloor.viewbox ?? visibleFloor.rect;
83
+ fitMapToLocalRect(mapRef.current, floorRect ?? null, geoConfig);
84
+ }, { fireImmediately: true }, [scene, mapRef, geoConfig]);
85
+ }
@@ -0,0 +1,25 @@
1
+ import { type Map as MaplibreMap } from 'maplibre-gl';
2
+ import { type RefObject } from 'react';
3
+ import { type GeoConfig } from './utils/geo-config';
4
+ /**
5
+ * Renders the outdoor PoI markers (hotels, parking, transit) as native
6
+ * MapLibre layers: a GeoJSON source with `cluster: true` plus symbol/circle
7
+ * layers on top of it. Geo map only — the hook is mounted from
8
+ * MaplibreAdapter, and runs once the renderer's `3d` custom layer exists so
9
+ * the marker stack draws above the floor plan.
10
+ *
11
+ * The marker feed is `store.poiMarkerStore`: `config-outdoor-poi` builds the
12
+ * marker records (including the rasterized pins, registered here via
13
+ * `map.addImage`), and the store derives selection (`selectedMarkerId`), the
14
+ * active filter (`outdoorFilter`) and dimming suppression from them. These
15
+ * layers are the *only* rendering outdoor PoIs get — see
16
+ * `configOutdoorPoiLayer`. Clicks are claimed from the renderer path via
17
+ * `poiMarkerHitTest`.
18
+ *
19
+ * Gated behind `enableExperimentalOutdoorMarkers`: with the flag off no layers,
20
+ * images or handlers are created at all. The feed is empty in that case too
21
+ * (`configOutdoorPoiLayer` never publishes), so this is belt-and-braces — it
22
+ * keeps the map untouched even if markers reach the store another way.
23
+ */
24
+ export declare function usePoiMarkers(ready: boolean, mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null): void;
25
+ //# sourceMappingURL=usePoiMarkers.d.ts.map
@@ -0,0 +1,368 @@
1
+ import { Box } from '@expofp/geometry';
2
+ import { reaction } from 'mobx';
3
+ import { useEffect } from 'react';
4
+ import { POI_CLUSTER_COLOR, POI_CLUSTER_MIN_POINTS, POI_CLUSTER_RADIUS_PX, POI_CLUSTER_SIZE_PX, POI_CLUSTER_STROKE_COLOR, POI_CLUSTER_STROKE_WIDTH_PX, POI_CLUSTER_TEXT_SIZE_PX, POI_MARKER_PIN_WIDTH_PX, POI_SELECTED_PIN_WIDTH_PX, } from '../../constants';
5
+ import store from '../../store';
6
+ import settings from '../../tools/settings';
7
+ import { DIM_INTENSITY } from '../../utils/dimming';
8
+ import { convertLocalToGps } from '../../utils/gps';
9
+ import { isOutdoorMarkersEnabled } from '../../utils/outdoor-poi';
10
+ import { createPoiPinheadImage } from '../Map/drawing/config/poi-pin.js';
11
+ import { getPoiPinLayout, POI_MARKER_PIN_SHAPE, POI_SELECTED_PIN_SHAPE, } from '../Map/drawing/config/poi-pin-shape.js';
12
+ import { getMapDimTarget } from './useDimming';
13
+ import { getLocalRectGeoBounds, getVisibleRectFitPadding, isLngLatInVisibleViewport, } from './utils/geo-config';
14
+ import { beforeLayer, POI_MARKER_FLOOR_LAYER_ID, VENUE_MARKER_FLOOR_LAYER_ID, } from './utils/marker-layer-order';
15
+ import { poiMarkerHitTest } from './utils/poi-marker-hit-test';
16
+ import { pickUprightTextFont } from './utils/style-fonts';
17
+ const POI_SOURCE_ID = 'expofp-poi';
18
+ const POI_CLUSTERS_LAYER_ID = POI_MARKER_FLOOR_LAYER_ID;
19
+ const POI_CLUSTER_COUNT_LAYER_ID = 'expofp-poi-cluster-count';
20
+ const POI_UNCLUSTERED_LAYER_ID = 'expofp-poi-unclustered';
21
+ const POI_SELECTED_LAYER_ID = 'expofp-poi-selected';
22
+ const POI_PINHEAD_IMAGE_ID = 'expofp-poi-pinhead-image';
23
+ const POI_CLUSTER_FOOTPRINT_IMAGE_ID = 'expofp-poi-cluster-footprint-image';
24
+ /** All native POI layers, in add order (pinhead on top). */
25
+ const POI_LAYER_IDS = [
26
+ POI_CLUSTERS_LAYER_ID,
27
+ POI_CLUSTER_COUNT_LAYER_ID,
28
+ POI_UNCLUSTERED_LAYER_ID,
29
+ POI_SELECTED_LAYER_ID,
30
+ ];
31
+ /**
32
+ * The layers whose features a click should claim from the renderer path — all
33
+ * of them but the cluster count, whose glyphs sit on the cluster circles.
34
+ */
35
+ const POI_HIT_LAYER_IDS = POI_LAYER_IDS.filter((id) => id !== POI_CLUSTER_COUNT_LAYER_ID);
36
+ const iconImageId = (boothId) => `expofp-poi-icon-${boothId}`;
37
+ /**
38
+ * Renders the outdoor PoI markers (hotels, parking, transit) as native
39
+ * MapLibre layers: a GeoJSON source with `cluster: true` plus symbol/circle
40
+ * layers on top of it. Geo map only — the hook is mounted from
41
+ * MaplibreAdapter, and runs once the renderer's `3d` custom layer exists so
42
+ * the marker stack draws above the floor plan.
43
+ *
44
+ * The marker feed is `store.poiMarkerStore`: `config-outdoor-poi` builds the
45
+ * marker records (including the rasterized pins, registered here via
46
+ * `map.addImage`), and the store derives selection (`selectedMarkerId`), the
47
+ * active filter (`outdoorFilter`) and dimming suppression from them. These
48
+ * layers are the *only* rendering outdoor PoIs get — see
49
+ * `configOutdoorPoiLayer`. Clicks are claimed from the renderer path via
50
+ * `poiMarkerHitTest`.
51
+ *
52
+ * Gated behind `enableExperimentalOutdoorMarkers`: with the flag off no layers,
53
+ * images or handlers are created at all. The feed is empty in that case too
54
+ * (`configOutdoorPoiLayer` never publishes), so this is belt-and-braces — it
55
+ * keeps the map untouched even if markers reach the store another way.
56
+ */
57
+ export function usePoiMarkers(ready, mapRef, geoConfig) {
58
+ useEffect(() => {
59
+ if (!isOutdoorMarkersEnabled())
60
+ return;
61
+ const map = mapRef.current;
62
+ if (!ready || !map || !geoConfig)
63
+ return;
64
+ const { gpsConfig } = geoConfig;
65
+ const registeredImages = new Set();
66
+ // Shared selection visual: every marker uses the same pinhead, drawn in
67
+ // the selection color — so one image serves all markers.
68
+ const pixelRatio = window.devicePixelRatio || 1;
69
+ const selectionColor = settings.colors?.booths?.selected || '#3b6ef5';
70
+ const pinheadImage = createPoiPinheadImage(POI_SELECTED_PIN_WIDTH_PX, pixelRatio, selectionColor);
71
+ // The pin images carry a drop shadow below the tip; shift each one down so
72
+ // the tip itself sits on the marker's point.
73
+ const markerTipOffset = getPoiPinLayout(POI_MARKER_PIN_SHAPE, POI_MARKER_PIN_WIDTH_PX, pixelRatio).tipOffset;
74
+ const pinheadTipOffset = getPoiPinLayout(POI_SELECTED_PIN_SHAPE, POI_SELECTED_PIN_WIDTH_PX, pixelRatio).tipOffset;
75
+ // Circle layers never collide, so the cluster disc reserves its space
76
+ // through a transparent, disc-sized icon on the count layer instead.
77
+ const clusterFootprintPx = Math.ceil((POI_CLUSTER_SIZE_PX + 2 * POI_CLUSTER_STROKE_WIDTH_PX) * pixelRatio);
78
+ const clusterFootprintImage = new ImageData(clusterFootprintPx, clusterFootprintPx);
79
+ const lngLatOf = (marker) => convertLocalToGps(marker.center.x, marker.center.y, gpsConfig);
80
+ // The pins (config-outdoor-poi) and the shared pinhead are rasterized at
81
+ // devicePixelRatio; addImage's pixelRatio option restores the CSS size.
82
+ const addImage = (id, image) => {
83
+ // Replace any earlier registration (or the transparent placeholder the
84
+ // styleimagemissing handler may have stuffed in).
85
+ if (map.hasImage(id))
86
+ map.removeImage(id);
87
+ map.addImage(id, image, { pixelRatio });
88
+ registeredImages.add(id);
89
+ };
90
+ // Register the marker pins as style images and prune the ones whose markers
91
+ // are gone. `force` re-registers everything — used when the marker set is
92
+ // rebuilt, since the same booth ids can return with brand-new raster data.
93
+ const syncImages = (force) => {
94
+ const currentMarkers = store.poiMarkerStore.markers;
95
+ const desired = new Set(currentMarkers.map((marker) => iconImageId(marker.boothId)));
96
+ desired.add(POI_PINHEAD_IMAGE_ID);
97
+ desired.add(POI_CLUSTER_FOOTPRINT_IMAGE_ID);
98
+ for (const id of [...registeredImages]) {
99
+ if (desired.has(id))
100
+ continue;
101
+ if (map.hasImage(id))
102
+ map.removeImage(id);
103
+ registeredImages.delete(id);
104
+ }
105
+ for (const marker of currentMarkers) {
106
+ const id = iconImageId(marker.boothId);
107
+ if (force || !registeredImages.has(id))
108
+ addImage(id, marker.icon);
109
+ }
110
+ // The pinhead and the cluster footprint never change for this effect's lifetime.
111
+ if (!registeredImages.has(POI_PINHEAD_IMAGE_ID)) {
112
+ addImage(POI_PINHEAD_IMAGE_ID, pinheadImage);
113
+ }
114
+ if (!registeredImages.has(POI_CLUSTER_FOOTPRINT_IMAGE_ID)) {
115
+ addImage(POI_CLUSTER_FOOTPRINT_IMAGE_ID, clusterFootprintImage);
116
+ }
117
+ };
118
+ // The single data path: selection (one pinhead feature) > filter (matching
119
+ // markers, not clustered) > everything. MapLibre reclusters on setData, so
120
+ // filtering and selection need no imperative per-marker state.
121
+ const buildData = () => {
122
+ const pinheadId = store.poiMarkerStore.selectedMarkerId;
123
+ const filter = store.poiMarkerStore.outdoorFilter;
124
+ const cluster = !filter.active;
125
+ let markers = store.poiMarkerStore.markers;
126
+ if (pinheadId !== null) {
127
+ markers = markers.filter((marker) => marker.boothId === pinheadId);
128
+ }
129
+ else if (filter.active) {
130
+ markers = filter.matchingMarkers;
131
+ }
132
+ return {
133
+ cluster,
134
+ data: {
135
+ type: 'FeatureCollection',
136
+ features: markers.map((marker) => ({
137
+ type: 'Feature',
138
+ geometry: { type: 'Point', coordinates: lngLatOf(marker) },
139
+ properties: {
140
+ boothId: marker.boothId,
141
+ icon: iconImageId(marker.boothId),
142
+ pinhead: marker.boothId === pinheadId,
143
+ },
144
+ })),
145
+ },
146
+ };
147
+ };
148
+ // Added after the `3d` custom layer (this hook runs on renderer-ready),
149
+ // so the whole stack draws above the floor plan — and below the venue
150
+ // markers (marker-layer-order), which win where the two overlap.
151
+ let sourceClustered = null;
152
+ const removeSourceAndLayers = () => {
153
+ for (const id of POI_LAYER_IDS) {
154
+ if (map.getLayer(id))
155
+ map.removeLayer(id);
156
+ }
157
+ if (map.getSource(POI_SOURCE_ID))
158
+ map.removeSource(POI_SOURCE_ID);
159
+ sourceClustered = null;
160
+ };
161
+ const ensureSourceAndLayers = (data, cluster) => {
162
+ if (sourceClustered !== null && sourceClustered !== cluster) {
163
+ removeSourceAndLayers();
164
+ }
165
+ if (!map.getSource(POI_SOURCE_ID)) {
166
+ map.addSource(POI_SOURCE_ID, {
167
+ type: 'geojson',
168
+ data,
169
+ cluster,
170
+ clusterRadius: POI_CLUSTER_RADIUS_PX,
171
+ clusterMinPoints: POI_CLUSTER_MIN_POINTS,
172
+ // clusterMaxZoom stays at its default (source maxzoom - 1): passing
173
+ // map.getMaxZoom() (22) trips a MapLibre warning because the GeoJSON
174
+ // source's tile maxzoom is 18.
175
+ });
176
+ sourceClustered = cluster;
177
+ }
178
+ if (map.getLayer(POI_CLUSTERS_LAYER_ID))
179
+ return;
180
+ const notCluster = ['!', ['has', 'point_count']];
181
+ const isPinhead = ['==', ['coalesce', ['get', 'pinhead'], false], true];
182
+ const belowVenueMarkers = beforeLayer(map, VENUE_MARKER_FLOOR_LAYER_ID);
183
+ const addUnderVenueMarkers = (layer) => map.addLayer(layer, belowVenueMarkers);
184
+ addUnderVenueMarkers({
185
+ id: POI_CLUSTERS_LAYER_ID,
186
+ type: 'circle',
187
+ source: POI_SOURCE_ID,
188
+ filter: ['has', 'point_count'],
189
+ paint: {
190
+ 'circle-radius': POI_CLUSTER_SIZE_PX / 2,
191
+ 'circle-color': POI_CLUSTER_COLOR,
192
+ 'circle-stroke-color': POI_CLUSTER_STROKE_COLOR,
193
+ 'circle-stroke-width': POI_CLUSTER_STROKE_WIDTH_PX,
194
+ 'circle-pitch-alignment': 'viewport',
195
+ },
196
+ });
197
+ addUnderVenueMarkers({
198
+ id: POI_CLUSTER_COUNT_LAYER_ID,
199
+ type: 'symbol',
200
+ source: POI_SOURCE_ID,
201
+ filter: ['has', 'point_count'],
202
+ layout: {
203
+ 'text-field': ['get', 'point_count_abbreviated'],
204
+ 'text-font': pickUprightTextFont(map),
205
+ 'text-size': POI_CLUSTER_TEXT_SIZE_PX,
206
+ 'text-allow-overlap': true,
207
+ 'icon-image': POI_CLUSTER_FOOTPRINT_IMAGE_ID,
208
+ 'icon-allow-overlap': true,
209
+ },
210
+ paint: { 'text-color': '#ffffff' },
211
+ });
212
+ addUnderVenueMarkers({
213
+ id: POI_UNCLUSTERED_LAYER_ID,
214
+ type: 'symbol',
215
+ source: POI_SOURCE_ID,
216
+ filter: ['all', notCluster, ['!', isPinhead]],
217
+ layout: {
218
+ 'icon-image': ['get', 'icon'],
219
+ 'icon-anchor': 'bottom',
220
+ 'icon-offset': [0, markerTipOffset],
221
+ 'icon-allow-overlap': true,
222
+ },
223
+ });
224
+ addUnderVenueMarkers({
225
+ id: POI_SELECTED_LAYER_ID,
226
+ type: 'symbol',
227
+ source: POI_SOURCE_ID,
228
+ filter: ['all', notCluster, isPinhead],
229
+ layout: {
230
+ 'icon-image': POI_PINHEAD_IMAGE_ID,
231
+ 'icon-anchor': 'bottom',
232
+ 'icon-offset': [0, pinheadTipOffset],
233
+ 'icon-allow-overlap': true,
234
+ },
235
+ });
236
+ };
237
+ // Marker-layer counterpart of the plan dimming: markers live above the
238
+ // map dim fill, so they dim via their own paint opacity when the venue
239
+ // dims (and stay bright while a POI filter/selection suppresses dimming).
240
+ const applyDimming = () => {
241
+ if (!map.getLayer(POI_CLUSTERS_LAYER_ID))
242
+ return;
243
+ const opacity = getMapDimTarget() ? 1 - DIM_INTENSITY : 1;
244
+ map.setPaintProperty(POI_CLUSTERS_LAYER_ID, 'circle-opacity', opacity);
245
+ map.setPaintProperty(POI_CLUSTERS_LAYER_ID, 'circle-stroke-opacity', opacity);
246
+ map.setPaintProperty(POI_CLUSTER_COUNT_LAYER_ID, 'text-opacity', opacity);
247
+ map.setPaintProperty(POI_UNCLUSTERED_LAYER_ID, 'icon-opacity', opacity);
248
+ map.setPaintProperty(POI_SELECTED_LAYER_ID, 'icon-opacity', opacity);
249
+ };
250
+ // `forceImages` re-rasterizes every style image; only the marker set
251
+ // changing (or a style reload) needs it.
252
+ const refresh = (forceImages = false) => {
253
+ syncImages(forceImages);
254
+ const { cluster, data } = buildData();
255
+ ensureSourceAndLayers(data, cluster);
256
+ map.getSource(POI_SOURCE_ID)?.setData(data);
257
+ applyDimming();
258
+ };
259
+ // Bring the filter's matching markers into view (only when needed).
260
+ const fitOutdoorFilterMarkers = (markers) => {
261
+ if (!markers.length)
262
+ return;
263
+ const padding = getVisibleRectFitPadding(50);
264
+ const allVisible = markers.every((marker) => isLngLatInVisibleViewport(map, lngLatOf(marker), padding));
265
+ if (allVisible)
266
+ return;
267
+ const markerBox = Box.fromPoints(markers.map((marker) => marker.center));
268
+ const bounds = getLocalRectGeoBounds(markerBox, gpsConfig);
269
+ const camera = map.cameraForBounds(bounds, { padding, bearing: geoConfig.bearing });
270
+ if (!camera?.center || typeof camera.zoom !== 'number')
271
+ return;
272
+ map.easeTo({
273
+ center: camera.center,
274
+ zoom: Math.min(map.getZoom(), camera.zoom),
275
+ bearing: geoConfig.bearing,
276
+ duration: 500,
277
+ essential: true,
278
+ });
279
+ };
280
+ // --- Map interaction -----------------------------------------------------
281
+ const handleMarkerClick = (event) => {
282
+ const boothId = event.features?.[0]?.properties?.boothId;
283
+ if (typeof boothId !== 'number')
284
+ return;
285
+ // clickBooth updates uiState.selectedBooths; the store's
286
+ // selectedMarkerId computed re-derives the pinhead from it.
287
+ const booth = store.boothStore.boothById.get(boothId);
288
+ if (booth)
289
+ store.clickBooth(booth);
290
+ };
291
+ const handleClusterClick = (event) => {
292
+ const feature = event.features?.[0];
293
+ const clusterId = feature?.properties?.cluster_id;
294
+ const source = map.getSource(POI_SOURCE_ID);
295
+ if (typeof clusterId !== 'number' || !source || feature?.geometry?.type !== 'Point')
296
+ return;
297
+ const [lng = 0, lat = 0] = feature.geometry.coordinates;
298
+ void source.getClusterExpansionZoom(clusterId).then((expansionZoom) => {
299
+ map.easeTo({
300
+ center: [lng, lat],
301
+ zoom: Math.min(expansionZoom, map.getMaxZoom()),
302
+ duration: 500,
303
+ });
304
+ });
305
+ };
306
+ map.on('click', POI_UNCLUSTERED_LAYER_ID, handleMarkerClick);
307
+ map.on('click', POI_SELECTED_LAYER_ID, handleMarkerClick);
308
+ map.on('click', POI_CLUSTERS_LAYER_ID, handleClusterClick);
309
+ // Claim clicks on native POI features from the renderer click pipeline
310
+ // (`clickedPlan` in Map/pointer.ts) so the booth underneath isn't double-selected.
311
+ poiMarkerHitTest.set((clientX, clientY) => {
312
+ const layers = POI_HIT_LAYER_IDS.filter((id) => !!map.getLayer(id));
313
+ if (!layers.length)
314
+ return false;
315
+ const rect = map.getCanvas().getBoundingClientRect();
316
+ return (map.queryRenderedFeatures([clientX - rect.left, clientY - rect.top], { layers }).length > 0);
317
+ });
318
+ // A style reload drops all sources, layers and images. Nothing in the app
319
+ // calls setStyle today, so this never fires after init — but
320
+ // MaplibreWrapper's own style.load handler already re-adds the dim and 3d
321
+ // layers defensively, and this keeps the POI stack alive with them. Our
322
+ // handler is registered after the wrapper's, so the re-added POI layers
323
+ // land above the re-added 3d layer, preserving z-order.
324
+ const handleStyleLoad = () => {
325
+ registeredImages.clear();
326
+ refresh(true);
327
+ };
328
+ map.on('style.load', handleStyleLoad);
329
+ // --- State subscriptions -------------------------------------------------
330
+ // Marker set changed (scene build/teardown): same booth ids may return
331
+ // with brand-new raster data, so force image re-registration.
332
+ const markersDisposer = reaction(() => store.poiMarkerStore.markers, () => refresh(true));
333
+ // Booth selection (click or search): drives the pinhead via the store's
334
+ // selectedMarkerId computed (itself derived from uiState.selectedBooths).
335
+ const selectedBoothDisposer = reaction(() => store.poiMarkerStore.selectedMarkerId, () => refresh());
336
+ // Keyed on the matching booth ids, so this fires exactly when what the
337
+ // filter shows changes — and re-fitting the camera needs no extra guard.
338
+ const filterDisposer = reaction(() => store.poiMarkerStore.outdoorFilter.key, () => {
339
+ refresh();
340
+ fitOutdoorFilterMarkers(store.poiMarkerStore.outdoorFilter.matchingMarkers);
341
+ });
342
+ const dimDisposer = reaction(() => getMapDimTarget(), () => applyDimming());
343
+ refresh(true);
344
+ return () => {
345
+ markersDisposer();
346
+ selectedBoothDisposer();
347
+ filterDisposer();
348
+ dimDisposer();
349
+ poiMarkerHitTest.set(null);
350
+ map.off('style.load', handleStyleLoad);
351
+ map.off('click', POI_UNCLUSTERED_LAYER_ID, handleMarkerClick);
352
+ map.off('click', POI_SELECTED_LAYER_ID, handleMarkerClick);
353
+ map.off('click', POI_CLUSTERS_LAYER_ID, handleClusterClick);
354
+ // The map may already be tearing down (MaplibreWrapper.remove()); style
355
+ // access on a removed map throws, and everything dies with it anyway.
356
+ try {
357
+ removeSourceAndLayers();
358
+ for (const id of registeredImages) {
359
+ if (map.hasImage(id))
360
+ map.removeImage(id);
361
+ }
362
+ }
363
+ catch {
364
+ // Map already removed — nothing to clean up.
365
+ }
366
+ };
367
+ }, [ready, mapRef, geoConfig]);
368
+ }
@@ -0,0 +1,6 @@
1
+ import type { Map as MaplibreMap } from 'maplibre-gl';
2
+ import { type RefObject } from 'react';
3
+ import { type GeoConfig } from './utils/geo-config';
4
+ /** Keeps viewport context and per-venue presentation in sync while the camera moves. */
5
+ export declare function useVenueCameraTracking(mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null, enabled: boolean): void;
6
+ //# sourceMappingURL=useVenueCameraTracking.d.ts.map
@@ -0,0 +1,115 @@
1
+ import { runInAction } from 'mobx';
2
+ import { useEffect } from 'react';
3
+ import store from '../../store';
4
+ import { getLocalViewport } from './utils/local-viewport';
5
+ import { installVenueCalibrationConsole } from './utils/venue-calibration-console';
6
+ import { resolveVenueFocusState } from './utils/venue-focus';
7
+ import { getFootprintSizePx, getVenueGroundFootprint, } from './utils/venue-projection';
8
+ import { getViewportDetailThreshold } from './utils/venue-viewport-detail';
9
+ import { resolveVenuePresentationState, venuePresentationStatesEqual } from './utils/venue-zoom';
10
+ function updateVenueFocus(viewport) {
11
+ const focusedId = store.venueStore.automaticContextVenueId;
12
+ const candidates = store.venueStore.orderedVenues.map((venue) => ({
13
+ name: venue.id,
14
+ floorIndex: venue.order,
15
+ indoorDetail: venue.detailVisible,
16
+ rect: venue.bounds,
17
+ }));
18
+ const state = resolveVenueFocusState(viewport, candidates, focusedId);
19
+ if (state.kind === 'none') {
20
+ store.venueStore.setAutomaticContext(null);
21
+ }
22
+ else if (state.kind === 'focus' && state.name !== focusedId) {
23
+ store.venueStore.setAutomaticContext(state.name);
24
+ }
25
+ }
26
+ function updateVenuePresentationStates(map, geoConfig, footprints) {
27
+ const zoom = map.getZoom();
28
+ runInAction(() => {
29
+ for (const venue of store.venueStore.venues) {
30
+ // Geodesy is camera-invariant; only the Mercator scale moves with zoom.
31
+ let footprint = footprints.get(venue.id);
32
+ if (footprint === undefined) {
33
+ footprint = getVenueGroundFootprint(venue.bounds, geoConfig.gpsConfig);
34
+ footprints.set(venue.id, footprint);
35
+ }
36
+ const sizePx = getFootprintSizePx(footprint, zoom);
37
+ const config = {
38
+ auxLayers: venue.auxLayers,
39
+ detailMinSizePx: getViewportDetailThreshold(map, geoConfig, venue, footprint),
40
+ markerMaxSizePx: venue.markerMaxSizePx,
41
+ };
42
+ const next = resolveVenuePresentationState(config, sizePx, venue.presentationState);
43
+ if (!venue.presentationState ||
44
+ !venuePresentationStatesEqual(venue.presentationState, next)) {
45
+ venue.presentationState = next;
46
+ }
47
+ }
48
+ });
49
+ }
50
+ /** Keeps viewport context and per-venue presentation in sync while the camera moves. */
51
+ export function useVenueCameraTracking(mapRef, geoConfig, enabled) {
52
+ useEffect(() => {
53
+ const map = mapRef.current;
54
+ const venueMode = store.venueStore.isCampusMode;
55
+ if (!enabled || !map || !geoConfig || !venueMode)
56
+ return;
57
+ const getViewport = () => getLocalViewport(map, geoConfig.gpsConfig);
58
+ // Resolved lazily per venue and reused for the effect's lifetime: venue
59
+ // bounds and the plan's GPS anchors are both fixed once the model is built.
60
+ const footprints = new Map();
61
+ const updateFromCamera = () => {
62
+ updateVenuePresentationStates(map, geoConfig, footprints);
63
+ const viewport = getViewport();
64
+ if (viewport)
65
+ updateVenueFocus(viewport);
66
+ };
67
+ // A trailing debounce would defer focus until panning or zooming stops.
68
+ // Limit updates to one per rendered frame instead, then flush the final state.
69
+ let animationFrame;
70
+ const handleMove = (event) => {
71
+ // Live per-frame updates only for user gestures (which carry a DOM
72
+ // originalEvent). Programmatic moves — search-result / venue-name flies —
73
+ // animate too fast for the switch to track smoothly, so let them settle
74
+ // and update once at moveend instead.
75
+ if (!event.originalEvent)
76
+ return;
77
+ store.venueStore.releaseDestinationOverride();
78
+ if (animationFrame !== undefined)
79
+ return;
80
+ animationFrame = requestAnimationFrame(() => {
81
+ animationFrame = undefined;
82
+ updateFromCamera();
83
+ });
84
+ };
85
+ const handleMoveEnd = () => {
86
+ if (animationFrame !== undefined) {
87
+ cancelAnimationFrame(animationFrame);
88
+ animationFrame = undefined;
89
+ }
90
+ updateFromCamera();
91
+ };
92
+ // Resolve the full switch state from the mount-time camera: the map is
93
+ // already at its initial position (set synchronously in the MaplibreMap
94
+ // constructor), so both camera-driven degradation (KTD-3 - no forced detail
95
+ // boot) and viewport-driven venue focus must be seeded now. Seeding zoom
96
+ // only would leave the selector in the overview default until the first
97
+ // pan, flashing the wrong venue/level on load.
98
+ updateFromCamera();
99
+ map.on('move', handleMove);
100
+ map.on('moveend', handleMoveEnd);
101
+ // Dev-only `window.__efpVenues()`: reads the size axis at the current
102
+ // camera and reports what to author (§12 Guard 5). Installed here because
103
+ // this is where the map and the plan's GPS anchors are already resolved.
104
+ const uninstallCalibrationConsole = import.meta.env.DEV
105
+ ? installVenueCalibrationConsole(map, geoConfig)
106
+ : undefined;
107
+ return () => {
108
+ if (animationFrame !== undefined)
109
+ cancelAnimationFrame(animationFrame);
110
+ map.off('move', handleMove);
111
+ map.off('moveend', handleMoveEnd);
112
+ uninstallCalibrationConsole?.();
113
+ };
114
+ }, [enabled, geoConfig, mapRef]);
115
+ }
@@ -0,0 +1,15 @@
1
+ import type { Map as MaplibreMap } from 'maplibre-gl';
2
+ import { type RefObject } from 'react';
3
+ import { type GeoConfig } from './utils/geo-config';
4
+ /**
5
+ * Native MapLibre rendering of the procedural per-kind fallbacks (R9, R10): a
6
+ * contour fill/line pair and a named pinhead, each visible within its zoom
7
+ * range when no authored layer of that kind suppresses it. The geometry is
8
+ * static (one GeoJSON feature per venue, plan-local coordinates projected to
9
+ * GPS once); zoom-state changes only touch per-feature state, and paint
10
+ * transitions cross-fade the appearance. The floor-detail counterpart —
11
+ * dropping a below-cutoff venue's levels from the custom scene layer — lives
12
+ * in useLayerVisibilitySync, the single owner of `LayerDef.hidden`.
13
+ */
14
+ export declare function useVenueLayers(rendererReady: boolean, mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null): void;
15
+ //# sourceMappingURL=useVenueLayers.d.ts.map