@expofp/floorplan 3.7.5 → 3.7.7

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 (420) hide show
  1. package/dist/browser/{Button-C2KZSXb2.js → Button-be7-qIF6.js} +8 -8
  2. package/dist/browser/{CookieConsent-Cq4qcueB.js → CookieConsent-B03ekG96.js} +7 -7
  3. package/dist/browser/{Debug-D1JNigN7.js → Debug-B1UNFScp.js} +7 -7
  4. package/dist/browser/{Demo-XVDEqvrA.js → Demo-CTtUvDQs.js} +15 -13
  5. package/dist/browser/{Free-C3wcDnvz.js → Free-BZd4QeSR.js} +15 -13
  6. package/dist/browser/{Gallery-CGxt4BEQ.js → Gallery-z592Fa7j.js} +2739 -2739
  7. package/dist/browser/{GpsLoader-BL9r9aBb.js → GpsLoader-DWmPBJyy.js} +61 -64
  8. package/dist/browser/{KioskStore-CEjAu1fS.js → KioskStore-BSqmbs3E.js} +7 -7
  9. package/dist/browser/{MaplibreAdapter-CFCATr0R.js → MaplibreAdapter-DIRCFD3I.js} +100 -100
  10. package/dist/browser/{Modal-DwvgaUJ4.js → Modal-Ud1JA7hD.js} +18 -18
  11. package/dist/browser/{PermissionNotice-Bfmg473m.js → PermissionNotice-BbZJ6-58.js} +11 -11
  12. package/dist/browser/{SetKioskMode-DgZnzdyw.js → SetKioskMode-34D-0WuZ.js} +15 -15
  13. package/dist/browser/ShowKiosk-BtV44Rii.js +27 -0
  14. package/dist/browser/{TouchHand-CW3feM7g.js → TouchHand-CNtsbSKe.js} +5 -7
  15. package/dist/browser/{ViewerMenuPanel-DTLGFJdO.js → ViewerMenuPanel-pOtBzzsw.js} +9 -11
  16. package/dist/browser/{add-debug-secret-listener-DLq_05Ya.js → add-debug-secret-listener-BGsmVhBN.js} +1 -1
  17. package/dist/browser/{boolean-editor-CPZmUe0k.js → boolean-editor-Cl6OlT2C.js} +9 -9
  18. package/dist/browser/{bootIntercom-OQUPpNv5.js → bootIntercom-uRX6nuBs.js} +2 -2
  19. package/dist/browser/{browser-CuHRVR45.js → browser-BHDrnFTi.js} +2 -2
  20. package/dist/browser/bundle.json +57 -57
  21. package/dist/browser/{classnames-Bua-vCkl.js → classnames-QBzO007b.js} +2 -2
  22. package/dist/browser/{client-BtBjpMA2.js → client-ygx4Nlgh.js} +4 -4
  23. package/dist/browser/{components-Bk-VYz6V.js → components-BnDl8_Vi.js} +2164 -2170
  24. package/dist/browser/{createWayfinding-BcyMyZfV.js → createWayfinding-Buli80Pv.js} +408 -408
  25. package/dist/browser/{debug-overlay-Bee-ID_e.js → debug-overlay-DYbF5EFf.js} +10 -10
  26. package/dist/browser/{debug-ui-C6Mu7jmE.js → debug-ui-v2AnaEsF.js} +6 -6
  27. package/dist/browser/{dist-Ypj0lz96.js → dist-64g9ko-T.js} +6 -6
  28. package/dist/browser/{dist-C3qJPKIL.js → dist-DtdB9fNn.js} +5 -5
  29. package/dist/browser/{dist-C6Bwrbur.js → dist-lpbRWIMA.js} +3 -3
  30. package/dist/browser/{efp-debug-init-BmXxwF3h.js → efp-debug-init-V-KZyjzu.js} +2 -2
  31. package/dist/browser/{enum-editor-BtytGwbn.js → enum-editor-BvuPhm1F.js} +11 -11
  32. package/dist/browser/{event-not-found-DtnrzyTS.js → event-not-found-B98QInDb.js} +1 -1
  33. package/dist/browser/{exports-DwNV9Fce.js → exports-DYQuAXct.js} +36 -36
  34. package/dist/browser/{favicon-Bg82OSpr.js → favicon-BfWHVf7B.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-C5JqTz5u.js → fetch-retry.umd-DRv91bwh.js} +2 -2
  36. package/dist/browser/{flex-BoTx9ho3.js → flex-x_PLPZk0.js} +5 -5
  37. package/dist/browser/{floorplan.loader-CJNw0Cge.js → floorplan.loader-OxPB-Vst.js} +856 -831
  38. package/dist/browser/{floorplan.ready-DOhcGKtR.js → floorplan.ready-CNMM3R0a.js} +374 -372
  39. package/dist/browser/{fuse-DJzKEeDA.js → fuse-B5q1zvj5.js} +2 -2
  40. package/dist/browser/{i18n-Cir_gINd.js → i18n-0QOfbI49.js} +664 -659
  41. package/dist/browser/index.js +11 -11
  42. package/dist/browser/{jsx-runtime-DCZPOiVu.js → jsx-runtime-DWNe7L8O.js} +2 -2
  43. package/dist/browser/{lib-DQt-k78K.js → lib-Ct9T4Ext.js} +4 -4
  44. package/dist/browser/{is-debug-0pBDODSU.js → loadImage-B1THebfH.js} +13 -16
  45. package/dist/browser/{main-CIgf7ksx.js → main-BpCLd01e.js} +1 -1
  46. package/dist/browser/{mobx-pMkzJ1bN.js → mobx-D6-09X_8.js} +4 -4
  47. package/dist/browser/{particles.min-Q2r1icQ9.js → particles.min-O_0S2sjU.js} +2 -2
  48. package/dist/browser/{prop-types-GavRCOPR.js → prop-types-C5Q7z09t.js} +2 -2
  49. package/dist/browser/{react-BlsmLtRd.js → react-CE6J-REN.js} +2 -2
  50. package/dist/browser/{react-dom-DgLQ5tL0.js → react-dom-Bz1SyK6u.js} +3 -3
  51. package/dist/browser/{reset-all-settings-CxUO3y2o.js → reset-all-settings-CxljY5vH.js} +7 -7
  52. package/dist/browser/{rolldown-runtime-C9CB_XOZ.js → rolldown-runtime-MSULzasX.js} +1 -1
  53. package/dist/browser/{settings-O5svYOVy.js → settings-LxDXcdq2.js} +2 -2
  54. package/dist/browser/{settings-item-354rDOkM.js → settings-item-BTHbu4gE.js} +6 -6
  55. package/dist/browser/{store-CVf_IY9i.js → store-FxMdLToE.js} +10175 -10152
  56. package/dist/browser/{string-editor-C1jvvzZY.js → string-editor-CLZ-xXO6.js} +7 -7
  57. package/dist/browser/{theme-BewQdo5w.js → theme-CKyrzkaN.js} +8 -8
  58. package/dist/browser/{ui-DeHsnIKK.js → ui-CaURu_-A.js} +8 -8
  59. package/dist/browser/{useRenderTarget-Cpug5PXZ.js → useRenderTarget-DlU37Ln7.js} +4 -4
  60. package/dist/esm/components/AlertContainer.d.ts +1 -1
  61. package/dist/esm/components/Autocomplete.d.ts +1 -1
  62. package/dist/esm/components/Autocomplete.js +1 -1
  63. package/dist/esm/components/BaseFilterModal.d.ts +1 -1
  64. package/dist/esm/components/Booth/Booth.d.ts +1 -1
  65. package/dist/esm/components/Booth/Booth.js +1 -1
  66. package/dist/esm/components/Booth/BoothOnHold.js +1 -1
  67. package/dist/esm/components/Booth/BoothReserved.js +1 -1
  68. package/dist/esm/components/Booth/BoothSpecial.d.ts +2 -2
  69. package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +1 -1
  70. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +1 -1
  71. package/dist/esm/components/Category.d.ts +1 -1
  72. package/dist/esm/components/Category.js +1 -1
  73. package/dist/esm/components/CategoryFilterModal.js +1 -1
  74. package/dist/esm/components/CookieConsent.js +1 -1
  75. package/dist/esm/components/Debug.d.ts +1 -1
  76. package/dist/esm/components/Debug.js +1 -1
  77. package/dist/esm/components/Demo.d.ts +1 -1
  78. package/dist/esm/components/Demo.js +1 -1
  79. package/dist/esm/components/EntityItemContainer.d.ts +1 -1
  80. package/dist/esm/components/EntityList.d.ts +1 -1
  81. package/dist/esm/components/EntityList.js +1 -1
  82. package/dist/esm/components/EntityListRow.d.ts +2 -2
  83. package/dist/esm/components/EntityListRow.js +1 -1
  84. package/dist/esm/components/ErrorBoundary.js +1 -1
  85. package/dist/esm/components/Event.d.ts +1 -1
  86. package/dist/esm/components/Event.js +1 -1
  87. package/dist/esm/components/EventBadge.d.ts +2 -2
  88. package/dist/esm/components/EventBadge.js +1 -1
  89. package/dist/esm/components/Exhibitor.d.ts +1 -1
  90. package/dist/esm/components/Exhibitor.js +1 -1
  91. package/dist/esm/components/Filter.js +1 -1
  92. package/dist/esm/components/Free.d.ts +1 -1
  93. package/dist/esm/components/Free.js +1 -1
  94. package/dist/esm/components/Gallery/Gallery.d.ts +1 -1
  95. package/dist/esm/components/Gallery/Gallery.js +1 -1
  96. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.d.ts +1 -1
  97. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +1 -1
  98. package/dist/esm/components/Gallery/TransformImg/TransformImg.d.ts +1 -1
  99. package/dist/esm/components/Gallery/TransformImg/TransformImg.js +1 -1
  100. package/dist/esm/components/GpsLoader.js +1 -1
  101. package/dist/esm/components/IntercomLauncher.d.ts +1 -1
  102. package/dist/esm/components/IntercomLauncher.js +1 -1
  103. package/dist/esm/components/Kiosk/KioskStore.d.ts +3 -3
  104. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.d.ts +1 -1
  105. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.d.ts +1 -1
  106. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.d.ts +1 -1
  107. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.d.ts +1 -1
  108. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
  109. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.d.ts +1 -1
  110. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
  111. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.d.ts +1 -1
  112. package/dist/esm/components/Kiosk/SetKioskMode.js +1 -1
  113. package/dist/esm/components/Kiosk/ShowKiosk.js +1 -1
  114. package/dist/esm/components/Kiosk/kioskApi.d.ts +1 -1
  115. package/dist/esm/components/Language.js +1 -1
  116. package/dist/esm/components/LanguageRow.d.ts +1 -1
  117. package/dist/esm/components/LanguageRow.js +1 -1
  118. package/dist/esm/components/LargeMessage.d.ts +1 -1
  119. package/dist/esm/components/LargeMessage.js +1 -1
  120. package/dist/esm/components/Layout.d.ts +1 -1
  121. package/dist/esm/components/Layout.js +1 -1
  122. package/dist/esm/components/LevelSelector.d.ts +1 -1
  123. package/dist/esm/components/LevelSelector.js +1 -1
  124. package/dist/esm/components/List.d.ts +1 -1
  125. package/dist/esm/components/List.js +1 -1
  126. package/dist/esm/components/LogoOverlay.d.ts +1 -1
  127. package/dist/esm/components/LogoOverlay.js +1 -1
  128. package/dist/esm/components/Map/Map.js +1 -1
  129. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  130. package/dist/esm/components/Map/drawing/config/config-bg.d.ts +2 -2
  131. package/dist/esm/components/Map/drawing/config/config-bg.js +1 -1
  132. package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +1 -1
  133. package/dist/esm/components/Map/drawing/config/config-booth-badge.js +1 -1
  134. package/dist/esm/components/Map/drawing/config/config-booth-bg.d.ts +4 -4
  135. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  136. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.d.ts +2 -2
  137. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  138. package/dist/esm/components/Map/drawing/config/config-booth-border.d.ts +2 -2
  139. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  140. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +3 -3
  141. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  142. package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +4 -4
  143. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  144. package/dist/esm/components/Map/drawing/config/config-booths.d.ts +1 -1
  145. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  146. package/dist/esm/components/Map/drawing/config/config-load-layer.d.ts +1 -1
  147. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  148. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  149. package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +3 -3
  150. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  151. package/dist/esm/components/Map/pointInConvexQuad.d.ts +1 -1
  152. package/dist/esm/components/Map/traffic/useBuildRoute.js +2 -2
  153. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  154. package/dist/esm/components/MapControls.d.ts +1 -1
  155. package/dist/esm/components/MapControls.js +1 -1
  156. package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +1 -1
  157. package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +1 -2
  158. package/dist/esm/components/Maplibre/useCameraReactions.d.ts +3 -3
  159. package/dist/esm/components/Maplibre/useDimming.d.ts +4 -4
  160. package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +4 -4
  161. package/dist/esm/components/Maplibre/useRendererEvents.d.ts +2 -2
  162. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +2 -2
  163. package/dist/esm/components/Maplibre/utils/geo-config.d.ts +3 -3
  164. package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +1 -1
  165. package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +2 -2
  166. package/dist/esm/components/MarketMaterialList.d.ts +1 -1
  167. package/dist/esm/components/MarketMaterialList.js +1 -1
  168. package/dist/esm/components/Menu.js +1 -1
  169. package/dist/esm/components/MobileToggleButton.d.ts +1 -1
  170. package/dist/esm/components/MobileToggleButton.js +1 -1
  171. package/dist/esm/components/Modal.d.ts +1 -1
  172. package/dist/esm/components/Modal.js +1 -1
  173. package/dist/esm/components/MultiSelectGroups.d.ts +1 -1
  174. package/dist/esm/components/MultiSelectGroups.js +1 -1
  175. package/dist/esm/components/Overlay.d.ts +1 -1
  176. package/dist/esm/components/Overlay.js +1 -1
  177. package/dist/esm/components/OverlayContainer.js +1 -1
  178. package/dist/esm/components/OverlayGripContainer.js +1 -1
  179. package/dist/esm/components/OverlayParticles.d.ts +1 -1
  180. package/dist/esm/components/OverlayParticles.js +1 -1
  181. package/dist/esm/components/RebookingNotes.d.ts +1 -1
  182. package/dist/esm/components/RebookingNotes.js +1 -1
  183. package/dist/esm/components/RebookingRadioGroup.d.ts +1 -1
  184. package/dist/esm/components/RebookingRadioGroup.js +1 -1
  185. package/dist/esm/components/RoutePlanner/RoutePlanner.d.ts +1 -1
  186. package/dist/esm/components/RoutePlanner/RoutePlanner.js +1 -1
  187. package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +1 -1
  188. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.d.ts +1 -1
  189. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +1 -1
  190. package/dist/esm/components/RouteQR.d.ts +1 -1
  191. package/dist/esm/components/RouteQR.js +1 -1
  192. package/dist/esm/components/Schedule.d.ts +2 -2
  193. package/dist/esm/components/Schedule.js +1 -1
  194. package/dist/esm/components/ScrollableRowContainer.js +1 -1
  195. package/dist/esm/components/Search.d.ts +1 -1
  196. package/dist/esm/components/Search.js +1 -1
  197. package/dist/esm/components/SearchBox.d.ts +1 -1
  198. package/dist/esm/components/SearchBox.js +1 -1
  199. package/dist/esm/components/SearchButtons/SearchButton.d.ts +1 -1
  200. package/dist/esm/components/SearchButtons/SearchButton.js +1 -1
  201. package/dist/esm/components/SearchButtons/SearchButtons.d.ts +1 -1
  202. package/dist/esm/components/SearchButtons/SearchButtons.js +1 -1
  203. package/dist/esm/components/SearchButtons/SearchSubButton.d.ts +1 -1
  204. package/dist/esm/components/SearchButtons/SearchSubButton.js +1 -1
  205. package/dist/esm/components/SearchButtons/SearchSubButtons.d.ts +1 -1
  206. package/dist/esm/components/SearchButtons/SearchSubButtons.js +1 -1
  207. package/dist/esm/components/Sessions.d.ts +1 -1
  208. package/dist/esm/components/Sessions.js +1 -1
  209. package/dist/esm/components/SessionsFiltersModal.d.ts +1 -1
  210. package/dist/esm/components/SessionsFiltersModal.js +1 -1
  211. package/dist/esm/components/Share.d.ts +1 -1
  212. package/dist/esm/components/Share.js +1 -1
  213. package/dist/esm/components/Shortcuts/ShortcutButton.d.ts +2 -2
  214. package/dist/esm/components/Shortcuts/ShortcutButton.js +1 -1
  215. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.d.ts +1 -1
  216. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +1 -1
  217. package/dist/esm/components/Shortcuts/ShortcutsToolbar.d.ts +1 -1
  218. package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +1 -1
  219. package/dist/esm/components/ShowMoreButton.d.ts +1 -1
  220. package/dist/esm/components/ShowMoreButton.js +1 -1
  221. package/dist/esm/components/SidebarActions.d.ts +1 -1
  222. package/dist/esm/components/SidebarActions.js +1 -1
  223. package/dist/esm/components/SimpleRow.d.ts +1 -1
  224. package/dist/esm/components/SimpleRow.js +1 -1
  225. package/dist/esm/components/Speaker.d.ts +1 -1
  226. package/dist/esm/components/Speaker.js +1 -1
  227. package/dist/esm/components/Speakers.d.ts +1 -1
  228. package/dist/esm/components/Speakers.js +1 -1
  229. package/dist/esm/components/SpeakersFiltersModal.d.ts +1 -1
  230. package/dist/esm/components/SpeakersFiltersModal.js +1 -1
  231. package/dist/esm/components/Toast/ToastContainer.d.ts +1 -1
  232. package/dist/esm/components/Toast/ToastContainer.js +1 -1
  233. package/dist/esm/components/Toast/ToastProvider.js +1 -1
  234. package/dist/esm/components/TourPoints.js +1 -1
  235. package/dist/esm/components/Tours.d.ts +1 -1
  236. package/dist/esm/components/Tours.js +1 -1
  237. package/dist/esm/components/ToursList.d.ts +2 -2
  238. package/dist/esm/components/ToursList.js +1 -1
  239. package/dist/esm/components/ViewerMenuPanel.d.ts +1 -1
  240. package/dist/esm/components/ViewerMenuPanel.js +1 -1
  241. package/dist/esm/components/WayInformation.d.ts +1 -1
  242. package/dist/esm/components/WayInformation.js +1 -1
  243. package/dist/esm/components/Wayfinding.d.ts +1 -1
  244. package/dist/esm/components/Wayfinding.js +1 -1
  245. package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +1 -1
  246. package/dist/esm/components/WayfindingTemplate.d.ts +4 -4
  247. package/dist/esm/components/WayfindingTemplate.js +1 -1
  248. package/dist/esm/components/Ws.d.ts +1 -1
  249. package/dist/esm/components/Ws.js +1 -1
  250. package/dist/esm/components/YahRow.d.ts +1 -1
  251. package/dist/esm/components/YahRow.js +1 -1
  252. package/dist/esm/components/gps/GpsManager.d.ts +1 -1
  253. package/dist/esm/components/gps/GpsManager.js +1 -1
  254. package/dist/esm/components/gps/GpsPermissionRequest.js +1 -1
  255. package/dist/esm/components/gps/useUserLocationAndHeading.d.ts +1 -1
  256. package/dist/esm/components/gps/useUserLocationAndHeading.js +1 -1
  257. package/dist/esm/components/gps/utils.d.ts +1 -1
  258. package/dist/esm/data/fpGeo.d.ts +1 -1
  259. package/dist/esm/data/index.d.ts +1 -1
  260. package/dist/esm/data/svg.js +1 -1
  261. package/dist/esm/data/validate-data.d.ts +1 -1
  262. package/dist/esm/floorplan.loader.js +1 -1
  263. package/dist/esm/floorplan.ready.d.ts +2 -2
  264. package/dist/esm/floorplan.ready.js +1 -1
  265. package/dist/esm/hooks/useDragGesture.js +1 -1
  266. package/dist/esm/hooks/useURLFilters.d.ts +1 -1
  267. package/dist/esm/hooks/useURLFilters.js +1 -1
  268. package/dist/esm/hooks/useWindowSize.js +1 -1
  269. package/dist/esm/intercom/shouldLoad.d.ts +2 -2
  270. package/dist/esm/load.d.ts +3 -3
  271. package/dist/esm/services/URLFilterManager.d.ts +1 -1
  272. package/dist/esm/services/URLFilterManager.js +1 -1
  273. package/dist/esm/services/routing.js +1 -1
  274. package/dist/esm/store/BaseFilterStore.d.ts +1 -1
  275. package/dist/esm/store/BookmarksStore.js +1 -1
  276. package/dist/esm/store/BoothStore.d.ts +2 -2
  277. package/dist/esm/store/BoothStore.js +1 -1
  278. package/dist/esm/store/CategoryFilterStore.d.ts +2 -2
  279. package/dist/esm/store/CategoryFilterStore.js +1 -1
  280. package/dist/esm/store/CategoryStore.d.ts +1 -1
  281. package/dist/esm/store/ExhibitorStore.d.ts +1 -1
  282. package/dist/esm/store/ExhibitorStore.js +1 -1
  283. package/dist/esm/store/HeatmapStore.d.ts +3 -3
  284. package/dist/esm/store/HeatmapStore.js +1 -1
  285. package/dist/esm/store/LayerStore.d.ts +1 -1
  286. package/dist/esm/store/LayerStore.js +1 -1
  287. package/dist/esm/store/MaplibreStore.js +1 -1
  288. package/dist/esm/store/RootStore.d.ts +15 -15
  289. package/dist/esm/store/RootStore.js +1 -1
  290. package/dist/esm/store/RoutePlannerStore.d.ts +2 -2
  291. package/dist/esm/store/RoutePlannerStore.js +1 -1
  292. package/dist/esm/store/RouteStore.d.ts +1 -1
  293. package/dist/esm/store/RouteStore.js +1 -1
  294. package/dist/esm/store/SearchStore.js +1 -1
  295. package/dist/esm/store/SessionsFilterStore.d.ts +2 -2
  296. package/dist/esm/store/ShortcutRegistry.d.ts +1 -1
  297. package/dist/esm/store/SpeakerStore.d.ts +1 -1
  298. package/dist/esm/store/SubButtonProvider.d.ts +1 -1
  299. package/dist/esm/store/SubButtonRegistry.d.ts +2 -2
  300. package/dist/esm/store/ToursStore.js +1 -1
  301. package/dist/esm/store/UIState.d.ts +6 -6
  302. package/dist/esm/store/UIState.js +1 -1
  303. package/dist/esm/store/init/index.js +1 -1
  304. package/dist/esm/store/init/init-booths.js +1 -1
  305. package/dist/esm/store/init/init-events.js +1 -1
  306. package/dist/esm/store/init/init-exhibitors.js +1 -1
  307. package/dist/esm/store/init/init-heatmap.js +1 -1
  308. package/dist/esm/store/init/init-layers.js +1 -1
  309. package/dist/esm/store/init/init-ui.js +1 -1
  310. package/dist/esm/store/providers/SearchShortcutProvider.d.ts +1 -2
  311. package/dist/esm/store/providers/SessionsShortcutProvider.d.ts +1 -1
  312. package/dist/esm/store/providers/SessionsSubButtonProvider.d.ts +2 -2
  313. package/dist/esm/store/providers/SessionsSubButtonProvider.js +1 -1
  314. package/dist/esm/store/providers/SpeakerShortcutProvider.d.ts +1 -1
  315. package/dist/esm/store/search-buttons/SearchButtonsActions.d.ts +2 -2
  316. package/dist/esm/store/search-buttons/SearchButtonsActions.js +1 -1
  317. package/dist/esm/store/search-buttons/SearchButtonsFactory.d.ts +3 -3
  318. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +1 -1
  319. package/dist/esm/store/search-buttons/SearchButtonsFilters.d.ts +2 -2
  320. package/dist/esm/store/search-buttons/SearchButtonsState.d.ts +1 -1
  321. package/dist/esm/store/search-buttons/SearchButtonsState.js +1 -1
  322. package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +1 -1
  323. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  324. package/dist/esm/store/search-buttons/utils.d.ts +1 -1
  325. package/dist/esm/store/search-buttons/utils.js +1 -1
  326. package/dist/esm/store/types.d.ts +3 -3
  327. package/dist/esm/storybook/decorators/StoryWrapper.js +1 -1
  328. package/dist/esm/storybook/decorators/WithResize.js +1 -1
  329. package/dist/esm/tools/gtag.js +1 -1
  330. package/dist/esm/tools/loaders.js +1 -1
  331. package/dist/esm/tools/sentry.d.ts +2 -2
  332. package/dist/esm/tools/sentry.js +1 -1
  333. package/dist/esm/ui/Alert/Alert.d.ts +1 -2
  334. package/dist/esm/ui/Alert/Alert.js +1 -1
  335. package/dist/esm/ui/Badge/Badge.d.ts +1 -2
  336. package/dist/esm/ui/Badge/Badge.js +1 -1
  337. package/dist/esm/ui/Button/Button.d.ts +1 -2
  338. package/dist/esm/ui/Button/Button.js +1 -1
  339. package/dist/esm/ui/Checkbox/Checkbox.d.ts +1 -1
  340. package/dist/esm/ui/Checkbox/Checkbox.js +1 -1
  341. package/dist/esm/ui/CheckboxButton/CheckboxButton.d.ts +1 -1
  342. package/dist/esm/ui/CheckboxButton/CheckboxButton.js +1 -1
  343. package/dist/esm/ui/Draggable/Draggable.js +1 -1
  344. package/dist/esm/ui/EntityItem/EntityItem.d.ts +1 -1
  345. package/dist/esm/ui/EntityItem/EntityItem.js +1 -1
  346. package/dist/esm/ui/HeatmapLegend/HeatmapLegend.d.ts +1 -1
  347. package/dist/esm/ui/HeatmapLegend/HeatmapLegend.js +1 -1
  348. package/dist/esm/ui/LevelBadge/LevelBadge.d.ts +1 -1
  349. package/dist/esm/ui/OverlayGrip/OverlayGrip.d.ts +1 -1
  350. package/dist/esm/ui/OverlayGrip/OverlayGrip.js +1 -1
  351. package/dist/esm/ui/PermissionNotice/PermissionNotice.d.ts +1 -1
  352. package/dist/esm/ui/PermissionNotice/PermissionNotice.js +1 -1
  353. package/dist/esm/ui/Radio/Radio.d.ts +1 -1
  354. package/dist/esm/ui/Radio/Radio.js +1 -1
  355. package/dist/esm/ui/ScrollableRow/ScrollableRow.d.ts +1 -1
  356. package/dist/esm/ui/ScrollableRow/ScrollableRow.js +1 -1
  357. package/dist/esm/ui/Spinner/Spinner.d.ts +1 -1
  358. package/dist/esm/ui/Spinner/Spinner.js +1 -1
  359. package/dist/esm/ui/ToggleButton/ToggleButton.d.ts +1 -1
  360. package/dist/esm/ui/ToggleButton/ToggleButton.js +1 -1
  361. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.d.ts +1 -1
  362. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.js +1 -1
  363. package/dist/esm/ui/TouchHand/TouchHand.d.ts +1 -1
  364. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +1 -1
  365. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.js +1 -1
  366. package/dist/esm/utils/customCommands.js +1 -1
  367. package/dist/esm/utils/dimming.d.ts +1 -1
  368. package/dist/esm/utils/entity-storage.js +1 -1
  369. package/dist/esm/utils/eventFullBadge.d.ts +1 -1
  370. package/dist/esm/utils/gps.js +1 -1
  371. package/dist/esm/utils/i18n.d.ts +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/sanitizeText.d.ts +2 -2
  382. package/dist/esm/utils/sanitizeText.js +1 -1
  383. package/dist/esm/utils/trackingParams.d.ts +3 -0
  384. package/dist/esm/utils/trackingParams.js +1 -0
  385. package/dist/esm/utils/useHeatmapData.d.ts +3 -3
  386. package/dist/esm/utils/useHeatmapOverlay.d.ts +3 -3
  387. package/dist/esm/wayfinding/adapters/floorContext.d.ts +1 -1
  388. package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +1 -1
  389. package/dist/esm/wayfinding/adapters/kioskCanvas.js +1 -1
  390. package/dist/esm/wayfinding/adapters/positionInput.d.ts +2 -2
  391. package/dist/esm/wayfinding/core/__tests__/helpers.d.ts +1 -1
  392. package/dist/esm/wayfinding/core/geometry/pointInPolygon.d.ts +3 -3
  393. package/dist/esm/wayfinding/core/graph/buildNGraph.d.ts +4 -4
  394. package/dist/esm/wayfinding/core/graph/findShortestPath.d.ts +1 -1
  395. package/dist/esm/wayfinding/core/graph/findShortestPath.js +1 -1
  396. package/dist/esm/wayfinding/core/graph/graphCache.d.ts +1 -1
  397. package/dist/esm/wayfinding/core/graph/linkCost.d.ts +1 -1
  398. package/dist/esm/wayfinding/core/graph/pathfinder/aStarPathFinder.d.ts +1 -1
  399. package/dist/esm/wayfinding/core/graph/pathfinder/aStarPathFinder.js +1 -1
  400. package/dist/esm/wayfinding/core/position/distanceToRoute.d.ts +1 -1
  401. package/dist/esm/wayfinding/core/position/rerouteController.d.ts +1 -1
  402. package/dist/esm/wayfinding/core/position/snapToRoute.d.ts +1 -1
  403. package/dist/esm/wayfinding/core/position/splitRouteByPoint.d.ts +1 -1
  404. package/dist/esm/wayfinding/core/rendering/computeTrailPoints.d.ts +1 -1
  405. package/dist/esm/wayfinding/core/rendering/computeTransitionPoints.d.ts +1 -1
  406. package/dist/esm/wayfinding/core/rendering/getVisibleRouteLines.d.ts +2 -2
  407. package/dist/esm/wayfinding/core/rendering/normalizeRouteDirection.d.ts +1 -1
  408. package/dist/esm/wayfinding/core/routing/buildMultiPointRoute.d.ts +1 -1
  409. package/dist/esm/wayfinding/core/routing/buildRoute.d.ts +1 -1
  410. package/dist/esm/wayfinding/core/routing/graphPointResolvers.d.ts +2 -2
  411. package/dist/esm/wayfinding/core/routing/routeResult.d.ts +1 -1
  412. package/dist/esm/wayfinding/handlers/yahHandler.d.ts +3 -3
  413. package/dist/esm/wayfinding/runtime/endpointView.d.ts +5 -5
  414. package/dist/esm/wayfinding/runtime/getRouteLines.d.ts +2 -2
  415. package/dist/esm/wayfinding/runtime/positionView.d.ts +3 -3
  416. package/dist/esm/wayfinding/runtime/routeLinesView.d.ts +2 -2
  417. package/dist/esm/wayfinding/runtime/routeRenderData.d.ts +1 -1
  418. package/dist/esm/wayfinding/runtime/trailView.d.ts +4 -4
  419. package/package.json +13 -12
  420. package/dist/browser/ShowKiosk-Ddu65pot.js +0 -27
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./GalleryModal.scss";
2
+ import React from "react";
3
3
  interface GalleryModalProps {
4
4
  images: string[];
5
5
  leading: boolean;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as w}from"react/jsx-runtime";import{useRef as n,useState as d}from"react";import{createPortal as z}from"react-dom";import{observer as y}from"mobx-react-lite";import{Navigation as R}from"swiper";import{Swiper as _,SwiperSlide as j}from"swiper/react";import{TransformWrapper as T}from"react-zoom-pan-pinch-sr";import O from"../GalleryControls/GalleryControls";import P from"../TransformImg/TransformImg";import{t as p}from"../../../utils/i18n";import{useRenderTarget as E}from"../../../utils/useRenderTarget";import"./GalleryModal.scss";import G from"classnames";const U=f=>{const{images:l,leading:u,initialSlideIndex:t,onClose:g,className:x}=f,i=E(),[s,h]=d(t),[o,S]=d([]),a=n(null),m=n(null),c=n(null),v={initialSlide:t,draggable:!1,modules:[R],spaceBetween:50,slidesPerView:1,navigation:{prevEl:m.current,nextEl:c.current},grabCursor:!0},C=e("div",{className:G("gallery-modal",x),children:w(_,{onSwiper:r=>a.current=r,className:"gallery-slider",onSlideChange:r=>{h(r.activeIndex),o[r.previousIndex]?.resetTransform()},...v,children:[o.length?e(O,{onClose:g,zoomIn:o[s].zoomIn,zoomOut:o[s].zoomOut}):null,l.length>1&&e("button",{ref:c,title:p("Next slide"),"aria-label":"\u02C3",className:"gallery-slider__btn next",children:e("i",{className:"icon-chevron-right"})}),l.length>1&&e("button",{ref:m,title:p("Prev slide"),"aria-label":"\u02C2",className:"gallery-slider__btn prev",children:e("i",{className:"icon-chevron-left"})}),l.map((r,N)=>e(j,{children:e(T,{initialScale:1,alignmentAnimation:{sizeX:0,sizeY:0},onInit:b=>{S(I=>[...I,b])},children:e(P,{leading:u,swiperRef:a,url:r})})},r+N))]})});return i?z(C,i):null};export default y(U);
1
+ import{jsx as e,jsxs as w}from"react/jsx-runtime";import"./GalleryModal.scss";import z from"classnames";import{observer as y}from"mobx-react-lite";import{useRef as n,useState as d}from"react";import{createPortal as R}from"react-dom";import{TransformWrapper as _}from"react-zoom-pan-pinch-sr";import{Navigation as j}from"swiper";import{Swiper as T,SwiperSlide as O}from"swiper/react";import{t as p}from"../../../utils/i18n";import{useRenderTarget as P}from"../../../utils/useRenderTarget";import E from"../GalleryControls/GalleryControls";import G from"../TransformImg/TransformImg";const U=f=>{const{images:l,leading:u,initialSlideIndex:t,onClose:g,className:x}=f,i=P(),[s,h]=d(t),[o,S]=d([]),a=n(null),m=n(null),c=n(null),v={initialSlide:t,draggable:!1,modules:[j],spaceBetween:50,slidesPerView:1,navigation:{prevEl:m.current,nextEl:c.current},grabCursor:!0},C=e("div",{className:z("gallery-modal",x),children:w(T,{onSwiper:r=>a.current=r,className:"gallery-slider",onSlideChange:r=>{h(r.activeIndex),o[r.previousIndex]?.resetTransform()},...v,children:[o.length?e(E,{onClose:g,zoomIn:o[s].zoomIn,zoomOut:o[s].zoomOut}):null,l.length>1&&e("button",{ref:c,title:p("Next slide"),"aria-label":"\u02C3",className:"gallery-slider__btn next",children:e("i",{className:"icon-chevron-right"})}),l.length>1&&e("button",{ref:m,title:p("Prev slide"),"aria-label":"\u02C2",className:"gallery-slider__btn prev",children:e("i",{className:"icon-chevron-left"})}),l.map((r,N)=>e(O,{children:e(_,{initialScale:1,alignmentAnimation:{sizeX:0,sizeY:0},onInit:b=>{S(I=>[...I,b])},children:e(G,{leading:u,swiperRef:a,url:r})})},r+N))]})});return i?R(C,i):null};export default y(U);
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { Swiper as SwiperInstance } from "swiper";
2
+ import { type Swiper as SwiperInstance } from "swiper";
3
3
  interface TransformImgProps {
4
4
  swiperRef: React.RefObject<SwiperInstance>;
5
5
  url: string;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useTransformEffect as t,TransformComponent as m}from"react-zoom-pan-pinch-sr";import i from"../GalleryImg/GalleryImg";const a=({swiperRef:o,leading:l,url:n})=>(t(({state:r,instance:s})=>{o.current&&(o.current.allowTouchMove=r.scale===1,r.scale===1&&r.positionX!==0&&r.positionY!==0&&s.setCenter())}),e(m,{wrapperClass:"gallery-slider__zoom",contentClass:"gallery-slider__zoom-content",children:e(i,{isFullscreen:!0,leading:l,url:n})}));export default a;
1
+ import{jsx as e}from"react/jsx-runtime";import{TransformComponent as t,useTransformEffect as m}from"react-zoom-pan-pinch-sr";import i from"../GalleryImg/GalleryImg";const a=({swiperRef:o,leading:l,url:n})=>(m(({state:r,instance:s})=>{o.current&&(o.current.allowTouchMove=r.scale===1,r.scale===1&&r.positionX!==0&&r.positionY!==0&&s.setCenter())}),e(t,{wrapperClass:"gallery-slider__zoom",contentClass:"gallery-slider__zoom-content",children:e(i,{isFullscreen:!0,leading:l,url:n})}));export default a;
@@ -1 +1 @@
1
- import{jsx as d}from"react/jsx-runtime";import{useCallback as s,useState as C}from"react";import t from"../store";import{CurrentPosition as c}from"../store/RouteStore";import{ORIENTATION_GRANTED_KEY as S}from"../constants";import{GpsManager as q}from"./gps";import{useReaction as r}from"../utils/mobx";export default function R({requestCompassAllowed:n}){const[a,o]=C(!1),i=s(({lat:e,lng:p,angle:l,heading:f})=>{t.routeStore.selectCurrentPosition(new c(0,0,0,l||f,e,p),!1)},[]),u=s(()=>{t.routeStore.requestCompass=void 0,o(!1)},[o]),m=s(()=>{t.routeStore.requestCompass=void 0,o(!1)},[o]);return r(()=>t.uiState.hideCookieConsent,e=>{o(e)}),r(()=>t.routeStore.requestCompass,e=>{o(e)}),d(q,{requestCompass:a,requestCompassAllowed:n,onRejectCompass:u,onAllowCompass:m,orientationStorageKey:S,onPositionUpdate:i})}
1
+ import{jsx as d}from"react/jsx-runtime";import{useCallback as s,useState as C}from"react";import{ORIENTATION_GRANTED_KEY as c}from"../constants";import t from"../store";import{CurrentPosition as S}from"../store/RouteStore";import{useReaction as r}from"../utils/mobx";import{GpsManager as q}from"./gps";export default function R({requestCompassAllowed:n}){const[a,o]=C(!1),i=s(({lat:e,lng:p,angle:l,heading:f})=>{t.routeStore.selectCurrentPosition(new S(0,0,0,l||f,e,p),!1)},[]),u=s(()=>{t.routeStore.requestCompass=void 0,o(!1)},[o]),m=s(()=>{t.routeStore.requestCompass=void 0,o(!1)},[o]);return r(()=>t.uiState.hideCookieConsent,e=>{o(e)}),r(()=>t.routeStore.requestCompass,e=>{o(e)}),d(q,{requestCompass:a,requestCompassAllowed:n,onRejectCompass:u,onAllowCompass:m,orientationStorageKey:c,onPositionUpdate:i})}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./IntercomLauncher.scss";
2
+ import React from "react";
3
3
  declare const IntercomLauncher: React.FunctionComponent<object>;
4
4
  export default IntercomLauncher;
5
5
  //# sourceMappingURL=IntercomLauncher.d.ts.map
@@ -1 +1 @@
1
- import{jsx as r,jsxs as c}from"react/jsx-runtime";import{observer as i}from"mobx-react-lite";import{intercomStore as t,uiState as s}from"../store";import{t as o}from"../utils/i18n";import"./IntercomLauncher.scss";const l=i(function(){if(!t.enabled||s.kiosk)return null;const a=()=>{const n=window;typeof n.Intercom=="function"&&n.Intercom("show")},e=t.unreadCount;return c("button",{className:"efp-intercom-launcher",type:"button","aria-label":o("Open chat"),onClick:a,children:[r("svg",{width:"24",height:"24",viewBox:"0 0 28 32",fill:"currentColor","aria-hidden":"true",focusable:"false",children:r("path",{d:"M28 32s-4.714-1.855-8.527-3.34H3.437C1.54 28.66 0 27.026 0 25.013V3.644C0 1.633 1.54 0 3.437 0h21.125c1.898 0 3.437 1.632 3.437 3.645v18.404H28V32zm-4.139-11.982a.88.88 0 00-1.292-.105c-.03.026-3.015 2.681-8.57 2.681-5.486 0-8.517-2.636-8.571-2.684a.88.88 0 00-1.29.107 1.01 1.01 0 00-.219.708.992.992 0 00.318.664c.142.128 3.537 3.15 9.762 3.15 6.226 0 9.621-3.022 9.763-3.15a.992.992 0 00.317-.664 1.01 1.01 0 00-.218-.707z"})}),e>0&&r("span",{className:"efp-intercom-launcher__badge","aria-label":o("Unread messages"),children:e>99?"99+":e})]})});export default l;
1
+ import{jsx as r,jsxs as c}from"react/jsx-runtime";import"./IntercomLauncher.scss";import{observer as i}from"mobx-react-lite";import{intercomStore as t,uiState as s}from"../store";import{t as o}from"../utils/i18n";const l=i(function(){if(!t.enabled||s.kiosk)return null;const a=()=>{const n=window;typeof n.Intercom=="function"&&n.Intercom("show")},e=t.unreadCount;return c("button",{className:"efp-intercom-launcher",type:"button","aria-label":o("Open chat"),onClick:a,children:[r("svg",{width:"24",height:"24",viewBox:"0 0 28 32",fill:"currentColor","aria-hidden":"true",focusable:"false",children:r("path",{d:"M28 32s-4.714-1.855-8.527-3.34H3.437C1.54 28.66 0 27.026 0 25.013V3.644C0 1.633 1.54 0 3.437 0h21.125c1.898 0 3.437 1.632 3.437 3.645v18.404H28V32zm-4.139-11.982a.88.88 0 00-1.292-.105c-.03.026-3.015 2.681-8.57 2.681-5.486 0-8.517-2.636-8.571-2.684a.88.88 0 00-1.29.107 1.01 1.01 0 00-.219.708.992.992 0 00.318.664c.142.128 3.537 3.15 9.762 3.15 6.226 0 9.621-3.022 9.763-3.15a.992.992 0 00.317-.664 1.01 1.01 0 00-.218-.707z"})}),e>0&&r("span",{className:"efp-intercom-launcher__badge","aria-label":o("Unread messages"),children:e>99?"99+":e})]})});export default l;
@@ -1,6 +1,6 @@
1
- import type { AlertProps } from "../../ui/Alert";
2
- import type { Kiosk, StatusMessage } from "./SetKiosk";
3
- import type { SetKioskChangeEvent } from "./SetKiosk/types";
1
+ import { type AlertProps } from "../../ui/Alert";
2
+ import { type Kiosk, type StatusMessage } from "./SetKiosk";
3
+ import { type SetKioskChangeEvent } from "./SetKiosk/types";
4
4
  declare class KioskStore {
5
5
  get kiosk(): Kiosk;
6
6
  setKiosk(kiosk: Kiosk | null): void;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./ConfirmDialog.scss";
2
+ import React from "react";
3
3
  import { ConfirmDialogProps } from "../types";
4
4
  export declare function ConfirmDialog({ isDisabled, content, confirmLabel, cancelLabel, onConfirm, onCancel, confirmVariant, cancelVariant, }: ConfirmDialogProps): React.JSX.Element;
5
5
  //# sourceMappingURL=ConfirmDialog.d.ts.map
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./RangeInput.scss";
2
+ import React from "react";
3
3
  import { RangeInputProps } from "../types";
4
4
  export declare function RangeInput({ value, name, min, max, step, onChange, isDisabled, symbol }: RangeInputProps): React.JSX.Element;
5
5
  //# sourceMappingURL=RangeInput.d.ts.map
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./InfoMessage.scss";
2
+ import React from "react";
3
3
  import { InfoMessageProps } from "../types";
4
4
  export declare function InfoMessage({ list }: InfoMessageProps): React.JSX.Element | null;
5
5
  //# sourceMappingURL=InfoMessage.d.ts.map
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./SetKioskComponent.scss";
2
+ import React from "react";
3
3
  import { SetKioskProps } from "./types";
4
4
  export default function SetKioskComponent({ isSaveDisabled, isDeleteDisabled, areControlsDisabled, confirmOnClose, angle, uiScale, minUiScale, maxUiScale, uiScaleStep, iconSizePercent, isInfoVisible, statusMessages, onClose, onDelete, onSave, onChange, }: SetKioskProps): React.JSX.Element;
5
5
  //# sourceMappingURL=SetKioskComponent.d.ts.map
@@ -1 +1 @@
1
- import{jsx as o,jsxs as i,Fragment as x}from"react/jsx-runtime";import{useState as L}from"react";import{SetKioskForm as N}from"./SetKioskForm";import{InfoMessage as y}from"./Message/InfoMessage";import"./SetKioskComponent.scss";import K from"../../../ui/Draggable";import{ConfirmDialog as j}from"./Confirm/ConfirmDialog";import I from"./SetKioskStatusMessages";import r from"../../../tools/base-runtime-url";import{t as e}from"../../../utils/i18n";export default function U({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:p,uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,iconSizePercent:v,isInfoVisible:b,statusMessages:S,onClose:D,onDelete:C,onSave:_,onChange:s}){const[t,n]=L(null);return o("div",{className:"efp-set-kiosk-mode-anchor",children:i(K,{className:"efp-set-kiosk-mode",children:[i("div",{className:"efp-set-kiosk-mode__header",children:[o("img",{src:`${r}icons/dragdrop-solid.svg`,alt:e("Drag and Drop Icon"),width:"24",height:"24"}),o("span",{className:"efp-no-select",children:t?t.title:e("Set Kiosk")}),o("button",{type:"button",draggable:"false",className:"efp-set-kiosk-mode__close","aria-label":e("Close"),onClick:()=>{const a=()=>{n(null)},l=()=>{D?.(),n(null)};t?a():g?n({title:e("Leave without saving?"),content:i("span",{children:[e("You have changes that "),o("strong",{children:e("haven't been saved.")})]}),confirmLabel:e("Keep editing"),cancelLabel:e("Leave"),onCancel:l,onConfirm:a,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:o("i",{className:"icon-close"})})]}),!t&&o(I,{messages:S}),b?o(y,{list:[{id:"1",image:{src:`${r}icons/tap.svg`,alt:e("Tap to set or move kiosk.")},content:i("span",{children:[e("Tap to "),o("strong",{children:e("set or move")}),e(" kiosk.")]})},{id:"2",image:{src:`${r}icons/rotate.svg`,alt:e("Zoom and rotate the map before saving.")},content:i("span",{children:[o("strong",{children:e("Zoom and rotate")}),e(" the map before saving.")]})}]}):o(x,{children:t?o(j,{...t}):o(N,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{_?.(),n(null)},onDelete:()=>{n({title:e("Delete kiosk?"),content:i("span",{children:[e("Are you sure you want to "),o("strong",{children:e("delete this kiosk?")})]}),confirmLabel:e("Cancel"),cancelLabel:e("Delete"),onConfirm:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:p,onRotateIcon:a=>s?.({angle:a}),uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,onUiScaleChange:a=>s?.({scale:a}),iconSizePercent:v,onChangeIconSizePercent:a=>s?.({percent:a})})})]})})}
1
+ import{jsx as o,jsxs as i,Fragment as x}from"react/jsx-runtime";import"./SetKioskComponent.scss";import{useState as L}from"react";import r from"../../../tools/base-runtime-url";import N from"../../../ui/Draggable";import{t as e}from"../../../utils/i18n";import{ConfirmDialog as y}from"./Confirm/ConfirmDialog";import{InfoMessage as K}from"./Message/InfoMessage";import{SetKioskForm as j}from"./SetKioskForm";import I from"./SetKioskStatusMessages";export default function U({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:p,uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,iconSizePercent:v,isInfoVisible:b,statusMessages:S,onClose:D,onDelete:C,onSave:_,onChange:s}){const[t,n]=L(null);return o("div",{className:"efp-set-kiosk-mode-anchor",children:i(N,{className:"efp-set-kiosk-mode",children:[i("div",{className:"efp-set-kiosk-mode__header",children:[o("img",{src:`${r}icons/dragdrop-solid.svg`,alt:e("Drag and Drop Icon"),width:"24",height:"24"}),o("span",{className:"efp-no-select",children:t?t.title:e("Set Kiosk")}),o("button",{type:"button",draggable:"false",className:"efp-set-kiosk-mode__close","aria-label":e("Close"),onClick:()=>{const a=()=>{n(null)},l=()=>{D?.(),n(null)};t?a():g?n({title:e("Leave without saving?"),content:i("span",{children:[e("You have changes that "),o("strong",{children:e("haven't been saved.")})]}),confirmLabel:e("Keep editing"),cancelLabel:e("Leave"),onCancel:l,onConfirm:a,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:o("i",{className:"icon-close"})})]}),!t&&o(I,{messages:S}),b?o(K,{list:[{id:"1",image:{src:`${r}icons/tap.svg`,alt:e("Tap to set or move kiosk.")},content:i("span",{children:[e("Tap to "),o("strong",{children:e("set or move")}),e(" kiosk.")]})},{id:"2",image:{src:`${r}icons/rotate.svg`,alt:e("Zoom and rotate the map before saving.")},content:i("span",{children:[o("strong",{children:e("Zoom and rotate")}),e(" the map before saving.")]})}]}):o(x,{children:t?o(y,{...t}):o(j,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{_?.(),n(null)},onDelete:()=>{n({title:e("Delete kiosk?"),content:i("span",{children:[e("Are you sure you want to "),o("strong",{children:e("delete this kiosk?")})]}),confirmLabel:e("Cancel"),cancelLabel:e("Delete"),onConfirm:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:p,onRotateIcon:a=>s?.({angle:a}),uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,onUiScaleChange:a=>s?.({scale:a}),iconSizePercent:v,onChangeIconSizePercent:a=>s?.({percent:a})})})]})})}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./SetKioskForm.scss";
2
+ import React from "react";
3
3
  import { SetKioskFormProps } from "./types";
4
4
  export declare function SetKioskForm({ onSave, onDelete, isSaveDisabled, isDeleteDisabled, areControlsDisabled, angle, onRotateIcon, uiScale, minUiScale, maxUiScale, uiScaleStep, onUiScaleChange, iconSizePercent, onChangeIconSizePercent, }: SetKioskFormProps): React.JSX.Element;
5
5
  //# sourceMappingURL=SetKioskForm.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import"./SetKioskForm.scss";import{RangeInput as a}from"./FormInput/RangeInput";import m from"../../../ui/Button";import{t as s}from"../../../utils/i18n";export function SetKioskForm({onSave:n,onDelete:t,isSaveDisabled:r,isDeleteDisabled:l,areControlsDisabled:i,angle:c,onRotateIcon:d,uiScale:p,minUiScale:f,maxUiScale:k,uiScaleStep:u,onUiScaleChange:v,iconSizePercent:x,onChangeIconSizePercent:h}){return e("div",{className:"efp-set-kiosk-form",children:o("div",{className:"efp-set-kiosk-form__content",children:[o("div",{className:"efp-set-kiosk-form__inputs",children:[e(a,{value:c,name:s("Icon rotation"),min:0,max:360,step:1,symbol:"\xB0",isDisabled:i,onChange:d}),e(a,{value:x,name:s("Icon size"),min:100,max:300,step:1,symbol:"%",isDisabled:i,onChange:h}),e(a,{value:Math.round(p*100),name:s("UI scale"),min:f*100,max:k*100,step:u*100,symbol:"%",isDisabled:i,onChange:_=>v(_/100)})]}),o("div",{className:"efp-set-kiosk-form__controls",children:[e(m,{size:"md",variant:"gray",text:s("Delete kiosk"),onClick:t,disabled:l}),e(m,{size:"md",variant:"primary",text:s("Save"),onClick:n,disabled:r})]})]})})}
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import"./SetKioskForm.scss";import m from"../../../ui/Button";import{t as s}from"../../../utils/i18n";import{RangeInput as a}from"./FormInput/RangeInput";export function SetKioskForm({onSave:n,onDelete:t,isSaveDisabled:r,isDeleteDisabled:l,areControlsDisabled:i,angle:c,onRotateIcon:d,uiScale:p,minUiScale:f,maxUiScale:k,uiScaleStep:u,onUiScaleChange:v,iconSizePercent:x,onChangeIconSizePercent:h}){return e("div",{className:"efp-set-kiosk-form",children:o("div",{className:"efp-set-kiosk-form__content",children:[o("div",{className:"efp-set-kiosk-form__inputs",children:[e(a,{value:c,name:s("Icon rotation"),min:0,max:360,step:1,symbol:"\xB0",isDisabled:i,onChange:d}),e(a,{value:x,name:s("Icon size"),min:100,max:300,step:1,symbol:"%",isDisabled:i,onChange:h}),e(a,{value:Math.round(p*100),name:s("UI scale"),min:f*100,max:k*100,step:u*100,symbol:"%",isDisabled:i,onChange:_=>v(_/100)})]}),o("div",{className:"efp-set-kiosk-form__controls",children:[e(m,{size:"md",variant:"gray",text:s("Delete kiosk"),onClick:t,disabled:l}),e(m,{size:"md",variant:"primary",text:s("Save"),onClick:n,disabled:r})]})]})})}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./SetKioskStatusMessages.scss";
2
+ import React from "react";
3
3
  import { SetKioskStatusMessagesProps } from "./types";
4
4
  export default function SetKioskStatusMessages({ messages }: SetKioskStatusMessagesProps): React.JSX.Element | null;
5
5
  //# sourceMappingURL=SetKioskStatusMessages.d.ts.map
@@ -1 +1 @@
1
- import{jsx as l}from"react/jsx-runtime";import{useEffect as c}from"react";import r from"../../store";import{observer as d}from"mobx-react-lite";import e from"./KioskStore";import v from"./SetKiosk";import{useInit as m}from"../../utils/mobx";import{isDefaultScene as S,pickDefaultScene as h}from"../../renderer/engine-core/defs";const p=d(()=>{m(()=>{Promise.resolve().then(()=>e.handleSetupReady())}),c(()=>{const t=({ptScale:a,sceneId:i})=>{S(i)&&e.setInitialPtScale(a)};e.renderer.events.addEventListener("viewport:ptscale",t);const s=({data:a})=>{const{point:i}=h(a);e.handleClick(i)};e.renderer.events.addEventListener("pointer:click",s);const o=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",o),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",o)}},[e.renderer]);const n=!!e.kiosk;return l(v,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||r.uiState.uiScale,minUiScale:r.uiState.minUIScale,maxUiScale:r.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default p;
1
+ import{jsx as l}from"react/jsx-runtime";import{observer as c}from"mobx-react-lite";import{useEffect as d}from"react";import{isDefaultScene as v,pickDefaultScene as m}from"../../renderer/engine-core/defs";import r from"../../store";import{useInit as S}from"../../utils/mobx";import e from"./KioskStore";import h from"./SetKiosk";const p=c(()=>{S(()=>{Promise.resolve().then(()=>e.handleSetupReady())}),d(()=>{const t=({ptScale:a,sceneId:i})=>{v(i)&&e.setInitialPtScale(a)};e.renderer.events.addEventListener("viewport:ptscale",t);const s=({data:a})=>{const{point:i}=m(a);e.handleClick(i)};e.renderer.events.addEventListener("pointer:click",s);const o=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",o),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",o)}},[e.renderer]);const n=!!e.kiosk;return l(h,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||r.uiState.uiScale,minUiScale:r.uiState.minUIScale,maxUiScale:r.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default p;
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import t from"../../store";import{KIOSK_ENABLE_KEY as i}from"../../constants";import{integrateKioskIntoMap as a,integrateKioskIntoWf as s}from"./integrateKiosk";import r from"./KioskStore";import m from"../../ui/TouchHand";import{observer as n}from"mobx-react-lite";import{useInit as u}from"../../utils/mobx";const f=n(()=>(u(()=>{if(localStorage.getItem(i)==="0")return;const e=r.restoreData();if(e)return a(e,!0),s(e),t.setResetCameraFn(()=>r.resetCamera()),()=>{t.uiState.setKioskData(null),t.uiState.resetMapSettings(),r.resetCamera()}}),t.uiState.kiosk&&t.uiState.inIdle?o(m,{}):null));export default f;
1
+ import{jsx as o}from"react/jsx-runtime";import{observer as i}from"mobx-react-lite";import{KIOSK_ENABLE_KEY as a}from"../../constants";import t from"../../store";import s from"../../ui/TouchHand";import{useInit as m}from"../../utils/mobx";import{integrateKioskIntoMap as n,integrateKioskIntoWf as u}from"./integrateKiosk";import r from"./KioskStore";const f=i(()=>(m(()=>{if(localStorage.getItem(a)==="0")return;const e=r.restoreData();if(e)return n(e,!0),u(e),t.setResetCameraFn(()=>r.resetCamera()),()=>{t.uiState.setKioskData(null),t.uiState.resetMapSettings(),r.resetCamera()}}),t.uiState.kiosk&&t.uiState.inIdle?o(s,{}):null));export default f;
@@ -1,4 +1,4 @@
1
- import type { Kiosk } from "./SetKiosk";
1
+ import { type Kiosk } from "./SetKiosk";
2
2
  export declare function createKiosk(kiosk: Kiosk, originUrlString: string): Promise<string | null>;
3
3
  export declare function updateKiosk(kiosk: Kiosk, originUrlString: string): Promise<void>;
4
4
  //# sourceMappingURL=kioskApi.d.ts.map
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{observer as e}from"mobx-react-lite";import{LANGUAGE_TYPE as m}from"../constants";import a from"../data";import{uiState as r}from"../store";import i from"./List";import{useRef as f}from"react";const s=e(()=>{const o=f();return!a.hideLanguage&&!r.details&&r.list.type===m&&t(i,{updatedScrollableRef:o})});export default s;
1
+ import{jsx as t}from"react/jsx-runtime";import{observer as e}from"mobx-react-lite";import{useRef as m}from"react";import{LANGUAGE_TYPE as a}from"../constants";import i from"../data";import{uiState as r}from"../store";import f from"./List";const s=e(()=>{const o=m();return!i.hideLanguage&&!r.details&&r.list.type===a&&t(f,{updatedScrollableRef:o})});export default s;
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import "./LanguageRow.scss";
2
+ import React from "react";
3
3
  declare const LanguageRow: React.FunctionComponent<{
4
4
  item: Language;
5
5
  }>;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{getLocale as o,setLocale as r,t as g}from"../utils/i18n";import{observer as n}from"mobx-react-lite";import l from"../ui/Radio";import"./LanguageRow.scss";const m=n(({item:a})=>e(l,{name:"language",label:a.name,value:a.id,checked:a.id===o(),className:"language-row",ariaLabel:g("Change language to {{language}}",{language:a.name}),onChange:()=>r(a.id)}));export default m;
1
+ import{jsx as e}from"react/jsx-runtime";import"./LanguageRow.scss";import{observer as o}from"mobx-react-lite";import r from"../ui/Radio";import{getLocale as g,setLocale as n,t as l}from"../utils/i18n";const m=o(({item:a})=>e(r,{name:"language",label:a.name,value:a.id,checked:a.id===g(),className:"language-row",ariaLabel:l("Change language to {{language}}",{language:a.name}),onChange:()=>n(a.id)}));export default m;
@@ -1,4 +1,4 @@
1
- import React from "react";
2
1
  import "./LargeMessage.scss";
2
+ import React from "react";
3
3
  export default function LargeMessage(): React.JSX.Element | null;
4
4
  //# sourceMappingURL=LargeMessage.d.ts.map
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{autorun as r,reaction as a}from"mobx";import{useLocalStore as l,useObserver as n}from"mobx-react-lite";import{uiState as i}from"../store";import m from"../tools/logger";import{useInit as u}from"../utils/mobx";import"./LargeMessage.scss";const g=1e3;export default function f(){const e=l(()=>({shouldShow:!1,visible:!1,transitioning:!1}));return u(()=>{let t;a(()=>i.largeMessageLastSet,()=>{i.largeMessageLastSet&&(window.clearTimeout(t),m.log("Showing large message"),e.shouldShow=!0,t=window.setTimeout(()=>{e.shouldShow=!1},g))},{fireImmediately:!0});let s;r(()=>{window.clearTimeout(s),e.shouldShow?(e.transitioning=!0,s=window.setTimeout(()=>{e.visible=!0},1)):(e.visible=!1,s=window.setTimeout(()=>{e.transitioning=!1},1e3))})}),n(()=>i.largeMessage&&e.transitioning?o("div",{className:"large-message"+(e.visible?" -visible":""),children:o("div",{className:"large-message__text",children:i.largeMessage})}):null)}
1
+ import{jsx as o}from"react/jsx-runtime";import"./LargeMessage.scss";import{autorun as r,reaction as a}from"mobx";import{useLocalStore as l,useObserver as n}from"mobx-react-lite";import{uiState as i}from"../store";import m from"../tools/logger";import{useInit as u}from"../utils/mobx";const g=1e3;export default function f(){const e=l(()=>({shouldShow:!1,visible:!1,transitioning:!1}));return u(()=>{let t;a(()=>i.largeMessageLastSet,()=>{i.largeMessageLastSet&&(window.clearTimeout(t),m.log("Showing large message"),e.shouldShow=!0,t=window.setTimeout(()=>{e.shouldShow=!1},g))},{fireImmediately:!0});let s;r(()=>{window.clearTimeout(s),e.shouldShow?(e.transitioning=!0,s=window.setTimeout(()=>{e.visible=!0},1)):(e.visible=!1,s=window.setTimeout(()=>{e.transitioning=!1},1e3))})}),n(()=>i.largeMessage&&e.transitioning?o("div",{className:"large-message"+(e.visible?" -visible":""),children:o("div",{className:"large-message__text",children:i.largeMessage})}):null)}
@@ -1,6 +1,6 @@
1
- import React from "react";
2
1
  import "../styles/main.scss";
3
2
  import "./Layout.scss";
3
+ import React from "react";
4
4
  interface LayoutProps {
5
5
  offHistory: boolean;
6
6
  allowConsent?: boolean;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as z}from"react/jsx-runtime";import{observer as M}from"mobx-react-lite";import r,{Suspense as a,useEffect as x,useState as E}from"react";import R from"classnames";import t,{layersStore as c,uiState as e}from"../store";import y from"../tools/settings";import{isWebGlSupported as D}from"../utils";import L from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import G from"./LevelSelector";import T from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import A from"./LogoOverlay";import F from"./SearchBox";import I from"./SearchButtons/SearchButtons";import j from"./MobileToggleButton";import P from"./IntercomLauncher";import{CategoryFilterModal as V}from"./CategoryFilterModal";import $ from"./SessionsFiltersModal";import H from"./SpeakersFiltersModal";import K from"./Map/Map";import _ from"./OverlayContainer";import N from"./Share";import U from"./Ws";import{LayersMode as S}from"../store/LayerStore";import W from"../ui/Spinner";import{checkUserIsGDPR as q,GaEventActions as s,hasUserConsent as X,sendEventToGa as l,setConsentSettings as v,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegendContainer";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";import Z from"./ErrorBoundary";const ee=r.lazy(()=>import("./Demo")),oe=r.lazy(()=>import("./Free")),te=r.lazy(()=>import("./Debug")),ie=r.lazy(()=>import("./Maplibre/MaplibreAdapter")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),ne=r.lazy(()=>import("./Kiosk/SetKioskMode")),se=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default M(function({offHistory:b,allowConsent:p}){const[f,d]=E(!1),u=t.maplibreStore.showMaplibre;let n=null;e.bannerType==="demo"?n=o(ee,{}):e.bannerType==="free"&&(n=o(oe,{}));const g=()=>{C(!0),v(),t.uiState.hideCookieConsent=!0},w=()=>{C(!1),v(),t.uiState.hideCookieConsent=!0};x(()=>{async function i(){const k=await q();d(!!(k||k===null))}X(p)?d(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(s.ViewExhibitor,i.name))}),m(()=>e.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),m(()=>e.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),m(()=>e.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const h=!e.hideCookieConsent&&!e.kiosk&&f&&p===void 0;return o("div",{id:"efp-layout",className:R("layout",{"efp-kiosk":e.kiosk,"efp-kiosk-route-active":e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":e.wsShown,"efp-no-overlay":e.noOverlay,"efp-top-banner":e.bannerType==="free"&&!e.freeBannerDismissed,"efp-viewer-mode":e.viewerMode}),dir:e.rtl?"rtl":"ltr",style:{"--ui-scale":e.uiScale.toString()},children:z("div",{className:`layout__fixed expo-${y.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(c.mode===S.Radio||c.mode===S.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(G,{}),!e.noOverlay&&t.initialized&&o(_,{isGDPR:f,allowConsent:p}),t.initialized&&o(A,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(F,{}),!e.noOverlay&&t.initialized&&o(I,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),o(P,{}),!e.hideHeaderLogo&&t.initialized&&o(U,{}),t.routeStore.gpsEnabled&&o(le,{requestCompassAllowed:!h}),D&&!u&&o(K,{}),u&&o(Z,{children:o(a,{fallback:o("div",{}),children:o(ie,{viewMode:t.maplibreStore.mapViewMode})})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onAccept:g,onReject:w})}),L?o(a,{fallback:null,children:o(te,{})}):null,O&&o(T,{}),e.modalActive.share?o(a,{fallback:null,children:o(re,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(N,{title:e.selectedExhibitor?.name||e.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(e.selectedExhibitor?.slug||e.selectedEventItem?.slug)}`:window.location.href})})}):null,e.heatmap||e.heatmapYah?o(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,palette:y.heatmapColors}):null,o(W,{active:!c.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(V,{}),t.initialized&&o($,{store:t.sessionsFilterStore}),t.initialized&&o(H,{store:t.speakerFilterStore}),o(Q,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(ne,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})})]})})});
1
+ import{jsx as o,jsxs as z}from"react/jsx-runtime";import"../styles/main.scss";import"./Layout.scss";import M from"classnames";import{observer as x}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as R}from"react";import t,{layersStore as c,uiState as e}from"../store";import{LayersMode as y}from"../store/LayerStore";import{checkUserIsGDPR as D,GaEventActions as s,hasUserConsent as L,sendEventToGa as l,setConsentSettings as S,setCookieConsent as v}from"../tools/gtag";import C from"../tools/settings";import O from"../tools/track-event";import B from"../ui/Spinner";import{isWebGlSupported as G}from"../utils";import T from"../utils/is-debug";import A from"../utils/is-iframe";import{useReaction as m}from"../utils/mobx";import{CategoryFilterModal as F}from"./CategoryFilterModal";import I from"./Controls";import j from"./ErrorBoundary";import P from"./GlobalErrorMessage";import V from"./HeatmapLegendContainer";import $ from"./IntercomLauncher";import H from"./LargeMessage";import K from"./LevelSelector";import _ from"./LogoOverlay";import N from"./Map/Map";import U from"./MobileToggleButton";import W from"./OverlayContainer";import q from"./SearchBox";import X from"./SearchButtons/SearchButtons";import Y from"./SessionsFiltersModal";import J from"./Share";import Q from"./SpeakersFiltersModal";import Z from"./Ws";const ee=r.lazy(()=>import("./Demo")),oe=r.lazy(()=>import("./Free")),te=r.lazy(()=>import("./Debug")),ie=r.lazy(()=>import("./Maplibre/MaplibreAdapter")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),ne=r.lazy(()=>import("./Kiosk/SetKioskMode")),se=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default x(function({offHistory:b,allowConsent:p}){const[f,d]=R(!1),u=t.maplibreStore.showMaplibre;let n=null;e.bannerType==="demo"?n=o(ee,{}):e.bannerType==="free"&&(n=o(oe,{}));const g=()=>{v(!0),S(),t.uiState.hideCookieConsent=!0},w=()=>{v(!1),S(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await D();d(!!(k||k===null))}L(p)?d(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(O("exview",i.id),l(s.ViewExhibitor,i.name))}),m(()=>e.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),m(()=>e.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),m(()=>e.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const h=!e.hideCookieConsent&&!e.kiosk&&f&&p===void 0;return o("div",{id:"efp-layout",className:M("layout",{"efp-kiosk":e.kiosk,"efp-kiosk-route-active":e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":e.wsShown,"efp-no-overlay":e.noOverlay,"efp-top-banner":e.bannerType==="free"&&!e.freeBannerDismissed,"efp-viewer-mode":e.viewerMode}),dir:e.rtl?"rtl":"ltr",style:{"--ui-scale":e.uiScale.toString()},children:z("div",{className:`layout__fixed expo-${C.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(c.mode===y.Radio||c.mode===y.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(K,{}),!e.noOverlay&&t.initialized&&o(W,{isGDPR:f,allowConsent:p}),t.initialized&&o(_,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(q,{}),!e.noOverlay&&t.initialized&&o(X,{}),!e.noOverlay&&t.initialized&&o(U,{}),!e.mapControlsHidden&&t.initialized&&o(I,{}),o($,{}),!e.hideHeaderLogo&&t.initialized&&o(Z,{}),t.routeStore.gpsEnabled&&o(le,{requestCompassAllowed:!h}),G&&!u&&o(N,{}),u&&o(j,{children:o(a,{fallback:o("div",{}),children:o(ie,{viewMode:t.maplibreStore.mapViewMode})})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onAccept:g,onReject:w})}),T?o(a,{fallback:null,children:o(te,{})}):null,A&&o(H,{}),e.modalActive.share?o(a,{fallback:null,children:o(re,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(J,{title:e.selectedExhibitor?.name||e.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(e.selectedExhibitor?.slug||e.selectedEventItem?.slug)}`:window.location.href})})}):null,e.heatmap||e.heatmapYah?o(V,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,palette:C.heatmapColors}):null,o(B,{active:!c.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(F,{}),t.initialized&&o(Y,{store:t.sessionsFilterStore}),t.initialized&&o(Q,{store:t.speakerFilterStore}),o(P,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(ne,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})})]})})});
@@ -1,4 +1,4 @@
1
- import React from "react";
2
1
  import "./LevelSelector.scss";
2
+ import React from "react";
3
3
  export default function LevelSelector(): React.JSX.Element | null;
4
4
  //# sourceMappingURL=LevelSelector.d.ts.map
@@ -1 +1 @@
1
- import{jsx as s,jsxs as v}from"react/jsx-runtime";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useRef as b,useEffect as E,useState as O,useCallback as h,useLayoutEffect as I}from"react";import D from"../core/Rect";import i,{uiState as g}from"../store";import{LayersMode as S}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import L from"../data";import T from"../utils/useOnClickOutside";import"./LevelSelector.scss";const V=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],P=["ice-gaming2026"];function B(l){return P.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=b(null),_=b(null),d=b(null),[c,y]=O(!1),[x,C]=O("down");T([_,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),n=window.innerHeight-t.bottom;C(n<200?"up":"down")}},[c]);const k=h(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===S.Radio){if(i.layerStore.updateVisibility(r,!0),i.maplibreStore.showMaplibre)return;if(!!window.__fpSettings?.fpVer||V.includes(R.EXPO)){const o=r.viewbox??r.rect;g.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?g.zoomBy=.95:g.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const n=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(n){i.layerStore.showPathWay(n.id);return}i.toursStore.stopTour()},[]),f=h(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=h((t,r,n)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=n.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<n.length;){if(!n[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===S.Radio||i.layerStore.mode===S.CheckBox)||t.length===0)return null;const{layout:n,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return n==="compact-list"?s("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor selection"),children:t.map(e=>s("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:w=>N(w,e,t),dir:"auto",children:s("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[s("i",{className:"icon-layers","aria-hidden":"true"}),s("span",{children:o?.description??""})]}),s("div",{className:"efp-level-selector__trigger-chevron",children:s("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&s("div",{ref:_,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":x==="up","is-opens-down":x==="down"}),role:"listbox","aria-label":p("Floor selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:w=>N(w,e,t),children:[s("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&s("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),s("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
1
+ import{jsx as s,jsxs as v}from"react/jsx-runtime";import"./LevelSelector.scss";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useCallback as b,useEffect as E,useLayoutEffect as I,useRef as h,useState as O}from"react";import D from"../core/Rect";import L from"../data";import i,{uiState as g}from"../store";import{LayersMode as S}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import T from"../utils/useOnClickOutside";const V=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],P=["ice-gaming2026"];function B(l){return P.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=h(null),_=h(null),d=h(null),[c,y]=O(!1),[x,C]=O("down");T([_,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),n=window.innerHeight-t.bottom;C(n<200?"up":"down")}},[c]);const k=b(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===S.Radio){if(i.layerStore.updateVisibility(r,!0),i.maplibreStore.showMaplibre)return;if(!!window.__fpSettings?.fpVer||V.includes(R.EXPO)){const o=r.viewbox??r.rect;g.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?g.zoomBy=.95:g.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const n=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(n){i.layerStore.showPathWay(n.id);return}i.toursStore.stopTour()},[]),f=b(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=b((t,r,n)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=n.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<n.length;){if(!n[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===S.Radio||i.layerStore.mode===S.CheckBox)||t.length===0)return null;const{layout:n,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return n==="compact-list"?s("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor selection"),children:t.map(e=>s("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:w=>N(w,e,t),dir:"auto",children:s("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[s("i",{className:"icon-layers","aria-hidden":"true"}),s("span",{children:o?.description??""})]}),s("div",{className:"efp-level-selector__trigger-chevron",children:s("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&s("div",{ref:_,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":x==="up","is-opens-down":x==="down"}),role:"listbox","aria-label":p("Floor selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:w=>N(w,e,t),children:[s("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&s("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),s("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
@@ -1,5 +1,5 @@
1
- import React, { RefObject } from "react";
2
1
  import "./List.scss";
2
+ import React, { RefObject } from "react";
3
3
  interface ListProps {
4
4
  updatedScrollableRef: RefObject<HTMLElement>;
5
5
  updateScroll?: () => void;
@@ -1 +1 @@
1
- import{jsx as s}from"react/jsx-runtime";import{useObserver as h}from"mobx-react-lite";import{Suspense as T,lazy as g,useEffect as c,useRef as y,useState as I,useCallback as v}from"react";import{uiState as t}from"../store";import{getLocale as L}from"../utils/i18n";import{LANGUAGE_TYPE as S}from"../constants";import x from"./LanguageRow";import"./List.scss";import b from"../ui/Spinner";const m=()=>import("react-virtuoso").then(r=>({default:r.Virtuoso})).catch(()=>new Promise(r=>setTimeout(()=>r(m()),3e3))),C=g(m);export default function R({updatedScrollableRef:r,updateScroll:l}){const[i,a]=I(null),n=y(null);c(()=>{a(r??null)},[r]),c(()=>{const o=t.getListScrollTop(t.list.type);if(o>0){const e=setTimeout(()=>{n.current&&n.current.scrollTo({top:o,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=v(()=>{n.current?n.current.getState(o=>{const e=o?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:o})=>{const e=t.listItems[o];return e.entity.type===S?s(x,{item:e},e.id):(console.error("Invalid item type"),null)},f=()=>{l&&setTimeout(l)},d=()=>{l&&l()};return h(()=>{const o=t.listItems.findIndex(e=>e.id===L());return s("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&s(T,{fallback:s(b,{active:!0,isCenter:!0}),children:s(C,{ref:n,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:f,totalListHeightChanged:d,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:o!==-1?o:0,components:{EmptyPlaceholder:()=>s("div",{className:"list-empty",children:"No items to show"})}})})})})}
1
+ import{jsx as s}from"react/jsx-runtime";import"./List.scss";import{useObserver as h}from"mobx-react-lite";import{lazy as T,Suspense as g,useCallback as y,useEffect as c,useRef as I,useState as v}from"react";import{LANGUAGE_TYPE as L}from"../constants";import{uiState as t}from"../store";import S from"../ui/Spinner";import{getLocale as x}from"../utils/i18n";import b from"./LanguageRow";const m=()=>import("react-virtuoso").then(r=>({default:r.Virtuoso})).catch(()=>new Promise(r=>setTimeout(()=>r(m()),3e3))),C=T(m);export default function R({updatedScrollableRef:r,updateScroll:l}){const[i,a]=v(null),n=I(null);c(()=>{a(r??null)},[r]),c(()=>{const o=t.getListScrollTop(t.list.type);if(o>0){const e=setTimeout(()=>{n.current&&n.current.scrollTo({top:o,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=y(()=>{n.current?n.current.getState(o=>{const e=o?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:o})=>{const e=t.listItems[o];return e.entity.type===L?s(b,{item:e},e.id):(console.error("Invalid item type"),null)},f=()=>{l&&setTimeout(l)},d=()=>{l&&l()};return h(()=>{const o=t.listItems.findIndex(e=>e.id===x());return s("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&s(g,{fallback:s(S,{active:!0,isCenter:!0}),children:s(C,{ref:n,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:f,totalListHeightChanged:d,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:o!==-1?o:0,components:{EmptyPlaceholder:()=>s("div",{className:"list-empty",children:"No items to show"})}})})})})}
@@ -1,4 +1,4 @@
1
- import React from "react";
2
1
  import "./LogoOverlay.scss";
2
+ import React from "react";
3
3
  export default function LogoOverlay(): React.JSX.Element;
4
4
  //# sourceMappingURL=LogoOverlay.d.ts.map
@@ -1 +1 @@
1
- import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as _}from"mobx-react-lite";import O from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./AlertContainer";import"./LogoOverlay.scss";import{fpGeo as h}from"../data/fpGeo";import C from"../tools/base-runtime-url";import{buildExpofpUrl as R,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function D(){const b=P(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.maplibreStore.showMaplibre&&(e=a(.5)),s("bottom",n,20,"4.5rem")}},get warningStyle(){const i=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*i;return s("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*i;return f.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,v=c&&!h&&O.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,x=l("efp-qr",{"is-right":g||o.rtl});return _(()=>m("div",{children:[t("a",{href:R(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${C}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),v&&t(d,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&t(M,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
1
+ import{jsx as t,jsxs as m}from"react/jsx-runtime";import"./LogoOverlay.scss";import l from"classnames";import S from"color";import{useLocalStore as M,useObserver as P}from"mobx-react-lite";import{Suspense as _}from"react";import O from"../data";import{fpGeo as f}from"../data/fpGeo";import c,{uiState as o}from"../store";import C from"../tools/base-runtime-url";import{buildExpofpUrl as R,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import d from"../utils/is-from-designer";import h from"./AlertContainer";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||f?.properties?.style?.includes("dark");export default function D(){const b=M(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return c.maplibreStore.showMaplibre&&(e=a(.5)),s("bottom",n,20,"4.5rem")}},get warningStyle(){const i=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*i;return s("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*i;return c.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=d&&u>=10,v=d&&!f&&O.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,x=l("efp-qr",{"is-right":g||o.rtl});return P(()=>m("div",{children:[t("a",{href:R(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${C}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(h,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),v&&t(h,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&t(_,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
@@ -1 +1 @@
1
- import{jsx as k,jsxs as N,Fragment as ee}from"react/jsx-runtime";import{useObserver as oe}from"mobx-react-lite";import te from"classnames";import{useEffect as re,useMemo as ne,useRef as S,useState as ie}from"react";import{observable as ae,reaction as se}from"mobx";import a,{boothStore as le,layersStore as h,uiState as o}from"../../store";import me from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as R}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import L from"../../core/Rect";import{Exhibitor as O}from"../../store/ExhibitorStore";import{BoothBase as X}from"../../store/BoothStore";import{CurrentPosition as ce,Route as fe}from"../../store/RouteStore";import{Category as de}from"../../store/CategoryStore";import B from"../../tools/logger";import{svgArea as A}from"../../data/svg";import{configMarkers as ue,getMarkerFromClick as pe}from"./drawing/config/config-markers";import he from"color";import{createWayfinding as ve}from"../../wayfinding/createWayfinding";import{createSceneDef as ye}from"../../renderer";import{convertGpsToLocal as be}from"../../utils/gps";import{fpGeo as ge}from"../../data/fpGeo";import y from"../../utils/is-debug";import we from"../../ui/Draggable";import{useBuildRoute as Se}from"./traffic/useBuildRoute";import{useManageTraffic as Re}from"./traffic/useManageTraffic";import{DEBUG_STORAGE_KEY as j}from"../../constants";import{isPathwayLayer as U}from"../../utils/is-pathway-layer";import Z from"./booth-by-xy";import{mapRollSetting as $}from"../../renderer";import{loadLayersImages as xe}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as Ce}from"../../utils/areLayersEnabled";import{pickDefaultScene as K,pickDefaultScenePoint as Te}from"../../renderer/engine-core/defs";import{applyVenueDimValue as ke,createDimmingAnimator as Le}from"../../utils/dimming";const V=Number.isFinite(p.maxZoom);export default function Be(){let M={};const W="#ebebeb",v=S(),b=ne(()=>ae({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,C=S(Le(e=>ke(l,e)));let s;const g=S(null),E=S(null);let P=null,I=null,_=!1;function z(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[H,q]=ie(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(j)!=="false":!0);d(()=>a.routeStore.currentRouteLayer,()=>{if(!l.scene||b.prevLevel===a.routeStore.currentRouteLayer)return;const e=l.scene.rootLayer.children.filter(t=>a.layerStore.floors.some(n=>t.name.includes(n.name)));let r=a.routeStore.currentRouteLayer.name;if(!e.find(t=>t.name===r))return;const i=e?.map(t=>(t.name===r&&(t.hidden=!1),t.name===b.prevLevel?.name&&(t.hidden=!0),t));b.prevLevel=a.routeStore.currentRouteLayer,l.update(...i)}),d(()=>o.centerMap,()=>{!o.centerMap||a.maplibreStore.showMaplibre||(s.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),re(()=>{if(!v.current)return;async function e(){z(),h.layersLoaded=!1;let r={};try{if(y){const t=document.createElement("canvas").getContext("webgl2"),n=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=E.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(n?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),r={stats:f,memoryInfoPanel:u}}}catch(i){console.error(i)}s=l.create({canvas:v.current,ui:r}),g.current=s,se(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=x.fromCoreRect(i)),t.dispose()},{fireImmediately:!0}),me(l).then(i=>{if(_||g.current!==s)return;y&&console.log("Renderer settings",s);const t=he(p.backgroundColor==="none"?W:p.backgroundColor).string();M=ye(i,x.fromCoreRect(A),t),l.start(M),C.current.setTarget(o.dimmed,{immediate:!0}),$(s,a.fp.enableRotation?1:0),V&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=ve(l),I=ue(l),xe(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:n}=K(i),c=Z(t.x,t.y),m=D(n[0]);o.hoveredBooth=c||m}),s.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),s.events.addEventListener("pointer:click",({data:i})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&a.showMap();const{point:t,defs:n}=K(i),{x:c,y:m}=t;if(o.onGetCoordsClick){const w=a.layerStore.layers.find(T=>T.visible&&(T.mode===R.TurnedOn||T.mode===R.TurnedOff));o.onGetCoordsClick({x:c,y:m,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=pe(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=Z(t.x,t.y),u=D(n[0]);y&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",t),a.clickBooth(f||u)}),s.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),a.fp.getCenterCoordinates=Q,()=>J()},[]);function J(){_=!0,C.current.stop(),P?.(),I?.(),z(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function Q(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const r=Te(s.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),t=a.layerStore.visible.find(n=>n.mode===R.TurnedOff||n.mode===R.TurnedOn)?.name||null;return{...r,z:t}}function D(e){return!e||!e.shape?null:le.booths.find(r=>r.shapes?.find(i=>i.shape==e.shape))}d(()=>o.zoomBy,()=>{if(!o.zoomBy||a.maplibreStore.showMaplibre)return;const e=o.zoomBy;s.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{C.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}var e=o.details;if(p.EXPO==="wineparis"&&(e instanceof O&&(e=e.booths[0]),!e))return;let r=null,i=[];e instanceof O?(r="exhibitor",i=e.booths.map(n=>n.name).sort((n,c)=>n==a.routeStore.tempToBooth?.name?-1:c==a.routeStore.tempToBooth?.name?1:0)):e instanceof X?(r="booth",i=[e.name]):e instanceof fe?(r="route",i=[e.from?.name,e.to?.name].filter(n=>!!n)):e instanceof de&&(r="category",i=e.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var t={type:r,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:i};o.onDetails({...t,...r==="route"?{routeInfo:a.routeStore.routeInfo}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{l.renderer&&(l.renderer.visibleRect=x.fromCoreRect(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.h!==1/0&&o.moveToRect.w!==1/0&&o.moveToRect.h>0&&o.moveToRect.w>0&&G(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(s.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(B.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||a.maplibreStore.showMaplibre)return;B.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(r=>r.rect).map(r=>r.rect);e.length!==0&&(G(L.fromMultiple(e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:r,centerxy:i,bearing:t,roll:n,z:c})=>{if(!(a.maplibreStore.showMaplibre||!l.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&l.renderer.controls.configure({zoomTime:e/1e3}),a.fp.enableRotation&&$(s,n);let m;if(r){const f=r.split(",").map(Number),u=new ce(void 0,void 0,void 0,void 0,f[0],f[1]);m=be(u,ge.properties.config)}else if(i){const f=i.split(",").map(Number);m={x:f[0],y:f[1]}}c&&a.fp.activateFloor({name:c}),(m?.x||m?.y)&&l.renderer.controls.panTo(m.x,m.y),Number.isFinite(t)&&l.renderer.controls.rollTo(t)}catch(m){B.error("Error in mapSettings reaction",m)}}),Se({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const F="routes-api.expofp.com";Re({permission:h.layersLoaded,rendererService:l,dataJsonUrl:`https://${F}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${F}/locations?expo=${p.EXPO}`}),d(()=>a.layerStore.visible,e=>{if(!l.scene)return;const r=e.filter(n=>U(n.name)),t=l.scene.rootLayer.children.filter(n=>U(n.name));t.forEach(n=>{n.hidden=!r.find(c=>c.name===n.name)}),l.update(...t)});function G(e){let r=e;const i=Y(e,A),t=o.selectedRoute?.from,n=t instanceof X?t.layer?.name:t?.layer;o.kioskData&&(!Ce()||n===a.routeStore.currentRouteLayer?.name)&&(r=L.fromMultiple([e,L.fromXywh(o.kioskData.x,o.kioskData.y,1,1)]));const c=x.fromCoreRect(r),m={paddingPercent:i,maxZoom:V?void 0:10};if(o.shouldShiftMapRect){s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x+o.overlayWidthPx},s.visibleRect=s.visibleRect;try{s.controls.zoomTo(c,m)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(c,m)}function Y(e,r){return!e||!r?0:(e.w*e.h/(r.h*r.w)>.1?15:25)/100}return oe(()=>N(ee,{children:[k("canvas",{style:{width:"100%",height:"100%"},ref:v,className:te({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&H&&N(we,{className:"debug-fps",children:[k("div",{ref:E}),k("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(j,"false"),q(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
1
+ import{jsx as k,jsxs as N,Fragment as ee}from"react/jsx-runtime";import oe from"classnames";import te from"color";import{observable as re,reaction as ne}from"mobx";import{useObserver as ie}from"mobx-react-lite";import{useEffect as ae,useMemo as se,useRef as S,useState as le}from"react";import{DEBUG_STORAGE_KEY as O}from"../../constants";import L from"../../core/Rect";import{fpGeo as me}from"../../data/fpGeo";import{svgArea as X}from"../../data/svg";import{createSceneDef as ce}from"../../renderer";import{mapRollSetting as A}from"../../renderer";import{pickDefaultScene as j,pickDefaultScenePoint as fe}from"../../renderer/engine-core/defs";import a,{boothStore as de,layersStore as h,uiState as o}from"../../store";import{BoothBase as U}from"../../store/BoothStore";import{Category as ue}from"../../store/CategoryStore";import{Exhibitor as Z}from"../../store/ExhibitorStore";import{LayerMode as R}from"../../store/LayerStore";import{CurrentPosition as pe,Route as he}from"../../store/RouteStore";import B from"../../tools/logger";import p from"../../tools/settings";import ve from"../../ui/Draggable";import{areLayersEnabled as ye}from"../../utils/areLayersEnabled";import{applyVenueDimValue as be,createDimmingAnimator as ge}from"../../utils/dimming";import{convertGpsToLocal as we}from"../../utils/gps";import y from"../../utils/is-debug";import{isPathwayLayer as $}from"../../utils/is-pathway-layer";import{useReaction as d}from"../../utils/mobx";import{createWayfinding as Se}from"../../wayfinding/createWayfinding";import K from"./booth-by-xy";import Re from"./drawing/config/config-all";import{configMarkers as xe,getMarkerFromClick as Ce}from"./drawing/config/config-markers";import{loadLayersImages as Te}from"./drawing/config/loadBoothsImages";import{Rect as x}from"./drawing/config/Rect";import{useBuildRoute as ke}from"./traffic/useBuildRoute";import{useManageTraffic as Le}from"./traffic/useManageTraffic";const V=Number.isFinite(p.maxZoom);export default function Be(){let M={};const W="#ebebeb",v=S(),b=se(()=>re({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,C=S(ge(e=>be(l,e)));let s;const g=S(null),E=S(null);let P=null,I=null,_=!1;function z(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[H,q]=le(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(O)!=="false":!0);d(()=>a.routeStore.currentRouteLayer,()=>{if(!l.scene||b.prevLevel===a.routeStore.currentRouteLayer)return;const e=l.scene.rootLayer.children.filter(t=>a.layerStore.floors.some(n=>t.name.includes(n.name)));let r=a.routeStore.currentRouteLayer.name;if(!e.find(t=>t.name===r))return;const i=e?.map(t=>(t.name===r&&(t.hidden=!1),t.name===b.prevLevel?.name&&(t.hidden=!0),t));b.prevLevel=a.routeStore.currentRouteLayer,l.update(...i)}),d(()=>o.centerMap,()=>{!o.centerMap||a.maplibreStore.showMaplibre||(s.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),ae(()=>{if(!v.current)return;async function e(){z(),h.layersLoaded=!1;let r={};try{if(y){const t=document.createElement("canvas").getContext("webgl2"),n=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=E.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(n?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),r={stats:f,memoryInfoPanel:u}}}catch(i){console.error(i)}s=l.create({canvas:v.current,ui:r}),g.current=s,ne(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=x.fromCoreRect(i)),t.dispose()},{fireImmediately:!0}),Re(l).then(i=>{if(_||g.current!==s)return;y&&console.log("Renderer settings",s);const t=te(p.backgroundColor==="none"?W:p.backgroundColor).string();M=ce(i,x.fromCoreRect(X),t),l.start(M),C.current.setTarget(o.dimmed,{immediate:!0}),A(s,a.fp.enableRotation?1:0),V&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=Se(l),I=xe(l),Te(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:n}=j(i),c=K(t.x,t.y),m=D(n[0]);o.hoveredBooth=c||m}),s.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),s.events.addEventListener("pointer:click",({data:i})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&a.showMap();const{point:t,defs:n}=j(i),{x:c,y:m}=t;if(o.onGetCoordsClick){const w=a.layerStore.layers.find(T=>T.visible&&(T.mode===R.TurnedOn||T.mode===R.TurnedOff));o.onGetCoordsClick({x:c,y:m,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=Ce(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=K(t.x,t.y),u=D(n[0]);y&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",t),a.clickBooth(f||u)}),s.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),a.fp.getCenterCoordinates=Q,()=>J()},[]);function J(){_=!0,C.current.stop(),P?.(),I?.(),z(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function Q(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const r=fe(s.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),t=a.layerStore.visible.find(n=>n.mode===R.TurnedOff||n.mode===R.TurnedOn)?.name||null;return{...r,z:t}}function D(e){return!e||!e.shape?null:de.booths.find(r=>r.shapes?.find(i=>i.shape==e.shape))}d(()=>o.zoomBy,()=>{if(!o.zoomBy||a.maplibreStore.showMaplibre)return;const e=o.zoomBy;s.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{C.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}var e=o.details;if(p.EXPO==="wineparis"&&(e instanceof Z&&(e=e.booths[0]),!e))return;let r=null,i=[];e instanceof Z?(r="exhibitor",i=e.booths.map(n=>n.name).sort((n,c)=>n==a.routeStore.tempToBooth?.name?-1:c==a.routeStore.tempToBooth?.name?1:0)):e instanceof U?(r="booth",i=[e.name]):e instanceof he?(r="route",i=[e.from?.name,e.to?.name].filter(n=>!!n)):e instanceof ue&&(r="category",i=e.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var t={type:r,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:i};o.onDetails({...t,...r==="route"?{routeInfo:a.routeStore.routeInfo}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{l.renderer&&(l.renderer.visibleRect=x.fromCoreRect(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.h!==1/0&&o.moveToRect.w!==1/0&&o.moveToRect.h>0&&o.moveToRect.w>0&&G(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(s.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(B.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||a.maplibreStore.showMaplibre)return;B.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(r=>r.rect).map(r=>r.rect);e.length!==0&&(G(L.fromMultiple(e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:r,centerxy:i,bearing:t,roll:n,z:c})=>{if(!(a.maplibreStore.showMaplibre||!l.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&l.renderer.controls.configure({zoomTime:e/1e3}),a.fp.enableRotation&&A(s,n);let m;if(r){const f=r.split(",").map(Number),u=new pe(void 0,void 0,void 0,void 0,f[0],f[1]);m=we(u,me.properties.config)}else if(i){const f=i.split(",").map(Number);m={x:f[0],y:f[1]}}c&&a.fp.activateFloor({name:c}),(m?.x||m?.y)&&l.renderer.controls.panTo(m.x,m.y),Number.isFinite(t)&&l.renderer.controls.rollTo(t)}catch(m){B.error("Error in mapSettings reaction",m)}}),ke({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const F="routes-api.expofp.com";Le({permission:h.layersLoaded,rendererService:l,dataJsonUrl:`https://${F}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${F}/locations?expo=${p.EXPO}`}),d(()=>a.layerStore.visible,e=>{if(!l.scene)return;const r=e.filter(n=>$(n.name)),t=l.scene.rootLayer.children.filter(n=>$(n.name));t.forEach(n=>{n.hidden=!r.find(c=>c.name===n.name)}),l.update(...t)});function G(e){let r=e;const i=Y(e,X),t=o.selectedRoute?.from,n=t instanceof U?t.layer?.name:t?.layer;o.kioskData&&(!ye()||n===a.routeStore.currentRouteLayer?.name)&&(r=L.fromMultiple([e,L.fromXywh(o.kioskData.x,o.kioskData.y,1,1)]));const c=x.fromCoreRect(r),m={paddingPercent:i,maxZoom:V?void 0:10};if(o.shouldShiftMapRect){s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x+o.overlayWidthPx},s.visibleRect=s.visibleRect;try{s.controls.zoomTo(c,m)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(c,m)}function Y(e,r){return!e||!r?0:(e.w*e.h/(r.h*r.w)>.1?15:25)/100}return ie(()=>N(ee,{children:[k("canvas",{style:{width:"100%",height:"100%"},ref:v,className:oe({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&H&&N(ve,{className:"debug-fps",children:[k("div",{ref:E}),k("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(O,"false"),q(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
@@ -1 +1 @@
1
- import L from"../../../../store";import p from"./config-load-layer";import{createLayerDef as r}from"../../../../renderer";import{WF_CURRENT_POSITION_LAYER_NAME as d,WF_LINES_ANIMATED_LAYER_NAME as N,WF_LINES_LAYER_NAME as R,WF_POINTS_LAYER_NAME as u,WF_TRAIL_LAYER_NAME as h}from"../../../../wayfinding/layers";import{MARKER_LAYER_NAME as M}from"./config-markers";import{createTrafficLayers as w}from"../../traffic/trafficLayers";import{configBoothsBadges as I}from"./config-booth-badge";import{isPathwayLayer as P}from"../../../../utils/is-pathway-layer";export default function T(f){let{layers:t,defaultLayer:n}=L.layerStore;if(n){const o=[].concat(t),e=t.find(i=>i===n),s=t.indexOf(e);o.splice(s,1),t=[e].concat(o)}const _=t.filter(o=>!o.rootParent).map(o=>p(o,f));return Promise.all(_).then(o=>{const e=r(u,[],{dim:!1,interactive:!0}),s=r(R,[],{dim:!1}),i=r(M,[]),y=r(h,[],{dim:!1}),A=r(N,[],{dim:!1}),E=r(d,[],{dim:!1}),m=[],c=[];for(const a of o.flat())P(a.name)?(a.dim=!1,c.push(a)):m.push(a);const l=I(f,"root",L.boothStore.booths);return[...m,...l?[l]:[],...c,...w(),i,y,s,A,e,E]})}
1
+ import{createLayerDef as r}from"../../../../renderer";import L from"../../../../store";import{isPathwayLayer as p}from"../../../../utils/is-pathway-layer";import{WF_CURRENT_POSITION_LAYER_NAME as d,WF_LINES_ANIMATED_LAYER_NAME as N,WF_LINES_LAYER_NAME as R,WF_POINTS_LAYER_NAME as u,WF_TRAIL_LAYER_NAME as h}from"../../../../wayfinding/layers";import{createTrafficLayers as M}from"../../traffic/trafficLayers";import{configBoothsBadges as w}from"./config-booth-badge";import I from"./config-load-layer";import{MARKER_LAYER_NAME as P}from"./config-markers";export default function T(f){let{layers:t,defaultLayer:n}=L.layerStore;if(n){const o=[].concat(t),e=t.find(i=>i===n),s=t.indexOf(e);o.splice(s,1),t=[e].concat(o)}const _=t.filter(o=>!o.rootParent).map(o=>I(o,f));return Promise.all(_).then(o=>{const e=r(u,[],{dim:!1,interactive:!0}),s=r(R,[],{dim:!1}),i=r(P,[]),y=r(h,[],{dim:!1}),A=r(N,[],{dim:!1}),E=r(d,[],{dim:!1}),m=[],c=[];for(const a of o.flat())p(a.name)?(a.dim=!1,c.push(a)):m.push(a);const l=w(f,"root",L.boothStore.booths);return[...m,...l?[l]:[],...c,...M(),i,y,s,A,e,E]})}
@@ -1,7 +1,7 @@
1
- import { Layer } from "../../../../store/LayerStore";
2
1
  import { LayerDef } from "@expofp/renderer";
3
- import { PathInfo } from "../../../../renderer/engine-core/types";
4
2
  import { ShapeBgDef } from "../../../../data/Data";
3
+ import { PathInfo } from "../../../../renderer/engine-core/types";
4
+ import { Layer } from "../../../../store/LayerStore";
5
5
  export declare const BG_LAYER_NAME = "bg";
6
6
  export declare const FG_LAYER_NAME = "fg";
7
7
  export default function configBg(layer: Layer): Promise<LayerDef>;
@@ -1 +1 @@
1
- import{select as d}from"d3-selection";import{getLayerSvg as m,gtePathByIndex as p}from"../../../../data/svg";import g from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{rectToShapeDef as i,meshToShapeDef as u}from"../../../../renderer";export const BG_LAYER_NAME="bg",FG_LAYER_NAME="fg";export default async function x(t){let o=[],n=[];const a=[],r=d(m(t)).select(`[data-layer="${t.name}"]`),c=r.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path").nodes(),f=r.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']").nodes(),l=g.layerStore.mode!==h.Default?t.rootParent?.name||t.name:"";for(const e of c){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?o.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&o.push(i(e))}for(const e of f){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?n.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&n.push(i(e))}return a.push({name:BG_LAYER_NAME,children:o.filter(e=>e)}),a.push({name:FG_LAYER_NAME,children:n.filter(e=>e)}),Promise.resolve({name:t.name,children:a.filter(e=>e.children.length)})}export function buildPathDef(t,o){if(t.index===-1||Number.isNaN(t.index))return;(!t.color||t.color==="none")&&(t.color="transparent");const n=parseInt(t.index.toString()),a=p(n,o),r=u(a,t.color);return r.unblinking=t.unblinking,r}
1
+ import{select as d}from"d3-selection";import{getLayerSvg as m,gtePathByIndex as p}from"../../../../data/svg";import{meshToShapeDef as g,rectToShapeDef as i}from"../../../../renderer";import h from"../../../../store";import{LayersMode as u}from"../../../../store/LayerStore";export const BG_LAYER_NAME="bg",FG_LAYER_NAME="fg";export default async function x(t){let o=[],n=[];const a=[],r=d(m(t)).select(`[data-layer="${t.name}"]`),c=r.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path").nodes(),f=r.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']").nodes(),l=h.layerStore.mode!==u.Default?t.rootParent?.name||t.name:"";for(const e of c){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?o.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&o.push(i(e))}for(const e of f){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?n.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&n.push(i(e))}return a.push({name:BG_LAYER_NAME,children:o.filter(e=>e)}),a.push({name:FG_LAYER_NAME,children:n.filter(e=>e)}),Promise.resolve({name:t.name,children:a.filter(e=>e.children.length)})}export function buildPathDef(t,o){if(t.index===-1||Number.isNaN(t.index))return;(!t.color||t.color==="none")&&(t.color="transparent");const n=parseInt(t.index.toString()),a=p(n,o),r=g(a,t.color);return r.unblinking=t.unblinking,r}
@@ -1,6 +1,6 @@
1
- import { Booth, RegularBooth } from "../../../../store/BoothStore";
2
1
  import { LayerDef, ShapeDef, TextDef } from "@expofp/renderer";
3
2
  import { RendererService } from "../../../../renderer";
3
+ import { Booth, RegularBooth } from "../../../../store/BoothStore";
4
4
  export declare function createBoothBadge(rendererService: RendererService, booth: RegularBooth): {
5
5
  bg: ShapeDef;
6
6
  text: TextDef;
@@ -1 +1 @@
1
- import{RegularBooth as Z}from"../../../../store/BoothStore";import{Rect as v}from"./Rect";import{getBadgeFontWeight as j,getFontUrlByWeight as q}from"./config-booth-labels";import J from"color";import X from"../../../../tools/settings";import{boothStore as K,uiState as Q}from"../../../../store";import{reaction as k}from"mobx";import{createShapeDef as V,createTextDef as tt,createTextDefLines as nt}from"../../../../renderer";import{getContrastTextColor as et}from"../../../../utils/getContrastTextColor";import{getFont as ot}from"./canvases";import{getTrianglesFromFpPaths as it}from"../../../../data/svg";import{pointInTriangle as rt}from"../../../../utils/geometry";import{SEPARATOR as M}from"../../../../constants";import st from"../../../../data";const ct=.5,ft=.3,L=15,at=24,N=30,lt=12,dt=12,z=.8,Y=document.createElement("canvas").getContext("2d");function ut(t){return t.length<=L?t:t.slice(0,L-1)+"\u2026"}function b(t){if(!t.paths?.length)return[];const n=t.layer?.name||"",e=[];for(const o of t.paths)for(const c of it(o.index,n))e.push(c);return e}function gt(t){const n=b(t);if(!n.length)return null;let e=1/0,o=1/0,c=-1/0,r=-1/0;for(const s of n)for(const i of s)i[0]<e&&(e=i[0]),i[1]<o&&(o=i[1]),i[0]>c&&(c=i[0]),i[1]>r&&(r=i[1]);return isFinite(e)?{x1:e,y1:o,w:c-e,h:r-o}:null}function _(t,n,e){for(const o of e)if(rt(t,n,o))return!0;return!1}function mt(t,n,e,o,c,r){if(!t.length||!_(n,e,t))return r;let s=0,i=r;const p=10;for(let g=0;g<p;g++){const u=(s+i)/2,m=o*u,l=c*u;_(n+m,e,t)&&_(n,e+l,t)&&_(n+m,e+l,t)?s=u:i=u}return s}function ht(t){return gt(t)??t.rect}function xt(t,n,e,o){const c=ht(t);if(n.length){const m=new Set;let l=null,h=1/0;for(const B of n)for(const x of B){const I=`${x[0]},${x[1]}`;if(m.has(I))continue;m.add(I);const T=x[0]+e,y=x[1]+e;if(_(T,y,n)){const E=T-c.x1+(y-c.y1);E<h&&(h=E,l={x:T,y})}}if(l)return l}const r=t.rect.x1+e,s=t.rect.y1+e;if(!o)return{x:r,y:s};const i=Math.cos(o),p=Math.sin(o),g=r-t.rect.cx,u=s-t.rect.cy;return{x:t.rect.cx+g*i-u*p,y:t.rect.cy+g*p+u*i}}function C(t){return t&&t!=="none"?t:void 0}function pt(t){const n=C(t.borderColor)||C(X.boothBorderColor)||X.colors.booths.default;return t.paths?.length>1&&C(t.paths[t.paths.length-1].color)||n}export function createBoothBadge(t,n){const e=ut(n.title||n.name),o=pt(n),c=et(J(o).hex()),r=window.devicePixelRatio||1,s=j(),i=ot(N,s);Y.font=i;const p=Y.measureText(e).width,g=Math.ceil(p+lt*2),u=N+dt*2,m=(n.borderWidth||K.borderWidth)/2,l=g*z,h=u*z,B=n.rotate?-n.rotate:0,x=n.rect.w,I=n.rect.h,T=Math.min(x>0?x*ct/l:1/0,I>0?I*ft/h:1/0),y=b(n),{x:E,y:G}=xt(n,y,m,B),P=mt(y,E,G,l,h,T),W=Math.cos(B),$=Math.sin(B),S=(f,A)=>{const D=f/2,R=A/2,O=E+D*W-R*$,U=G+D*$+R*W;return new v({x:O-D,y:U-R},{x:O+D,y:U+R},B)},w=f=>{const A=Math.min(f,P);return S(l*A,h*A)},F=q(s,t.fontUrls),d=V(S(1,1),o);d.hidden=!0,d.dim=n.skipDim?!1:void 0;const a=tt(nt([[e],[]],c,0,[F,F]),S(1,1),[0,0],{horizontal:"center",vertical:"center"});a.hidden=!0,a.dim=n.skipDim?!1:void 0;const H=()=>!!(n.layer&&!n.layer.visible);return k(()=>n.skipDim,f=>{d.dim=f?!1:void 0,a.dim=f?!1:void 0,t.update(d,a)}),k(()=>n.layer?.visible??!0,f=>{d.hidden=!f,a.hidden=!f,t.update(d,a)}),t.onPtScale(`badge-bg-${n.id}`,f=>(d.shape=w(f),d.hidden=H(),d)),t.onPtScale(`badge-text-${n.id}`,f=>{const A=Math.min(f,P);return a.lines[0].fontSize=at/r*A,a.bounds=w(f),a.hidden=H(),a}),{bg:d,text:a}}export function configBoothsBadges(t,n,e){if(st.hideExhibitorBoothNumber)return null;const o=[],c=[];for(const r of e)if(r instanceof Z&&r.noLabels&&!Q.hideLogoInBooth&&r.exhibitors.some(s=>s.logoInBooth&&s.logo)){const{bg:s,text:i}=createBoothBadge(t,r);o.push(s),c.push(i)}return o.length?{name:`${n}${M}badges`,children:[{name:`${n}${M}badgeBgs`,children:o},{name:`${n}${M}badgeTexts`,children:c}]}:null}
1
+ import Z from"color";import{reaction as X}from"mobx";import{SEPARATOR as M}from"../../../../constants";import v from"../../../../data";import{getTrianglesFromFpPaths as j}from"../../../../data/svg";import{createShapeDef as q,createTextDef as J,createTextDefLines as K}from"../../../../renderer";import{boothStore as Q,uiState as V}from"../../../../store";import{RegularBooth as tt}from"../../../../store/BoothStore";import k from"../../../../tools/settings";import{pointInTriangle as nt}from"../../../../utils/geometry";import{getContrastTextColor as et}from"../../../../utils/getContrastTextColor";import{getFont as ot}from"./canvases";import{getBadgeFontWeight as it,getFontUrlByWeight as rt}from"./config-booth-labels";import{Rect as st}from"./Rect";const ct=.5,ft=.3,L=15,at=24,N=30,lt=12,dt=12,z=.8,Y=document.createElement("canvas").getContext("2d");function ut(t){return t.length<=L?t:t.slice(0,L-1)+"\u2026"}function b(t){if(!t.paths?.length)return[];const n=t.layer?.name||"",e=[];for(const o of t.paths)for(const c of j(o.index,n))e.push(c);return e}function gt(t){const n=b(t);if(!n.length)return null;let e=1/0,o=1/0,c=-1/0,r=-1/0;for(const s of n)for(const i of s)i[0]<e&&(e=i[0]),i[1]<o&&(o=i[1]),i[0]>c&&(c=i[0]),i[1]>r&&(r=i[1]);return isFinite(e)?{x1:e,y1:o,w:c-e,h:r-o}:null}function _(t,n,e){for(const o of e)if(nt(t,n,o))return!0;return!1}function mt(t,n,e,o,c,r){if(!t.length||!_(n,e,t))return r;let s=0,i=r;const p=10;for(let g=0;g<p;g++){const u=(s+i)/2,m=o*u,l=c*u;_(n+m,e,t)&&_(n,e+l,t)&&_(n+m,e+l,t)?s=u:i=u}return s}function ht(t){return gt(t)??t.rect}function xt(t,n,e,o){const c=ht(t);if(n.length){const m=new Set;let l=null,h=1/0;for(const B of n)for(const x of B){const I=`${x[0]},${x[1]}`;if(m.has(I))continue;m.add(I);const T=x[0]+e,y=x[1]+e;if(_(T,y,n)){const E=T-c.x1+(y-c.y1);E<h&&(h=E,l={x:T,y})}}if(l)return l}const r=t.rect.x1+e,s=t.rect.y1+e;if(!o)return{x:r,y:s};const i=Math.cos(o),p=Math.sin(o),g=r-t.rect.cx,u=s-t.rect.cy;return{x:t.rect.cx+g*i-u*p,y:t.rect.cy+g*p+u*i}}function C(t){return t&&t!=="none"?t:void 0}function pt(t){const n=C(t.borderColor)||C(k.boothBorderColor)||k.colors.booths.default;return t.paths?.length>1&&C(t.paths[t.paths.length-1].color)||n}export function createBoothBadge(t,n){const e=ut(n.title||n.name),o=pt(n),c=et(Z(o).hex()),r=window.devicePixelRatio||1,s=it(),i=ot(N,s);Y.font=i;const p=Y.measureText(e).width,g=Math.ceil(p+lt*2),u=N+dt*2,m=(n.borderWidth||Q.borderWidth)/2,l=g*z,h=u*z,B=n.rotate?-n.rotate:0,x=n.rect.w,I=n.rect.h,T=Math.min(x>0?x*ct/l:1/0,I>0?I*ft/h:1/0),y=b(n),{x:E,y:G}=xt(n,y,m,B),P=mt(y,E,G,l,h,T),W=Math.cos(B),$=Math.sin(B),S=(f,A)=>{const D=f/2,R=A/2,O=E+D*W-R*$,U=G+D*$+R*W;return new st({x:O-D,y:U-R},{x:O+D,y:U+R},B)},w=f=>{const A=Math.min(f,P);return S(l*A,h*A)},F=rt(s,t.fontUrls),d=q(S(1,1),o);d.hidden=!0,d.dim=n.skipDim?!1:void 0;const a=J(K([[e],[]],c,0,[F,F]),S(1,1),[0,0],{horizontal:"center",vertical:"center"});a.hidden=!0,a.dim=n.skipDim?!1:void 0;const H=()=>!!(n.layer&&!n.layer.visible);return X(()=>n.skipDim,f=>{d.dim=f?!1:void 0,a.dim=f?!1:void 0,t.update(d,a)}),X(()=>n.layer?.visible??!0,f=>{d.hidden=!f,a.hidden=!f,t.update(d,a)}),t.onPtScale(`badge-bg-${n.id}`,f=>(d.shape=w(f),d.hidden=H(),d)),t.onPtScale(`badge-text-${n.id}`,f=>{const A=Math.min(f,P);return a.lines[0].fontSize=at/r*A,a.bounds=w(f),a.hidden=H(),a}),{bg:d,text:a}}export function configBoothsBadges(t,n,e){if(v.hideExhibitorBoothNumber)return null;const o=[],c=[];for(const r of e)if(r instanceof tt&&r.noLabels&&!V.hideLogoInBooth&&r.exhibitors.some(s=>s.logoInBooth&&s.logo)){const{bg:s,text:i}=createBoothBadge(t,r);o.push(s),c.push(i)}return o.length?{name:`${n}${M}badges`,children:[{name:`${n}${M}badgeBgs`,children:o},{name:`${n}${M}badgeTexts`,children:c}]}:null}
@@ -1,10 +1,10 @@
1
- import Color from "color";
2
- import { Booth } from "../../../../store/BoothStore";
3
1
  import { ColorInput, ShapeDef } from "@expofp/renderer";
4
- import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
5
- import { RendererService } from "../../../../renderer";
2
+ import Color from "color";
6
3
  import { ShapeBgDef } from "../../../../data/Data";
4
+ import { RendererService } from "../../../../renderer";
7
5
  import { PathInfo } from "../../../../renderer/engine-core/types";
6
+ import { Booth } from "../../../../store/BoothStore";
7
+ import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
8
8
  export default function configBoothBg(rendererService: RendererService, booth: Booth): BoothBgDrawer;
9
9
  export declare function pathToShapeDef(paths: PathInfo[], layer: string): ShapeDef[];
10
10
  declare class BoothBgDrawer extends BoothDrawerBaseWithoutPainter {
@@ -1 +1 @@
1
- import{__esDecorate as g,__runInitializers as k}from"tslib";import a from"color";import v from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import p,{boothStore as _,layersStore as S,uiState as f}from"../../../../store";import{RegularBooth as D,SpecialBooth as I}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as B}from"../../../RebookingRadioGroup";import{Rect as w}from"./Rect";import{BoothDrawerBaseWithoutPainter as P}from"./BoothDrawerBase";import{LayersMode as x}from"../../../../store/LayerStore";import{createShapeDef as L}from"../../../../renderer";import{buildPathDef as F}from"./config-bg";export default function R(s,i){return new W(s,i)}function A(s){if(s.length===0)return null;const i=s[0];return s.every(h=>h===i)?i:null}export function pathToShapeDef(s,i){const c=[];for(const h of s){const d=F({index:h.index,color:h.color,unblinking:h.unblinking},i);d&&c.push(d)}return c}let W=(()=>{let s=P,i=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b({keepAlive:!0})],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,i),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,i),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=k(this,i);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==x.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?a(r.color).grayscale().rgb().string():this.getBoothColor().string();return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?_.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string();e.shapes=[L(w.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[S.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(S.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string()}this.rendererService.update(o)}}getBoothPathColor(o){const e=this.booth;let t=a(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return a(m==="none"?r:m)}const l=a(r).hsl(),y=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(y)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof I)e=o.color||n.colors.booths.empty;else if(o instanceof D){if(u.isRebooking){if(!o.exhibitors?.length)return B[0].color.primary;const r=A((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}try{e==="none"&&(e=n.colors.booths.default),a(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(a(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return v([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=a(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),a(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=a(e==="none"?"#f33":e)}catch{t=a(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
1
+ import{__esDecorate as g,__runInitializers as k}from"tslib";import a from"color";import v from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import{createShapeDef as _}from"../../../../renderer";import p,{boothStore as D,layersStore as S,uiState as f}from"../../../../store";import{RegularBooth as I,SpecialBooth as w}from"../../../../store/BoothStore";import{LayersMode as P}from"../../../../store/LayerStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as B}from"../../../RebookingRadioGroup";import{BoothDrawerBaseWithoutPainter as x}from"./BoothDrawerBase";import{buildPathDef as L}from"./config-bg";import{Rect as F}from"./Rect";export default function R(s,i){return new W(s,i)}function A(s){if(s.length===0)return null;const i=s[0];return s.every(h=>h===i)?i:null}export function pathToShapeDef(s,i){const c=[];for(const h of s){const d=L({index:h.index,color:h.color,unblinking:h.unblinking},i);d&&c.push(d)}return c}let W=(()=>{let s=x,i=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b({keepAlive:!0})],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,i),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,i),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=k(this,i);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==P.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?a(r.color).grayscale().rgb().string():this.getBoothColor().string();return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?D.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string();e.shapes=[_(F.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[S.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(S.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string()}this.rendererService.update(o)}}getBoothPathColor(o){const e=this.booth;let t=a(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return a(m==="none"?r:m)}const l=a(r).hsl(),y=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(y)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof w)e=o.color||n.colors.booths.empty;else if(o instanceof I){if(u.isRebooking){if(!o.exhibitors?.length)return B[0].color.primary;const r=A((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}try{e==="none"&&(e=n.colors.booths.default),a(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(a(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return v([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=a(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),a(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=a(e==="none"?"#f33":e)}catch{t=a(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
@@ -1,8 +1,8 @@
1
+ import { ImageDef } from "@expofp/renderer";
2
+ import { RendererService } from "../../../../renderer";
1
3
  import { Booth } from "../../../../store/BoothStore";
2
4
  import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
3
- import { ImageDef } from "@expofp/renderer";
4
5
  import { Rect } from "./Rect";
5
- import { RendererService } from "../../../../renderer";
6
6
  export default function configBoothBookmarkImage(rendererService: RendererService, booth: Booth): BoothBookmarkDrawer | undefined;
7
7
  declare class BoothBookmarkDrawer extends BoothDrawerBaseWithoutPainter {
8
8
  protected rendererService: RendererService;
@@ -1 +1 @@
1
- import{layersStore as o,uiState as a}from"../../../../store";import{BoothDrawerBaseWithoutPainter as m}from"./BoothDrawerBase";import{Rect as s}from"./Rect";import{reaction as h}from"mobx";import{createImageDef as k,createBookmarkCanvas as c,getClampedBoundsCanvas as l,getRotation as p}from"../../../../renderer";import{getRollValue as u}from"../../../../renderer";import{updateRectRotation as f}from"../../../../renderer";export default function b(t,e){if(!a.kiosk)return new S(t,e)}class S extends m{rendererService;shape;bookmarkId;canvas;rect;padding;constructor(e,r){super(r),this.rendererService=e,this.padding=this.booth.borderWidth/2,this.rect=s.fromCoreRect(this.booth.rect,this.booth.rotate),this.canvas=c(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=k(this.canvas,s.fromCoreRect(this.booth.rect,this.booth.rotate),{hidden:!r.bookmarked}),h(()=>[r.bookmarked,o.layersLoaded,this.booth.skipDim],()=>this.update(r.bookmarked),{fireImmediately:r.bookmarked}),h(()=>a.mapSettings,({roll:d})=>{u(d)&&this.rendererService.onRoll(`bookmark-roll-${this.bookmarkId}`,n=>{const i=p(n,this.rect.rotation);return i!==void 0&&(this.rect=f(this.rect,i),this.handleBookmarkScale()),this.shape})})}getShape=()=>this.shape;update(e){o.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.handleBookmarkScale(),this.shape.hidden?(this.rendererService.ptScaleRegistry.unregisterByName(this.bookmarkId),this.rendererService.rollRegistry.unregisterByName(`bookmark-roll-${this.bookmarkId}`)):this.rendererService.onPtScale(this.bookmarkId,this.handleBookmarkScale.bind(this)),this.rendererService.update(this.shape))}handleBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=l(this.rect,this.canvas,this.padding,e||this.rendererService.scale),this.shape}}
1
+ import{reaction as o}from"mobx";import{createBookmarkCanvas as m,createImageDef as k,getClampedBoundsCanvas as c,getRotation as l}from"../../../../renderer";import{getRollValue as p}from"../../../../renderer";import{updateRectRotation as u}from"../../../../renderer";import{layersStore as a,uiState as s}from"../../../../store";import{BoothDrawerBaseWithoutPainter as f}from"./BoothDrawerBase";import{Rect as h}from"./Rect";export default function b(t,e){if(!s.kiosk)return new S(t,e)}class S extends f{rendererService;shape;bookmarkId;canvas;rect;padding;constructor(e,r){super(r),this.rendererService=e,this.padding=this.booth.borderWidth/2,this.rect=h.fromCoreRect(this.booth.rect,this.booth.rotate),this.canvas=m(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=k(this.canvas,h.fromCoreRect(this.booth.rect,this.booth.rotate),{hidden:!r.bookmarked}),o(()=>[r.bookmarked,a.layersLoaded,this.booth.skipDim],()=>this.update(r.bookmarked),{fireImmediately:r.bookmarked}),o(()=>s.mapSettings,({roll:d})=>{p(d)&&this.rendererService.onRoll(`bookmark-roll-${this.bookmarkId}`,n=>{const i=l(n,this.rect.rotation);return i!==void 0&&(this.rect=u(this.rect,i),this.handleBookmarkScale()),this.shape})})}getShape=()=>this.shape;update(e){a.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.handleBookmarkScale(),this.shape.hidden?(this.rendererService.ptScaleRegistry.unregisterByName(this.bookmarkId),this.rendererService.rollRegistry.unregisterByName(`bookmark-roll-${this.bookmarkId}`)):this.rendererService.onPtScale(this.bookmarkId,this.handleBookmarkScale.bind(this)),this.rendererService.update(this.shape))}handleBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=c(this.rect,this.canvas,this.padding,e||this.rendererService.scale),this.shape}}
@@ -1,7 +1,7 @@
1
- import { Booth } from "../../../../store/BoothStore";
2
- import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
3
1
  import { ShapeDef } from "@expofp/renderer";
4
2
  import { RendererService } from "../../../../renderer";
3
+ import { Booth } from "../../../../store/BoothStore";
4
+ import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
5
5
  export default function configBoothBorder(rendererService: RendererService, booth: Booth): BoothBorderDrawer | undefined;
6
6
  declare class BoothBorderDrawer extends BoothDrawerBaseWithoutPainter {
7
7
  protected readonly shape: ShapeDef;
@@ -1 +1 @@
1
- import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import h from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as a}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{createShapeDef as C}from"../../../../renderer";export default function D(r,e){if(h.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!c.borderWidth||e.paths&&!e.pathsWithRect))return new b(r,e)}function S(r){const e=[{x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:r.x3,y:r.y3},{x:r.x4,y:r.y4}],s=[[0,1,2],[2,3,0]];return new a(e,s)}class b extends w{shape;constructor(e,s){super(s);const y=g(s.selected?h.colors.booths.selectedBorder:s.borderColor),o=this.booth.rect,t=s.borderWidth||c.borderWidth,n=[],i=(p,f,l,x)=>{const u=S(P.fromRect(W.fromCxcywh(p,f,l,x)).rotate(s.rotate,o.cx,o.cy));n.push(u)};i(o.cx,o.cy-o.h/2,o.w+t,t),i(o.cx,o.cy+o.h/2,o.w+t,t),i(o.cx-o.w/2,o.cy,t,o.h+t),i(o.cx+o.w/2,o.cy,t,o.h+t);const m=a.merge(...n);this.shape=C(m,y.string()),B(()=>[this.booth.skipDim,d.layersLoaded],()=>{d.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,e.update(this.shape))})}getShape(){return this.shape}}
1
+ import{Polygon as c}from"@expofp/renderer";import g from"color";import{reaction as w}from"mobx";import B from"../../../../core/Polygon";import P from"../../../../core/Rect";import{createShapeDef as W}from"../../../../renderer";import{boothStore as d,layersStore as h}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as C}from"./BoothDrawerBase";export default function D(r,e){if(a.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!d.borderWidth||e.paths&&!e.pathsWithRect))return new b(r,e)}function S(r){const e=[{x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:r.x3,y:r.y3},{x:r.x4,y:r.y4}],s=[[0,1,2],[2,3,0]];return new c(e,s)}class b extends C{shape;constructor(e,s){super(s);const y=g(s.selected?a.colors.booths.selectedBorder:s.borderColor),o=this.booth.rect,t=s.borderWidth||d.borderWidth,n=[],i=(p,f,l,x)=>{const u=S(B.fromRect(P.fromCxcywh(p,f,l,x)).rotate(s.rotate,o.cx,o.cy));n.push(u)};i(o.cx,o.cy-o.h/2,o.w+t,t),i(o.cx,o.cy+o.h/2,o.w+t,t),i(o.cx-o.w/2,o.cy,t,o.h+t),i(o.cx+o.w/2,o.cy,t,o.h+t);const m=c.merge(...n);this.shape=W(m,y.string()),w(()=>[this.booth.skipDim,h.layersLoaded],()=>{h.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,e.update(this.shape))})}getShape(){return this.shape}}