@expofp/floorplan 3.7.6 → 3.7.8

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 (417) hide show
  1. package/dist/browser/{Button-CskZ-1SQ.js → Button-C4gPbjAY.js} +8 -8
  2. package/dist/browser/{CookieConsent-CwdbXtRd.js → CookieConsent-JWfsWylZ.js} +7 -7
  3. package/dist/browser/{Debug-HvNAI4I2.js → Debug--EUtzsht.js} +7 -7
  4. package/dist/browser/{Demo-BunvPdi4.js → Demo-CPD-4aZQ.js} +15 -13
  5. package/dist/browser/{Free-CU2ylG4D.js → Free-Dvj7TnSN.js} +15 -13
  6. package/dist/browser/{Gallery-Bk5ypZhw.js → Gallery-DBbbgZd-.js} +2739 -2739
  7. package/dist/browser/{GpsLoader-CmI8V13E.js → GpsLoader-imtEGiNV.js} +56 -59
  8. package/dist/browser/{KioskStore-BHYMkA7U.js → KioskStore-BgcP9UvT.js} +7 -7
  9. package/dist/browser/{MaplibreAdapter-CqTZjy9x.js → MaplibreAdapter-9L0Osw0i.js} +95 -95
  10. package/dist/browser/{Modal-CiRNqtwq.js → Modal-D5iXq44j.js} +18 -18
  11. package/dist/browser/{PermissionNotice-COLVVpan.js → PermissionNotice-D-iU7GsJ.js} +11 -11
  12. package/dist/browser/{SetKioskMode-pMI6YZEC.js → SetKioskMode-ev3vUKRr.js} +15 -15
  13. package/dist/browser/ShowKiosk-B2rnHTgt.js +27 -0
  14. package/dist/browser/{TouchHand-DI-Aj4wy.js → TouchHand-D9gZTA6M.js} +5 -7
  15. package/dist/browser/{ViewerMenuPanel-CKCSghSL.js → ViewerMenuPanel-CzUDbBfv.js} +9 -11
  16. package/dist/browser/{add-debug-secret-listener-2dlwQmt_.js → add-debug-secret-listener-BGwnumxG.js} +1 -1
  17. package/dist/browser/{boolean-editor-EQezUrv2.js → boolean-editor-NHaPk3yC.js} +9 -9
  18. package/dist/browser/{bootIntercom-BJhS53yv.js → bootIntercom-5z1JP_AO.js} +2 -2
  19. package/dist/browser/{browser-HS8wyHXB.js → browser-CIXTbsxm.js} +2 -2
  20. package/dist/browser/bundle.json +57 -57
  21. package/dist/browser/{classnames-C3l9dcGG.js → classnames-BRCgwycl.js} +2 -2
  22. package/dist/browser/{client-NCz188Ft.js → client-D-xRoQOb.js} +4 -4
  23. package/dist/browser/components-BnQ6F4_Y.js +6340 -0
  24. package/dist/browser/{createWayfinding-CeS9iM1W.js → createWayfinding-Dqwtb_AQ.js} +489 -489
  25. package/dist/browser/{debug-overlay-Cqc3ctkW.js → debug-overlay-DGX-T5qv.js} +10 -10
  26. package/dist/browser/{debug-ui-C4osX8i_.js → debug-ui-DcyTBQrS.js} +6 -6
  27. package/dist/browser/{dist-8gIQXhyw.js → dist-BeI1dlr0.js} +3 -3
  28. package/dist/browser/{dist-mbonvrAc.js → dist-CVz2SjQb.js} +6 -6
  29. package/dist/browser/{dist-DGSF5sPk.js → dist-DLi44XiQ.js} +5 -5
  30. package/dist/browser/{efp-debug-init-DUWrYXNd.js → efp-debug-init-CxL7LyPc.js} +2 -2
  31. package/dist/browser/{enum-editor-CRSq9S7c.js → enum-editor-CPhTShNc.js} +11 -11
  32. package/dist/browser/{event-not-found-BLRdJMTD.js → event-not-found-DMjwr4DU.js} +1 -1
  33. package/dist/browser/{exports-COPK-0l9.js → exports-Bo62ffaz.js} +1 -1
  34. package/dist/browser/{favicon-BQbHsxX-.js → favicon-BkDexwvo.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-BLtDS0Sx.js → fetch-retry.umd-Bc704aiz.js} +2 -2
  36. package/dist/browser/{flex-CXxIn81t.js → flex-CegveOzn.js} +5 -5
  37. package/dist/browser/{floorplan.loader-C-m4NheT.js → floorplan.loader-Cq_YmcPJ.js} +909 -903
  38. package/dist/browser/{floorplan.ready-Duc4SxLH.js → floorplan.ready-DU7vfXgo.js} +372 -370
  39. package/dist/browser/fonts/efp-symbols.woff +0 -0
  40. package/dist/browser/{fuse-4QTHS7Ur.js → fuse-C01hPccw.js} +2 -2
  41. package/dist/browser/{i18n-VVkod1aZ.js → i18n-BEer1tI4.js} +664 -659
  42. package/dist/browser/index.js +11 -11
  43. package/dist/browser/{jsx-runtime-BjSqokhG.js → jsx-runtime-C8yjdFgZ.js} +2 -2
  44. package/dist/browser/{lib-wtNuKXT7.js → lib-CtMSG5aX.js} +4 -4
  45. package/dist/browser/{is-debug-UXRw9lKQ.js → loadImage-CAq2UZsg.js} +13 -16
  46. package/dist/browser/{main-C-83kvrc.js → main-BOwY8EdO.js} +1 -1
  47. package/dist/browser/{mobx-D3CFlbtA.js → mobx-BLgYz-7U.js} +4 -4
  48. package/dist/browser/{particles.min-Bxln4d_5.js → particles.min-4B9bHzCK.js} +2 -2
  49. package/dist/browser/{prop-types-BBCNUtnm.js → prop-types-8nTA_CPs.js} +2 -2
  50. package/dist/browser/{react-HA3DGvr6.js → react-Di3Pmpio.js} +2 -2
  51. package/dist/browser/{react-dom-BQ8F633x.js → react-dom-xeogvqlp.js} +3 -3
  52. package/dist/browser/{reset-all-settings-DoRgIwaj.js → reset-all-settings-CB7mF2PC.js} +7 -7
  53. package/dist/browser/{rolldown-runtime-CH0sZcpN.js → rolldown-runtime-YBAZwyzS.js} +1 -1
  54. package/dist/browser/{settings-CXi58p62.js → settings-2_RuGoL9.js} +2 -2
  55. package/dist/browser/{settings-item-_4f-2Ez7.js → settings-item-Ie1tNhGr.js} +6 -6
  56. package/dist/browser/{store-BrAfYXrZ.js → store-DTwRqruF.js} +10022 -10018
  57. package/dist/browser/{string-editor-B_WUMLTp.js → string-editor-DkFPiRFv.js} +7 -7
  58. package/dist/browser/{theme-CQRRknl6.js → theme-Du1VS-C5.js} +8 -8
  59. package/dist/browser/{ui-BEwxpZU9.js → ui-D0YSutB6.js} +8 -8
  60. package/dist/browser/{useRenderTarget-DT7C-pWd.js → useRenderTarget-Cpdl_o5r.js} +4 -4
  61. package/dist/esm/components/AlertContainer.d.ts +1 -1
  62. package/dist/esm/components/Autocomplete.d.ts +1 -1
  63. package/dist/esm/components/Autocomplete.js +1 -1
  64. package/dist/esm/components/BaseFilterModal.d.ts +1 -1
  65. package/dist/esm/components/Booth/Booth.d.ts +1 -1
  66. package/dist/esm/components/Booth/Booth.js +1 -1
  67. package/dist/esm/components/Booth/BoothOnHold.js +1 -1
  68. package/dist/esm/components/Booth/BoothReserved.js +1 -1
  69. package/dist/esm/components/Booth/BoothSpecial.d.ts +2 -2
  70. package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +1 -1
  71. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +1 -1
  72. package/dist/esm/components/Category.d.ts +1 -1
  73. package/dist/esm/components/Category.js +1 -1
  74. package/dist/esm/components/CategoryFilterModal.js +1 -1
  75. package/dist/esm/components/CookieConsent.js +1 -1
  76. package/dist/esm/components/Debug.d.ts +1 -1
  77. package/dist/esm/components/Debug.js +1 -1
  78. package/dist/esm/components/Demo.d.ts +1 -1
  79. package/dist/esm/components/Demo.js +1 -1
  80. package/dist/esm/components/EntityItemContainer.d.ts +1 -1
  81. package/dist/esm/components/EntityList.d.ts +1 -1
  82. package/dist/esm/components/EntityList.js +1 -1
  83. package/dist/esm/components/EntityListRow.d.ts +2 -2
  84. package/dist/esm/components/EntityListRow.js +1 -1
  85. package/dist/esm/components/ErrorBoundary.js +1 -1
  86. package/dist/esm/components/Event.d.ts +1 -1
  87. package/dist/esm/components/Event.js +1 -1
  88. package/dist/esm/components/EventBadge.d.ts +2 -2
  89. package/dist/esm/components/EventBadge.js +1 -1
  90. package/dist/esm/components/Exhibitor.d.ts +1 -1
  91. package/dist/esm/components/Exhibitor.js +1 -1
  92. package/dist/esm/components/Filter.js +1 -1
  93. package/dist/esm/components/Free.d.ts +1 -1
  94. package/dist/esm/components/Free.js +1 -1
  95. package/dist/esm/components/Gallery/Gallery.d.ts +1 -1
  96. package/dist/esm/components/Gallery/Gallery.js +1 -1
  97. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.d.ts +1 -1
  98. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +1 -1
  99. package/dist/esm/components/Gallery/TransformImg/TransformImg.d.ts +1 -1
  100. package/dist/esm/components/Gallery/TransformImg/TransformImg.js +1 -1
  101. package/dist/esm/components/GpsLoader.js +1 -1
  102. package/dist/esm/components/IntercomLauncher.d.ts +1 -1
  103. package/dist/esm/components/IntercomLauncher.js +1 -1
  104. package/dist/esm/components/Kiosk/KioskStore.d.ts +3 -3
  105. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +1 -1
  106. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +1 -1
  107. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +1 -1
  108. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +1 -1
  109. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
  110. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +1 -1
  111. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
  112. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +1 -1
  113. package/dist/esm/components/Kiosk/SetKioskMode.js +1 -1
  114. package/dist/esm/components/Kiosk/ShowKiosk.js +1 -1
  115. package/dist/esm/components/Kiosk/kioskApi.d.ts +1 -1
  116. package/dist/esm/components/Language.js +1 -1
  117. package/dist/esm/components/LanguageRow.d.ts +1 -1
  118. package/dist/esm/components/LanguageRow.js +1 -1
  119. package/dist/esm/components/LargeMessage.d.ts +1 -1
  120. package/dist/esm/components/LargeMessage.js +1 -1
  121. package/dist/esm/components/Layout.d.ts +1 -1
  122. package/dist/esm/components/Layout.js +1 -1
  123. package/dist/esm/components/LevelSelector.d.ts +1 -1
  124. package/dist/esm/components/LevelSelector.js +1 -1
  125. package/dist/esm/components/List.d.ts +1 -1
  126. package/dist/esm/components/List.js +1 -1
  127. package/dist/esm/components/LogoOverlay.d.ts +1 -1
  128. package/dist/esm/components/LogoOverlay.js +1 -1
  129. package/dist/esm/components/Map/Map.js +1 -1
  130. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  131. package/dist/esm/components/Map/drawing/config/config-bg.d.ts +2 -2
  132. package/dist/esm/components/Map/drawing/config/config-bg.js +1 -1
  133. package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +1 -1
  134. package/dist/esm/components/Map/drawing/config/config-booth-badge.js +1 -1
  135. package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +4 -4
  136. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  137. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +2 -2
  138. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  139. package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +2 -2
  140. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  141. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +3 -3
  142. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  143. package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +4 -4
  144. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  145. package/dist/esm/components/Map/drawing/config/config-booths.d.ts +1 -1
  146. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  147. package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +1 -1
  148. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  149. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  150. package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +3 -3
  151. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  152. package/dist/esm/components/Map/pointInConvexQuad.d.ts +1 -1
  153. package/dist/esm/components/Map/traffic/useBuildRoute.js +2 -2
  154. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  155. package/dist/esm/components/MapControls.d.ts +1 -1
  156. package/dist/esm/components/MapControls.js +1 -1
  157. package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +1 -1
  158. package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +1 -2
  159. package/dist/esm/components/Maplibre/useCameraReactions.d.ts +3 -3
  160. package/dist/esm/components/Maplibre/useDimming.d.ts +4 -4
  161. package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +4 -4
  162. package/dist/esm/components/Maplibre/useRendererEvents.d.ts +2 -2
  163. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +2 -2
  164. package/dist/esm/components/Maplibre/utils/geo-config.d.ts +3 -3
  165. package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +1 -1
  166. package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +2 -2
  167. package/dist/esm/components/MarketMaterialList.d.ts +1 -1
  168. package/dist/esm/components/MarketMaterialList.js +1 -1
  169. package/dist/esm/components/Menu.js +1 -1
  170. package/dist/esm/components/MobileToggleButton.d.ts +1 -1
  171. package/dist/esm/components/MobileToggleButton.js +1 -1
  172. package/dist/esm/components/Modal.d.ts +1 -1
  173. package/dist/esm/components/Modal.js +1 -1
  174. package/dist/esm/components/MultiSelectGroups.d.ts +1 -1
  175. package/dist/esm/components/MultiSelectGroups.js +1 -1
  176. package/dist/esm/components/Overlay.d.ts +1 -1
  177. package/dist/esm/components/Overlay.js +1 -1
  178. package/dist/esm/components/OverlayContainer.js +1 -1
  179. package/dist/esm/components/OverlayGripContainer.js +1 -1
  180. package/dist/esm/components/OverlayParticles.d.ts +1 -1
  181. package/dist/esm/components/OverlayParticles.js +1 -1
  182. package/dist/esm/components/RebookingNotes.d.ts +1 -1
  183. package/dist/esm/components/RebookingNotes.js +1 -1
  184. package/dist/esm/components/RebookingRadioGroup.d.ts +1 -1
  185. package/dist/esm/components/RebookingRadioGroup.js +1 -1
  186. package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +1 -1
  187. package/dist/esm/components/RoutePlanner/RoutePlanner.js +1 -1
  188. package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +1 -1
  189. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +1 -1
  190. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +1 -1
  191. package/dist/esm/components/RouteQR.d.ts +1 -1
  192. package/dist/esm/components/RouteQR.js +1 -1
  193. package/dist/esm/components/Schedule.d.ts +2 -2
  194. package/dist/esm/components/Schedule.js +1 -1
  195. package/dist/esm/components/ScrollableRowContainer.js +1 -1
  196. package/dist/esm/components/Search.d.ts +1 -1
  197. package/dist/esm/components/Search.js +1 -1
  198. package/dist/esm/components/SearchBox.d.ts +1 -1
  199. package/dist/esm/components/SearchBox.js +1 -1
  200. package/dist/esm/components/SearchButtons/SearchButton.d.ts +1 -1
  201. package/dist/esm/components/SearchButtons/SearchButton.js +1 -1
  202. package/dist/esm/components/SearchButtons/SearchButtons.d.ts +1 -1
  203. package/dist/esm/components/SearchButtons/SearchButtons.js +1 -1
  204. package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +1 -1
  205. package/dist/esm/components/SearchButtons/SearchSubButton.js +1 -1
  206. package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +1 -1
  207. package/dist/esm/components/SearchButtons/SearchSubButtons.js +1 -1
  208. package/dist/esm/components/Sessions.d.ts +1 -1
  209. package/dist/esm/components/Sessions.js +1 -1
  210. package/dist/esm/components/SessionsFiltersModal.d.ts +1 -1
  211. package/dist/esm/components/SessionsFiltersModal.js +1 -1
  212. package/dist/esm/components/Share.d.ts +1 -1
  213. package/dist/esm/components/Share.js +1 -1
  214. package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +2 -2
  215. package/dist/esm/components/Shortcuts/ShortcutButton.js +1 -1
  216. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +1 -1
  217. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +1 -1
  218. package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +1 -1
  219. package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +1 -1
  220. package/dist/esm/components/ShowMoreButton.d.ts +1 -1
  221. package/dist/esm/components/ShowMoreButton.js +1 -1
  222. package/dist/esm/components/SidebarActions.d.ts +1 -1
  223. package/dist/esm/components/SidebarActions.js +1 -1
  224. package/dist/esm/components/SimpleRow.d.ts +1 -1
  225. package/dist/esm/components/SimpleRow.js +1 -1
  226. package/dist/esm/components/Speaker.d.ts +1 -1
  227. package/dist/esm/components/Speaker.js +1 -1
  228. package/dist/esm/components/Speakers.d.ts +1 -1
  229. package/dist/esm/components/Speakers.js +1 -1
  230. package/dist/esm/components/SpeakersFiltersModal.d.ts +1 -1
  231. package/dist/esm/components/SpeakersFiltersModal.js +1 -1
  232. package/dist/esm/components/Toast/ToastContainer.d.ts +1 -1
  233. package/dist/esm/components/Toast/ToastContainer.js +1 -1
  234. package/dist/esm/components/Toast/ToastProvider.js +1 -1
  235. package/dist/esm/components/TourPoints.js +1 -1
  236. package/dist/esm/components/Tours.d.ts +1 -1
  237. package/dist/esm/components/Tours.js +1 -1
  238. package/dist/esm/components/ToursList.d.ts +2 -2
  239. package/dist/esm/components/ToursList.js +1 -1
  240. package/dist/esm/components/ViewerMenuPanel.d.ts +1 -1
  241. package/dist/esm/components/ViewerMenuPanel.js +1 -1
  242. package/dist/esm/components/WayInformation.d.ts +1 -1
  243. package/dist/esm/components/WayInformation.js +1 -1
  244. package/dist/esm/components/Wayfinding.d.ts +1 -1
  245. package/dist/esm/components/Wayfinding.js +1 -1
  246. package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +1 -1
  247. package/dist/esm/components/WayfindingTemplate.d.ts +4 -4
  248. package/dist/esm/components/WayfindingTemplate.js +1 -1
  249. package/dist/esm/components/Ws.d.ts +1 -1
  250. package/dist/esm/components/Ws.js +1 -1
  251. package/dist/esm/components/YahRow.d.ts +1 -1
  252. package/dist/esm/components/YahRow.js +1 -1
  253. package/dist/esm/components/gps/GpsManager.d.ts +1 -1
  254. package/dist/esm/components/gps/GpsManager.js +1 -1
  255. package/dist/esm/components/gps/GpsPermissionRequest.js +1 -1
  256. package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +1 -1
  257. package/dist/esm/components/gps/useUserLocationAndHeading.js +1 -1
  258. package/dist/esm/components/gps/utils.d.ts +1 -1
  259. package/dist/esm/data/fpGeo.d.ts +1 -1
  260. package/dist/esm/data/index.d.ts +1 -1
  261. package/dist/esm/data/svg.js +1 -1
  262. package/dist/esm/data/validate-data.d.ts +1 -1
  263. package/dist/esm/floorplan.loader.d.ts +7 -7
  264. package/dist/esm/floorplan.loader.js +1 -1
  265. package/dist/esm/floorplan.ready.d.ts +2 -2
  266. package/dist/esm/floorplan.ready.js +1 -1
  267. package/dist/esm/hooks/useDragGesture.js +1 -1
  268. package/dist/esm/hooks/useURLFilters.d.ts +1 -1
  269. package/dist/esm/hooks/useURLFilters.js +1 -1
  270. package/dist/esm/hooks/useWindowSize.js +1 -1
  271. package/dist/esm/intercom/shouldLoad.d.ts +2 -2
  272. package/dist/esm/load.d.ts +3 -3
  273. package/dist/esm/services/URLFilterManager.d.ts +1 -1
  274. package/dist/esm/services/URLFilterManager.js +1 -1
  275. package/dist/esm/store/BaseFilterStore.d.ts +1 -1
  276. package/dist/esm/store/BookmarksStore.js +1 -1
  277. package/dist/esm/store/BoothStore.d.ts +2 -2
  278. package/dist/esm/store/BoothStore.js +1 -1
  279. package/dist/esm/store/CategoryFilterStore.d.ts +2 -2
  280. package/dist/esm/store/CategoryFilterStore.js +1 -1
  281. package/dist/esm/store/CategoryStore.d.ts +1 -1
  282. package/dist/esm/store/ExhibitorStore.d.ts +1 -1
  283. package/dist/esm/store/ExhibitorStore.js +1 -1
  284. package/dist/esm/store/HeatmapStore.d.ts +3 -3
  285. package/dist/esm/store/HeatmapStore.js +1 -1
  286. package/dist/esm/store/LayerStore.d.ts +1 -1
  287. package/dist/esm/store/LayerStore.js +1 -1
  288. package/dist/esm/store/MaplibreStore.js +1 -1
  289. package/dist/esm/store/RootStore.d.ts +15 -15
  290. package/dist/esm/store/RootStore.js +1 -1
  291. package/dist/esm/store/RoutePlannerStore.d.ts +2 -2
  292. package/dist/esm/store/RoutePlannerStore.js +1 -1
  293. package/dist/esm/store/RouteStore.d.ts +1 -1
  294. package/dist/esm/store/RouteStore.js +1 -1
  295. package/dist/esm/store/SearchStore.js +1 -1
  296. package/dist/esm/store/SessionsFilterStore.d.ts +2 -2
  297. package/dist/esm/store/ShortcutRegistry.d.ts +1 -1
  298. package/dist/esm/store/SpeakerStore.d.ts +1 -1
  299. package/dist/esm/store/SubButtonProvider.d.ts +1 -1
  300. package/dist/esm/store/SubButtonRegistry.d.ts +2 -2
  301. package/dist/esm/store/ToursStore.js +1 -1
  302. package/dist/esm/store/UIState.d.ts +6 -6
  303. package/dist/esm/store/UIState.js +1 -1
  304. package/dist/esm/store/init/index.js +1 -1
  305. package/dist/esm/store/init/init-booths.js +1 -1
  306. package/dist/esm/store/init/init-events.js +1 -1
  307. package/dist/esm/store/init/init-exhibitors.js +1 -1
  308. package/dist/esm/store/init/init-heatmap.js +1 -1
  309. package/dist/esm/store/init/init-layers.js +1 -1
  310. package/dist/esm/store/init/init-ui.js +1 -1
  311. package/dist/esm/store/providers/SearchShortcutProvider.d.ts +1 -2
  312. package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +1 -1
  313. package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +2 -2
  314. package/dist/esm/store/providers/SessionsSubButtonProvider.js +1 -1
  315. package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +1 -1
  316. package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +2 -2
  317. package/dist/esm/store/search-buttons/SearchButtonsActions.js +1 -1
  318. package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +3 -3
  319. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +1 -1
  320. package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +2 -2
  321. package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +1 -1
  322. package/dist/esm/store/search-buttons/SearchButtonsState.js +1 -1
  323. package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +1 -1
  324. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  325. package/dist/esm/store/search-buttons/utils.d.ts +1 -1
  326. package/dist/esm/store/search-buttons/utils.js +1 -1
  327. package/dist/esm/store/types.d.ts +3 -3
  328. package/dist/esm/storybook/decorators/StoryWrapper.js +1 -1
  329. package/dist/esm/storybook/decorators/WithResize.js +1 -1
  330. package/dist/esm/tools/gtag.js +1 -1
  331. package/dist/esm/tools/loaders.js +1 -1
  332. package/dist/esm/tools/sentry.d.ts +2 -2
  333. package/dist/esm/tools/sentry.js +1 -1
  334. package/dist/esm/ui/Alert/Alert.d.ts +1 -2
  335. package/dist/esm/ui/Alert/Alert.js +1 -1
  336. package/dist/esm/ui/Badge/Badge.d.ts +1 -2
  337. package/dist/esm/ui/Badge/Badge.js +1 -1
  338. package/dist/esm/ui/Button/Button.d.ts +1 -2
  339. package/dist/esm/ui/Button/Button.js +1 -1
  340. package/dist/esm/ui/Checkbox/Checkbox.d.ts +1 -1
  341. package/dist/esm/ui/Checkbox/Checkbox.js +1 -1
  342. package/dist/esm/ui/CheckboxButton/CheckboxButton.d.ts +1 -1
  343. package/dist/esm/ui/CheckboxButton/CheckboxButton.js +1 -1
  344. package/dist/esm/ui/Draggable/Draggable.js +1 -1
  345. package/dist/esm/ui/EntityItem/EntityItem.d.ts +1 -1
  346. package/dist/esm/ui/EntityItem/EntityItem.js +1 -1
  347. package/dist/esm/ui/HeatmapLegend/HeatmapLegend.d.ts +1 -1
  348. package/dist/esm/ui/HeatmapLegend/HeatmapLegend.js +1 -1
  349. package/dist/esm/ui/LevelBadge/LevelBadge.d.ts +1 -1
  350. package/dist/esm/ui/OverlayGrip/OverlayGrip.d.ts +1 -1
  351. package/dist/esm/ui/OverlayGrip/OverlayGrip.js +1 -1
  352. package/dist/esm/ui/PermissionNotice/PermissionNotice.d.ts +1 -1
  353. package/dist/esm/ui/PermissionNotice/PermissionNotice.js +1 -1
  354. package/dist/esm/ui/Radio/Radio.d.ts +1 -1
  355. package/dist/esm/ui/Radio/Radio.js +1 -1
  356. package/dist/esm/ui/ScrollableRow/ScrollableRow.d.ts +1 -1
  357. package/dist/esm/ui/ScrollableRow/ScrollableRow.js +1 -1
  358. package/dist/esm/ui/Spinner/Spinner.d.ts +1 -1
  359. package/dist/esm/ui/Spinner/Spinner.js +1 -1
  360. package/dist/esm/ui/ToggleButton/ToggleButton.d.ts +1 -1
  361. package/dist/esm/ui/ToggleButton/ToggleButton.js +1 -1
  362. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.d.ts +1 -1
  363. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.js +1 -1
  364. package/dist/esm/ui/TouchHand/TouchHand.d.ts +1 -1
  365. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +1 -1
  366. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.js +1 -1
  367. package/dist/esm/utils/customCommands.js +1 -1
  368. package/dist/esm/utils/dimming.d.ts +1 -1
  369. package/dist/esm/utils/entity-storage.js +1 -1
  370. package/dist/esm/utils/eventFullBadge.d.ts +1 -1
  371. package/dist/esm/utils/gps.js +1 -1
  372. package/dist/esm/utils/i18n.js +1 -1
  373. package/dist/esm/utils/imageloader.d.ts +3 -3
  374. package/dist/esm/utils/loadCustomCss.d.ts +1 -1
  375. package/dist/esm/utils/loadIcons.d.ts +1 -1
  376. package/dist/esm/utils/loadImagesInBatches.js +1 -1
  377. package/dist/esm/utils/mergeExhibitors.d.ts +1 -1
  378. package/dist/esm/utils/mobx.d.ts +1 -1
  379. package/dist/esm/utils/mobx.js +1 -1
  380. package/dist/esm/utils/preview-exhibitor.d.ts +1 -1
  381. package/dist/esm/utils/useHeatmapData.d.ts +3 -3
  382. package/dist/esm/utils/useHeatmapOverlay.d.ts +3 -3
  383. package/dist/esm/wayfinding/adapters/floorContext.d.ts +1 -1
  384. package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +1 -1
  385. package/dist/esm/wayfinding/adapters/kioskCanvas.js +1 -1
  386. package/dist/esm/wayfinding/adapters/positionInput.d.ts +2 -2
  387. package/dist/esm/wayfinding/core/__tests__/helpers.d.ts +1 -1
  388. package/dist/esm/wayfinding/core/geometry/pointInPolygon.d.ts +3 -3
  389. package/dist/esm/wayfinding/core/graph/buildNGraph.d.ts +4 -4
  390. package/dist/esm/wayfinding/core/graph/findShortestPath.d.ts +1 -1
  391. package/dist/esm/wayfinding/core/graph/findShortestPath.js +1 -1
  392. package/dist/esm/wayfinding/core/graph/graphCache.d.ts +1 -1
  393. package/dist/esm/wayfinding/core/graph/linkCost.d.ts +1 -1
  394. package/dist/esm/wayfinding/core/graph/pathfinder/aStarPathFinder.d.ts +1 -1
  395. package/dist/esm/wayfinding/core/graph/pathfinder/aStarPathFinder.js +1 -1
  396. package/dist/esm/wayfinding/core/position/distanceToRoute.d.ts +1 -1
  397. package/dist/esm/wayfinding/core/position/rerouteController.d.ts +1 -1
  398. package/dist/esm/wayfinding/core/position/snapToRoute.d.ts +1 -1
  399. package/dist/esm/wayfinding/core/position/splitRouteByPoint.d.ts +1 -1
  400. package/dist/esm/wayfinding/core/rendering/computeTrailPoints.d.ts +1 -1
  401. package/dist/esm/wayfinding/core/rendering/computeTransitionPoints.d.ts +1 -1
  402. package/dist/esm/wayfinding/core/rendering/getVisibleRouteLines.d.ts +2 -2
  403. package/dist/esm/wayfinding/core/rendering/normalizeRouteDirection.d.ts +1 -1
  404. package/dist/esm/wayfinding/core/routing/buildMultiPointRoute.d.ts +1 -1
  405. package/dist/esm/wayfinding/core/routing/buildRoute.d.ts +1 -1
  406. package/dist/esm/wayfinding/core/routing/graphPointResolvers.d.ts +2 -2
  407. package/dist/esm/wayfinding/core/routing/routeResult.d.ts +1 -1
  408. package/dist/esm/wayfinding/handlers/yahHandler.d.ts +3 -3
  409. package/dist/esm/wayfinding/runtime/endpointView.d.ts +5 -5
  410. package/dist/esm/wayfinding/runtime/getRouteLines.d.ts +2 -2
  411. package/dist/esm/wayfinding/runtime/positionView.d.ts +3 -3
  412. package/dist/esm/wayfinding/runtime/routeLinesView.d.ts +2 -2
  413. package/dist/esm/wayfinding/runtime/routeRenderData.d.ts +1 -1
  414. package/dist/esm/wayfinding/runtime/trailView.d.ts +4 -4
  415. package/package.json +5 -6
  416. package/dist/browser/ShowKiosk-BpJjfmrQ.js +0 -27
  417. package/dist/browser/components-oKoVpjWk.js +0 -6343
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{useState as r}from"react";import{useTimeout as n}from"../../utils/useTimeout";import"./Toast.scss";const m=({message:e,duration:o,onClose:t})=>{const[s,a]=r(!0);return n(()=>{a(!1),t()},o),i("div",{className:`toast ${s?"is-visible":""}`,onClick:t,children:e})};export const ToastContainer=({toasts:e,handleToastClose:o})=>i("div",{className:"toast-container",children:e.map((t,s)=>i(m,{message:t.message,duration:t.duration,onClose:()=>o(s)},`toast-${s}`))});
1
+ import{jsx as i}from"react/jsx-runtime";import"./Toast.scss";import{useState as r}from"react";import{useTimeout as n}from"../../utils/useTimeout";const m=({message:e,duration:o,onClose:t})=>{const[s,a]=r(!0);return n(()=>{a(!1),t()},o),i("div",{className:`toast ${s?"is-visible":""}`,onClick:t,children:e})};export const ToastContainer=({toasts:e,handleToastClose:o})=>i("div",{className:"toast-container",children:e.map((t,s)=>i(m,{message:t.message,duration:t.duration,onClose:()=>o(s)},`toast-${s}`))});
@@ -1 +1 @@
1
- import{jsx as p,jsxs as d}from"react/jsx-runtime";import{useState as l}from"react";import{ToastContext as m}from"./ToastContext";import{ToastContainer as c}from"./ToastContainer";export const ToastProvider=({children:r})=>{const[a,e]=l([]),n=o=>{e(s=>{const t=[...s];return t.splice(o,1),t})},i={open:(o,s)=>{e(t=>[...t,{message:o,duration:s}])}};return d(m.Provider,{value:i,children:[p(c,{toasts:a,handleToastClose:n}),r]})};export default ToastProvider;
1
+ import{jsx as p,jsxs as d}from"react/jsx-runtime";import{useState as l}from"react";import{ToastContainer as m}from"./ToastContainer";import{ToastContext as c}from"./ToastContext";export const ToastProvider=({children:r})=>{const[a,e]=l([]),n=o=>{e(s=>{const t=[...s];return t.splice(o,1),t})},i={open:(o,s)=>{e(t=>[...t,{message:o,duration:s}])}};return d(c.Provider,{value:i,children:[p(m,{toasts:a,handleToastClose:n}),r]})};export default ToastProvider;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as u}from"react/jsx-runtime";import{useRef as l}from"react";import{useObserver as s}from"mobx-react-lite";import a from"classnames";import e,{uiState as r}from"../store";import c from"./EntityList";const m=()=>{const i=l(null);return s(()=>{const t=e.toursStore.currentTour;if(!t)return null;const n=t.points&&t.points.length>0;return u("div",{className:a("efp-tour-points",{hidden:r.kiosk}),children:[r.tourDescription&&o("div",{className:"efp-wayfinding-description",children:r.tourDescription}),n&&o(c,{updatedScrollableRef:i})]})})};export default()=>s(()=>!r.menu&&!r.details&&e.toursStore.currentTour&&o(m,{}));
1
+ import{jsx as o,jsxs as u}from"react/jsx-runtime";import l from"classnames";import{useObserver as s}from"mobx-react-lite";import{useRef as a}from"react";import e,{uiState as r}from"../store";import c from"./EntityList";const m=()=>{const i=a(null);return s(()=>{const t=e.toursStore.currentTour;if(!t)return null;const n=t.points&&t.points.length>0;return u("div",{className:l("efp-tour-points",{hidden:r.kiosk}),children:[r.tourDescription&&o("div",{className:"efp-wayfinding-description",children:r.tourDescription}),n&&o(c,{updatedScrollableRef:i})]})})};export default()=>s(()=>!r.menu&&!r.details&&e.toursStore.currentTour&&o(m,{}));
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./Tours.scss";
2
+ import React from "react";
3
3
  export interface ToursProps {
4
4
  }
5
5
  declare const ToursWrapper: React.FC<ToursProps>;
@@ -1 +1 @@
1
- import{jsxs as a,jsx as r}from"react/jsx-runtime";import{useMemo as T}from"react";import{useObserver as v}from"mobx-react-lite";import{observer as l}from"mobx-react-lite";import e,{uiState as d}from"../store";import{ToursList as x}from"./";import N from"fuse.js";import{t as n}from"../utils/i18n";import"./Tours.scss";const S=l(()=>{const o=e.toursStore.tourItems,m=e.toursStore.hasTours,p=e.toursStore.currentExpo,c=e.toursStore.toursLoadError,i=T(()=>{let t=o;const s=e.searchStore.searchText;if(s){const u={keys:["name"],threshold:.3,ignoreLocation:!0,includeScore:!0};t=new N(t,u).search(s).map(h=>h.item)}return t},[o,e.searchStore.searchText]),f=(t,s,u)=>{e.toursStore.launchTour(t,s,u)};return v(()=>c?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("Error loading Guided Tours"),": ",c]})})}):m?i.length===0?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:r("p",{children:n("No Guided Tours found matching your search")})})}):r("div",{className:"efp-tours-content",children:r(x,{tours:i,onTourClick:f})}):r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("No Guided Tours available for")," ",p]})})}))}),y=l(o=>d.list.type!=="tours"||d.details?null:r(S,{...o}));export default y;
1
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import"./Tours.scss";import T from"fuse.js";import{useObserver as v}from"mobx-react-lite";import{observer as l}from"mobx-react-lite";import{useMemo as x}from"react";import e,{uiState as d}from"../store";import{t as n}from"../utils/i18n";import{ToursList as N}from"./";const S=l(()=>{const o=e.toursStore.tourItems,m=e.toursStore.hasTours,p=e.toursStore.currentExpo,c=e.toursStore.toursLoadError,i=x(()=>{let t=o;const s=e.searchStore.searchText;if(s){const u={keys:["name"],threshold:.3,ignoreLocation:!0,includeScore:!0};t=new T(t,u).search(s).map(h=>h.item)}return t},[o,e.searchStore.searchText]),f=(t,s,u)=>{e.toursStore.launchTour(t,s,u)};return v(()=>c?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("Error loading Guided Tours"),": ",c]})})}):m?i.length===0?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:r("p",{children:n("No Guided Tours found matching your search")})})}):r("div",{className:"efp-tours-content",children:r(N,{tours:i,onTourClick:f})}):r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("No Guided Tours available for")," ",p]})})}))}),y=l(o=>d.list.type!=="tours"||d.details?null:r(S,{...o}));export default y;
@@ -1,6 +1,6 @@
1
- import React from "react";
2
- import type { TourItem } from "../store/types";
3
1
  import "./ToursList.scss";
2
+ import React from "react";
3
+ import { type TourItem } from "../store/types";
4
4
  export interface ToursListProps {
5
5
  tours: TourItem[];
6
6
  onTourClick?: (tour: TourItem, name: string, description?: string) => void;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l}from"react/jsx-runtime";import{observer as m}from"mobx-react-lite";import{t as o}from"../utils/i18n";import d from"./HighlightTextContainer";import"./ToursList.scss";const c=m(({tours:s,onTourClick:r})=>{const n=(i,t,a)=>{r&&r(i,t,a)};return s.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:o("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:s.map(i=>e("div",{className:"efp-tour-item",onClick:()=>n(i,i.name,i.description),role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(i,i.name,i.description))},children:l("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(d,{text:i.name})})})})]})},i.id))})});export default c;
1
+ import{jsx as e,jsxs as l}from"react/jsx-runtime";import"./ToursList.scss";import{observer as m}from"mobx-react-lite";import{t as o}from"../utils/i18n";import d from"./HighlightTextContainer";const c=m(({tours:s,onTourClick:r})=>{const n=(i,t,a)=>{r&&r(i,t,a)};return s.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:o("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:s.map(i=>e("div",{className:"efp-tour-item",onClick:()=>n(i,i.name,i.description),role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(i,i.name,i.description))},children:l("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(d,{text:i.name})})})})]})},i.id))})});export default c;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./ViewerMenuPanel.scss";
2
+ import React from "react";
3
3
  declare const ViewerMenuPanel: React.FC;
4
4
  export default ViewerMenuPanel;
5
5
  //# sourceMappingURL=ViewerMenuPanel.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{observer as w}from"mobx-react-lite";import s from"../data";import o,{uiState as g}from"../store";import{t as r}from"../utils/i18n";import{Button as l}from"./";import"./ViewerMenuPanel.scss";function _(n){if(!n)return{venue:"",dateRange:""};const t=n.split(" | ");return{venue:t[0]?.trim()||"",dateRange:t[1]?.trim()||""}}function N(n,t){if(!n||!t)return!1;const c=Date.now();return c>=new Date(n).getTime()&&c<=new Date(t+"T23:59:59").getTime()}const x=w(()=>{const{venue:n,dateRange:t}=_(s.subtitle),u=!(!!s.startDate&&!!s.endDate),D=N(s.startDate,s.endDate),d=o.eventStore.eventItems.length>0,v=o.toursStore.hasTours;function m(i){i.preventDefault(),g.menu=!1}function p(i){i.preventDefault(),o.selectExhibitors()}function h(i){i.preventDefault(),o.selectSessions()}function f(i){i.preventDefault(),o.selectTours()}return a("div",{className:"viewer-panel",children:[a("div",{className:"viewer-panel__info",children:[e("div",{className:"viewer-panel__title",children:s.title}),a("div",{className:"viewer-panel__row",children:[e("i",{className:"viewer-panel__icon icon-schedule"}),u?e("span",{children:r("Ongoing")}):a("div",{className:"viewer-panel__date-range",children:[t,"\xA0\xA0",e("div",{className:"viewer-panel__now-badge",children:r("Now")})]})]}),n&&a("div",{className:"viewer-panel__row",children:[e("i",{className:"viewer-panel__icon icon-marker-pin"}),e("span",{children:n})]})]}),a("div",{className:"viewer-panel__buttons",children:[e(l,{variant:"gray",size:"lg",text:r("Map"),onClick:m}),e(l,{variant:"gray",size:"lg",text:r("Exhibitors"),onClick:p}),d&&e(l,{variant:"gray",size:"lg",text:r("Sessions"),onClick:h}),v&&e(l,{variant:"gray",size:"lg",text:r("Guided Tours"),onClick:f})]})]})});export default x;
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./ViewerMenuPanel.scss";import{observer as w}from"mobx-react-lite";import s from"../data";import o,{uiState as g}from"../store";import{t as r}from"../utils/i18n";import{Button as l}from"./";function _(n){if(!n)return{venue:"",dateRange:""};const t=n.split(" | ");return{venue:t[0]?.trim()||"",dateRange:t[1]?.trim()||""}}function N(n,t){if(!n||!t)return!1;const c=Date.now();return c>=new Date(n).getTime()&&c<=new Date(t+"T23:59:59").getTime()}const x=w(()=>{const{venue:n,dateRange:t}=_(s.subtitle),u=!(!!s.startDate&&!!s.endDate),D=N(s.startDate,s.endDate),d=o.eventStore.eventItems.length>0,v=o.toursStore.hasTours;function m(i){i.preventDefault(),g.menu=!1}function p(i){i.preventDefault(),o.selectExhibitors()}function h(i){i.preventDefault(),o.selectSessions()}function f(i){i.preventDefault(),o.selectTours()}return a("div",{className:"viewer-panel",children:[a("div",{className:"viewer-panel__info",children:[e("div",{className:"viewer-panel__title",children:s.title}),a("div",{className:"viewer-panel__row",children:[e("i",{className:"viewer-panel__icon icon-schedule"}),u?e("span",{children:r("Ongoing")}):a("div",{className:"viewer-panel__date-range",children:[t,"\xA0\xA0",e("div",{className:"viewer-panel__now-badge",children:r("Now")})]})]}),n&&a("div",{className:"viewer-panel__row",children:[e("i",{className:"viewer-panel__icon icon-marker-pin"}),e("span",{children:n})]})]}),a("div",{className:"viewer-panel__buttons",children:[e(l,{variant:"gray",size:"lg",text:r("Map"),onClick:m}),e(l,{variant:"gray",size:"lg",text:r("Exhibitors"),onClick:p}),d&&e(l,{variant:"gray",size:"lg",text:r("Sessions"),onClick:h}),v&&e(l,{variant:"gray",size:"lg",text:r("Guided Tours"),onClick:f})]})]})});export default x;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./WayInformation.scss";
2
+ import React from "react";
3
3
  export interface WayInformationItem {
4
4
  title: string;
5
5
  text: string;
@@ -1 +1 @@
1
- import{jsx as a,jsxs as l}from"react/jsx-runtime";import i from"classnames";import"./WayInformation.scss";import{t as n}from"../utils/i18n";const m=({items:s,accessible:o,onClick:r})=>s?.length?a("div",{className:"efp-wayInformation",onClick:r,role:"button",tabIndex:0,"aria-label":n("Show detailed route steps"),children:s.map((t,e)=>l("div",{className:i("efp-wayInformation__item",{"is-accessible":o&&e===0}),children:[a("span",{children:t.title}),a("strong",{children:t.text})]},e))}):null;export default m;
1
+ import{jsx as a,jsxs as l}from"react/jsx-runtime";import"./WayInformation.scss";import i from"classnames";import{t as n}from"../utils/i18n";const m=({items:s,accessible:o,onClick:r})=>s?.length?a("div",{className:"efp-wayInformation",onClick:r,role:"button",tabIndex:0,"aria-label":n("Show detailed route steps"),children:s.map((t,e)=>l("div",{className:i("efp-wayInformation__item",{"is-accessible":o&&e===0}),children:[a("span",{children:t.title}),a("strong",{children:t.text})]},e))}):null;export default m;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./Wayfinding.scss";
2
+ import React from "react";
3
3
  declare function WayfindingWrapper(): false | React.JSX.Element | null;
4
4
  export default WayfindingWrapper;
5
5
  //# sourceMappingURL=Wayfinding.d.ts.map
@@ -1 +1 @@
1
- import{jsx as y,jsxs as H}from"react/jsx-runtime";import L from"classnames";import{useObserver as O}from"mobx-react-lite";import{useEffect as R,useMemo as B,useState as F,useRef as Q}from"react";import X from"../data";import{getLayerSvg as q}from"../data/svg";import l,{boothStore as w,exhibitorStore as k,uiState as e}from"../store";import{BoothBase as S,RegularBooth as D}from"../store/BoothStore";import{Route as I}from"../store/RouteStore";import{CURRENT_POSITION_POINT_ID as P,KIOSK_ANCHOR_POINT_ID as G}from"../wayfinding/adapters";import A from"../tools/settings";import{t as v}from"../utils/i18n";import J from"./EntityList";import Y from"./WayfindingTemplate";import{calcSpeed as Z}from"../utils/calcSpeed";import{calcTravelTime as ee}from"../utils/calcTravelTime";import{DEFAULT_UNITS as te}from"../constants";import"./Wayfinding.scss";function oe(){const M=Q(null),b=B(()=>{const o=l.routeStore.pathLayers;return o.map((i,c)=>{const u=o[c+1],a=i.layer?.basePriority??0,r=u?.layer?.basePriority??0,d=u?r<a?"up":"down":void 0;return{id:i.id,name:i.layer?.shortName,description:i.layer?.description,directionToNext:d}})},[l.routeStore.pathLayers]),[C,E]=F(),[g,_]=F({}),N=o=>{o&&_(i=>({...i,[o.value]:o}))};R(()=>{C||E(b[0])},[l.routeStore.pathLayers,b]),R(()=>{const o=b.find(i=>i.description?.toLowerCase()===l.routeStore.currentRouteLayer?.description?.toLowerCase());o&&E(o)},[l.routeStore.currentRouteLayer,b]),R(()=>{const o=e.selectedRoute;if(!o){e.setIsMultiPointRoute(!1);return}const c=(o.waypoints?.length||0)>0;e.setIsMultiPointRoute(c)},[e.selectedRoute]);const W=()=>{const{from:o,to:i}=e.selectedRoute;return!!(o&&i)},U=()=>e.overlaySize==="full",V=()=>!!(W()&&!U()),T=()=>{const o=e.selectedRoute;return o?(o.waypoints?.length||0)>0?"multi":"simple":"none"};R(()=>{T()==="multi"&&e.selectedRoute},[e.selectedRoute]);const x=B(()=>{const o=[],i=w.booths,c=i.filter(r=>r instanceof D),u=i.filter(r=>!(r instanceof D));let a=[];return k.exhibitors.forEach(r=>{o.push(...r.booths.map(d=>d.id)),a.push(...r.booths.map(d=>({value:d.id.toString(),label:r.name+" - "+d.fullName,exhibitorId:r.id})))}),u.filter(r=>o.indexOf(r.id)===-1).forEach(r=>{a.push({value:r.id.toString(),label:r.fullName})}),a=a.sort((r,d)=>r.label.localeCompare(d.label,void 0,{sensitivity:"base"})),c.filter(r=>o.indexOf(r.id)===-1).forEach(r=>{a.push({value:r.id.toString(),label:r.fullName})}),a},[k.exhibitors.length,w.booths.length]);return R(()=>{const o=e.selectedRoute?.to?.id?.toString(),i=l.routeStore.currentRouteExhibitor;if(!i)return;const c=x.find(u=>u.value===o&&u.exhibitorId===i.id);l.routeStore.currentRouteExhibitor=null,N(c)},[l.routeStore.currentRouteExhibitor,e.selectedRoute?.to?.id,x]),O(()=>{if(T()==="multi")return H("div",{className:L("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&y("div",{className:"efp-wayfinding-description",children:e.routeDescription}),y(J,{updatedScrollableRef:M})]});const i=e.selectedRoute?.from&&!(e.selectedRoute.from instanceof S)?e.selectedRoute.from:null,c=e.selectedRoute?.to&&!(e.selectedRoute.to instanceof S)?e.selectedRoute.to:null,u=[];i&&u.push({value:i.id,label:i.name}),c&&c.id!==i?.id&&u.push({value:c.id,label:c.name}),u.push(...x);const a=(t,s=!0)=>{const n=t?.value;if(n===P||n===G)return;const f=w.booths.find(h=>h.id.toString()===n)??null,{from:m,to:p}=e.selectedRoute;N(t),s?l.routeStore.selectRoute(new I(f,p)):l.routeStore.selectRoute(new I(m,f))},r=t=>{const s=[],n=q().getAttribute("units")||te,f=ee(t,Z(n));let m=new Date;m.setMinutes(m.getMinutes()+f/60);const p=m.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return s.push({title:v("Travel time"),text:f<60?"< 1 min":`~ ${Math.round(f/60)} min`},{title:v("Distance"),text:Math.round(t)+` ${n}`},{title:v("Est arrival"),text:p}),s},d=()=>{const{from:t,to:s}=e.selectedRoute;t?.id!==P&&l.routeStore.selectRoute(new I(s,t))},j=e.selectedRoute?.from&&e.selectedRoute?.to&&!l.routeStore.routeLines.length;function K(){const t=e.selectedRoute?.from?.id?.toString(),s=t?g[t]:void 0;return u.find(n=>s?n.value===s.value&&n.label===s.label:n.value===t)}function z(){const t=e.selectedRoute?.to?.id?.toString(),s=t?g[t]:void 0;return u.find(n=>s?n.value===s.value&&n.label===s.label:n.value===t)}const $=!!(!X.hideWayInformation&&A.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to);return y("div",{className:L("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:y(Y,{showForm:!V(),showInfo:$,floors:b,currentFloor:C,onClickFloor:t=>{const s=l.routeStore.pathLayers.find(n=>n.id===t.id);s?.layer&&l.layerStore.updateVisibility(s.layer,!0)},routeFound:!j,options:u,fromValue:K(),toValue:z(),onChangeFrom:t=>a(t,!0),onChangeTo:t=>a(t,!1),onSwitch:d,infoItems:r(l.routeStore.routeDistance),infoAccessible:l.routeStore.onlyAccessible,showAccessible:l.routeStore.showAccessible,onAccessibleCheck:t=>l.routeStore.setOnlyAccessible(t),onClickInfo:()=>l.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const{from:t,to:s}=e.selectedRoute||{},n=(s instanceof S?s:null)??(t instanceof S?t:null);if(n){const f=n.id.toString(),m=g[f]??u.find(h=>h.value===f),p=m?.exhibitorId!=null?n.exhibitors.find(h=>h.id===m.exhibitorId):n.exhibitors.find(h=>m?.label.includes(h.name));e.details=p||n}}})})})}function re(){return O(()=>A.wayfinding&&!e.menu&&e.selectedRoute&&e.list.type!=="route-planner"&&y(oe,{}))}export default re;
1
+ import{jsx as y,jsxs as H}from"react/jsx-runtime";import"./Wayfinding.scss";import L from"classnames";import{useObserver as O}from"mobx-react-lite";import{useEffect as R,useMemo as B,useRef as Q,useState as F}from"react";import{DEFAULT_UNITS as X}from"../constants";import q from"../data";import{getLayerSvg as G}from"../data/svg";import l,{boothStore as w,exhibitorStore as k,uiState as e}from"../store";import{BoothBase as S,RegularBooth as D}from"../store/BoothStore";import{Route as I}from"../store/RouteStore";import P from"../tools/settings";import{calcSpeed as J}from"../utils/calcSpeed";import{calcTravelTime as Y}from"../utils/calcTravelTime";import{t as v}from"../utils/i18n";import{CURRENT_POSITION_POINT_ID as A,KIOSK_ANCHOR_POINT_ID as Z}from"../wayfinding/adapters";import ee from"./EntityList";import te from"./WayfindingTemplate";function oe(){const M=Q(null),b=B(()=>{const o=l.routeStore.pathLayers;return o.map((i,c)=>{const u=o[c+1],a=i.layer?.basePriority??0,r=u?.layer?.basePriority??0,d=u?r<a?"up":"down":void 0;return{id:i.id,name:i.layer?.shortName,description:i.layer?.description,directionToNext:d}})},[l.routeStore.pathLayers]),[C,E]=F(),[g,_]=F({}),N=o=>{o&&_(i=>({...i,[o.value]:o}))};R(()=>{C||E(b[0])},[l.routeStore.pathLayers,b]),R(()=>{const o=b.find(i=>i.description?.toLowerCase()===l.routeStore.currentRouteLayer?.description?.toLowerCase());o&&E(o)},[l.routeStore.currentRouteLayer,b]),R(()=>{const o=e.selectedRoute;if(!o){e.setIsMultiPointRoute(!1);return}const c=(o.waypoints?.length||0)>0;e.setIsMultiPointRoute(c)},[e.selectedRoute]);const W=()=>{const{from:o,to:i}=e.selectedRoute;return!!(o&&i)},U=()=>e.overlaySize==="full",V=()=>!!(W()&&!U()),T=()=>{const o=e.selectedRoute;return o?(o.waypoints?.length||0)>0?"multi":"simple":"none"};R(()=>{T()==="multi"&&e.selectedRoute},[e.selectedRoute]);const x=B(()=>{const o=[],i=w.booths,c=i.filter(r=>r instanceof D),u=i.filter(r=>!(r instanceof D));let a=[];return k.exhibitors.forEach(r=>{o.push(...r.booths.map(d=>d.id)),a.push(...r.booths.map(d=>({value:d.id.toString(),label:r.name+" - "+d.fullName,exhibitorId:r.id})))}),u.filter(r=>o.indexOf(r.id)===-1).forEach(r=>{a.push({value:r.id.toString(),label:r.fullName})}),a=a.sort((r,d)=>r.label.localeCompare(d.label,void 0,{sensitivity:"base"})),c.filter(r=>o.indexOf(r.id)===-1).forEach(r=>{a.push({value:r.id.toString(),label:r.fullName})}),a},[k.exhibitors.length,w.booths.length]);return R(()=>{const o=e.selectedRoute?.to?.id?.toString(),i=l.routeStore.currentRouteExhibitor;if(!i)return;const c=x.find(u=>u.value===o&&u.exhibitorId===i.id);l.routeStore.currentRouteExhibitor=null,N(c)},[l.routeStore.currentRouteExhibitor,e.selectedRoute?.to?.id,x]),O(()=>{if(T()==="multi")return H("div",{className:L("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&y("div",{className:"efp-wayfinding-description",children:e.routeDescription}),y(ee,{updatedScrollableRef:M})]});const i=e.selectedRoute?.from&&!(e.selectedRoute.from instanceof S)?e.selectedRoute.from:null,c=e.selectedRoute?.to&&!(e.selectedRoute.to instanceof S)?e.selectedRoute.to:null,u=[];i&&u.push({value:i.id,label:i.name}),c&&c.id!==i?.id&&u.push({value:c.id,label:c.name}),u.push(...x);const a=(t,s=!0)=>{const n=t?.value;if(n===A||n===Z)return;const f=w.booths.find(h=>h.id.toString()===n)??null,{from:m,to:p}=e.selectedRoute;N(t),s?l.routeStore.selectRoute(new I(f,p)):l.routeStore.selectRoute(new I(m,f))},r=t=>{const s=[],n=G().getAttribute("units")||X,f=Y(t,J(n));let m=new Date;m.setMinutes(m.getMinutes()+f/60);const p=m.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return s.push({title:v("Travel time"),text:f<60?"< 1 min":`~ ${Math.round(f/60)} min`},{title:v("Distance"),text:Math.round(t)+` ${n}`},{title:v("Est arrival"),text:p}),s},d=()=>{const{from:t,to:s}=e.selectedRoute;t?.id!==A&&l.routeStore.selectRoute(new I(s,t))},j=e.selectedRoute?.from&&e.selectedRoute?.to&&!l.routeStore.routeLines.length;function K(){const t=e.selectedRoute?.from?.id?.toString(),s=t?g[t]:void 0;return u.find(n=>s?n.value===s.value&&n.label===s.label:n.value===t)}function z(){const t=e.selectedRoute?.to?.id?.toString(),s=t?g[t]:void 0;return u.find(n=>s?n.value===s.value&&n.label===s.label:n.value===t)}const $=!!(!q.hideWayInformation&&P.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to);return y("div",{className:L("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:y(te,{showForm:!V(),showInfo:$,floors:b,currentFloor:C,onClickFloor:t=>{const s=l.routeStore.pathLayers.find(n=>n.id===t.id);s?.layer&&l.layerStore.updateVisibility(s.layer,!0)},routeFound:!j,options:u,fromValue:K(),toValue:z(),onChangeFrom:t=>a(t,!0),onChangeTo:t=>a(t,!1),onSwitch:d,infoItems:r(l.routeStore.routeDistance),infoAccessible:l.routeStore.onlyAccessible,showAccessible:l.routeStore.showAccessible,onAccessibleCheck:t=>l.routeStore.setOnlyAccessible(t),onClickInfo:()=>l.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const{from:t,to:s}=e.selectedRoute||{},n=(s instanceof S?s:null)??(t instanceof S?t:null);if(n){const f=n.id.toString(),m=g[f]??u.find(h=>h.value===f),p=m?.exhibitorId!=null?n.exhibitors.find(h=>h.id===m.exhibitorId):n.exhibitors.find(h=>m?.label.includes(h.name));e.details=p||n}}})})})}function re(){return O(()=>P.wayfinding&&!e.menu&&e.selectedRoute&&e.list.type!=="route-planner"&&y(oe,{}))}export default re;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
2
+ import { type WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
3
3
  declare const WayfindingFloorSelectorContainer: ({ floors, floorSelectionLabel, ...rest }: WayfindingFloorSelectorProps) => React.JSX.Element;
4
4
  export default WayfindingFloorSelectorContainer;
5
5
  //# sourceMappingURL=WayfindingFloorSelectorContainer.d.ts.map
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import type { AutocompleteOptionObject } from "./Autocomplete";
3
- import type { WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
4
1
  import "./WayfindingTemplate.scss";
5
- import type { WayInformationItem } from "./WayInformation";
2
+ import React from "react";
3
+ import { type WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
4
+ import { type AutocompleteOptionObject } from "./Autocomplete";
5
+ import { type WayInformationItem } from "./WayInformation";
6
6
  export interface WayfindingTemplateProps {
7
7
  options: AutocompleteOptionObject[];
8
8
  fromValue?: AutocompleteOptionObject;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as R}from"react/jsx-runtime";import M from"classnames";import{t as l}from"../utils/i18n";import s from"./Autocomplete";import Z from"../ui/ToggleSwitch";import B from"./WayfindingFloorSelectorContainer";import"./WayfindingTemplate.scss";import E from"./WayInformation";import j from"./RouteQR";const D=({options:n=[],fromValue:d,toValue:r,showForm:o=!0,showAccessible:c=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:a,floors:t=[],currentFloor:p,routeUrl:C,isKiosk:g,onChangeFrom:w,onChangeTo:v,onSwitch:y,onClickInfo:_,onClickFloor:u,onAccessibleCheck:F,showDetailsIcon:N,onDetailsIconClick:x})=>i("div",{className:M("efp-wayfinding",{isCollapsed:!o}),children:[o&&i("div",{className:"efp-wayfinding__top",children:[i("div",{className:"efp-wayfindingForm",children:[i("div",{className:"efp-wayfindingForm__icons",children:[e("div",{className:"efp-wayfindingForm__from",children:i("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),e("div",{className:"efp-wayfindingForm__to",children:i("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),e("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),e("div",{className:"efp-wayfindingForm__dots",children:i("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),e("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),i("div",{className:"efp-wayfindingForm__controls",children:[e("div",{style:{marginBottom:10},children:e(s,{placeholder:l("Choose starting point"),options:n,value:d,onChange:w})}),e("div",{children:e(s,{placeholder:l("Choose destination point"),options:n,value:r,onChange:v})})]}),i("div",{className:"efp-wayfindingForm__actions",children:[e("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:y}),N&&e("button",{type:"button",className:"efp-wayfindingForm__details",onClick:x})]})]}),c&&e("div",{className:"efp-wayfindingForm__accessible",children:e(Z,{name:"onlyAccessible",label:l("Accessible"),value:a,onChange:b=>F(b)})})]}),t.length>1&&e(B,{floors:t,value:p,onSelect:u}),f&&e("div",{className:"efp-wayfindingInfo",children:m?i(R,{children:[e(E,{items:h,accessible:a,onClick:_}),g&&e(j,{url:C})]}):e("div",{className:"efp-wayfindingError",children:l("Route not found")})})]});export default D;
1
+ import{jsx as e,jsxs as i,Fragment as R}from"react/jsx-runtime";import"./WayfindingTemplate.scss";import M from"classnames";import Z from"../ui/ToggleSwitch";import{t as l}from"../utils/i18n";import s from"./Autocomplete";import B from"./RouteQR";import E from"./WayfindingFloorSelectorContainer";import j from"./WayInformation";const D=({options:n=[],fromValue:d,toValue:r,showForm:o=!0,showAccessible:c=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:a,floors:t=[],currentFloor:p,routeUrl:C,isKiosk:g,onChangeFrom:w,onChangeTo:v,onSwitch:y,onClickInfo:_,onClickFloor:u,onAccessibleCheck:F,showDetailsIcon:N,onDetailsIconClick:x})=>i("div",{className:M("efp-wayfinding",{isCollapsed:!o}),children:[o&&i("div",{className:"efp-wayfinding__top",children:[i("div",{className:"efp-wayfindingForm",children:[i("div",{className:"efp-wayfindingForm__icons",children:[e("div",{className:"efp-wayfindingForm__from",children:i("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),e("div",{className:"efp-wayfindingForm__to",children:i("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),e("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),e("div",{className:"efp-wayfindingForm__dots",children:i("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),e("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),i("div",{className:"efp-wayfindingForm__controls",children:[e("div",{style:{marginBottom:10},children:e(s,{placeholder:l("Choose starting point"),options:n,value:d,onChange:w})}),e("div",{children:e(s,{placeholder:l("Choose destination point"),options:n,value:r,onChange:v})})]}),i("div",{className:"efp-wayfindingForm__actions",children:[e("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:y}),N&&e("button",{type:"button",className:"efp-wayfindingForm__details",onClick:x})]})]}),c&&e("div",{className:"efp-wayfindingForm__accessible",children:e(Z,{name:"onlyAccessible",label:l("Accessible"),value:a,onChange:b=>F(b)})})]}),t.length>1&&e(E,{floors:t,value:p,onSelect:u}),f&&e("div",{className:"efp-wayfindingInfo",children:m?i(R,{children:[e(j,{items:h,accessible:a,onClick:_}),g&&e(B,{url:C})]}):e("div",{className:"efp-wayfindingError",children:l("Route not found")})})]});export default D;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./Ws.scss";
2
+ import React from "react";
3
3
  declare const _default: () => React.JSX.Element | null;
4
4
  export default _default;
5
5
  //# sourceMappingURL=Ws.d.ts.map
@@ -1 +1 @@
1
- import{jsx as s}from"react/jsx-runtime";import p from"classnames";import{reaction as x}from"mobx";import{useLocalStore as w,useObserver as g}from"mobx-react-lite";import b,{createRef as I,useCallback as m}from"react";import{CSSTransition as y,TransitionGroup as S}from"react-transition-group";import T,{exhibitorStore as k,uiState as n}from"../store";import{remsToPixels as v,shuffle as N}from"../utils";import{useInit as E}from"../utils/mobx";import"./Ws.scss";import{loadImagesInBatchesById as B}from"../utils/loadImagesInBatches";const h=8e3,L=b.memo(()=>{const e=w(()=>({el:null,all:[],adv:[],keySeq:0,index:0,imgByExhibitorId:new Map,batchSize:100,loading:!1,leftToNextLoad:0,timeoutId:0,get sectionStyle(){const{wsStarted:t,wsPosition:o}=n,a=o==="top",i={right:0,width:"100%",opacity:t?1:0};return a?i.top=0:i.bottom=0,i}})),l=m(()=>{const o=(e.el?.getBoundingClientRect().width??0)-v(.3)*2;let a=0;const i=[];do{const r=e.all[e.index%e.all.length],c=e.imgByExhibitorId.get(r.id);if(!c)break;const f=c.width*n.wsImageHeightPx/c.height+20;if(a+f>o&&i.length)break;a+=f,i.push({key:e.keySeq++,e:r}),e.index=(e.index+1)%e.all.length}while(!0);e.adv=i.map(r=>({...r,nodeRef:I()})),e.leftToNextLoad=Math.max(0,e.leftToNextLoad-i.length)},[e]),d=m(async()=>{e.loading=!0;let t=e.all.slice(e.index,e.index+e.batchSize);t.length<e.batchSize&&(t=t.concat(e.all.slice(0,e.batchSize-t.length)));const o=await B(new Map(t.map(a=>[a.id,{fallback:a.logo}])));return e.leftToNextLoad=o.size,e.loading=!1,o},[e]),u=m(()=>{const t=async()=>{if(e.loading){e.timeoutId=window.setTimeout(t,h);return}e.leftToNextLoad<=e.adv.length&&(e.imgByExhibitorId=await d()),l(),e.timeoutId=window.setTimeout(t,h)};clearTimeout(e.timeoutId),e.timeoutId=window.setTimeout(t,h)},[d,l]);return E(()=>{let t,o=!0;return(async()=>(e.all=N(k.advertised),e.imgByExhibitorId=await d(),o&&(l(),u(),n.wsStarted=!0,t=x(()=>n.screenSize,l))))(),()=>{o=!1,t?.(),clearInterval(e.timeoutId)}}),g(()=>s("section",{className:p("ws",{"efp-semi-transparent":n.setKioskModeEnabled}),ref:t=>e.el=t,onMouseOver:()=>clearInterval(e.timeoutId),onMouseOut:u,style:e.sectionStyle,children:s(S,{component:null,children:e.adv.map(t=>s(y,{timeout:500,nodeRef:t.nodeRef,children:s("a",{ref:t.nodeRef,href:`?${t.e.slug}`,className:"ws__exhibitor",style:{height:`${n.wsImageHeightPx}px`},onClick:o=>{o.preventDefault(),T.clickExhibitor(t.e)},children:s("img",{src:t.e.logo,alt:t.e.name,crossOrigin:"anonymous"})})},t.key))})}))});export default()=>g(()=>n.wsShown?s(L,{}):null);
1
+ import{jsx as s}from"react/jsx-runtime";import"./Ws.scss";import p from"classnames";import{reaction as x}from"mobx";import{useLocalStore as w,useObserver as g}from"mobx-react-lite";import b,{createRef as I,useCallback as m}from"react";import{CSSTransition as y,TransitionGroup as S}from"react-transition-group";import T,{exhibitorStore as k,uiState as n}from"../store";import{remsToPixels as v,shuffle as N}from"../utils";import{loadImagesInBatchesById as E}from"../utils/loadImagesInBatches";import{useInit as B}from"../utils/mobx";const h=8e3,L=b.memo(()=>{const e=w(()=>({el:null,all:[],adv:[],keySeq:0,index:0,imgByExhibitorId:new Map,batchSize:100,loading:!1,leftToNextLoad:0,timeoutId:0,get sectionStyle(){const{wsStarted:t,wsPosition:o}=n,a=o==="top",i={right:0,width:"100%",opacity:t?1:0};return a?i.top=0:i.bottom=0,i}})),l=m(()=>{const o=(e.el?.getBoundingClientRect().width??0)-v(.3)*2;let a=0;const i=[];do{const r=e.all[e.index%e.all.length],c=e.imgByExhibitorId.get(r.id);if(!c)break;const f=c.width*n.wsImageHeightPx/c.height+20;if(a+f>o&&i.length)break;a+=f,i.push({key:e.keySeq++,e:r}),e.index=(e.index+1)%e.all.length}while(!0);e.adv=i.map(r=>({...r,nodeRef:I()})),e.leftToNextLoad=Math.max(0,e.leftToNextLoad-i.length)},[e]),d=m(async()=>{e.loading=!0;let t=e.all.slice(e.index,e.index+e.batchSize);t.length<e.batchSize&&(t=t.concat(e.all.slice(0,e.batchSize-t.length)));const o=await E(new Map(t.map(a=>[a.id,{fallback:a.logo}])));return e.leftToNextLoad=o.size,e.loading=!1,o},[e]),u=m(()=>{const t=async()=>{if(e.loading){e.timeoutId=window.setTimeout(t,h);return}e.leftToNextLoad<=e.adv.length&&(e.imgByExhibitorId=await d()),l(),e.timeoutId=window.setTimeout(t,h)};clearTimeout(e.timeoutId),e.timeoutId=window.setTimeout(t,h)},[d,l]);return B(()=>{let t,o=!0;return(async()=>(e.all=N(k.advertised),e.imgByExhibitorId=await d(),o&&(l(),u(),n.wsStarted=!0,t=x(()=>n.screenSize,l))))(),()=>{o=!1,t?.(),clearInterval(e.timeoutId)}}),g(()=>s("section",{className:p("ws",{"efp-semi-transparent":n.setKioskModeEnabled}),ref:t=>e.el=t,onMouseOver:()=>clearInterval(e.timeoutId),onMouseOut:u,style:e.sectionStyle,children:s(S,{component:null,children:e.adv.map(t=>s(y,{timeout:500,nodeRef:t.nodeRef,children:s("a",{ref:t.nodeRef,href:`?${t.e.slug}`,className:"ws__exhibitor",style:{height:`${n.wsImageHeightPx}px`},onClick:o=>{o.preventDefault(),T.clickExhibitor(t.e)},children:s("img",{src:t.e.logo,alt:t.e.name,crossOrigin:"anonymous"})})},t.key))})}))});export default()=>g(()=>n.wsShown?s(L,{}):null);
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { HeatmapYah } from "../store/HeatmapStore";
2
+ import { type HeatmapYah } from "../store/HeatmapStore";
3
3
  declare const YahRow: React.FC<{
4
4
  yah: HeatmapYah;
5
5
  className: string;
@@ -1 +1 @@
1
- import{jsx as l}from"react/jsx-runtime";import{useObserver as s}from"mobx-react-lite";import m,{layersStore as r,uiState as u}from"../store";import c from"./SimpleRow";import p from"../utils/useHeatmapData";const d=({yah:e,className:i})=>{const{clicks:o,background:n}=p(e);return s(()=>l(c,{style:{background:u.heatmapYah?`linear-gradient(to right, transparent 98%, ${n} 93%) center / 100% 99% no-repeat`:null},className:i,slug:e.id.toString(),onClick:a,line1:e.name,line2:e.z?`Level ${e.z}`:"",lineEnd:o.toString(),highlight:!1}));function a(){const t=r.findLayer(e.z);t&&r.updateVisibility(t,!0),m.routeStore.selectMarker(e.id.toString(),!0)}};export default d;
1
+ import{jsx as l}from"react/jsx-runtime";import{useObserver as s}from"mobx-react-lite";import m,{layersStore as r,uiState as u}from"../store";import c from"../utils/useHeatmapData";import p from"./SimpleRow";const d=({yah:e,className:i})=>{const{clicks:o,background:n}=c(e);return s(()=>l(p,{style:{background:u.heatmapYah?`linear-gradient(to right, transparent 98%, ${n} 93%) center / 100% 99% no-repeat`:null},className:i,slug:e.id.toString(),onClick:a,line1:e.name,line2:e.z?`Level ${e.z}`:"",lineEnd:o.toString(),highlight:!1}));function a(){const t=r.findLayer(e.z);t&&r.updateVisibility(t,!0),m.routeStore.selectMarker(e.id.toString(),!0)}};export default d;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { GpsPosition } from "./types";
2
+ import { type GpsPosition } from "./types";
3
3
  interface GpsManagerProps {
4
4
  requestCompass: boolean;
5
5
  requestCompassAllowed: boolean;
@@ -1 +1 @@
1
- import{jsx as E}from"react/jsx-runtime";import{useCallback as w,useEffect as m,useState as p}from"react";import{useUserLocationAndHeading as C}from"./useUserLocationAndHeading";import M from"./GpsPermissionRequest";import P from"../../tools/logger";import b from"../../utils/is-mobile";export default function h({onPositionUpdate:d,onAllowCompass:g,onRejectCompass:r,orientationStorageKey:t="compass-permission-granted",requestCompass:a=!0,requestCompassAllowed:s=!0}){const{startOrientation:v,startGeolocation:i,stopOrientation:l,stopGeolocation:c}=C(d),[f,u]=p(!1),[G,o]=p(!1);m(()=>(navigator.geolocation.getCurrentPosition(()=>{u(!0),i()},e=>{P.warn("Geolocation error:",e),u(!1)}),()=>{l(),c()}),[i,c,l]);const n=async()=>{typeof DeviceOrientationEvent<"u"&&typeof DeviceOrientationEvent.requestPermission=="function"&&await DeviceOrientationEvent.requestPermission()!=="granted"||(localStorage.setItem(t,"true"),v(),o(!1),g?.())},O=w(()=>{localStorage.setItem(t,"false"),o(!1),r?.()},[r]);return m(()=>{if(!f||!s||typeof navigator>"u"||!b)return;const e=localStorage.getItem(t);if(!e||a){o(!0);return}e==="true"&&n()},[f,a,s,n]),E(M,{isOpen:G,onAllow:n,onCancel:O})}
1
+ import{jsx as E}from"react/jsx-runtime";import{useCallback as w,useEffect as m,useState as p}from"react";import C from"../../tools/logger";import M from"../../utils/is-mobile";import P from"./GpsPermissionRequest";import{useUserLocationAndHeading as b}from"./useUserLocationAndHeading";export default function h({onPositionUpdate:d,onAllowCompass:g,onRejectCompass:r,orientationStorageKey:t="compass-permission-granted",requestCompass:a=!0,requestCompassAllowed:s=!0}){const{startOrientation:v,startGeolocation:i,stopOrientation:l,stopGeolocation:c}=b(d),[f,u]=p(!1),[G,o]=p(!1);m(()=>(navigator.geolocation.getCurrentPosition(()=>{u(!0),i()},e=>{C.warn("Geolocation error:",e),u(!1)}),()=>{l(),c()}),[i,c,l]);const n=async()=>{typeof DeviceOrientationEvent<"u"&&typeof DeviceOrientationEvent.requestPermission=="function"&&await DeviceOrientationEvent.requestPermission()!=="granted"||(localStorage.setItem(t,"true"),v(),o(!1),g?.())},O=w(()=>{localStorage.setItem(t,"false"),o(!1),r?.()},[r]);return m(()=>{if(!f||!s||typeof navigator>"u"||!M)return;const e=localStorage.getItem(t);if(!e||a){o(!0);return}e==="true"&&n()},[f,a,s,n]),E(P,{isOpen:G,onAllow:n,onCancel:O})}
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{observer as s}from"mobx-react-lite";import{t as o}from"../../utils/i18n";import n from"../../ui/PermissionNotice";export default s(function({isOpen:e,onAllow:t,onCancel:r}){return e?i(n,{title:o("Show your position on the map"),acceptText:o("Allow compass access"),rejectText:o("Not now"),onAccept:t,onReject:r,children:o("To display your current position and orient the map around you, we\u2019ll ask for permission to access your device orientation")}):null});
1
+ import{jsx as i}from"react/jsx-runtime";import{observer as s}from"mobx-react-lite";import n from"../../ui/PermissionNotice";import{t as o}from"../../utils/i18n";export default s(function({isOpen:e,onAllow:t,onCancel:r}){return e?i(n,{title:o("Show your position on the map"),acceptText:o("Allow compass access"),rejectText:o("Not now"),onAccept:t,onReject:r,children:o("To display your current position and orient the map around you, we\u2019ll ask for permission to access your device orientation")}):null});
@@ -1,4 +1,4 @@
1
- import type { GpsPosition } from "./types";
1
+ import { type GpsPosition } from "./types";
2
2
  export declare function useUserLocationAndHeading(onUpdate: (pos: GpsPosition) => void): {
3
3
  startGeolocation: () => void;
4
4
  startOrientation: () => void;
@@ -1 +1 @@
1
- import{useCallback as v,useRef as e}from"react";import{hasMeaningfulChange as A,MOVE_THRESHOLD_M as E,normalizeHeading as O}from"./utils";import H from"../../tools/logger";import{haversineDistance as L}from"../../utils/haversineDistance";const _=120,C=3e3,G=360;export function useUserLocationAndHeading(g){const o=e(null),s=e(null),f=e(0),u=e(null),d=e(!1),t=e(null),a=e(!1),l=e(null),h=n=>g(n),m=n=>{const r=Date.now();if(r-f.current<_)return;const i=u.current;if(!t.current){t.current=n,f.current=r,u.current=n,h(n);return}const w=L(t.current.lat,t.current.lng,n.lat,n.lng);let c;a.current?w<=E?(a.current=!1,t.current=n,c={...t.current,heading:n.heading}):(t.current=n,c=n):w>=E?(a.current=!0,t.current=n,l.current=null,c=n):(l.current==null&&(l.current=r),r-l.current>C&&(t.current=n),c={...t.current,heading:n.heading}),!(i&&!A(i,c))&&(f.current=r,u.current=c,h(c))},R=v(n=>{const r=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(r==null)return;const i=O(r);s.current!==i&&(s.current=i,u.current&&m({...u.current,heading:i}))},[g]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{m({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>H.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{d.current||(d.current=!0,window.addEventListener("deviceorientation",R,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),t.current=null,a.current=!1},stopOrientation:()=>{d.current=!1,window.removeEventListener("deviceorientation",R,!0)}}}
1
+ import{useCallback as v,useRef as e}from"react";import A from"../../tools/logger";import{haversineDistance as O}from"../../utils/haversineDistance";import{hasMeaningfulChange as H,MOVE_THRESHOLD_M as E,normalizeHeading as L}from"./utils";const _=120,C=3e3,G=360;export function useUserLocationAndHeading(g){const o=e(null),s=e(null),f=e(0),u=e(null),d=e(!1),t=e(null),a=e(!1),l=e(null),h=n=>g(n),m=n=>{const r=Date.now();if(r-f.current<_)return;const i=u.current;if(!t.current){t.current=n,f.current=r,u.current=n,h(n);return}const w=O(t.current.lat,t.current.lng,n.lat,n.lng);let c;a.current?w<=E?(a.current=!1,t.current=n,c={...t.current,heading:n.heading}):(t.current=n,c=n):w>=E?(a.current=!0,t.current=n,l.current=null,c=n):(l.current==null&&(l.current=r),r-l.current>C&&(t.current=n),c={...t.current,heading:n.heading}),!(i&&!H(i,c))&&(f.current=r,u.current=c,h(c))},R=v(n=>{const r=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(r==null)return;const i=L(r);s.current!==i&&(s.current=i,u.current&&m({...u.current,heading:i}))},[g]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{m({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>A.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{d.current||(d.current=!0,window.addEventListener("deviceorientation",R,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),t.current=null,a.current=!1},stopOrientation:()=>{d.current=!1,window.removeEventListener("deviceorientation",R,!0)}}}
@@ -1,4 +1,4 @@
1
- import type { GpsPosition } from "./types";
1
+ import { type GpsPosition } from "./types";
2
2
  export declare const MOVE_THRESHOLD_M = 3;
3
3
  export declare function normalizeHeading(heading: number): number;
4
4
  export declare function hasMeaningfulChange(prev: GpsPosition, curr: GpsPosition): boolean;
@@ -1,4 +1,4 @@
1
- import type { FeatureCollection } from 'geojson';
1
+ import { type FeatureCollection } from 'geojson';
2
2
  interface ImageData {
3
3
  layer: string;
4
4
  data: string;
@@ -1,4 +1,4 @@
1
- import type { Data } from "./Data";
1
+ import { type Data } from "./Data";
2
2
  declare const data: Data;
3
3
  export default data;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- import*as a from"d3-selection";import b from".";import w from"../core/Rect";import u from"../tools/logger";import A from"../tools/settings";import{STRING_META_DELIMITER as _}from"../constants";import{extractMetaFromString as v}from"../utils/extractMetaFromString";const r=new Map;function g(t,n=""){if(r.has(n))return r.get(n);const s=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;s.firstChild.tagName==="parsererror"&&u.error("Parsed svg with error: ",l);const e=new Map;return a.select(s).selectAll("style").each(function(){const i=this.textContent,x=/\.([a-z0-9.]+)\s*{[^}]*fill\s*:\s*([^};]+);[^}]*}/gi;let h;for(;(h=x.exec(i))!==null;){const P=h[1],M=h[2];e.set(P,M)}}),a.select(s).selectAll("*[class]").each(function(){const i=this;i.style.fill=e.get(i.className.baseVal)}),S(s),r.set(n,s),s}let l=g(window.__fp);const m=window.__viewbox,d=a.select(l).select("rect#VIEWBOX").node(),p=l.viewBox.baseVal,c=w.fromXywh(p.x,p.y,p.width,p.height);let f;m?(f=w.fromXywh(m.x,m.y,m.width,m.height),d?.remove()):d?(f=w.fromSvgRectElement(d),d.remove()):f=c.withPadding(-c.w*.05,-c.h*.05),a.select(l).attr("width",c.w),a.select(l).attr("height",c.h),u.log("svgArea",f,"svgViewBox",c),A.wayfinding=!!(!b.hideDirections&&window.__wfData);let E=window.__fpLayersMode?a.select(l).selectAll("[data-floor]").nodes().map(t=>(t.remove(),{name:t.dataset.floor,rect:w.fromSvgRectElement(t)})).sort():[];export{f as svgArea,c as svgViewBox,E as floors};export function getTrianglesFromFpPaths(t,n){const o=gtePathByIndex(t,n);for(const e of o.positions)e[1]=Math.abs(e[1]),e.length=2;const s=[];for(const e of o.cells)s.push([o.positions[e[0]],o.positions[e[1]],o.positions[e[2]]]);return s}export let gtePathByIndex=(t,n="")=>{try{return window[`__fpPaths${n}`][t]}catch{return window.__fpPaths[t]}},getLayerSvg=(t="")=>typeof t=="string"?r.has(t)?r.get(t):window[`__fp${t}`]?g(window[`__fp${t}`],t):r.get(""):t.rootParent?r.has(t.rootParent.name)?r.get(t.rootParent.name):window[`__fp${t.rootParent.name}`]?g(window[`__fp${t.rootParent.name}`],t.rootParent.name):r.get(""):window[`__fp${t.name}`]?g(window[`__fp${t.name}`],t.name):r.get("");function S(t){a.select(t).selectAll("[id], [data-name]").each(function(){const n=this;let o={};const s=n.getAttribute("data-name");if(s&&s.includes(_)){const{meta:i}=v(s);o={...o,...i}}const e=n.getAttribute("id");if(e&&e.includes(_)){const{meta:i}=v(e);o={...o,...i}}n.setAttribute("data-meta",JSON.stringify(o))})}
1
+ import*as a from"d3-selection";import{STRING_META_DELIMITER as u}from"../constants";import w from"../core/Rect";import _ from"../tools/logger";import b from"../tools/settings";import{extractMetaFromString as v}from"../utils/extractMetaFromString";import A from".";const r=new Map;function g(t,n=""){if(r.has(n))return r.get(n);const s=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;s.firstChild.tagName==="parsererror"&&_.error("Parsed svg with error: ",l);const e=new Map;return a.select(s).selectAll("style").each(function(){const i=this.textContent,x=/\.([a-z0-9.]+)\s*{[^}]*fill\s*:\s*([^};]+);[^}]*}/gi;let h;for(;(h=x.exec(i))!==null;){const P=h[1],M=h[2];e.set(P,M)}}),a.select(s).selectAll("*[class]").each(function(){const i=this;i.style.fill=e.get(i.className.baseVal)}),S(s),r.set(n,s),s}let l=g(window.__fp);const m=window.__viewbox,d=a.select(l).select("rect#VIEWBOX").node(),p=l.viewBox.baseVal,c=w.fromXywh(p.x,p.y,p.width,p.height);let f;m?(f=w.fromXywh(m.x,m.y,m.width,m.height),d?.remove()):d?(f=w.fromSvgRectElement(d),d.remove()):f=c.withPadding(-c.w*.05,-c.h*.05),a.select(l).attr("width",c.w),a.select(l).attr("height",c.h),_.log("svgArea",f,"svgViewBox",c),b.wayfinding=!!(!A.hideDirections&&window.__wfData);let E=window.__fpLayersMode?a.select(l).selectAll("[data-floor]").nodes().map(t=>(t.remove(),{name:t.dataset.floor,rect:w.fromSvgRectElement(t)})).sort():[];export{f as svgArea,c as svgViewBox,E as floors};export function getTrianglesFromFpPaths(t,n){const o=gtePathByIndex(t,n);for(const e of o.positions)e[1]=Math.abs(e[1]),e.length=2;const s=[];for(const e of o.cells)s.push([o.positions[e[0]],o.positions[e[1]],o.positions[e[2]]]);return s}export let gtePathByIndex=(t,n="")=>{try{return window[`__fpPaths${n}`][t]}catch{return window.__fpPaths[t]}},getLayerSvg=(t="")=>typeof t=="string"?r.has(t)?r.get(t):window[`__fp${t}`]?g(window[`__fp${t}`],t):r.get(""):t.rootParent?r.has(t.rootParent.name)?r.get(t.rootParent.name):window[`__fp${t.rootParent.name}`]?g(window[`__fp${t.rootParent.name}`],t.rootParent.name):r.get(""):window[`__fp${t.name}`]?g(window[`__fp${t.name}`],t.name):r.get("");function S(t){a.select(t).selectAll("[id], [data-name]").each(function(){const n=this;let o={};const s=n.getAttribute("data-name");if(s&&s.includes(u)){const{meta:i}=v(s);o={...o,...i}}const e=n.getAttribute("id");if(e&&e.includes(u)){const{meta:i}=v(e);o={...o,...i}}n.setAttribute("data-meta",JSON.stringify(o))})}
@@ -1,3 +1,3 @@
1
- import type { Data } from "./Data";
1
+ import { type Data } from "./Data";
2
2
  export default function validateData(data: Data): void;
3
3
  //# sourceMappingURL=validate-data.d.ts.map
@@ -1,7 +1,7 @@
1
- import type { CurrentPosition, MarkersData } from "./store/RouteStore";
2
- import type { Visibility } from "./store/types";
3
- import type { FloorPlan, FloorPlanCustomButtonEvent, FloorPlanDetailsEvent, FloorPlanGetCoordsEvent, FloorPlanMarkerEvent, FloorPlanOptions, GeoConfig } from "./types";
4
- import { Bounds, POISelectors } from "./types/sdk.types";
1
+ import type { CurrentPosition, MarkersData } from './store/RouteStore';
2
+ import type { Visibility } from './store/types';
3
+ import type { FloorPlan, FloorPlanCustomButtonEvent, FloorPlanDetailsEvent, FloorPlanGetCoordsEvent, FloorPlanMarkerEvent, FloorPlanOptions, GeoConfig } from './types';
4
+ import { type Bounds, type POISelectors } from './types/sdk.types';
5
5
  export default class FloorPlanLoader implements FloorPlan {
6
6
  protected readonly options: FloorPlanOptions;
7
7
  protected readonly renderTarget: HTMLDivElement;
@@ -16,7 +16,7 @@ export default class FloorPlanLoader implements FloorPlan {
16
16
  readonly onInit: (fp: FloorPlan) => void;
17
17
  readonly disableRuntimeAlerts: boolean;
18
18
  readonly viewerMode: boolean;
19
- readonly maplibre: FloorPlanOptions["maplibre"];
19
+ readonly maplibre: FloorPlanOptions['maplibre'];
20
20
  protected efpStyleLoadHandler: (e: Event) => void;
21
21
  protected resolveReady: () => void;
22
22
  readonly icons: Map<FloorPlanIcon, HTMLImageElement>;
@@ -46,13 +46,13 @@ export default class FloorPlanLoader implements FloorPlan {
46
46
  bookmarked: boolean;
47
47
  }[]): void;
48
48
  setEntitiesBookmarks(bookmarks: {
49
- type: "exhibitor" | "event" | "speaker" | "booth";
49
+ type: 'exhibitor' | 'event' | 'speaker' | 'booth';
50
50
  name?: string;
51
51
  externalId?: string;
52
52
  bookmarked: boolean;
53
53
  }[]): void;
54
54
  setEntitiesVisited(entities: {
55
- type: "exhibitor" | "event";
55
+ type: 'exhibitor' | 'event';
56
56
  name?: string;
57
57
  externalId?: string;
58
58
  visited: boolean;
@@ -1 +1 @@
1
- import{PREVIEW_MODE_ATTRIBUTE as M}from"./constants";import c from"./tools/base-runtime-url";import{buildRebookingUrl as T,getRebookingToken as A,retainRebookingToken as F}from"./tools/rebookingUrl";import{loadCss as R,loadFont as g,loadJs as k}from"./tools/loaders";import I from"./tools/logger";import{sleep as V}from"./utils";import{initI18n as H}from"./utils/i18n";import U from"./utils/is-webview";import{loadCustomCss as z}from"./utils/loadCustomCss";import{loadIcons as G}from"./utils/loadIcons";import N from"./utils/mergeExhibitors";import E from"./utils/use-shadow";import Q from"./utils/is-debug";import q from"./utils/is-localhost";import{initSentry as W}from"./tools/sentry";function t(){throw new Error("FloorPlan not ready")}export default class ${options;renderTarget;_ready;element;eventId;dataUrl;noOverlay;offHistory;ignoreQuery;allowConsent;onInit;disableRuntimeAlerts;viewerMode;maplibre;efpStyleLoadHandler;resolveReady;icons=new Map;enableRotation=!0;alwaysShowSidebar=!1;get ready(){return this._ready}get previewMode(){return this.options.previewMode||this.element.hasAttribute(M)}onBoothClick;onBookmarkClick;onVisitedClick;onCategoryClick;onFpConfigured;onDirection;onDetails;onExhibitorCustomButtonClick;onGetCoordsClick;onMarkerClick;onLeaveEvent;selectBooth(e){t()}selectExhibitor(e){t()}selectRoute(e,r){t()}getOptimizedRoutes(e){t()}selectCurrentPosition(e,r,h){t()}setBookmarks(e){t()}setEntitiesBookmarks(e){t()}setEntitiesVisited(e){t()}setMarkers(e){t()}updateLayerVisibility(e,r){t()}getCenterCoordinates(){t()}applyParameters(e){t()}exhibitorsList(){t()}boothsList(){t()}categoriesList(){t()}selectCategory(e){t()}getVisibility(){t()}setVisibility(e){t()}findLocation(){t()}zoomIn(){t()}zoomOut(){t()}zoomTo(e,r){t()}switchView(){t()}fitBounds(){t()}getBounds(e){t()}getBoothRect(e){t()}convertToGeo(e,r){t()}getGeoConfig(){t()}unstable_destroy(){t()}highlightExhibitors(e){t()}highlightBooths(e){t()}onCurrentPositionChanged(e){t()}search(e){t()}getFloors(){t()}onFloorActivated(e){t()}activateFloor(e){t()}showPathway(e,r){t()}showPathwayOnly(e,r){t()}hidePathways(){t()}showSearch(){t()}changeLanguage(e){t()}isGpsTrackingEnabled(){t()}setGpsTrackingEnabled(e){t()}deselectCurrentPosition(){t()}deselectRoute(){t()}reset(){t()}selectAccessibleRoute(e){t()}constructor(e){this.options=e,this.noOverlay=!!e.noOverlay,this.offHistory=!!e.offHistory,this.ignoreQuery=e.ignoreQuery,this.allowConsent=q&&!Q?!1:e.allowConsent,this.onBoothClick=e.onBoothClick,this.onBookmarkClick=e.onBookmarkClick,this.onVisitedClick=e.onVisitedClick,this.onCategoryClick=e.onCategoryClick,this.onDetails=e.onDetails,this.onExhibitorCustomButtonClick=e.onExhibitorCustomButtonClick,this.onGetCoordsClick=e.onGetCoordsClick,this.onMarkerClick=e.onMarkerClick,this.onFpConfigured=e.onFpConfigured,this.onDirection=e.onDirection,this.onInit=e.onInit,this.onCurrentPositionChanged=e.onCurrentPositionChanged,this.onFloorActivated=e.onFloorActivated,this.onLeaveEvent=e.onLeaveEvent,this.viewerMode=!!e.viewerMode,this.disableRuntimeAlerts=e.disableRuntimeAlerts??!0,this.maplibre=e.maplibre,window.__efpMaplibre=e.maplibre,this._ready=new Promise((l,a)=>{this.resolveReady=l});const r=e.element;if(this.element=r,r.__expofp)throw new Error("Element already in use");if(r.__expofp=this,r.getAttribute("data-event-id")||r.getAttribute("data-event"))throw new Error("data-xxx attributes are removed, use options instead");const h=e.expo||e.event;if(!h)throw new Error("`expo` option is required");W({eventId:h||"",isWebview:U}),this.eventId=h,window.__efpEvent=h,window.__efpElement=r;const w=document.createElement("div");w.style.height="100%",w.style.width="100%",r.appendChild(w);let n;if(U&&(this.allowConsent=!0),e.allowConsent===void 0){const a=new URL(window.location.href).searchParams.get("allowConsent");a&&(this.allowConsent=a==="true")}if(E){n=w.attachShadow({mode:"open"});const l=n,a=document;l.createElement=(...i)=>a.createElement(...i),l.createElementNS=(...i)=>a.createElementNS(...i),l.createTextNode=(...i)=>a.createTextNode(...i)}else n=w;const y=document.createElement("div");if(y.style.height="100%",y.style.width="100%",n.appendChild(y),E&&Object.defineProperty(y,"ownerDocument",{value:n}),window.__efpShadowDOMStyleParent=E?n:void 0,this.renderTarget=y,r.getAttribute("data-data-url"))throw new Error("data-xxx attributes are removed, use options instead");const u=e.legacyDataUrlBase;window.__dataUrlBase=u,this.dataUrl=u,I.log("Instantiating ExpoFP floorplan",e.element,h);const S=u+"data.js",L=u+"wf.data.js",x=u+"fp.svg.js",O=[k(L),k(S),k(x)];let v=0;this.efpStyleLoadHandler=function(l){const a=window.__efpStyleElements;for(;v<a.length;){const i=a[v];n.appendChild(i),v++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const b=this;(async function(){await Promise.all(O);let a=0;for(;window.__fpPending&&!window.__fp;)await V(2e3),await k(x+`?v=${++a}`);const i=window.__data;if(!i){const{showEventNotFound:o}=await import("./tools/event-not-found");o(r);return}await H();const m=new URLSearchParams(window.location.search);let f,C;if(i?.trackerUrl)try{f=new URL(i.trackerUrl),C=f.searchParams.get("expoId")}catch(o){console.error(o)}const _=async o=>{if(!f||!C)return Promise.reject(new Error("trackerUrl or expoId is missing"));const s=new URL(o.dataUrl,f.origin),d=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:C,token:decodeURIComponent(m.get("t"))})});let p=[];d.ok&&(p=(await d.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:p}};if(m.get("heatmap")==="true")try{if(m.get("type")==="yah")m.get("subtype")==="kiosk"?await _({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await _({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,s)=>({...o,name:`QR Code #${s+1}`})});else{const o=new URL("/api/fp-stats/get",f.origin);o.searchParams.set("expoId",C),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(m.get("t")));const s=new URL("api/fp-stats/get",f.origin);s.searchParams.set("expoId",C),s.searchParams.set("type","exview"),s.searchParams.set("t",decodeURIComponent(m.get("t")));const[d,p]=await Promise.all([fetch(o.toString()),fetch(s.toString())]),[P,j]=await Promise.all([d.json(),p.json()]);window.__heatmapData={booths:P,exhibitors:j}}}catch(o){console.error("Heatmap: Initialization error",o)}try{const o=A();if(o){F(o);const s=T("api/rebooking-data",{rt:o,expoKey:h}),d=await fetch(s);if(d.ok){const p=await d.json();N(i,p)}i.isRebooking=d.ok}else i.isRebooking=!1}catch(o){console.error(o)}const B=[R(c+"vendor/sanitize-css/sanitize.css",n),R(c+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",n),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),g("Inter",c+"fonts/inter-400.woff2",{weight:400}),g("Inter",c+"fonts/inter-500.woff2",{weight:500}),g("Inter",c+"fonts/inter-600.woff2",{weight:600}),g("efp-symbols",c+"fonts/efp-symbols.woff",{weight:400}),z(i,n),G(b.icons)];await Promise.all(B),b.enableRotation=i?.enableRotation??!1,b.alwaysShowSidebar=i?.alwaysShowSidebar??!1,I.log("Data loaded"),window.__storeInitAllowed=!0;const{default:D}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());r.firstChild&&r.firstChild!==w;)r.removeChild(r.firstChild);Object.setPrototypeOf(b,D.prototype).init()})()}}
1
+ import{PREVIEW_MODE_ATTRIBUTE as M}from"./constants";import c from"./tools/base-runtime-url";import{loadCss as R,loadFont as g,loadJs as k}from"./tools/loaders";import I from"./tools/logger";import{buildRebookingUrl as T,getRebookingToken as A,retainRebookingToken as F}from"./tools/rebookingUrl";import{initSentry as V}from"./tools/sentry";import{sleep as H}from"./utils";import{initI18n as z}from"./utils/i18n";import G from"./utils/is-debug";import N from"./utils/is-localhost";import U from"./utils/is-webview";import{loadCustomCss as Q}from"./utils/loadCustomCss";import{loadIcons as q}from"./utils/loadIcons";import W from"./utils/mergeExhibitors";import E from"./utils/use-shadow";function t(){throw new Error("FloorPlan not ready")}export default class ${options;renderTarget;_ready;element;eventId;dataUrl;noOverlay;offHistory;ignoreQuery;allowConsent;onInit;disableRuntimeAlerts;viewerMode;maplibre;efpStyleLoadHandler;resolveReady;icons=new Map;enableRotation=!0;alwaysShowSidebar=!1;get ready(){return this._ready}get previewMode(){return this.options.previewMode||this.element.hasAttribute(M)}onBoothClick;onBookmarkClick;onVisitedClick;onCategoryClick;onFpConfigured;onDirection;onDetails;onExhibitorCustomButtonClick;onGetCoordsClick;onMarkerClick;onLeaveEvent;selectBooth(e){t()}selectExhibitor(e){t()}selectRoute(e,r){t()}getOptimizedRoutes(e){t()}selectCurrentPosition(e,r,h){t()}setBookmarks(e){t()}setEntitiesBookmarks(e){t()}setEntitiesVisited(e){t()}setMarkers(e){t()}updateLayerVisibility(e,r){t()}getCenterCoordinates(){t()}applyParameters(e){t()}exhibitorsList(){t()}boothsList(){t()}categoriesList(){t()}selectCategory(e){t()}getVisibility(){t()}setVisibility(e){t()}findLocation(){t()}zoomIn(){t()}zoomOut(){t()}zoomTo(e,r){t()}switchView(){t()}fitBounds(){t()}getBounds(e){t()}getBoothRect(e){t()}convertToGeo(e,r){t()}getGeoConfig(){t()}unstable_destroy(){t()}highlightExhibitors(e){t()}highlightBooths(e){t()}onCurrentPositionChanged(e){t()}search(e){t()}getFloors(){t()}onFloorActivated(e){t()}activateFloor(e){t()}showPathway(e,r){t()}showPathwayOnly(e,r){t()}hidePathways(){t()}showSearch(){t()}changeLanguage(e){t()}isGpsTrackingEnabled(){t()}setGpsTrackingEnabled(e){t()}deselectCurrentPosition(){t()}deselectRoute(){t()}reset(){t()}selectAccessibleRoute(e){t()}constructor(e){this.options=e,this.noOverlay=!!e.noOverlay,this.offHistory=!!e.offHistory,this.ignoreQuery=e.ignoreQuery,this.allowConsent=N&&!G?!1:e.allowConsent,this.onBoothClick=e.onBoothClick,this.onBookmarkClick=e.onBookmarkClick,this.onVisitedClick=e.onVisitedClick,this.onCategoryClick=e.onCategoryClick,this.onDetails=e.onDetails,this.onExhibitorCustomButtonClick=e.onExhibitorCustomButtonClick,this.onGetCoordsClick=e.onGetCoordsClick,this.onMarkerClick=e.onMarkerClick,this.onFpConfigured=e.onFpConfigured,this.onDirection=e.onDirection,this.onInit=e.onInit,this.onCurrentPositionChanged=e.onCurrentPositionChanged,this.onFloorActivated=e.onFloorActivated,this.onLeaveEvent=e.onLeaveEvent,this.viewerMode=!!e.viewerMode,this.disableRuntimeAlerts=e.disableRuntimeAlerts??!0,this.maplibre=e.maplibre,window.__efpMaplibre=e.maplibre,this._ready=new Promise((l,a)=>{this.resolveReady=l});const r=e.element;if(this.element=r,r.__expofp)throw new Error("Element already in use");if(r.__expofp=this,r.getAttribute("data-event-id")||r.getAttribute("data-event"))throw new Error("data-xxx attributes are removed, use options instead");const h=e.expo||e.event;if(!h)throw new Error("`expo` option is required");V({eventId:h||"",isWebview:U}),this.eventId=h,window.__efpEvent=h,window.__efpElement=r;const w=document.createElement("div");w.style.height="100%",w.style.width="100%",r.appendChild(w);let n;if(U&&(this.allowConsent=!0),e.allowConsent===void 0){const a=new URL(window.location.href).searchParams.get("allowConsent");a&&(this.allowConsent=a==="true")}if(E){n=w.attachShadow({mode:"open"});const l=n,a=document;l.createElement=(...i)=>a.createElement(...i),l.createElementNS=(...i)=>a.createElementNS(...i),l.createTextNode=(...i)=>a.createTextNode(...i)}else n=w;const y=document.createElement("div");if(y.style.height="100%",y.style.width="100%",n.appendChild(y),E&&Object.defineProperty(y,"ownerDocument",{value:n}),window.__efpShadowDOMStyleParent=E?n:void 0,this.renderTarget=y,r.getAttribute("data-data-url"))throw new Error("data-xxx attributes are removed, use options instead");const u=e.legacyDataUrlBase;window.__dataUrlBase=u,this.dataUrl=u,I.log("Instantiating ExpoFP floorplan",e.element,h);const S=u+"data.js",L=u+"wf.data.js",x=u+"fp.svg.js",O=[k(L),k(S),k(x)];let v=0;this.efpStyleLoadHandler=function(l){const a=window.__efpStyleElements;for(;v<a.length;){const i=a[v];n.appendChild(i),v++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const b=this;(async function(){await Promise.all(O);let a=0;for(;window.__fpPending&&!window.__fp;)await H(2e3),await k(x+`?v=${++a}`);const i=window.__data;if(!i){const{showEventNotFound:o}=await import("./tools/event-not-found");o(r);return}await z();const m=new URLSearchParams(window.location.search);let f,C;if(i?.trackerUrl)try{f=new URL(i.trackerUrl),C=f.searchParams.get("expoId")}catch(o){console.error(o)}const _=async o=>{if(!f||!C)return Promise.reject(new Error("trackerUrl or expoId is missing"));const s=new URL(o.dataUrl,f.origin),d=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:C,token:decodeURIComponent(m.get("t"))})});let p=[];d.ok&&(p=(await d.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:p}};if(m.get("heatmap")==="true")try{if(m.get("type")==="yah")m.get("subtype")==="kiosk"?await _({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await _({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,s)=>({...o,name:`QR Code #${s+1}`})});else{const o=new URL("/api/fp-stats/get",f.origin);o.searchParams.set("expoId",C),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(m.get("t")));const s=new URL("api/fp-stats/get",f.origin);s.searchParams.set("expoId",C),s.searchParams.set("type","exview"),s.searchParams.set("t",decodeURIComponent(m.get("t")));const[d,p]=await Promise.all([fetch(o.toString()),fetch(s.toString())]),[P,j]=await Promise.all([d.json(),p.json()]);window.__heatmapData={booths:P,exhibitors:j}}}catch(o){console.error("Heatmap: Initialization error",o)}try{const o=A();if(o){F(o);const s=T("api/rebooking-data",{rt:o,expoKey:h}),d=await fetch(s);if(d.ok){const p=await d.json();W(i,p)}i.isRebooking=d.ok}else i.isRebooking=!1}catch(o){console.error(o)}const B=[R(c+"vendor/sanitize-css/sanitize.css",n),R(c+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",n),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),g("Oswald",c+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),g("Inter",c+"fonts/inter-400.woff2",{weight:400}),g("Inter",c+"fonts/inter-500.woff2",{weight:500}),g("Inter",c+"fonts/inter-600.woff2",{weight:600}),g("efp-symbols",c+"fonts/efp-symbols.woff",{weight:400}),Q(i,n),q(b.icons)];await Promise.all(B),b.enableRotation=i?.enableRotation??!1,b.alwaysShowSidebar=i?.alwaysShowSidebar??!1,I.log("Data loaded"),window.__storeInitAllowed=!0;const{default:D}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());r.firstChild&&r.firstChild!==w;)r.removeChild(r.firstChild);Object.setPrototypeOf(b,D.prototype).init()})()}}
@@ -1,10 +1,10 @@
1
1
  import { createRoot } from "react-dom/client";
2
+ import Rect from "./core/Rect";
2
3
  import FloorPlanLoader from "./floorplan.loader";
3
4
  import { CurrentPosition, MarkersData } from "./store/RouteStore";
4
5
  import { Visibility } from "./store/types";
5
- import Rect from "./core/Rect";
6
- import { Bounds, POISelectors } from "./types/sdk.types";
7
6
  import type { GeoConfig } from "./types";
7
+ import { Bounds, POISelectors } from "./types/sdk.types";
8
8
  export default class FloorPlanReady extends FloorPlanLoader {
9
9
  root: ReturnType<typeof createRoot>;
10
10
  protected init(): void;
@@ -1 +1 @@
1
- import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as R}from"react-dom/client";import{install as I}from"resize-observer";import V from"./components/Layout";import $ from"./floorplan.loader";import{applyParameters as M,destroyHistory as _,initRouting as j}from"./services/routing";import t from"./store";import{Route as x,findBooth as E,separateExternalIds as P}from"./store/RouteStore";import{destroyUiHandlers as z}from"./store/init/init-ui";import{GaEventActions as w,destroyGtag as G,sendEventToGa as B,setConsentSettings as q}from"./tools/gtag";import N from"./tools/report-error";import{resetGlobalVariables as Y}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as b}from"./data/fpGeo";import{convertLocalToGps as O,isValidPointCoords as d}from"./utils/gps";import m from"./core/Rect";import{mapEntity as y}from"./utils/mapEntity";import{LANG_KEY as X,MAX_ROUTE_WAYPOINTS as p,PATHWAY_KEY as U}from"./constants";import{getStorage as v}from"./utils/entity-storage";import{ErrorBoundary as D}from"@sentry/react";import{POISelectorsSchema as F,BoundsSchema as K,ZoomToOptionsSchema as A}from"./schemas/sdk.schemas";import W from"debug";import{optimizeWaypointOrder as Q}from"./wayfinding/core/routing/optimizeWaypointOrder";import{hasLocale as Z,getLocales as J}from"./utils/i18n";import{shouldLoadIntercom as ee}from"./intercom";const S=W("efp:api");I();export default class te extends ${root;init(){this.ignoreQuery||j(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),B(w.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),B(w.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0});const e=ee(window.__data);e&&import("./intercom/bootIntercom").then(({bootIntercom:o})=>o(e)).catch(()=>{})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const o=t.boothStore.booths.filter(i=>typeof e=="string"?i.name===e||i.externalId===e:e.includes(i.name)||e.includes(i.externalId));t.selectBooth(o)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const o=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!o?.length)return;if(typeof e=="string"){t.selectExhibitor(o[0]),t.moveToList([o[0]]);return}const i=o.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=i.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:i[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:o,query:{key:"exhibitors",value:o.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:o,exhibitorExternalIds:i}=P(e);t.boothStore.highlightedByExternalIds=[...o],t.exhibitorStore.highlightedByExternalIds=[...i]}selectRoute(e,o){if(Array.isArray(e)){let i=[...e];const n=i.shift(),s=i.pop();if(i.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new x(f(n),f(s),i.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new x(f(e),f(o)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);const o=e.map(f).filter(n=>!!n);if(!o.length)throw new Error("No booths found for the provided waypoints.");const i=new Map;for(const n of o){const s=n.layer?.name??"",r=i.get(s);r?r.push(n):i.set(s,[n])}return Array.from(i.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,o,i){const n=d(e.x)&&d(e.y),s=d(e.lng)&&d(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,o,i),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(o=>{const i=t.exhibitorStore.exhibitors.find(n=>n.name===o.name||n.externalId===o.externalId);i&&(i.bookmarked=o.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const o=["exhibitor","event","speaker","booth"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesBookmarks",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000702");return}const n=v("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const o=["exhibitor","event"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesVisited",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000704");return}const n=v("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,o=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,o)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,o){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),o||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,o)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>y(e))}boothsList(){return t.boothStore.booths.map(e=>y(e))}categoriesList(){return t.categoryStore.categories.map(e=>y(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const o=e?.toLowerCase(),i=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===o||s?.toLowerCase()===o);if(!i){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(i)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.maplibreStore.activateMaplibre()}zoomTo(e,o){S("zoomTo called with selectors=%O options=%O",e,o);const i=F.safeParse(e);if(!i.success){a("zoomTo",i.error.message,"EFP001600");return}const n=A.safeParse(o);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,o)}getBounds(e){S("getBounds called with selectors=%O",e);const o=F.safeParse(e);if(!o.success){a("getBounds",o.error.message,"EFP001400");return}const i=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&i.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&i.push(l.rect)})}),i.length===0)return;const n=m.fromMultiple(i);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,o){if(S("fitBounds called with bounds=%O options=%O",e,o),!e){t.uiState.fitBounds();return}const i=K.safeParse(e);if(!i.success){a("fitBounds",i.error.message,"EFP001500");return}const n=A.safeParse(o);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(o?.padding){const r=o.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),E(e)?.rect}convertToGeo(e,o){if(!b?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!o){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,o,b.properties.config)}getGeoConfig(){const e=b?.properties?.config;return e?{bearing:e.bearing??0,p0:e.p0,p1:e.p1,p2:e.p2}:null}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),t.maplibreStore.dispose(),_(),z(),G(),[...document.getElementsByTagName("script")].filter(i=>i.src.indexOf("/fp.svg")>-1||i.src.indexOf("/wf.data.js")>-1||i.src.indexOf("/data.js")>-1).forEach(i=>i.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(o=>({item:y(o.item),score:o.score}))))}getFloors(){return t.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const o=this.getFloors();if(e.name){const i=o.find(n=>n.name===e.name||n.shortName===e.name);if(!i){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(i.active)return;this.updateLayerVisibility(i.name,!0);return}if(e.index!==null){const i=o.find(s=>s.index===e.index),n=i?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(i.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,o){const i=new URLSearchParams;if(i.set(U,e),o?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=P(o);n.length>0&&i.set("booths",n.join(",")),s.length>0&&i.set("exhibitors",s.join(","))}this.applyParameters(i.toString())}showPathwayOnly(e,o){this.activateFloor({name:o}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const i=t.layerStore.findLayer(e),n=t.layerStore.findLayer(o),s=i?.rect||i?.viewbox?i:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const o=e?.toLowerCase?.();if(!Z(o)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const i=new URLSearchParams;i.set(X,o),this.applyParameters(i.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?E(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,o){const i=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://js-sdk.expofp.com/api/packages";if(o&&(s+=`#error-${o}`),console.error(`${i} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:i,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
1
+ import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{ErrorBoundary as T}from"@sentry/react";import R from"debug";import{reaction as I}from"mobx";import{createRoot as V}from"react-dom/client";import{install as $}from"resize-observer";import M from"./components/Layout";import{LANG_KEY as _,MAX_ROUTE_WAYPOINTS as d,PATHWAY_KEY as j}from"./constants";import m from"./core/Rect";import{fpGeo as b}from"./data/fpGeo";import z from"./floorplan.loader";import{shouldLoadIntercom as G}from"./intercom";import{BoundsSchema as q,POISelectorsSchema as x,ZoomToOptionsSchema as E}from"./schemas/sdk.schemas";import{applyParameters as N,destroyHistory as Y,initRouting as H}from"./services/routing";import t from"./store";import{destroyUiHandlers as O}from"./store/init/init-ui";import{findBooth as P,Route as w,separateExternalIds as B}from"./store/RouteStore";import{destroyGtag as X,GaEventActions as v,sendEventToGa as F,setConsentSettings as U}from"./tools/gtag";import D from"./tools/report-error";import{resetGlobalVariables as K}from"./tools/reset";import W from"./tools/track-event";import{getStorage as A}from"./utils/entity-storage";import{convertLocalToGps as Q,isValidPointCoords as y}from"./utils/gps";import{getLocales as Z,hasLocale as J}from"./utils/i18n";import{mapEntity as p}from"./utils/mapEntity";import{optimizeWaypointOrder as ee}from"./wayfinding/core/routing/optimizeWaypointOrder";const S=R("efp:api");$();export default class te extends z{root;init(){this.ignoreQuery||H(this.offHistory),W("load"),t.fp=this,U(this.allowConsent),F(v.Load,""),this.root=V(this.renderTarget),this.root.render(g(T,{children:g(M,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),F(v.Rendered,""),I(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0});const e=G(window.__data);e&&import("./intercom/bootIntercom").then(({bootIntercom:o})=>o(e)).catch(()=>{})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const o=t.boothStore.booths.filter(i=>typeof e=="string"?i.name===e||i.externalId===e:e.includes(i.name)||e.includes(i.externalId));t.selectBooth(o)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const o=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!o?.length)return;if(typeof e=="string"){t.selectExhibitor(o[0]),t.moveToList([o[0]]);return}const i=o.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=i.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:i[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:o,query:{key:"exhibitors",value:o.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:o,exhibitorExternalIds:i}=B(e);t.boothStore.highlightedByExternalIds=[...o],t.exhibitorStore.highlightedByExternalIds=[...i]}selectRoute(e,o){if(Array.isArray(e)){let i=[...e];const n=i.shift(),s=i.pop();if(i.length>d)throw new Error(`The maximum number of waypoints is ${d}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new w(f(n),f(s),i.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new w(f(e),f(o)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>d)throw new Error(`The maximum number of waypoints is ${d}.`);const o=e.map(f).filter(n=>!!n);if(!o.length)throw new Error("No booths found for the provided waypoints.");const i=new Map;for(const n of o){const s=n.layer?.name??"",r=i.get(s);r?r.push(n):i.set(s,[n])}return Array.from(i.values()).map(n=>({waypoints:ee(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,o,i){const n=y(e.x)&&y(e.y),s=y(e.lng)&&y(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,o,i),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(o=>{const i=t.exhibitorStore.exhibitors.find(n=>n.name===o.name||n.externalId===o.externalId);i&&(i.bookmarked=o.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const o=["exhibitor","event","speaker","booth"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesBookmarks",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000702");return}const n=A("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const o=["exhibitor","event"],i=e.find(r=>!r.type||!o.includes(r.type));if(i){a("setEntitiesVisited",`Invalid entity type: ${i.type}. Must be one of: ${o.join(", ")}.`,"EFP000704");return}const n=A("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,o=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,o)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,o){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),o||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,o)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>p(e))}boothsList(){return t.boothStore.booths.map(e=>p(e))}categoriesList(){return t.categoryStore.categories.map(e=>p(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const o=e?.toLowerCase(),i=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===o||s?.toLowerCase()===o);if(!i){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(i)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),N(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.maplibreStore.activateMaplibre()}zoomTo(e,o){S("zoomTo called with selectors=%O options=%O",e,o);const i=x.safeParse(e);if(!i.success){a("zoomTo",i.error.message,"EFP001600");return}const n=E.safeParse(o);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,o)}getBounds(e){S("getBounds called with selectors=%O",e);const o=x.safeParse(e);if(!o.success){a("getBounds",o.error.message,"EFP001400");return}const i=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&i.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&i.push(l.rect)})}),i.length===0)return;const n=m.fromMultiple(i);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,o){if(S("fitBounds called with bounds=%O options=%O",e,o),!e){t.uiState.fitBounds();return}const i=q.safeParse(e);if(!i.success){a("fitBounds",i.error.message,"EFP001500");return}const n=E.safeParse(o);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(o?.padding){const r=o.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),P(e)?.rect}convertToGeo(e,o){if(!b?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!o){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return Q(e,o,b.properties.config)}getGeoConfig(){const e=b?.properties?.config;return e?{bearing:e.bearing??0,p0:e.p0,p1:e.p1,p2:e.p2}:null}unstable_destroy(){let e=window.__efpElement.firstChild;K(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",D),t.maplibreStore.dispose(),Y(),O(),X(),[...document.getElementsByTagName("script")].filter(i=>i.src.indexOf("/fp.svg")>-1||i.src.indexOf("/wf.data.js")>-1||i.src.indexOf("/data.js")>-1).forEach(i=>i.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(o=>({item:p(o.item),score:o.score}))))}getFloors(){return t.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const o=this.getFloors();if(e.name){const i=o.find(n=>n.name===e.name||n.shortName===e.name);if(!i){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(i.active)return;this.updateLayerVisibility(i.name,!0);return}if(e.index!==null){const i=o.find(s=>s.index===e.index),n=i?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(i.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,o){const i=new URLSearchParams;if(i.set(j,e),o?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=B(o);n.length>0&&i.set("booths",n.join(",")),s.length>0&&i.set("exhibitors",s.join(","))}this.applyParameters(i.toString())}showPathwayOnly(e,o){this.activateFloor({name:o}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const i=t.layerStore.findLayer(e),n=t.layerStore.findLayer(o),s=i?.rect||i?.viewbox?i:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const o=e?.toLowerCase?.();if(!J(o)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${Z().map(n=>n.id).join(",")}`,"EFP001300");return}const i=new URLSearchParams;i.set(_,o),this.applyParameters(i.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?P(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,o){const i=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://js-sdk.expofp.com/api/packages";if(o&&(s+=`#error-${o}`),console.error(`${i} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:i,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
@@ -1 +1 @@
1
- import{useRef as d,useCallback as t}from"react";export const useDragGesture=({onDragStart:n,onDragMove:c,onDragEnd:r})=>{const e=d(!1),s=t(u=>{e.current=!0,n(u.touches[0].clientY)},[n]),o=t(u=>{e.current&&c(u.touches[0].clientY)},[c]),l=t(()=>{e.current&&(e.current=!1,r())},[r]),h=t(u=>{e.current=!0,n(u.clientY)},[n]),i=t(u=>{e.current&&c(u.clientY)},[c]),f=t(()=>{e.current&&(e.current=!1,r())},[r]);return{touchHandlers:{onTouchStart:s,onTouchMove:o,onTouchEnd:l},mouseHandlers:{onMouseDown:h,onMouseMove:i,onMouseUp:f}}};
1
+ import{useCallback as t,useRef as d}from"react";export const useDragGesture=({onDragStart:n,onDragMove:c,onDragEnd:r})=>{const e=d(!1),s=t(u=>{e.current=!0,n(u.touches[0].clientY)},[n]),o=t(u=>{e.current&&c(u.touches[0].clientY)},[c]),l=t(()=>{e.current&&(e.current=!1,r())},[r]),h=t(u=>{e.current=!0,n(u.clientY)},[n]),i=t(u=>{e.current&&c(u.clientY)},[c]),f=t(()=>{e.current&&(e.current=!1,r())},[r]);return{touchHandlers:{onTouchStart:s,onTouchMove:o,onTouchEnd:l},mouseHandlers:{onMouseDown:h,onMouseMove:i,onMouseUp:f}}};
@@ -1,4 +1,4 @@
1
- import type { URLFilters } from "../store/types";
1
+ import { type URLFilters } from "../store/types";
2
2
  export declare const useURLFilters: () => {
3
3
  currentFilters: {
4
4
  categories: string[];
@@ -1 +1 @@
1
- import{useEffect as c,useCallback as s}from"react";import{useObserver as p}from"mobx-react-lite";import F from"../store";export const useURLFilters=()=>{const{urlFilterManager:e,uiState:t}=F,r=p(()=>({categories:t.selectedCategoryFilters.map(i=>i.name),poiType:t.selectedPoiTypeFilters.length>0?t.selectedPoiTypeFilters[0].name:null,exhibitors:e.currentFilters.exhibitors,isActive:t.hasAppliedFilters||e.currentFilters.exhibitors})),l=s(i=>{e.isInitialized&&e.setCategories(i)},[e]),o=s(i=>{e.isInitialized&&e.setPoiType(i)},[e]),a=s(()=>{e.isInitialized&&e.clearAllFilters()},[e]),n=s(i=>e.validateFilters(i),[e]);return c(()=>{e.isInitialized||e.initialize()},[e]),{currentFilters:r,setCategories:l,setPoiType:o,clearAllFilters:a,validateFilters:n,isInitialized:e.isInitialized}};
1
+ import{useObserver as c}from"mobx-react-lite";import{useCallback as s,useEffect as p}from"react";import F from"../store";export const useURLFilters=()=>{const{urlFilterManager:e,uiState:t}=F,r=c(()=>({categories:t.selectedCategoryFilters.map(i=>i.name),poiType:t.selectedPoiTypeFilters.length>0?t.selectedPoiTypeFilters[0].name:null,exhibitors:e.currentFilters.exhibitors,isActive:t.hasAppliedFilters||e.currentFilters.exhibitors})),l=s(i=>{e.isInitialized&&e.setCategories(i)},[e]),o=s(i=>{e.isInitialized&&e.setPoiType(i)},[e]),a=s(()=>{e.isInitialized&&e.clearAllFilters()},[e]),n=s(i=>e.validateFilters(i),[e]);return p(()=>{e.isInitialized||e.initialize()},[e]),{currentFilters:r,setCategories:l,setPoiType:o,clearAllFilters:a,validateFilters:n,isInitialized:e.isInitialized}};
@@ -1 +1 @@
1
- import{useState as o,useEffect as d}from"react";export const useWindowSize=()=>{const[i,n]=o(()=>window!==window.top?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight});return d(()=>{const e=()=>{const t=window!==window.top;n(t?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[]),i};
1
+ import{useEffect as o,useState as d}from"react";export const useWindowSize=()=>{const[i,n]=d(()=>window!==window.top?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight});return o(()=>{const e=()=>{const t=window!==window.top;n(t?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[]),i};
@@ -1,4 +1,4 @@
1
- import type { Data } from "../data/Data";
2
- import type { IntercomContext } from "./types";
1
+ import { type Data } from "../data/Data";
2
+ import { type IntercomContext } from "./types";
3
3
  export declare function shouldLoadIntercom(data: Data): IntercomContext | null;
4
4
  //# sourceMappingURL=shouldLoad.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import './utils/silence-mobx-react-lite-warning';
2
- import type { Manifest } from './_misc_to_move/manifest';
3
- import type { Ref } from './_misc_to_move/ref';
4
- import type { FloorPlan, FloorPlanOptions } from './types';
2
+ import { type Manifest } from './_misc_to_move/manifest';
3
+ import { type Ref } from './_misc_to_move/ref';
4
+ import { type FloorPlan, type FloorPlanOptions } from './types';
5
5
  export declare function load(manifestRef: Manifest | Ref<Manifest>, options?: FloorPlanOptions): Promise<FloorPlan>;
6
6
  declare global {
7
7
  interface Window {
@@ -1,5 +1,5 @@
1
- import type { URLFilters } from "../store/types";
2
1
  import type RootStore from "../store/RootStore";
2
+ import { type URLFilters } from "../store/types";
3
3
  export declare class URLFilterManager {
4
4
  private rootStore;
5
5
  currentFilters: URLFilters;