@expofp/floorplan 3.2.6 → 3.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/browser/{CookieConsent-AXeH9_mR.js → CookieConsent-B1LE7YfT.js} +2990 -2572
  2. package/dist/browser/{Debug-D5ilpjt9.js → Debug-DhDzWQYS.js} +7 -7
  3. package/dist/browser/{Demo-D2ZQ82R-.js → Demo-D_175gLz.js} +11 -11
  4. package/dist/browser/{Free-Cmu2GELK.js → Free-eF7PbjEi.js} +13 -13
  5. package/dist/browser/{Gallery-CHhf9uSJ.js → Gallery-BA-pvWo8.js} +9 -9
  6. package/dist/browser/{GpsLoader-D1p1K7tv.js → GpsLoader-CfS8cpM_.js} +35 -35
  7. package/dist/browser/{KioskStore-B5seJF_w.js → KioskStore-D6ga9Qev.js} +17 -17
  8. package/dist/browser/{Mapbox-vm-JvDPW.js → Mapbox-B2UgukAw.js} +41 -41
  9. package/dist/browser/{SetKioskMode-CsvIhnEp.js → SetKioskMode-DN9dYtQq.js} +18 -18
  10. package/dist/browser/ShowKiosk-NOvinyaO.js +26 -0
  11. package/dist/browser/{ThreeComponent-l50EC7kp.js → ThreeComponent-Dd6C-3ZE.js} +195 -195
  12. package/dist/browser/{TouchHand-CzIhbCk_.js → TouchHand-D4zCIp9f.js} +4 -4
  13. package/dist/browser/{ViewerMenuPanel-DN5BiNZZ.js → ViewerMenuPanel-3gfsNYAC.js} +17 -17
  14. package/dist/browser/{add-debug-secret-listener-BP0ji46o.js → add-debug-secret-listener-PCn2L2xn.js} +1 -1
  15. package/dist/browser/{boolean-editor-BIXc9xad.js → boolean-editor-C62I7paI.js} +10 -10
  16. package/dist/browser/bootIntercom-CJp5myUd.js +37 -0
  17. package/dist/browser/{box-Cj2OPB5o.js → box-BllGyNzW.js} +5 -5
  18. package/dist/browser/{browser-iEBlxETL.js → browser-hErw7TCJ.js} +2 -2
  19. package/dist/browser/bundle.json +53 -53
  20. package/dist/browser/{classnames-BdEjlCJw.js → classnames-DZ15rBvY.js} +2 -2
  21. package/dist/browser/{client-AFMbhyej.js → client-vSscuHGN.js} +4 -4
  22. package/dist/browser/{data-BNcMQJM9.js → data-Pg90oQgy.js} +49 -49
  23. package/dist/browser/{debug-overlay-BvzIl4S5.js → debug-overlay-Cz0LzO7B.js} +11 -11
  24. package/dist/browser/{debug-ui-Cjk1VEBj.js → debug-ui-HOJ52C7W.js} +6 -6
  25. package/dist/browser/{dist-CpONuUgR.js → dist-B-j5Mwk6.js} +5 -5
  26. package/dist/browser/{dist-CCy_DoUq.js → dist-D1FyJZyA.js} +6 -6
  27. package/dist/browser/{dist-B03hOAXP.js → dist-Di6V6Vgc.js} +3 -3
  28. package/dist/browser/{efp-debug-init-DjqnYMK4.js → efp-debug-init-GJ1wnZRj.js} +2 -2
  29. package/dist/browser/{enum-editor-DNavJMSd.js → enum-editor-DDYy1Hf6.js} +11 -11
  30. package/dist/browser/{exports-BaXbuICo.js → exports-D2FWPMfV.js} +1 -1
  31. package/dist/browser/{favicon-CPIIkXVW.js → favicon-CLnUT7_M.js} +1 -1
  32. package/dist/browser/{fetch-retry.umd-DuhpKOAv.js → fetch-retry.umd-CsTB0zFM.js} +2 -2
  33. package/dist/browser/{flex-BEEq9bN8.js → flex-fdrXlk1E.js} +6 -6
  34. package/dist/browser/{flex.props-DxAZIGSj.js → flex.props-CKl-laU4.js} +2 -2
  35. package/dist/browser/{floorplan.loader-KZ3u0Juq.js → floorplan.loader-B9u5roId.js} +9 -9
  36. package/dist/browser/{floorplan.ready-DMR98iUb.js → floorplan.ready-DhqJ6xoZ.js} +215 -254
  37. package/dist/browser/{fuse-CjSkZXtV.js → fuse-BiPQjoVv.js} +2 -2
  38. package/dist/browser/index.js +12 -12
  39. package/dist/browser/{is-debug-DPDBcjeg.js → is-debug-DatwRSE7.js} +3 -3
  40. package/dist/browser/{jsx-runtime-DnQmxKxk.js → jsx-runtime-IE8skafD.js} +2 -2
  41. package/dist/browser/{lib-BXRYaEmQ.js → lib-DeP5xNNM.js} +4 -4
  42. package/dist/browser/{main-Bw8nBuIh.js → main-DHo0y8hQ.js} +1 -1
  43. package/dist/browser/{mobx-DsBbHmhw.js → mobx-CrV9DCMJ.js} +4 -4
  44. package/dist/browser/{particles.min-BmgWvtXZ.js → particles.min-CvpZUl3e.js} +2 -2
  45. package/dist/browser/{prop-types-CRT2Qy-L.js → prop-types-BHwYgrUd.js} +2 -2
  46. package/dist/browser/{react-BCrcyjAU.js → react-B3Fm-ZS0.js} +2 -2
  47. package/dist/browser/{react-dom-z6XbaPl9.js → react-dom-CySklTOi.js} +3 -3
  48. package/dist/browser/{reset-all-settings-BOrTf1Lp.js → reset-all-settings-Cl74zGyE.js} +7 -7
  49. package/dist/browser/{rolldown-runtime-BSQQuCTD.js → rolldown-runtime-BAuBEODA.js} +1 -1
  50. package/dist/browser/{settings-DTDJKJjP.js → settings-BIgQOlLC.js} +2 -2
  51. package/dist/browser/{settings-item-DdnzmVZj.js → settings-item-CMHd9Vr7.js} +6 -6
  52. package/dist/browser/{store-CB1U4gvI.js → store-WG-XbhCX.js} +4643 -4503
  53. package/dist/browser/{string-editor-BEncfiNG.js → string-editor-Cdda3m3H.js} +8 -8
  54. package/dist/browser/{theme-RyeKAHMc.js → theme-CEfCl0Wg.js} +8 -8
  55. package/dist/browser/{ui-D5E2lSMl.js → ui-Cxw-zCCr.js} +8 -8
  56. package/dist/esm/RouteCutIn.js +1 -1
  57. package/dist/esm/components/IntercomLauncher.d.ts +5 -0
  58. package/dist/esm/components/IntercomLauncher.js +1 -0
  59. package/dist/esm/components/Layout.js +1 -1
  60. package/dist/esm/components/Map/Map.js +1 -1
  61. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  62. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  63. package/dist/esm/components/SearchBox.js +1 -1
  64. package/dist/esm/components/gps/useUserLocationAndHeading.js +1 -1
  65. package/dist/esm/components/gps/utils.js +1 -1
  66. package/dist/esm/floorplan.ready.js +1 -1
  67. package/dist/esm/intercom/bootIntercom.js +1 -19
  68. package/dist/esm/services/routing.js +1 -1
  69. package/dist/esm/store/BoothStore.d.ts +0 -1
  70. package/dist/esm/store/BoothStore.js +1 -1
  71. package/dist/esm/store/IntercomStore.d.ts +7 -0
  72. package/dist/esm/store/IntercomStore.js +1 -0
  73. package/dist/esm/store/RootStore.d.ts +2 -0
  74. package/dist/esm/store/RootStore.js +1 -1
  75. package/dist/esm/store/RouteStore.d.ts +1 -1
  76. package/dist/esm/store/RouteStore.js +1 -1
  77. package/dist/esm/store/UIState.js +1 -1
  78. package/dist/esm/store/index.d.ts +1 -0
  79. package/dist/esm/store/index.js +1 -1
  80. package/dist/esm/store/init/init-booths.js +1 -1
  81. package/dist/esm/tools/track-event.js +1 -1
  82. package/dist/esm/utils/customCommands.d.ts +1 -1
  83. package/dist/esm/utils/customCommands.js +1 -1
  84. package/dist/esm/utils/gps.d.ts +0 -1
  85. package/dist/esm/utils/gps.js +1 -1
  86. package/dist/esm/utils/haversineDistance.d.ts +7 -0
  87. package/dist/esm/utils/haversineDistance.js +1 -0
  88. package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +13 -0
  89. package/dist/esm/wayfinding/adapters/boothToEndpoint.js +1 -0
  90. package/dist/esm/wayfinding/adapters/boothToWaypoint.d.ts +1 -1
  91. package/dist/esm/wayfinding/adapters/canvasIconProvider.d.ts +20 -0
  92. package/dist/esm/wayfinding/adapters/canvasIconProvider.js +1 -0
  93. package/dist/esm/wayfinding/adapters/floorContext.d.ts +10 -0
  94. package/dist/esm/wayfinding/adapters/floorContext.js +1 -0
  95. package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +1 -1
  96. package/dist/esm/wayfinding/adapters/iconProvider.d.ts +15 -0
  97. package/dist/esm/wayfinding/adapters/index.d.ts +9 -0
  98. package/dist/esm/wayfinding/adapters/index.js +1 -0
  99. package/dist/esm/wayfinding/adapters/kioskCanvas.d.ts +7 -0
  100. package/dist/esm/wayfinding/adapters/kioskCanvas.js +1 -0
  101. package/dist/esm/wayfinding/adapters/positionInput.d.ts +11 -0
  102. package/dist/esm/wayfinding/adapters/positionInput.js +1 -0
  103. package/dist/esm/wayfinding/bindMobxReactions.d.ts +27 -0
  104. package/dist/esm/wayfinding/bindMobxReactions.js +1 -0
  105. package/dist/esm/wayfinding/{__tests__ → core/__tests__}/helpers.d.ts +0 -5
  106. package/dist/esm/wayfinding/core/__tests__/helpers.js +1 -0
  107. package/dist/esm/wayfinding/core/createWayfindingEngine.d.ts +16 -0
  108. package/dist/esm/wayfinding/core/createWayfindingEngine.js +1 -0
  109. package/dist/esm/wayfinding/{graph → core/graph}/graphCache.d.ts +2 -1
  110. package/dist/esm/wayfinding/core/index.d.ts +16 -0
  111. package/dist/esm/wayfinding/core/index.js +1 -0
  112. package/dist/esm/wayfinding/core/position/distanceToRoute.d.ts +3 -0
  113. package/dist/esm/wayfinding/core/position/distanceToRoute.js +1 -0
  114. package/dist/esm/wayfinding/core/position/gpsThreshold.d.ts +22 -0
  115. package/dist/esm/wayfinding/core/position/gpsThreshold.js +1 -0
  116. package/dist/esm/wayfinding/core/position/shouldReroute.d.ts +3 -0
  117. package/dist/esm/wayfinding/core/position/shouldReroute.js +1 -0
  118. package/dist/esm/wayfinding/core/position/snapToRoute.d.ts +4 -0
  119. package/dist/esm/wayfinding/core/position/snapToRoute.js +1 -0
  120. package/dist/esm/{components/Map/drawing/config/route-snapping → wayfinding/core/position}/splitRouteByPoint.d.ts +1 -1
  121. package/dist/esm/wayfinding/core/position/splitRouteByPoint.js +1 -0
  122. package/dist/esm/wayfinding/core/rendering/computeTrailPoints.d.ts +19 -0
  123. package/dist/esm/wayfinding/core/rendering/computeTrailPoints.js +1 -0
  124. package/dist/esm/wayfinding/{rendering → core/rendering}/computeTransitionPoints.d.ts +2 -2
  125. package/dist/esm/wayfinding/core/rendering/computeTransitionPoints.js +1 -0
  126. package/dist/esm/wayfinding/core/rendering/getVisibleRouteLines.d.ts +11 -0
  127. package/dist/esm/wayfinding/core/rendering/getVisibleRouteLines.js +1 -0
  128. package/dist/esm/wayfinding/core/rendering/normalizeRouteDirection.d.ts +20 -0
  129. package/dist/esm/wayfinding/core/rendering/normalizeRouteDirection.js +1 -0
  130. package/dist/esm/wayfinding/core/rendering/routeGeometry.d.ts +15 -0
  131. package/dist/esm/wayfinding/core/rendering/routeGeometry.js +1 -0
  132. package/dist/esm/wayfinding/core/routing/optimizeWaypointOrder.d.ts +19 -0
  133. package/dist/esm/wayfinding/core/routing/optimizeWaypointOrder.js +1 -0
  134. package/dist/esm/wayfinding/core/routing/resolveWaypointCandidates.d.ts +7 -0
  135. package/dist/esm/wayfinding/core/routing/resolveWaypointCandidates.js +1 -0
  136. package/dist/esm/wayfinding/{types.d.ts → core/types.d.ts} +37 -0
  137. package/dist/esm/wayfinding/createWayfinding.d.ts +3 -0
  138. package/dist/esm/wayfinding/createWayfinding.js +1 -0
  139. package/dist/esm/wayfinding/handlers/kioskHandler.d.ts +25 -0
  140. package/dist/esm/wayfinding/handlers/kioskHandler.js +1 -0
  141. package/dist/esm/wayfinding/handlers/yahHandler.d.ts +23 -0
  142. package/dist/esm/wayfinding/handlers/yahHandler.js +1 -0
  143. package/dist/esm/wayfinding/layers.d.ts +14 -0
  144. package/dist/esm/wayfinding/layers.js +1 -0
  145. package/dist/esm/wayfinding/renderer/createWayfindingRenderer.d.ts +14 -0
  146. package/dist/esm/wayfinding/renderer/createWayfindingRenderer.js +1 -0
  147. package/dist/esm/wayfinding/renderer/iconManager.d.ts +31 -0
  148. package/dist/esm/wayfinding/renderer/iconManager.js +1 -0
  149. package/dist/esm/wayfinding/renderer/index.d.ts +3 -0
  150. package/dist/esm/wayfinding/renderer/index.js +1 -0
  151. package/dist/esm/wayfinding/renderer/layerManager.d.ts +27 -0
  152. package/dist/esm/wayfinding/renderer/layerManager.js +1 -0
  153. package/dist/esm/wayfinding/renderer/routeLineManager.d.ts +42 -0
  154. package/dist/esm/wayfinding/renderer/routeLineManager.js +1 -0
  155. package/dist/esm/wayfinding/renderer/trailManager.d.ts +27 -0
  156. package/dist/esm/wayfinding/renderer/trailManager.js +1 -0
  157. package/dist/esm/wayfinding/renderer/types.d.ts +162 -0
  158. package/dist/esm/wayfinding/runtime/createWayfindingRuntime.d.ts +3 -0
  159. package/dist/esm/wayfinding/runtime/createWayfindingRuntime.js +1 -0
  160. package/dist/esm/wayfinding/runtime/endpointView.d.ts +16 -0
  161. package/dist/esm/wayfinding/runtime/endpointView.js +1 -0
  162. package/dist/esm/wayfinding/runtime/getRouteLines.d.ts +13 -0
  163. package/dist/esm/wayfinding/runtime/getRouteLines.js +1 -0
  164. package/dist/esm/wayfinding/runtime/positionTrailView.d.ts +57 -0
  165. package/dist/esm/wayfinding/runtime/positionTrailView.js +1 -0
  166. package/dist/esm/wayfinding/runtime/positionView.d.ts +23 -0
  167. package/dist/esm/wayfinding/runtime/positionView.js +1 -0
  168. package/dist/esm/wayfinding/runtime/routeLinesView.d.ts +18 -0
  169. package/dist/esm/wayfinding/runtime/routeLinesView.js +1 -0
  170. package/dist/esm/wayfinding/runtime/routeRenderData.d.ts +29 -0
  171. package/dist/esm/wayfinding/runtime/routeRenderData.js +1 -0
  172. package/dist/esm/wayfinding/runtime/routeUpdate.d.ts +14 -0
  173. package/dist/esm/wayfinding/runtime/routeUpdate.js +1 -0
  174. package/dist/esm/wayfinding/runtime/trailView.d.ts +21 -0
  175. package/dist/esm/wayfinding/runtime/trailView.js +1 -0
  176. package/dist/esm/wayfinding/runtime/transitionView.d.ts +18 -0
  177. package/dist/esm/wayfinding/runtime/transitionView.js +1 -0
  178. package/dist/esm/wayfinding/runtime/types.d.ts +72 -0
  179. package/dist/esm/wayfinding/runtime/types.js +1 -0
  180. package/dist/esm/wayfinding/utils/findBoothInRadius.d.ts +4 -0
  181. package/dist/esm/wayfinding/utils/findBoothInRadius.js +1 -0
  182. package/package.json +3 -3
  183. package/dist/browser/ShowKiosk-BL9nfBDf.js +0 -26
  184. package/dist/browser/bootIntercom-D3i1xdrZ.js +0 -40
  185. package/dist/esm/components/Map/drawing/config/config-booth-scaled.d.ts +0 -14
  186. package/dist/esm/components/Map/drawing/config/config-booth-scaled.js +0 -1
  187. package/dist/esm/components/Map/drawing/config/config-wf.d.ts +0 -8
  188. package/dist/esm/components/Map/drawing/config/config-wf.js +0 -1
  189. package/dist/esm/components/Map/drawing/config/config-yah.d.ts +0 -2
  190. package/dist/esm/components/Map/drawing/config/config-yah.js +0 -1
  191. package/dist/esm/components/Map/drawing/config/route-snapping/index.d.ts +0 -5
  192. package/dist/esm/components/Map/drawing/config/route-snapping/index.js +0 -1
  193. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.d.ts +0 -21
  194. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.js +0 -1
  195. package/dist/esm/components/Map/drawing/config/route-snapping/splitRouteByPoint.js +0 -1
  196. package/dist/esm/components/Map/drawing/config/route-snapping/types.d.ts +0 -18
  197. package/dist/esm/components/Map/drawing/config/route-snapping/utils.d.ts +0 -29
  198. package/dist/esm/components/Map/drawing/config/route-snapping/utils.js +0 -1
  199. package/dist/esm/utils/buildOptimizedRoute.d.ts +0 -11
  200. package/dist/esm/utils/buildOptimizedRoute.js +0 -1
  201. package/dist/esm/utils/yah.d.ts +0 -8
  202. package/dist/esm/utils/yah.js +0 -1
  203. package/dist/esm/wayfinding/_PLAN-public-api.d.ts +0 -220
  204. package/dist/esm/wayfinding/__integration__/legacy/legacyWayfinding.d.ts +0 -27
  205. package/dist/esm/wayfinding/__integration__/legacy/legacyWayfinding.js +0 -1
  206. package/dist/esm/wayfinding/__tests__/helpers.js +0 -1
  207. package/dist/esm/wayfinding/index.d.ts +0 -18
  208. package/dist/esm/wayfinding/index.js +0 -1
  209. package/dist/esm/wayfinding/rendering/computeTransitionPoints.js +0 -1
  210. package/dist/esm/wayfinding/rendering/normalizeRouteDirection.d.ts +0 -19
  211. package/dist/esm/wayfinding/rendering/normalizeRouteDirection.js +0 -1
  212. package/dist/esm/wayfinding/rendering/routeGeometry.d.ts +0 -16
  213. package/dist/esm/wayfinding/rendering/routeGeometry.js +0 -1
  214. package/dist/esm/wayfinding/routing/getGraphLines.d.ts +0 -14
  215. package/dist/esm/wayfinding/routing/getGraphLines.js +0 -1
  216. /package/dist/esm/{components/Map/drawing/config/route-snapping/types.js → wayfinding/adapters/iconProvider.js} +0 -0
  217. /package/dist/esm/wayfinding/{graph → core/graph}/buildGraph.d.ts +0 -0
  218. /package/dist/esm/wayfinding/{graph → core/graph}/buildGraph.js +0 -0
  219. /package/dist/esm/wayfinding/{graph → core/graph}/buildNGraph.d.ts +0 -0
  220. /package/dist/esm/wayfinding/{graph → core/graph}/buildNGraph.js +0 -0
  221. /package/dist/esm/wayfinding/{graph → core/graph}/constants.d.ts +0 -0
  222. /package/dist/esm/wayfinding/{graph → core/graph}/constants.js +0 -0
  223. /package/dist/esm/wayfinding/{graph → core/graph}/findShortestPath.d.ts +0 -0
  224. /package/dist/esm/wayfinding/{graph → core/graph}/findShortestPath.js +0 -0
  225. /package/dist/esm/wayfinding/{graph → core/graph}/graphCache.js +0 -0
  226. /package/dist/esm/wayfinding/{graph → core/graph}/graphHelpers.d.ts +0 -0
  227. /package/dist/esm/wayfinding/{graph → core/graph}/graphHelpers.js +0 -0
  228. /package/dist/esm/wayfinding/{graph → core/graph}/linkCost.d.ts +0 -0
  229. /package/dist/esm/wayfinding/{graph → core/graph}/linkCost.js +0 -0
  230. /package/dist/esm/wayfinding/{graph → core/graph}/pathfinder/aStarPathFinder.d.ts +0 -0
  231. /package/dist/esm/wayfinding/{graph → core/graph}/pathfinder/aStarPathFinder.js +0 -0
  232. /package/dist/esm/wayfinding/{graph → core/graph}/pathfinder/parseNodeId.d.ts +0 -0
  233. /package/dist/esm/wayfinding/{graph → core/graph}/pathfinder/parseNodeId.js +0 -0
  234. /package/dist/esm/wayfinding/{routing → core/routing}/buildMultiPointRoute.d.ts +0 -0
  235. /package/dist/esm/wayfinding/{routing → core/routing}/buildMultiPointRoute.js +0 -0
  236. /package/dist/esm/wayfinding/{routing → core/routing}/buildRoute.d.ts +0 -0
  237. /package/dist/esm/wayfinding/{routing → core/routing}/buildRoute.js +0 -0
  238. /package/dist/esm/wayfinding/{routing → core/routing}/findNearestGraphPoint.d.ts +0 -0
  239. /package/dist/esm/wayfinding/{routing → core/routing}/findNearestGraphPoint.js +0 -0
  240. /package/dist/esm/wayfinding/{routing → core/routing}/getRouteLength.d.ts +0 -0
  241. /package/dist/esm/wayfinding/{routing → core/routing}/getRouteLength.js +0 -0
  242. /package/dist/esm/wayfinding/{routing → core/routing}/routeResult.d.ts +0 -0
  243. /package/dist/esm/wayfinding/{routing → core/routing}/routeResult.js +0 -0
  244. /package/dist/esm/wayfinding/{types.js → core/types.js} +0 -0
  245. /package/dist/esm/wayfinding/{_PLAN-public-api.js → renderer/types.js} +0 -0
@@ -1,18 +1,18 @@
1
1
  (function() {
2
2
  try {
3
3
  var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
- e.SENTRY_RELEASE = { id: "3.2.6" };
4
+ e.SENTRY_RELEASE = { id: "3.2.8" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d6998a34-2e60-485b-acb4-511cd67af42e", e._sentryDebugIdIdentifier = "sentry-dbid-d6998a34-2e60-485b-acb4-511cd67af42e");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-BSQQuCTD.js";
10
- import { t } from "./react-BCrcyjAU.js";
11
- import { t as n } from "./jsx-runtime-DnQmxKxk.js";
12
- import { E as r, c as i, l as a, o, r as s, v as c } from "./box-Cj2OPB5o.js";
13
- import { t as l } from "./classnames-BdEjlCJw.js";
14
- import { t as u } from "./flex.props-DxAZIGSj.js";
15
- import { t as d } from "./settings-item-DdnzmVZj.js";
9
+ import { r as e } from "./rolldown-runtime-BAuBEODA.js";
10
+ import { t } from "./react-B3Fm-ZS0.js";
11
+ import { t as n } from "./jsx-runtime-IE8skafD.js";
12
+ import { E as r, c as i, l as a, o, r as s, v as c } from "./box-BllGyNzW.js";
13
+ import { t as l } from "./classnames-DZ15rBvY.js";
14
+ import { t as u } from "./flex.props-CKl-laU4.js";
15
+ import { t as d } from "./settings-item-CMHd9Vr7.js";
16
16
  //#region ../../node_modules/.pnpm/@radix-ui+themes@3.3.0_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react@19.2._d6d76dcfd4c9de055b7c51247e12b902/node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js
17
17
  var f = {
18
18
  size: {
@@ -1,18 +1,18 @@
1
1
  (function() {
2
2
  try {
3
3
  var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
- e.SENTRY_RELEASE = { id: "3.2.6" };
4
+ e.SENTRY_RELEASE = { id: "3.2.8" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "7ef9ec30-23fe-46ab-9eef-b60026a43ae8", e._sentryDebugIdIdentifier = "sentry-dbid-7ef9ec30-23fe-46ab-9eef-b60026a43ae8");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-BSQQuCTD.js";
10
- import { t } from "./react-BCrcyjAU.js";
11
- import { t as n } from "./jsx-runtime-DnQmxKxk.js";
12
- import { t as r } from "./react-dom-z6XbaPl9.js";
13
- import { C as i, D as a, S as o, T as s, _ as c, a as l, g as u, w as d } from "./box-Cj2OPB5o.js";
14
- import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-CCy_DoUq.js";
15
- import { t as y } from "./classnames-BdEjlCJw.js";
9
+ import { r as e } from "./rolldown-runtime-BAuBEODA.js";
10
+ import { t } from "./react-B3Fm-ZS0.js";
11
+ import { t as n } from "./jsx-runtime-IE8skafD.js";
12
+ import { t as r } from "./react-dom-CySklTOi.js";
13
+ import { C as i, D as a, S as o, T as s, _ as c, a as l, g as u, w as d } from "./box-BllGyNzW.js";
14
+ import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-D1FyJZyA.js";
15
+ import { t as y } from "./classnames-DZ15rBvY.js";
16
16
  //#region ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.3_@types+react@19.2.14__@ty_d1be9c417e0b55d219bafdc186d26ce0/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
17
17
  var b = /* @__PURE__ */ e(r(), 1), x = /* @__PURE__ */ e(t(), 1), S = n(), C = Object.freeze({
18
18
  position: "absolute",
@@ -1,17 +1,17 @@
1
1
  (function() {
2
2
  try {
3
3
  var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
- e.SENTRY_RELEASE = { id: "3.2.6" };
4
+ e.SENTRY_RELEASE = { id: "3.2.8" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "92182a39-8df3-47fb-a7de-39aa7bf1975b", e._sentryDebugIdIdentifier = "sentry-dbid-92182a39-8df3-47fb-a7de-39aa7bf1975b");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-BSQQuCTD.js";
10
- import { i as t, r as n } from "./reset-all-settings-BOrTf1Lp.js";
11
- import { t as r } from "./jsx-runtime-DnQmxKxk.js";
12
- import "./settings-DTDJKJjP.js";
13
- import { t as i } from "./browser-iEBlxETL.js";
14
- import { t as a } from "./add-debug-secret-listener-BP0ji46o.js";
9
+ import { r as e } from "./rolldown-runtime-BAuBEODA.js";
10
+ import { i as t, r as n } from "./reset-all-settings-Cl74zGyE.js";
11
+ import { t as r } from "./jsx-runtime-IE8skafD.js";
12
+ import "./settings-BIgQOlLC.js";
13
+ import { t as i } from "./browser-hErw7TCJ.js";
14
+ import { t as a } from "./add-debug-secret-listener-PCn2L2xn.js";
15
15
  //#region ../debug/src/lib/ui/render-debug-ui.tsx
16
16
  var o = /* @__PURE__ */ e(i(), 1), s = r(), c = !1;
17
17
  function l() {
@@ -26,7 +26,7 @@ function l() {
26
26
  }
27
27
  });
28
28
  let i = async (t) => {
29
- let { DebugUi: n } = await import("./debug-ui-Cjk1VEBj.js"), { createRoot: i } = await import("./client-AFMbhyej.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-HOJ52C7W.js"), { createRoot: i } = await import("./client-vSscuHGN.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
30
30
  document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, s.jsx)(n, {
31
31
  useDebugButtonState: r.useState,
32
32
  open: t
@@ -1 +1 @@
1
- import{SpecialBooth as b}from"./store/BoothStore";import{graphDataSource as E}from"./wayfinding";import P from"./store";import D from"./core/Rect";import{areLayersEnabled as S}from"./utils/areLayersEnabled";export class RouteCutIn extends b{id;name;destination;slug;meta;store=P.boothStore;exhibitors=[];paths=[];routePoint;rect=D.fromCxcywh(0,0,0,0);entity={type:"route-cut-in"};constructor(i,r,n,s,t={}){super(),this.id=i,this.name=r,this.destination=n,this.slug=s,this.meta=t,this.layer=P.layerStore.findLayer(n.layer),this.routePoint=this.findClosestRoutePoint();const e=this.findClosestLineEnd(this.routePoint);e&&(this.rect=D.fromCxcywh(e.x,e.y,1,1)),Object.freeze(this)}findClosestRoutePoint(){const i=E.getLines(),r=S()?i.filter(t=>t.p0.layer===this.destination.layer&&t.p1.layer===this.destination.layer):i;if(!r?.length)return null;let n=1/0,s=null;return r.forEach(t=>{const e=this.distanceToLine(this.destination,t.p0,t.p1);e<n&&(n=e,s=t)}),{...this.findClosestPointOnLine(this.destination,s),layer:this.destination.layer}}distanceToLine(i,r,n){const s=i.x,t=i.y,e=r.x,o=r.y,l=n.x,d=n.y,x=s-e,h=t-o,a=l-e,u=d-o,m=x*a+h*u,f=a*a+u*u;let c=-1;f!==0&&(c=m/f);let y,p;c<0?(y=e,p=o):c>1?(y=l,p=d):(y=e+c*a,p=o+c*u);const L=s-y,C=t-p;return Math.sqrt(L*L+C*C)}findClosestPointOnLine(i,r){const{x:n,y:s}=r.p0,{x:t,y:e}=r.p1,{x:o,y:l}=i,d=o-n,x=l-s,h=t-n,a=e-s,u=d*h+x*a,m=h*h+a*a;let f=-1;m!==0&&(f=u/m);let c,y;return f<0?(c=n,y=s):f>1?(c=t,y=e):(c=n+f*h,y=s+f*a),{x:c,y}}findClosestLineEnd(i){if(!i)return null;const r=E.getLineEnds(),n=S()?r.filter(o=>o.layer===i.layer):r;let s=null,t=1/0;function e(o,l,d,x){return Math.sqrt((d-o)**2+(x-l)**2)}return n.forEach(o=>{const l=e(i.x,i.y,o.x,o.y);l<t&&(t=l,s=o)}),s}}
1
+ import{SpecialBooth as b}from"./store/BoothStore";import{graphDataSource as E}from"./wayfinding/adapters";import P from"./store";import D from"./core/Rect";import{areLayersEnabled as S}from"./utils/areLayersEnabled";export class RouteCutIn extends b{id;name;destination;slug;meta;store=P.boothStore;exhibitors=[];paths=[];routePoint;rect=D.fromCxcywh(0,0,0,0);entity={type:"route-cut-in"};constructor(i,r,n,s,t={}){super(),this.id=i,this.name=r,this.destination=n,this.slug=s,this.meta=t,this.layer=P.layerStore.findLayer(n.layer),this.routePoint=this.findClosestRoutePoint();const e=this.findClosestLineEnd(this.routePoint);e&&(this.rect=D.fromCxcywh(e.x,e.y,1,1)),Object.freeze(this)}findClosestRoutePoint(){const i=E.getLines(),r=S()?i.filter(t=>t.p0.layer===this.destination.layer&&t.p1.layer===this.destination.layer):i;if(!r?.length)return null;let n=1/0,s=null;return r.forEach(t=>{const e=this.distanceToLine(this.destination,t.p0,t.p1);e<n&&(n=e,s=t)}),{...this.findClosestPointOnLine(this.destination,s),layer:this.destination.layer}}distanceToLine(i,r,n){const s=i.x,t=i.y,e=r.x,o=r.y,l=n.x,d=n.y,x=s-e,h=t-o,a=l-e,u=d-o,m=x*a+h*u,f=a*a+u*u;let c=-1;f!==0&&(c=m/f);let y,p;c<0?(y=e,p=o):c>1?(y=l,p=d):(y=e+c*a,p=o+c*u);const L=s-y,C=t-p;return Math.sqrt(L*L+C*C)}findClosestPointOnLine(i,r){const{x:n,y:s}=r.p0,{x:t,y:e}=r.p1,{x:o,y:l}=i,d=o-n,x=l-s,h=t-n,a=e-s,u=d*h+x*a,m=h*h+a*a;let f=-1;m!==0&&(f=u/m);let c,y;return f<0?(c=n,y=s):f>1?(c=t,y=e):(c=n+f*h,y=s+f*a),{x:c,y}}findClosestLineEnd(i){if(!i)return null;const r=E.getLineEnds(),n=S()?r.filter(o=>o.layer===i.layer):r;let s=null,t=1/0;function e(o,l,d,x){return Math.sqrt((d-o)**2+(x-l)**2)}return n.forEach(o=>{const l=e(i.x,i.y,o.x,o.y);l<t&&(t=l,s=o)}),s}}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./IntercomLauncher.scss";
3
+ declare const IntercomLauncher: React.FunctionComponent<object>;
4
+ export default IntercomLauncher;
5
+ //# sourceMappingURL=IntercomLauncher.d.ts.map
@@ -0,0 +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}from"../store";import{t as o}from"../utils/i18n";import"./IntercomLauncher.scss";const s=i(function(){if(!t.enabled)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 s;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as M,useState as E}from"react";import w from"classnames";import t,{layersStore as d,uiState as e}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import D from"./LevelSelector";import G from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import T from"./LogoOverlay";import A from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"../data/fpGeo";import{checkUserIsGDPR as X,GaEventActions as s,hasUserConsent as q,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=r.lazy(()=>import("./Demo")),ee=r.lazy(()=>import("./Free")),oe=r.lazy(()=>import("./Debug")),te=r.lazy(()=>import("./Mapbox/Mapbox")),ie=r.lazy(()=>import("./Threejs/ThreeComponent")),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 z(function({offHistory:b,allowConsent:p}){const[u,c]=E(!1);let n=null;e.bannerType==="demo"?n=o(Z,{}):e.bannerType==="free"&&(n=o(ee,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};M(()=>{async function i(){const k=await X();c(!!(k||k===null))}q(p)?c(!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&&u&&p===void 0;return o("div",{id:"efp-layout",className:w("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:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(D,{}),!e.noOverlay&&t.initialized&&o(K,{isGDPR:u,allowConsent:p}),t.initialized&&o(T,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(A,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.noOverlay&&t.initialized&&o(F,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),!e.hideHeaderLogo&&t.initialized&&o(N,{}),t.routeStore.gpsEnabled&&o(le,{requestCompassAllowed:!h}),L&&o($,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&o(a,{fallback:o(H,{}),children:W?.properties?.mode==="threejs"?o(ie,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):o(te,{})}),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",onClickAccept:v,onClickReject:x})}),R?o(a,{fallback:null,children:o(oe,{})}):null,O&&o(G,{}),e.modalActive.share?o(a,{fallback:null,children:o(re,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(_,{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,colors:f.heatmapColors}):null,o(U,{active:!d.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(P,{}),t.initialized&&o(I,{store:t.sessionsFilterStore}),t.initialized&&o(V,{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 g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as M,useState as E}from"react";import w from"classnames";import t,{layersStore as d,uiState as e}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import D from"./LevelSelector";import G from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import T from"./LogoOverlay";import A from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import I from"./IntercomLauncher";import{CategoryFilterModal as P}from"./CategoryFilterModal";import V from"./SessionsFiltersModal";import $ from"./SpeakersFiltersModal";import H from"./Map/Map";import{MapLoader as K}from"./Mapbox/MapLoader";import _ from"./OverlayContainer";import N from"./Share";import U from"./Ws";import{LayersMode as y}from"../store/LayerStore";import W from"./LayersLoading";import{fpGeo as X}from"../data/fpGeo";import{checkUserIsGDPR as q,GaEventActions as s,hasUserConsent as Y,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import J from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import Q from"../tools/track-event";import Z from"./GlobalErrorMessage";const ee=r.lazy(()=>import("./Demo")),oe=r.lazy(()=>import("./Free")),te=r.lazy(()=>import("./Debug")),ie=r.lazy(()=>import("./Mapbox/Mapbox")),re=r.lazy(()=>import("./Threejs/ThreeComponent")),ae=r.lazy(()=>import("./Modal")),le=r.lazy(()=>import("./CookieConsent")),ne=r.lazy(()=>import("./GpsLoader")),se=r.lazy(()=>import("./Kiosk/SetKioskMode")),me=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default z(function({offHistory:b,allowConsent:p}){const[u,c]=E(!1);let n=null;e.bannerType==="demo"?n=o(ee,{}):e.bannerType==="free"&&(n=o(oe,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};M(()=>{async function i(){const k=await q();c(!!(k||k===null))}Y(p)?c(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(Q("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&&u&&p===void 0;return o("div",{id:"efp-layout",className:w("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:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(D,{}),!e.noOverlay&&t.initialized&&o(_,{isGDPR:u,allowConsent:p}),t.initialized&&o(T,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(A,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.noOverlay&&t.initialized&&o(F,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),o(I,{}),!e.hideHeaderLogo&&t.initialized&&o(U,{}),t.routeStore.gpsEnabled&&o(ne,{requestCompassAllowed:!h}),L&&o(H,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&o(a,{fallback:o(K,{}),children:X?.properties?.mode==="threejs"?o(re,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):o(ie,{})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(le,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),R?o(a,{fallback:null,children:o(te,{})}):null,O&&o(G,{}),e.modalActive.share?o(a,{fallback:null,children:o(ae,{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(J,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:f.heatmapColors}):null,o(W,{active:!d.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(P,{}),t.initialized&&o(V,{store:t.sessionsFilterStore}),t.initialized&&o($,{store:t.speakerFilterStore}),o(Z,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(me,{})})]})})});
@@ -1 +1 @@
1
- import{jsx as S,jsxs as I,Fragment as H}from"react/jsx-runtime";import{useObserver as Y}from"mobx-react-lite";import q from"classnames";import{useEffect as J,useMemo as Q,useRef as z,useState as ee}from"react";import{observable as oe}from"mobx";import i,{boothStore as te,layersStore as R,uiState as e}from"../../store";import re from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as ne}from"../../store/BoothStore";import{CurrentPosition as ie,Route as ae}from"../../store/RouteStore";import{Category as se}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as le,getMarkerFromClick as me}from"./drawing/config/config-markers";import ce from"color";import fe from"./drawing/config/config-wf";import{createSceneDef as de}from"../../renderer";import{convertGpsToLocal as ue}from"../../utils/gps";import{fpGeo as pe}from"../../data/fpGeo";import v from"../../utils/is-debug";import{Draggable as he}from"../Draggable";import{useBuildRoute as ve}from"./traffic/useBuildRoute";import{useManageTraffic as be}from"./traffic/useManageTraffic";import{DEBUG_STORAGE_KEY as G,PATHWAY_KEY as N}from"../../constants";import O from"./booth-by-xy";import{mapRollSetting as X}from"../../renderer";import{loadLayersImages as ye}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ge}from"../../utils/areLayersEnabled";import{pickDefaultScene as A,pickDefaultScenePoint as xe}from"../../renderer/engine-core/defs";const j=Number.isFinite(p.maxZoom);export default function we(){let k={};const K="#ebebeb",h=z(),b=Q(()=>oe({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=z(null);let B=null,M=null;const[U,V]=ee(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(G)!=="false":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),d(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),J(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=L.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),t={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx)),re(s).then(a=>{v&&console.log("Renderer settings",l);const r=ce(p.backgroundColor==="none"?K:p.backgroundColor).string("rgba");k=de(a,x.fromCoreRect(D),r),s.start(k),X(l,i.fp.enableRotation?1:0),j&&l.viewport.setMaxZoom(p.maxZoom),R.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),B=fe(s),M=le(s),ye(s)}),l.events.addEventListener("pointer:move",({data:a})=>{if(e.setKioskModeEnabled)return;const{point:r,defs:n}=A(a),c=O(r.x,r.y),m=E(n[0]);e.hoveredBooth=c||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:a})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{point:r,defs:n}=A(a),{x:c,y:m}=r;if(e.onGetCoordsClick){const y=i.layerStore.layers.find(w=>w.visible&&(w.mode===g.TurnedOn||w.mode===g.TurnedOff));e.onGetCoordsClick({x:c,y:m,z:y?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const y=me(c,m,s.scale);v&&console.log("marker",y),e.onMarkerClick(y)}const f=O(r.x,r.y),u=E(n[0]);v&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",r),i.clickBooth(f||u)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=Z,()=>W()},[]);function W(){B?.(),M?.(),s.dispose()}function Z(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=xe(l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2})),r=i.layerStore.visible.find(n=>n.mode===g.TurnedOff||n.mode===g.TurnedOn)?.name||null;return{...t,z:r}}function E(o){return!o||!o.shape?null:te.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof F&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof F?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,c)=>n==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):o instanceof ne?(t="booth",a=[o.name]):o instanceof ae?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof se&&(t="category",a=o.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&_(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(T.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;T.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(_(C.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:c})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&X(l,n);let m;if(t){const f=t.split(",").map(Number),u=new ie(void 0,void 0,void 0,void 0,f[0],f[1]);m=ue(u,pe.properties.config)}else if(a){const f=a.split(",").map(Number);m={x:f[0],y:f[1]}}c&&i.fp.activateFloor({name:c}),(m?.x||m?.y)&&s.renderer.controls.panTo(m.x,m.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(m){T.error("Error in mapSettings reaction",m)}}),ve({enabled:R.layersLoaded&&e.buildRoute,rendererService:s});const P="routes-api.expofp.com";be({permission:R.layersLoaded,rendererService:s,dataJsonUrl:`https://${P}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${P}/locations?expo=${p.EXPO}`}),d(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>n.name.toLowerCase().includes(N)),r=s.scene.rootLayer.children.filter(n=>n.name.toLowerCase().includes(N));r.forEach(n=>{n.hidden=!t.find(c=>c.name===n.name)}),s.update(...r)});function _(o){let t=o;const a=$(o,D);e.kioskData&&(!ge()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=C.fromMultiple([o,C.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=x.fromCoreRect(t),n={paddingPercent:a,maxZoom:j?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx};try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function $(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return Y(()=>I(H,{children:[S("canvas",{style:{width:"100%",height:"100%"},ref:h,className:q({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&U&&I(he,{className:"debug-fps",children:[S("div",{ref:L}),S("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(G,"false"),V(!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 S,jsxs as I,Fragment as H}from"react/jsx-runtime";import{useObserver as Y}from"mobx-react-lite";import q from"classnames";import{useEffect as J,useMemo as Q,useRef as z,useState as ee}from"react";import{observable as oe}from"mobx";import i,{boothStore as te,layersStore as R,uiState as e}from"../../store";import re from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as ne}from"../../store/BoothStore";import{CurrentPosition as ie,Route as ae}from"../../store/RouteStore";import{Category as se}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as le,getMarkerFromClick as me}from"./drawing/config/config-markers";import ce from"color";import{createWayfinding as fe}from"../../wayfinding/createWayfinding";import{createSceneDef as de}from"../../renderer";import{convertGpsToLocal as ue}from"../../utils/gps";import{fpGeo as pe}from"../../data/fpGeo";import v from"../../utils/is-debug";import{Draggable as he}from"../Draggable";import{useBuildRoute as ve}from"./traffic/useBuildRoute";import{useManageTraffic as be}from"./traffic/useManageTraffic";import{DEBUG_STORAGE_KEY as G,PATHWAY_KEY as N}from"../../constants";import O from"./booth-by-xy";import{mapRollSetting as X}from"../../renderer";import{loadLayersImages as ye}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ge}from"../../utils/areLayersEnabled";import{pickDefaultScene as A,pickDefaultScenePoint as xe}from"../../renderer/engine-core/defs";const j=Number.isFinite(p.maxZoom);export default function we(){let k={};const K="#ebebeb",h=z(),b=Q(()=>oe({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=z(null);let B=null,M=null;const[U,V]=ee(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(G)!=="false":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),d(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),J(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=L.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),t={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx)),re(s).then(a=>{v&&console.log("Renderer settings",l);const r=ce(p.backgroundColor==="none"?K:p.backgroundColor).string("rgba");k=de(a,x.fromCoreRect(D),r),s.start(k),X(l,i.fp.enableRotation?1:0),j&&l.viewport.setMaxZoom(p.maxZoom),R.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),B=fe(s),M=le(s),ye(s)}),l.events.addEventListener("pointer:move",({data:a})=>{if(e.setKioskModeEnabled)return;const{point:r,defs:n}=A(a),c=O(r.x,r.y),m=E(n[0]);e.hoveredBooth=c||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:a})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{point:r,defs:n}=A(a),{x:c,y:m}=r;if(e.onGetCoordsClick){const y=i.layerStore.layers.find(w=>w.visible&&(w.mode===g.TurnedOn||w.mode===g.TurnedOff));e.onGetCoordsClick({x:c,y:m,z:y?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const y=me(c,m,s.scale);v&&console.log("marker",y),e.onMarkerClick(y)}const f=O(r.x,r.y),u=E(n[0]);v&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",r),i.clickBooth(f||u)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=Z,()=>W()},[]);function W(){B?.(),M?.(),s.dispose()}function Z(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=xe(l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2})),r=i.layerStore.visible.find(n=>n.mode===g.TurnedOff||n.mode===g.TurnedOn)?.name||null;return{...t,z:r}}function E(o){return!o||!o.shape?null:te.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof F&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof F?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,c)=>n==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):o instanceof ne?(t="booth",a=[o.name]):o instanceof ae?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof se&&(t="category",a=o.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&_(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(T.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;T.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(_(C.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:c})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&X(l,n);let m;if(t){const f=t.split(",").map(Number),u=new ie(void 0,void 0,void 0,void 0,f[0],f[1]);m=ue(u,pe.properties.config)}else if(a){const f=a.split(",").map(Number);m={x:f[0],y:f[1]}}c&&i.fp.activateFloor({name:c}),(m?.x||m?.y)&&s.renderer.controls.panTo(m.x,m.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(m){T.error("Error in mapSettings reaction",m)}}),ve({enabled:R.layersLoaded&&e.buildRoute,rendererService:s});const P="routes-api.expofp.com";be({permission:R.layersLoaded,rendererService:s,dataJsonUrl:`https://${P}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${P}/locations?expo=${p.EXPO}`}),d(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>n.name.toLowerCase().includes(N)),r=s.scene.rootLayer.children.filter(n=>n.name.toLowerCase().includes(N));r.forEach(n=>{n.hidden=!t.find(c=>c.name===n.name)}),s.update(...r)});function _(o){let t=o;const a=$(o,D);e.kioskData&&(!ge()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=C.fromMultiple([o,C.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=x.fromCoreRect(t),n={paddingPercent:a,maxZoom:j?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx},l.visibleRect=l.visibleRect;try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function $(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return Y(()=>I(H,{children:[S("canvas",{style:{width:"100%",height:"100%"},ref:h,className:q({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&U&&I(he,{className:"debug-fps",children:[S("div",{ref:L}),S("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(G,"false"),V(!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 c from"../../../../store";import E from"./config-load-layer";import{createLayerDef as r}from"../../../../renderer";import{WF_CURRENT_POSITION_NAME as d,WF_LINES_ANIMATED_LAYER_NAME as p,WF_LINES_LAYER_NAME as y,WF_POINTS_LAYER_NAME as N,WF_TRAIL_LAYER_NAME as R}from"./config-wf";import{MARKER_LAYER_NAME as u}from"./config-markers";import M from"./config-yah";import{createTrafficLayers as T}from"../../traffic/trafficLayers";import{PATHWAY_KEY as Y}from"../../../../constants";import{configBoothsBadges as I}from"./config-booth-badge";export default function P(f){M();let{layers:t,defaultLayer:s}=c.layerStore;if(s){const o=[].concat(t),e=t.find(i=>i===s),a=t.indexOf(e);o.splice(a,1),t=[e].concat(o)}const L=t.filter(o=>!o.rootParent).map(o=>E(o,f));return Promise.all(L).then(o=>{const e=r(N,[],{dim:!1,interactive:!0}),a=r(d,[],{dim:!1}),i=r(y,[],{dim:!1}),l=r(u,[]),A=r(R,[],{dim:!1}),_=r(p,[],{dim:!1});o.forEach(m=>{m.name.toLowerCase().includes(Y)&&(m.dim=!1)});const n=I(f,"root",c.boothStore.booths);return[...o.flat(),...n?[n]:[],...T(),l,A,i,_,e,a]})}
1
+ import c from"../../../../store";import E from"./config-load-layer";import{createLayerDef as t}from"../../../../renderer";import{WF_LINES_ANIMATED_LAYER_NAME as _,WF_LINES_LAYER_NAME as d,WF_POINTS_LAYER_NAME as p,WF_TRAIL_LAYER_NAME as y}from"../../../../wayfinding/layers";import{MARKER_LAYER_NAME as N}from"./config-markers";import{createTrafficLayers as R}from"../../traffic/trafficLayers";import{PATHWAY_KEY as u}from"../../../../constants";import{configBoothsBadges as M}from"./config-booth-badge";export default function Y(f){let{layers:r,defaultLayer:s}=c.layerStore;if(s){const o=[].concat(r),e=r.find(i=>i===s),a=r.indexOf(e);o.splice(a,1),r=[e].concat(o)}const L=r.filter(o=>!o.rootParent).map(o=>E(o,f));return Promise.all(L).then(o=>{const e=t(p,[],{dim:!1,interactive:!0}),a=t(d,[],{dim:!1}),i=t(N,[]),l=t(y,[],{dim:!1}),A=t(_,[],{dim:!1});o.forEach(m=>{m.name.toLowerCase().includes(u)&&(m.dim=!1)});const n=M(f,"root",c.boothStore.booths);return[...o.flat(),...n?[n]:[],...R(),i,l,a,A,e]})}
@@ -1 +1 @@
1
- import U from"./config-booth-bg";import{Rect as g}from"./Rect";import W from"./config-booth-labels";import{SEPARATOR as s}from"../../../../constants";import F from"./config-booth-labels-special";import K from"./config-booth-border";import P from"./config-booth-bookmark";import Z from"../../../../tools/settings";import R,{boothStore as j,uiState as q}from"../../../../store";import z from"./config-booth-scaled";import{loadImagesInBatchesById as G}from"../../../../utils/loadImagesInBatches";import{createBoothImg as J,getImageLayerName as M,mapBoothsLogos as Q}from"./loadBoothsImages";import{degToRad as V}from"three/src/math/MathUtils";import{createImageDef as X}from"../../../../renderer";export const BOOTHS_CHUNK_SIZE=350;export default function Y(a,d,D){return(l=>{const t=d,b=[],m=[],f=[],B=[],u=[],y=M(t),L={name:y,children:[]};for(const o of l){const i=U(a,o)?.getShape();i&&b.push(...i);const n=W(a,o)?.getShape();n&&m.push(...n);const c=F(a,o)?.getShape();if(c&&f.push(...c),!Z.borderless){const e=K(a,o)?.getShape();e&&B.push(e)}const h=P(a,o)?.getShape();h&&u.push(h)}const x=m.filter(o=>o.lines),_=f.filter(o=>o.lines),w=m.filter(o=>o.source),N=f.filter(o=>o.source);if(!q.hideLogoInBooth){const o=Q(l);a.onLayerImages(y,async()=>{const i=await G(o,BOOTHS_CHUNK_SIZE),n=[];for(const[c,h]of i){const e=R.boothStore.boothById.get(c);if(!e)continue;const{bounds:{x:I,y:S,height:O,angle:T,width:A},htmlImage:C}=J(e,h),k=X(C,new g({x:I,y:S},{x:I+A,y:S+O},V(T))),E=g.fromCoreRect(e.rect,e.rotate),H=g.inflateRect(E,e.borderWidth||j.borderWidth);e.shapes.push(k),n.push({shape:k,parentRect:H})}return{layer:L,children:n}})}let p=[];l.length&&(p=[{name:`${t}${s}boothBackground`,children:b,interactive:!0},{name:`${t}${s}labels`,children:x},{name:`${t}${s}specialLabels`,children:_},{name:`${t}${s}bots`,children:w},{name:`${t}${s}specialDots`,children:N},L,{name:`${t}${s}boothsBookmark`,children:u},{name:`${t}${s}boothBorder`,children:B}]);const{defaultFrom:r}=R.routeStore,$=(d+":").split(":")[0];if(r?.layer===null||r?.layer?.name===$||r?.layer?.childLayers.find(o=>o.name===$)){const o=z(a,r);o&&p.push({name:`${t}${s}yahBooth`,children:o.getShape()})}return{name:t,children:p}})(D)}
1
+ import E from"./config-booth-bg";import{Rect as f}from"./Rect";import H from"./config-booth-labels";import{SEPARATOR as s}from"../../../../constants";import U from"./config-booth-labels-special";import W from"./config-booth-border";import _ from"./config-booth-bookmark";import K from"../../../../tools/settings";import P,{boothStore as Z,uiState as j}from"../../../../store";import{loadImagesInBatchesById as q}from"../../../../utils/loadImagesInBatches";import{createBoothImg as z,getImageLayerName as F,mapBoothsLogos as G}from"./loadBoothsImages";import{degToRad as J}from"three/src/math/MathUtils";import{createImageDef as M}from"../../../../renderer";export const BOOTHS_CHUNK_SIZE=350;export default function Q(a,I,k){return(h=>{const t=I,p=[],m=[],l=[],g=[],b=[],d=F(t),B={name:d,children:[]};for(const o of h){const r=E(a,o)?.getShape();r&&p.push(...r);const n=H(a,o)?.getShape();n&&m.push(...n);const i=U(a,o)?.getShape();if(i&&l.push(...i),!K.borderless){const e=W(a,o)?.getShape();e&&g.push(e)}const c=_(a,o)?.getShape();c&&b.push(c)}const S=m.filter(o=>o.lines),R=l.filter(o=>o.lines),D=m.filter(o=>o.source),x=l.filter(o=>o.source);if(!j.hideLogoInBooth){const o=G(h);a.onLayerImages(d,async()=>{const r=await q(o,BOOTHS_CHUNK_SIZE),n=[];for(const[i,c]of r){const e=P.boothStore.boothById.get(i);if(!e)continue;const{bounds:{x:L,y:$,height:w,angle:N,width:O},htmlImage:T}=z(e,c),y=M(T,new f({x:L,y:$},{x:L+O,y:$+w},J(N))),A=f.fromCoreRect(e.rect,e.rotate),C=f.inflateRect(A,e.borderWidth||Z.borderWidth);e.shapes.push(y),n.push({shape:y,parentRect:C})}return{layer:B,children:n}})}let u=[];return h.length&&(u=[{name:`${t}${s}boothBackground`,children:p,interactive:!0},{name:`${t}${s}labels`,children:S},{name:`${t}${s}specialLabels`,children:R},{name:`${t}${s}bots`,children:D},{name:`${t}${s}specialDots`,children:x},B,{name:`${t}${s}boothsBookmark`,children:b},{name:`${t}${s}boothBorder`,children:g}]),{name:t,children:u}})(k)}
@@ -1 +1 @@
1
- import{jsx as a,jsxs as f}from"react/jsx-runtime";import b from"classnames";import{useObserver as D}from"mobx-react-lite";import k,{useEffect as v,useRef as C,useCallback as T}from"react";import o,{searchStore as e}from"../store";import{t as i}from"../utils/i18n";import{useAutorun as l}from"../utils/mobx";import z from"../tools/debounce";import{GaEventActions as j,sendEventToGa as K}from"../tools/gtag";import{handleCustomCommand as L}from"../utils/customCommands";import{Badge as P}from"./";import"./SearchBox.scss";const G=1e3;function R({className:g}){const B=C(),p=C(null);function w(t){let s=0;switch(t.key){case"Down":case"ArrowDown":s=1;break;case"Up":case"ArrowUp":s=-1;break;case"Enter":t.preventDefault(),o.openActiveListItem();const n=c();n&&L(n.value,!0);return;case"Escape":t.preventDefault(),e.closeSearch();return}s&&(t.preventDefault(),o.changeActiveListIndex(s))}function c(){return p.current}const[I,u]=k.useState(""),[h,E]=k.useState(!1);l(()=>{E(o.uiState.kiosk&&o.uiState.inIdle)}),v(()=>{if(!h){u("");return}const t=[i("Find Companies..."),i("Find Categories..."),i("Find Sessions..."),i("Search...")];let s=0,n=0,r=!1,S;const _=()=>{const d=t[s];r?(u(d.substring(0,n-1)),n--):(u(d.substring(0,n+1)),n++);let m=r?50:100;!r&&n===d.length?(r=!0,m=2e3):r&&n===0&&(r=!1,s=(s+1)%t.length,m=500),S=setTimeout(_,m)};return _(),()=>clearTimeout(S)},[h]),l(()=>{const t=document.activeElement;o.uiState.overlaySize!=="full"&&t===c()&&!e.isFocused&&c()?.blur()}),l(()=>{o.uiState.menu&&o.uiState.kiosk&&e.setFocused(!1)}),l(()=>{const t=c(),s=document.activeElement;t&&e.isFocused&&s!==t&&!e.skipInputFocus&&t.focus()}),v(()=>{o.fuzzySearchEngineStore.loadEngine()},[]);const N=T(z(()=>{e.searchText&&K(j.Search,e.searchText),window.__resett?.()},G),[]);function y(){e.setSearchText(c()?.value||""),N()}function M(){e.setFocused(!0),window.__resett?.()}function A(){e.isFocused||(e.handleSearchAction(),setTimeout(()=>{c()?.focus()},100))}function F(){e.handleBackAction()}function x(){e.closeSearch()}return D(()=>f("div",{className:b("search-box",g,e.searchBoxClass,{"efp-semi-transparent":o.uiState.setKioskModeEnabled}),ref:B,children:[a("button",{className:b("search-box__button","search-box__button--back",{"is-mobile-details":e.isMobileDetailsMode}),onClick:F,type:"button","aria-label":e.backMode==="back"?i("Go back"):i("Main menu"),children:a("i",{className:e.backMode==="back"?"icon-chevron-left":o.uiState.viewerMode?"icon-home":"icon-menu"})}),a("div",{className:"search-box__input-wrapper",children:e.shouldShowSearchInput?a("input",{ref:p,type:"search",className:"search-box__input",placeholder:h?I:e.placeholder,"aria-label":"Search",value:e.searchText,onChange:y,onKeyDown:w,onFocus:M,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:o.uiState.setKioskModeEnabled}):f("div",{className:"search-box__title",children:[e.searchBoxIcon&&a("i",{className:b("search-box__title-icon",e.searchBoxIcon)}),f("div",{className:"search-box__title-content",children:[a("strong",{className:"search-box__title-text",children:e.searchBoxTitle}),e.searchBoxSubtitle&&a("span",{className:"search-box__title-subtitle",children:e.searchBoxSubtitle})]}),e.searchBoxBadge?a(P,{variant:"lightgray",size:"md",rounded:!0,noMargins:!0,children:e.searchBoxBadge}):null]})}),!e.shouldShowSearchInput&&e.searchBoxActions.map(t=>a("button",{className:"search-box__button search-box__button--ui-action",onClick:t.handler,type:"button","aria-label":t.label,title:t.label,children:a("i",{className:t.icon})},t.id)),a("button",{className:"search-box__button search-box__button--action",onClick:e.shouldShowSearchInput?e.shouldShowCloseButton?x:A:x,type:"button","aria-label":e.ariaLabel,children:a("i",{className:e.actionButtonIcon})})]}))}export default R;
1
+ import{jsx as a,jsxs as f}from"react/jsx-runtime";import b from"classnames";import{useObserver as D}from"mobx-react-lite";import k,{useEffect as v,useRef as C,useCallback as T}from"react";import o,{searchStore as e}from"../store";import{t as i}from"../utils/i18n";import{useAutorun as l}from"../utils/mobx";import z from"../tools/debounce";import{GaEventActions as j,sendEventToGa as K}from"../tools/gtag";import{handleCustomCommand as L}from"../utils/customCommands";import{Badge as P}from"./";import"./SearchBox.scss";const G=1e3;function R({className:g}){const B=C(),p=C(null);function w(t){let s=0;switch(t.key){case"Down":case"ArrowDown":s=1;break;case"Up":case"ArrowUp":s=-1;break;case"Enter":t.preventDefault(),o.openActiveListItem();const n=c();n&&L(n.value);return;case"Escape":t.preventDefault(),e.closeSearch();return}s&&(t.preventDefault(),o.changeActiveListIndex(s))}function c(){return p.current}const[I,u]=k.useState(""),[h,E]=k.useState(!1);l(()=>{E(o.uiState.kiosk&&o.uiState.inIdle)}),v(()=>{if(!h){u("");return}const t=[i("Find Companies..."),i("Find Categories..."),i("Find Sessions..."),i("Search...")];let s=0,n=0,r=!1,S;const _=()=>{const d=t[s];r?(u(d.substring(0,n-1)),n--):(u(d.substring(0,n+1)),n++);let m=r?50:100;!r&&n===d.length?(r=!0,m=2e3):r&&n===0&&(r=!1,s=(s+1)%t.length,m=500),S=setTimeout(_,m)};return _(),()=>clearTimeout(S)},[h]),l(()=>{const t=document.activeElement;o.uiState.overlaySize!=="full"&&t===c()&&!e.isFocused&&c()?.blur()}),l(()=>{o.uiState.menu&&o.uiState.kiosk&&e.setFocused(!1)}),l(()=>{const t=c(),s=document.activeElement;t&&e.isFocused&&s!==t&&!e.skipInputFocus&&t.focus()}),v(()=>{o.fuzzySearchEngineStore.loadEngine()},[]);const N=T(z(()=>{e.searchText&&K(j.Search,e.searchText),window.__resett?.()},G),[]);function y(){e.setSearchText(c()?.value||""),N()}function M(){e.setFocused(!0),window.__resett?.()}function A(){e.isFocused||(e.handleSearchAction(),setTimeout(()=>{c()?.focus()},100))}function F(){e.handleBackAction()}function x(){e.closeSearch()}return D(()=>f("div",{className:b("search-box",g,e.searchBoxClass,{"efp-semi-transparent":o.uiState.setKioskModeEnabled}),ref:B,children:[a("button",{className:b("search-box__button","search-box__button--back",{"is-mobile-details":e.isMobileDetailsMode}),onClick:F,type:"button","aria-label":e.backMode==="back"?i("Go back"):i("Main menu"),children:a("i",{className:e.backMode==="back"?"icon-chevron-left":o.uiState.viewerMode?"icon-home":"icon-menu"})}),a("div",{className:"search-box__input-wrapper",children:e.shouldShowSearchInput?a("input",{ref:p,type:"search",className:"search-box__input",placeholder:h?I:e.placeholder,"aria-label":"Search",value:e.searchText,onChange:y,onKeyDown:w,onFocus:M,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",disabled:o.uiState.setKioskModeEnabled}):f("div",{className:"search-box__title",children:[e.searchBoxIcon&&a("i",{className:b("search-box__title-icon",e.searchBoxIcon)}),f("div",{className:"search-box__title-content",children:[a("strong",{className:"search-box__title-text",children:e.searchBoxTitle}),e.searchBoxSubtitle&&a("span",{className:"search-box__title-subtitle",children:e.searchBoxSubtitle})]}),e.searchBoxBadge?a(P,{variant:"lightgray",size:"md",rounded:!0,noMargins:!0,children:e.searchBoxBadge}):null]})}),!e.shouldShowSearchInput&&e.searchBoxActions.map(t=>a("button",{className:"search-box__button search-box__button--ui-action",onClick:t.handler,type:"button","aria-label":t.label,title:t.label,children:a("i",{className:t.icon})},t.id)),a("button",{className:"search-box__button search-box__button--action",onClick:e.shouldShowSearchInput?e.shouldShowCloseButton?x:A:x,type:"button","aria-label":e.ariaLabel,children:a("i",{className:e.actionButtonIcon})})]}))}export default R;
@@ -1 +1 @@
1
- import{useCallback as A,useRef as e}from"react";import{hasMeaningfulChange as O,MOVE_THRESHOLD_M as E,normalizeHeading as v}from"./utils";import H from"../../tools/logger";import{distance as L}from"../../utils/gps";const _=120,C=3e3,G=360;export function useUserLocationAndHeading(g){const o=e(null),s=e(null),f=e(0),u=e(null),d=e(!1),t=e(null),a=e(!1),l=e(null),h=n=>g(n),m=n=>{const r=Date.now();if(r-f.current<_)return;const i=u.current;if(!t.current){t.current=n,f.current=r,u.current=n,h(n);return}const w=L(t.current.lat,t.current.lng,n.lat,n.lng);let c;a.current?w<=E?(a.current=!1,t.current=n,c={...t.current,heading:n.heading}):(t.current=n,c=n):w>=E?(a.current=!0,t.current=n,l.current=null,c=n):(l.current==null&&(l.current=r),r-l.current>C&&(t.current=n),c={...t.current,heading:n.heading}),!(i&&!O(i,c))&&(f.current=r,u.current=c,h(c))},R=A(n=>{const r=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(r==null)return;const i=v(r);s.current!==i&&(s.current=i,u.current&&m({...u.current,heading:i}))},[g]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{m({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>H.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{d.current||(d.current=!0,window.addEventListener("deviceorientation",R,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),t.current=null,a.current=!1},stopOrientation:()=>{d.current=!1,window.removeEventListener("deviceorientation",R,!0)}}}
1
+ import{useCallback as v,useRef as e}from"react";import{hasMeaningfulChange as A,MOVE_THRESHOLD_M as E,normalizeHeading as O}from"./utils";import H from"../../tools/logger";import{haversineDistance as L}from"../../utils/haversineDistance";const _=120,C=3e3,G=360;export function useUserLocationAndHeading(g){const o=e(null),s=e(null),f=e(0),u=e(null),d=e(!1),t=e(null),a=e(!1),l=e(null),h=n=>g(n),m=n=>{const r=Date.now();if(r-f.current<_)return;const i=u.current;if(!t.current){t.current=n,f.current=r,u.current=n,h(n);return}const w=L(t.current.lat,t.current.lng,n.lat,n.lng);let c;a.current?w<=E?(a.current=!1,t.current=n,c={...t.current,heading:n.heading}):(t.current=n,c=n):w>=E?(a.current=!0,t.current=n,l.current=null,c=n):(l.current==null&&(l.current=r),r-l.current>C&&(t.current=n),c={...t.current,heading:n.heading}),!(i&&!A(i,c))&&(f.current=r,u.current=c,h(c))},R=v(n=>{const r=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(r==null)return;const i=O(r);s.current!==i&&(s.current=i,u.current&&m({...u.current,heading:i}))},[g]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{m({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>H.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{d.current||(d.current=!0,window.addEventListener("deviceorientation",R,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),t.current=null,a.current=!1},stopOrientation:()=>{d.current=!1,window.removeEventListener("deviceorientation",R,!0)}}}
@@ -1 +1 @@
1
- import{distance as e}from"../../utils/gps";export const MOVE_THRESHOLD_M=3;export function normalizeHeading(n){return Math.floor(n)}export function hasMeaningfulChange(n,t){return e(n.lat,n.lng,t.lat,t.lng)>=MOVE_THRESHOLD_M?!0:n.heading!==t.heading}
1
+ import{haversineDistance as e}from"../../utils/haversineDistance";export const MOVE_THRESHOLD_M=3;export function normalizeHeading(n){return Math.floor(n)}export function hasMeaningfulChange(n,t){return e(n.lat,n.lng,t.lat,t.lng)>=MOVE_THRESHOLD_M?!0:n.heading!==t.heading}
@@ -1 +1 @@
1
- import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as R}from"react-dom/client";import{install as I}from"resize-observer";import V from"./components/Layout";import $ from"./floorplan.loader";import{applyParameters as M,destroyHistory as j,initRouting as z}from"./services/routing";import t from"./store";import{Route as S,findBooth as x,separateExternalIds as E}from"./store/RouteStore";import{destroyUiHandlers as G}from"./store/init/init-ui";import{GaEventActions as P,destroyGtag as _,sendEventToGa as w,setConsentSettings as q}from"./tools/gtag";import N from"./tools/report-error";import{resetGlobalVariables as Y}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as v}from"./data/fpGeo";import{convertLocalToGps as O,isValidPointCoords as d}from"./utils/gps";import m from"./core/Rect";import{mapEntity as y}from"./utils/mapEntity";import{LANG_KEY as X,MAX_ROUTE_WAYPOINTS as p,PATHWAY_KEY as U}from"./constants";import{getStorage as B}from"./utils/entity-storage";import{ErrorBoundary as D}from"@sentry/react";import{POISelectorsSchema as F,BoundsSchema as K,ZoomToOptionsSchema as A}from"./schemas/sdk.schemas";import W from"debug";import{buildOptimizedRoute as Q}from"./utils/buildOptimizedRoute";import{hasLocale as Z,getLocales as J}from"./utils/i18n";const b=W("efp:api");I();export default class ee extends ${root;init(){this.ignoreQuery||z(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),w(P.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),w(P.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const i=t.boothStore.booths.filter(o=>typeof e=="string"?o.name===e||o.externalId===e:e.includes(o.name)||e.includes(o.externalId));t.selectBooth(i)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const i=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!i?.length)return;if(typeof e=="string"){t.selectExhibitor(i[0]),t.moveToList([i[0]]);return}const o=i.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=o.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:o[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:i,query:{key:"exhibitors",value:i.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:i,exhibitorExternalIds:o}=E(e);t.boothStore.highlightedByExternalIds=[...i],t.exhibitorStore.highlightedByExternalIds=[...o]}selectRoute(e,i){if(Array.isArray(e)){let o=[...e];const n=o.shift(),s=o.pop();if(o.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new S(f(n),f(s),o.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new S(f(e),f(i)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);const i=e.map(f).filter(n=>!!n);if(!i.length)throw new Error("No booths found for the provided waypoints.");const o=new Map;for(const n of i){const s=n.layer?.name??"",r=o.get(s);r?r.push(n):o.set(s,[n])}return Array.from(o.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,i,o){const n=d(e.x)&&d(e.y),s=d(e.lng)&&d(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,i,o),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(i=>{const o=t.exhibitorStore.exhibitors.find(n=>n.name===i.name||n.externalId===i.externalId);o&&(o.bookmarked=i.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const i=["exhibitor","event","speaker","booth"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesBookmarks",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000702");return}const n=B("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const i=["exhibitor","event"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesVisited",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000704");return}const n=B("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,i=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,i)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,i){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),i||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,i)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>y(e))}boothsList(){return t.boothStore.booths.map(e=>y(e))}categoriesList(){return t.categoryStore.categories.map(e=>y(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const i=e?.toLowerCase(),o=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===i||s?.toLowerCase()===i);if(!o){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(o)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.mapboxStore.activateMapbox()}zoomTo(e,i){b("zoomTo called with selectors=%O options=%O",e,i);const o=F.safeParse(e);if(!o.success){a("zoomTo",o.error.message,"EFP001600");return}const n=A.safeParse(i);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,i)}getBounds(e){b("getBounds called with selectors=%O",e);const i=F.safeParse(e);if(!i.success){a("getBounds",i.error.message,"EFP001400");return}const o=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&o.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&o.push(l.rect)})}),o.length===0)return;const n=m.fromMultiple(o);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,i){if(b("fitBounds called with bounds=%O options=%O",e,i),!e){t.uiState.fitBounds();return}const o=K.safeParse(e);if(!o.success){a("fitBounds",o.error.message,"EFP001500");return}const n=A.safeParse(i);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(i?.padding){const r=i.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),x(e)?.rect}convertToGeo(e,i){if(!v?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!i){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,i,v.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),j(),G(),_(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(i=>({item:y(i.item),score:i.score}))))}getFloors(){return t.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const i=this.getFloors();if(e.name){const o=i.find(n=>n.name===e.name||n.shortName===e.name);if(!o){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(o.active)return;this.updateLayerVisibility(o.name,!0);return}if(e.index!==null){const o=i.find(s=>s.index===e.index),n=o?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(o.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,i){const o=new URLSearchParams;if(o.set(U,e),i?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=E(i);n.length>0&&o.set("booths",n.join(",")),s.length>0&&o.set("exhibitors",s.join(","))}this.applyParameters(o.toString())}showPathwayOnly(e,i){this.activateFloor({name:i}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const o=t.layerStore.findLayer(e),n=t.layerStore.findLayer(i),s=o?.rect||o?.viewbox?o:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const i=e?.toLowerCase?.();if(!Z(i)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const o=new URLSearchParams;o.set(X,i),this.applyParameters(o.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?x(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,i){const o=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://developer.expofp.com/guide/java-script-api-reference";if(i&&(s+=`#error-${i}`),console.error(`${o} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:o,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
1
+ import{jsx as g,Fragment as L,jsxs as C}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as R}from"react-dom/client";import{install as I}from"resize-observer";import V from"./components/Layout";import $ from"./floorplan.loader";import{applyParameters as M,destroyHistory as j,initRouting as z}from"./services/routing";import t from"./store";import{Route as S,findBooth as x,separateExternalIds as E}from"./store/RouteStore";import{destroyUiHandlers as G}from"./store/init/init-ui";import{GaEventActions as P,destroyGtag as _,sendEventToGa as w,setConsentSettings as q}from"./tools/gtag";import N from"./tools/report-error";import{resetGlobalVariables as Y}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as v}from"./data/fpGeo";import{convertLocalToGps as O,isValidPointCoords as d}from"./utils/gps";import m from"./core/Rect";import{mapEntity as y}from"./utils/mapEntity";import{LANG_KEY as X,MAX_ROUTE_WAYPOINTS as p,PATHWAY_KEY as U}from"./constants";import{getStorage as B}from"./utils/entity-storage";import{ErrorBoundary as D}from"@sentry/react";import{POISelectorsSchema as F,BoundsSchema as K,ZoomToOptionsSchema as A}from"./schemas/sdk.schemas";import W from"debug";import{optimizeWaypointOrder as Q}from"./wayfinding/core/routing/optimizeWaypointOrder";import{hasLocale as Z,getLocales as J}from"./utils/i18n";const b=W("efp:api");I();export default class ee extends ${root;init(){this.ignoreQuery||z(this.offHistory),H("load"),t.fp=this,q(this.allowConsent),w(P.Load,""),this.root=R(this.renderTarget),this.root.render(g(D,{children:g(V,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),w(P.Rendered,""),T(()=>t.layerStore.layersLoaded,()=>{this.resolveReady(),t.initialized||this.onInit?.(this),t.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const i=t.boothStore.booths.filter(o=>typeof e=="string"?o.name===e||o.externalId===e:e.includes(o.name)||e.includes(o.externalId));t.selectBooth(i)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null;return}const i=t.exhibitorStore.exhibitors.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));if(!i?.length)return;if(typeof e=="string"){t.selectExhibitor(i[0]),t.moveToList([i[0]]);return}const o=i.flatMap(s=>s.booths.map(r=>r.layer)),{description:n}=o.reduce((s,r)=>(s.freq[r.description]=(s.freq[r.description]||0)+1,s.freq[r.description]>s.maxCount&&(s.maxCount=s.freq[r.description],s.mostFrequent=r),s),{freq:{},mostFrequent:o[0],maxCount:0}).mostFrequent;t.layerStore.updateVisibility(n,!0),t.uiState.menu=!1,t.searchStore.resetSearchBox(),t.uiState.details=null,t.uiState.list={type:"filter",items:i,query:{key:"exhibitors",value:i.map(s=>s.externalId).join(",")}},t.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),t.boothStore.highlightedByExternalIds=[],t.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),t.exhibitorStore.highlightedByExternalIds=[],t.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:i,exhibitorExternalIds:o}=E(e);t.boothStore.highlightedByExternalIds=[...i],t.exhibitorStore.highlightedByExternalIds=[...o]}selectRoute(e,i){if(Array.isArray(e)){let o=[...e];const n=o.shift(),s=o.pop();if(o.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);if(!n||!s){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}t.routeStore.selectRoute(new S(f(n),f(s),o.map(f)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),t.routeStore.selectRoute(new S(f(e),f(i)))}getOptimizedRoutes(e){if(!Array.isArray(e))return a("getOptimizedRoutes","Parameter must be an array.","EFP000500"),[];if(e.length>p)throw new Error(`The maximum number of waypoints is ${p}.`);const i=e.map(f).filter(n=>!!n);if(!i.length)throw new Error("No booths found for the provided waypoints.");const o=new Map;for(const n of i){const s=n.layer?.name??"",r=o.get(s);r?r.push(n):o.set(s,[n])}return Array.from(o.values()).map(n=>({waypoints:Q(n.map(s=>[s.name,{cx:s.rect.cx,cy:s.rect.cy}]))}))}selectCurrentPosition(e,i,o){const n=d(e.x)&&d(e.y),s=d(e.lng)&&d(e.lat);!n&&!s&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),t.routeStore.selectCurrentPosition(e,i,o),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(i=>{const o=t.exhibitorStore.exhibitors.find(n=>n.name===i.name||n.externalId===i.externalId);o&&(o.bookmarked=i.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const i=["exhibitor","event","speaker","booth"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesBookmarks",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000702");return}const n=B("bookmarked"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceBookmarked(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceBookmarked(r)},speaker:{existingIds:new Set(n.speakers||[]),finder:r=>t.speakerStore.speakers.find(l=>l.name===r||l.externalId===r||l.slug===r),replacer:r=>t.speakerStore.replaceBookmarked(r)},booth:{existingIds:new Set(n.booths||[]),finder:r=>{const l=t.boothStore.findBooth(r);return l?.exhibitors.length===0?l:void 0},replacer:r=>t.boothStore.replaceBookmarked(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const i=["exhibitor","event"],o=e.find(r=>!r.type||!i.includes(r.type));if(o){a("setEntitiesVisited",`Invalid entity type: ${o.type}. Must be one of: ${i.join(", ")}.`,"EFP000704");return}const n=B("visited"),s={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:r=>t.exhibitorStore.findExhibitor(r),replacer:r=>t.exhibitorStore.replaceVisited(r)},event:{existingIds:new Set(n.events||[]),finder:r=>t.eventStore.findByNameOrSlug(r),replacer:r=>t.eventStore.replaceVisited(r)}};e.forEach(r=>{const l=s[r.type],h=r.name||r.externalId||"",c=l.finder(h);c?r.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${r.type} with query "${h}"`)}),Object.values(s).forEach(r=>{r.replacer(Array.from(r.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}t.routeStore.setMarkers(e)}selectMarker(e,i=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),t.routeStore.selectMarker(e,i)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),t.uiState.debugCircles=e}checkRoutes(){t.routeStore.checkRoutes()}updateLayerVisibility(e,i){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),i||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),t.layerStore.updateVisibility(e,i)}getCenterCoordinates(){return t.fp.getCenterCoordinates()}exhibitorsList(){return t.exhibitorStore.exhibitors.map(e=>y(e))}boothsList(){return t.boothStore.booths.map(e=>y(e))}categoriesList(){return t.categoryStore.categories.map(e=>y(e))}selectCategory(e){if(e==null||typeof e!="string"){t.searchStore.selectSearch();return}const i=e?.toLowerCase(),o=t.categoryStore.categories.find(({name:n,slug:s})=>n?.toLowerCase()===i||s?.toLowerCase()===i);if(!o){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}t.selectCategory(o)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return t.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),t.uiState.setVisibility(e)}findLocation(){t.routeStore.findLocation()}zoomIn(){t.uiState.zoomIn()}zoomOut(){t.uiState.zoomOut()}switchView(){t.mapboxStore.activateMapbox()}zoomTo(e,i){b("zoomTo called with selectors=%O options=%O",e,i);const o=F.safeParse(e);if(!o.success){a("zoomTo",o.error.message,"EFP001600");return}const n=A.safeParse(i);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const s=this.getBounds(e);s&&this.fitBounds(s,i)}getBounds(e){b("getBounds called with selectors=%O",e);const i=F.safeParse(e);if(!i.success){a("getBounds",i.error.message,"EFP001400");return}const o=[];if(e.booths?.forEach(s=>{let r;s.externalId?r=t.boothStore.boothByExternalId.get(s.externalId):s.name&&(r=t.boothStore.boothByName.get(s.name.toLowerCase())),r?.rect&&o.push(r.rect)}),e.exhibitors?.forEach(s=>{let r;s.externalId?r=t.exhibitorStore.exhibitorByExternalId.get(s.externalId):s.name&&(r=t.exhibitorStore.exhibitorByName.get(s.name.toLowerCase())),r?.booths?.forEach(l=>{l.rect&&o.push(l.rect)})}),o.length===0)return;const n=m.fromMultiple(o);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,i){if(b("fitBounds called with bounds=%O options=%O",e,i),!e){t.uiState.fitBounds();return}const o=K.safeParse(e);if(!o.success){a("fitBounds",o.error.message,"EFP001500");return}const n=A.safeParse(i);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let s;if(i?.padding){const r=i.padding;s=m.fromX1y1x2y2(e.leftTop.x-r,e.leftTop.y-r,e.rightBottom.x+r,e.rightBottom.y+r)}else s=m.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);t.uiState.moveToRect=s}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),x(e)?.rect}convertToGeo(e,i){if(!v?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!i){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return O(e,i,v.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;Y(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",N),j(),G(),_(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),t.fuzzySearchEngineStore.loadEngine().then(()=>(t.searchStore.selectSearch(e),t.uiState.fuzzySearchItems.map(i=>({item:y(i.item),score:i.score}))))}getFloors(){return t.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const i=this.getFloors();if(e.name){const o=i.find(n=>n.name===e.name||n.shortName===e.name);if(!o){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(o.active)return;this.updateLayerVisibility(o.name,!0);return}if(e.index!==null){const o=i.find(s=>s.index===e.index),n=o?.name;if(!n){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(o.active)return;this.updateLayerVisibility(n,!0);return}}showPathway(e,i){const o=new URLSearchParams;if(o.set(U,e),i?.length){const{boothExternalIds:n,exhibitorExternalIds:s}=E(i);n.length>0&&o.set("booths",n.join(",")),s.length>0&&o.set("exhibitors",s.join(","))}this.applyParameters(o.toString())}showPathwayOnly(e,i){this.activateFloor({name:i}),t.layerStore.showPathWay(e),t.uiState.setPathwayOnlyMode(!0);const o=t.layerStore.findLayer(e),n=t.layerStore.findLayer(i),s=o?.rect||o?.viewbox?o:n;if(s?.rect||s?.viewbox){const r=s.viewbox??s.rect;t.uiState.moveToRect=m.fromX1y1x2y2(r.x1,r.y1,r.x2,r.y2)}}hidePathways(){this.highlightBooths([]),t.layerStore.hidePathways(),t.uiState.setPathwayOnlyMode(!1)}showSearch(){t.selectSearch("")}changeLanguage(e){const i=e?.toLowerCase?.();if(!Z(i)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${J().map(n=>n.id).join(",")}`,"EFP001300");return}const o=new URLSearchParams;o.set(X,i),this.applyParameters(o.toString())}isGpsTrackingEnabled(){return t.routeStore.gpsEnabled}setGpsTrackingEnabled(e){t.routeStore.setGpsTrackingEnabled(e)}deselectCurrentPosition(){t.routeStore.selectCurrentPosition(null,!1)}deselectRoute(){t.routeStore.selectRoute(null),t.routeStore.setOnlyAccessible(!1)}reset(){this.selectBooth(""),this.selectExhibitor(""),this.selectCategory(),this.deselectCurrentPosition(),this.deselectRoute(),this.highlightEntities([]),t.uiState.kioskData&&t.resetCameraFn?t.resetCameraFn?.():this.fitBounds()}selectAccessibleRoute(e){t.routeStore.setOnlyAccessible(!0),this.selectRoute(e)}}function f(u){return typeof u=="string"?x(u):t.routeStore.getNearestBooth(u)}let k=0;function a(u,e,i){const o=`Error calling "${u}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let s="https://developer.expofp.com/guide/java-script-api-reference";if(i&&(s+=`#error-${i}`),console.error(`${o} ${n} ${s}`),t.fp.disableRuntimeAlerts)return;t.uiState.setGlobalErrorMessage({title:o,body:C(L,{children:[n," ",g("a",{href:s,target:"_blank",rel:"noreferrer",children:s})]})}),clearTimeout(k);const r=8e3;k=window.setTimeout(()=>{const l=async()=>{t.uiState.globalErrorMessages.length>0&&(t.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,r/2)),l())};l()},r)}
@@ -1,19 +1 @@
1
- const c="k5f7wyx2";let a=!1;function s(){if(document.getElementById("efp-intercom-position"))return;const e=document.createElement("style");e.id="efp-intercom-position",e.textContent=`
2
- .intercom-namespace,
3
- .intercom-lightweight-app,
4
- .intercom-app,
5
- [class*="intercom-with-namespace-"]:not(.intercom-messenger-frame) {
6
- z-index: 20 !important;
7
- }
8
- .intercom-lightweight-app-launcher,
9
- .intercom-app > [class*="intercom-with-namespace-"]:not(.intercom-messenger-frame) {
10
- right: 10px !important;
11
- bottom: 50px !important;
12
- }
13
- @media (max-width: 767px) {
14
- .intercom-lightweight-app-launcher,
15
- .intercom-app > [class*="intercom-with-namespace-"]:not(.intercom-messenger-frame) {
16
- bottom: 80px !important;
17
- }
18
- }
19
- `,document.head.appendChild(e)}export function bootIntercom(e){if(a)return;a=!0;const{subDomain:m,subscriptionStatus:r}=e,i=window;i.intercomSettings={api_base:"https://api-iam.intercom.io",app_id:c,alignment:"right",expofp_subdomain:m,expofp_subscription_status:r},s();const n=function(){n.c(arguments)};n.q=[],n.c=function(t){n.q.push(t)},i.Intercom=n;const o=()=>{const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=`https://widget.intercom.io/widget/${c}`,document.head.appendChild(t)};document.readyState==="complete"?o():window.addEventListener("load",o,!1)}
1
+ import{intercomStore as i}from"../store";const s="k5f7wyx2";let a=!1;export function bootIntercom(c){if(a)return;a=!0;const{subDomain:r,subscriptionStatus:d}=c,n=window;n.intercomSettings={api_base:"https://api-iam.intercom.io",app_id:s,alignment:"right",hide_default_launcher:!0,expofp_subdomain:r,expofp_subscription_status:d};const e=function(){e.c(arguments)};e.q=[],e.c=function(t){e.q.push(t)},n.Intercom=e,e("onUnreadCountChange",t=>i.setUnreadCount(t));const o=()=>{const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=`https://widget.intercom.io/widget/${s}`,t.onload=()=>i.setEnabled(!0),document.head.appendChild(t)};document.readyState==="complete"?o():window.addEventListener("load",o,!1)}
@@ -1 +1 @@
1
- import{createBrowserHistory as oe}from"history";import{autorun as O,reaction as k}from"mobx";import{handleCustomCommand as A}from"../utils/customCommands";import{BUILD_ROUTE_KEY as se,KIOSK_ENABLE_KEY as F,MAP_SETTINGS_KEY as re,PREVIEW_MODE_QUERY as E,PREVIEW_MODE_STORAGE_KEY as $,SEPARATOR as R,PATHWAY_KEY as N,PLANNER_KEY as P,PLANNER_SOURCE_KEY as W,PLANNER_FROM_KEY as K,LANG_KEY as Y,UI_SCALE_PARAM_KEY as V,UI_SCALE_RESET_PARAM_KEY as H,VIEWER_MODE_QUERY as I,VIEWER_MODE_STORAGE_KEY as G,LANGUAGE_TYPE as x}from"../constants";import v from"../data";import s,{uiState as i}from"../store";import{CurrentPosition as ae,extractRoute as ie,findBooth as le}from"../store/RouteStore";import{setConsentSettings as D}from"../tools/gtag";import U from"../tools/logger";import{isLocalStorageAvailable as L}from"../utils/localStorage";import{yahKey as ne}from"../utils/yah";import{areLayersEnabled as ce}from"../utils/areLayersEnabled";import ue from"../core/Rect";import{getMostFrequent as he}from"../utils/getMostFrequent";import{runInAction as z}from"mobx";import{recoverKioskFromUrlPrams as fe}from"../components/Kiosk/recoverKioskFromUrlPrams";import{hasLocale as de,setLocale as me}from"../utils/i18n";let m=!1,C=!1,j=null,q=null,Q=null,J;const h=oe(),_=window.location.pathname,S=[];export function getLocationHistory(){return S}function b(t){return _+t}function pe(t){m||h.push(b(t))}export function historyReplace(t){m||h.push(b(t))}function f(t){return t.replace(/=&/g,"&").replace(/=$/,"")}function X(){let t="";const l=i.selectedExhibitor,a=i.selectedBooth,e=i.selectedEventItem,o=i.selectedRoute,r=i.selectedSpeaker,n=i.setKioskModeEnabled;if(i.list.type==="route-planner"&&!l&&!a&&!e){const d=s.routePlannerStore;if(d.source==="bookmarks")t=`${P}&${W}=bookmarks`;else{const w=d.items.map(g=>g.entity.slug).filter(Boolean).join(R);t=`${P}=${w}`}const p=d.startPoint?.slug;p&&(t+=`&${K}=${p}`)}else if(o&&!i.isMultiPointRoute){const d=o.from?`:${o.from.slug}`:"",p=o.to?`:${o.to.slug}`:"",w=s.routeStore.onlyAccessible?":true":":false",g=o.waypoints?.map(u=>`:${u.slug}`).join("");t=`route${p}${d}${w}${g||""}`}else if(l)t=l.slug;else if(a)t=a.slug;else if(e)t=e.slug;else if(r)t=r.slug;else if(n)t="";else switch(i.list.type){case"bookmarks":t="bookmarks";break;case"visited":t="visited";break;case"category":t=i.selectedCategory.slug;break;case"search":t=i.list.text||"";break;case x:t=x;break;case"filter":t=`${i.list.query.key}=${i.list.query.value}`;break;case"sessions":t="sessions";break;case"exhibitors":t="exhibitors";break;case"speakers":t="speakers";break;case"tours":t="tours";break;case"multi-point-tour":t=`tour=${i.list.tourId}`;break;default:throw new Error("Unkown list.type")}if(C)return;const c=t?"?"+encodeURIComponent(t):"";h.location.search!==c&&(l!==j||a!==q||e!==Q?pe(c):historyReplace(c),j=l,q=a,Q=e)}function Z(){const t=i.selectedExhibitor,l=i.selectedEventItem,a=i.selectedSpeaker;let e="";t?e=t.name:l?e=l.name:a?e=a.name:i.list.type==="search"&&i.list.text?e="`"+(i.list.text||"")+"`":i.list.type==="multi-point-tour"&&i.tourTitle&&(e=i.tourTitle),e.length&&(e+=" \u2013 "),e+=v.title,v.subtitle&&(e+=" \u2013 "+v.subtitle),e+=" \u2013 Expo Floor Plan by ExpoFP",document.title=e}function B(){const t=h.location.search.length>1?decodeURIComponent(h.location.search.substring(1)):"";return A(t,!1)}function y(){const t=h.location.search.length>1?decodeURIComponent(h.location.search.substring(1)):"";C=!0;const l=s.boothStore.booths.find(e=>e.slug?.toLowerCase()===t?.toLowerCase()||e.externalId?.toLowerCase()===t?.toLowerCase()||e.externalId?.toLowerCase()?.replace(/\s+/g,"")===t?.toLowerCase()),a=new URLSearchParams(decodeURIComponent(window.location.search));if(fe(a),ge(a),!B())if(a.has("yah")){const e=a.get("yah");A(`${ne} ${e}`,!0)}else if(a.has(F)){const e=a.get(F);e==="1"?i.kiosk=!0:e==="0"&&(i.kiosk=!1,i.resetUIScale())}else if(t==="tours")s.selectTours();else if(t.startsWith("tour=")){const e=t.split("=")[1],o=s.toursStore.getTourById(e);o?s.toursStore.launchTour(o,o.name,o.description):(console.warn(`Route with id "${e}" not found`),s.selectTours())}else if(a.has(P)){const e=a.get(W),o=a.get(K),r=o?le(o):null;if(e==="bookmarks")s.routePlannerStore.launchFromBookmarks(r??void 0);else{const n=(a.get(P)||"").split(R).filter(Boolean);s.routePlannerStore.launchFromSlugs(n,r??void 0)}}else if(t.startsWith("route")){const e=t.split(R);s.routeStore.setOnlyAccessible(e[3]==="true");const o=ie(e[2],e[1],e.slice(4));s.routeStore.selectRoute(o);const n=e.slice(4).length>0;s.uiState.setIsMultiPointRoute(n);const d=new URLSearchParams(window.location.search).get("title");d&&s.uiState.setRouteTitle(d)}else if(t==="bookmarks")s.selectBookmarks();else if(t==="visited")s.selectVisited();else if(t===x)s.selectLanguage();else if(a.has(Y)){const e=a.get(Y)?.toLowerCase();de(e)&&me(e)}else if(t==="sessions")s.selectSessions();else if(t==="exhibitors")s.selectExhibitors();else if(t==="speakers")s.selectSpeakers();else if(t==="-pdf")s.uiState.printingPdf=!0;else if(t.startsWith("hide"))s.uiState.setVisibility(new URLSearchParams(t).get("hide").split(",").filter(Boolean).reduce((e,o)=>({...e,[o]:!1}),{}));else if(l)setTimeout(()=>s.selectBooth(l),250);else if(t===se)s.uiState.startBuildRoute();else if(a.get(N)){const e=a.get(N),o=a.get("booths")?.split(",")||[],r=a.get("exhibitors")?.split(",")||[],n=a.get("tour");if(n){const u=s.toursStore.getTourById(n);u&&z(()=>{s.uiState.setTourTitle(u.name),s.uiState.setTourDescription(u.description),s.uiState.setIsMultiPointTour(!0),s.uiState.setMultiPointTourList(u.id)})}const c=s.boothStore.booths,d=s.exhibitorStore.exhibitors,p=c.filter(u=>o.includes(u.externalId)),w=d.filter(u=>r.includes(u.externalId)).flatMap(u=>u.booths),g=[...p,...w];if(ce()){const u=g.map(te=>te.layer.name),M=he(u);M&&s.fp.activateFloor({name:M})}(o.length>0||r.length>0)&&s.fp.highlightEntities([...o,...r]),s.layerStore.showPathWay(e),g.length>0&&z(()=>{s.uiState.moveToRect=ue.fromMultiple(g.map(u=>u.rect).filter(Boolean)),s.uiState.rollReset=!0})}else{const e=s.eventStore.eventItems.find(o=>o.slug?.toLowerCase()===t?.toLowerCase()||o.externalId?.toLowerCase()===t?.toLowerCase());if(e)s.selectEventItem(e,!0);else{const o=s.exhibitorStore.exhibitors.find(r=>r.slug?.toLowerCase()===t?.toLowerCase()||r.externalId?.toLowerCase()===t?.toLowerCase());if(t.startsWith("exhibitors")){const r=t.split("=")[1].split(",");setTimeout(()=>s.fp.selectExhibitor(r),250)}else if(o)setTimeout(()=>s.clickExhibitor(o),250);else if(t.includes("=")&&(t.startsWith("categories=")||t.startsWith("poiType=")))U.log("Skipping filter parameter in dispatchFromUrl:",t);else{const n=s.categoryStore.categories.find(c=>c.slug===t);if(n)s.selectCategory(n);else{const c=s.speakerStore.findBySlug(t);c?s.selectSpeaker(c,!0):t.includes("heatmap=true")||s.searchStore.selectSearch(t)}}}}C=!1,X(),Z()}function T(){const t=h.location.search;if(t.includes("heatmap")){const e=new URL(window.location.href);if(e.searchParams.get("heatmap")==="true")if(e.searchParams.get("type")==="yah"){let r=f(e.search);m=!0,historyReplace(r),s.uiState.heatmapYah=!0,s.uiState.monochrome=!0,s.uiState.hideLogoInBooth=!0,s.uiState.hideHeaderLogo=!0,s.uiState.disableBookmarked=!0}else{e.searchParams.delete("heatmap");let r=f(e.search);m=!0,historyReplace(r),s.uiState.heatmap=!0}}if(t.startsWith("?preview="))historyReplace("?");else if(t.startsWith("?b="))historyReplace("?bookmarks");else if(t.startsWith("?ba=")){const e=new URL(window.location.href),o=parseInt(e.searchParams.get("ba")),r=s.exhibitorStore.exhibitorById.get(o);historyReplace(r?"?"+r.slug:"?bookmarks")}else t.startsWith("?mapbox=false")&&(s.mapboxStore.isMapbox=!1,historyReplace("?"));if(t.includes("blue-dot")){const e=new URL(window.location.href),o=e.searchParams.get("blue-dot").split(",");if(e.searchParams.delete("blue-dot"),o.length>1){const n=s.layerStore.findLayer(o[2])?.name,c=new ae(Number(o[0])||void 0,Number(o[1])||void 0,n,void 0,Number(o[3])||void 0,Number(o[4])||void 0);s.layerStore.layersLoaded?s.routeStore.selectCurrentPosition(c,!1,1):k(()=>s.layerStore.layersLoaded,()=>{s.routeStore.selectCurrentPosition(c,!1,1)})}let r=f(e.search);historyReplace(r)}if(t.includes("copy_exh")){const e=new URL(window.location.href),o=e.searchParams.get("copy_exh");e.searchParams.delete("copy_exh"),historyReplace("?")}if(t.includes("noOverlay")){const e=new URL(window.location.href),o=e.searchParams.get("noOverlay");e.searchParams.delete("noOverlay");let r=f(e.search);o==="true"?s.uiState.hideOverlay=!0:o==="false"&&(s.uiState.hideOverlay=!1),historyReplace(r)}if(t.includes("allowConsent")){const e=new URL(window.location.href),o=e.searchParams.get("allowConsent");e.searchParams.delete("allowConsent");const r=f(e.search);o==="true"?D(!0):o==="false"&&D(!1),historyReplace(r)}if(t.includes("hideHeaderLogo")){const e=new URL(window.location.href),o=e.searchParams.get("hideHeaderLogo");e.searchParams.delete("hideHeaderLogo");const r=f(e.search);o==="true"&&(i.hideHeaderLogo=!0),historyReplace(r)}if(t.includes("hideLogoInBooth")){const e=new URL(window.location.href),o=e.searchParams.get("hideLogoInBooth");e.searchParams.delete("hideLogoInBooth");const r=f(e.search);o==="true"&&(i.hideLogoInBooth=!0),historyReplace(r)}if(t.includes("disableFeatured")){const e=new URL(window.location.href),o=e.searchParams.get("disableFeatured");e.searchParams.delete("disableFeatured");const r=f(e.search);o==="true"&&s.exhibitorStore.exhibitors.forEach(n=>n.featured=!1),historyReplace(r)}if(t.includes("disableBookmarked")){const e=new URL(window.location.href),o=e.searchParams.get("disableBookmarked");e.searchParams.delete("disableBookmarked");const r=f(e.search);o==="true"&&(i.disableBookmarked=!0),historyReplace(r)}if(t.includes("disableGps")){const e=new URL(window.location.href),o=e.searchParams.get("disableGps");e.searchParams.delete("disableGps");const r=f(e.search);o==="true"&&s.routeStore.setGpsTrackingEnabled(!1),historyReplace(r)}if(t.includes("monochrome")){const e=new URL(window.location.href),o=e.searchParams.get("monochrome");e.searchParams.delete("monochrome");const r=f(e.search);o==="true"&&(i.monochrome=!0),historyReplace(r)}if((t.startsWith("?fbclid")||t.startsWith("?_ga"))&&historyReplace("?"),t.includes(I)){const e=new URL(window.location.href),o=e.searchParams.get(I);o==="1"||o==="true"?L&&localStorage.setItem(G,"1"):(o==="0"||o==="false")&&L&&localStorage.removeItem(G),e.searchParams.delete(I),historyReplace(f(e.search))}if(t.includes(E)){const e=new URL(window.location.href),o=e.searchParams.get(E);o==="true"?L&&localStorage.setItem($,"1"):o==="false"&&L&&localStorage.removeItem($),e.searchParams.delete(E),historyReplace(f(e.search))}if(i.previewExhibitor&&historyReplace("?"+i.previewExhibitor.slug),h.location.search.includes("&")||h.location.search.includes("%26")){let e=h.location.search;e=e.startsWith("?")?e.slice(1):e;const o=e.includes("&")?"&":"%26",n=e.split(o).map(c=>{const d=s.exhibitorStore.exhibitors.find(p=>p.slug===c||p.externalId===c);return d?d.name:c}).join("&");historyReplace("?"+n)}const l=new URLSearchParams(window.location.search);if(l.has(H)){s.uiState.resetUIScale();const e=new URL(window.location.href);e.searchParams.delete(H);let o=f(e.search);m=!0,historyReplace(o),m=!1}const a=l.get(V);if(a){const e=a.replace(",","."),o=parseFloat(e);!isNaN(o)&&o>=.8&&o<=1.4?s.uiState.setUIScale(o,!0):U.warn(`Invalid ui-scale parameter: ${a}. Must be a number between 0.8 and 1.4.`);const r=new URL(window.location.href);r.searchParams.delete(V);let n=f(r.search);m=!0,historyReplace(n),m=!1}}export function initRouting(t=!1){m=t,!m&&b(h.location.search)===_&&S.push(b(h.location.search)),J=h.listen((l,a)=>{m||(S.push(b(l.search)),U.log("history",a,l),a==="POP"&&y())}),T(),B(),k(()=>s.layerStore.layersLoaded,()=>{s.urlFilterManager&&!s.urlFilterManager.isInitialized&&s.urlFilterManager.initialize(),y(),O(Z),O(X),i.viewerMode&&(i.menu=!0)})}export function applyParameters(t=""){historyReplace("?"+decodeURIComponent(t.toString())),s.layerStore.layersLoaded?(T(),y()):(B(),k(()=>s.layerStore.layersLoaded,()=>{T(),y()}))}export function destroyHistory(){J()}export function goBack(){if(console.log("goBack"),S.length>1){S.pop();const l=S[S.length-1].replace(_,"");return m=!0,h.replace(l),m=!1,y(),!0}else return h.go(-1),!1}function ge(t){try{let l={};const a=i.defaultMapSettings;if(new Set(t.keys()).size)l=ee(Object.fromEntries(t.entries()),a);else{const e=sessionStorage.getItem(re);e&&(l=ee(JSON.parse(e),a))}if(i.setMapSettings(l),l.z){const e=s.layerStore.layers.find(o=>o.name===l.z);e&&s.layerStore.updateVisibility(e,!0)}}catch(l){console.error("Failed to process or save map settings.",l)}}function ee(t,l){const a={};for(const e in t){if(!Object.prototype.hasOwnProperty.call(l,e)||!Object.prototype.hasOwnProperty.call(t,e))continue;const o=t[e];typeof l[e]=="number"&&typeof o=="string"?a[e]=parseFloat(o):a[e]=o}return a}
1
+ import{createBrowserHistory as te}from"history";import{autorun as O,reaction as k}from"mobx";import{handleCustomCommand as oe}from"../utils/customCommands";import{BUILD_ROUTE_KEY as se,KIOSK_ENABLE_KEY as A,MAP_SETTINGS_KEY as re,PREVIEW_MODE_QUERY as E,PREVIEW_MODE_STORAGE_KEY as F,SEPARATOR as R,PATHWAY_KEY as N,PLANNER_KEY as P,PLANNER_SOURCE_KEY as W,PLANNER_FROM_KEY as $,LANG_KEY as K,UI_SCALE_PARAM_KEY as Y,UI_SCALE_RESET_PARAM_KEY as V,VIEWER_MODE_QUERY as I,VIEWER_MODE_STORAGE_KEY as H,LANGUAGE_TYPE as x}from"../constants";import v from"../data";import s,{uiState as i}from"../store";import{CurrentPosition as ae,extractRoute as ie,findBooth as le}from"../store/RouteStore";import{setConsentSettings as G}from"../tools/gtag";import U from"../tools/logger";import{isLocalStorageAvailable as L}from"../utils/localStorage";import{areLayersEnabled as ne}from"../utils/areLayersEnabled";import ce from"../core/Rect";import{getMostFrequent as ue}from"../utils/getMostFrequent";import{runInAction as D}from"mobx";import{recoverKioskFromUrlPrams as he}from"../components/Kiosk/recoverKioskFromUrlPrams";import{hasLocale as fe,setLocale as de}from"../utils/i18n";let m=!1,C=!1,z=null,j=null,q=null,Q;const h=te(),_=window.location.pathname,S=[];export function getLocationHistory(){return S}function b(t){return _+t}function me(t){m||h.push(b(t))}export function historyReplace(t){m||h.push(b(t))}function f(t){return t.replace(/=&/g,"&").replace(/=$/,"")}function J(){let t="";const l=i.selectedExhibitor,a=i.selectedBooth,e=i.selectedEventItem,o=i.selectedRoute,r=i.selectedSpeaker,n=i.setKioskModeEnabled;if(i.list.type==="route-planner"&&!l&&!a&&!e){const d=s.routePlannerStore;if(d.source==="bookmarks")t=`${P}&${W}=bookmarks`;else{const w=d.items.map(g=>g.entity.slug).filter(Boolean).join(R);t=`${P}=${w}`}const p=d.startPoint?.slug;p&&(t+=`&${$}=${p}`)}else if(o&&!i.isMultiPointRoute){const d=o.from?`:${o.from.slug}`:"",p=o.to?`:${o.to.slug}`:"",w=s.routeStore.onlyAccessible?":true":":false",g=o.waypoints?.map(u=>`:${u.slug}`).join("");t=`route${p}${d}${w}${g||""}`}else if(l)t=l.slug;else if(a)t=a.slug;else if(e)t=e.slug;else if(r)t=r.slug;else if(n)t="";else switch(i.list.type){case"bookmarks":t="bookmarks";break;case"visited":t="visited";break;case"category":t=i.selectedCategory.slug;break;case"search":t=i.list.text||"";break;case x:t=x;break;case"filter":t=`${i.list.query.key}=${i.list.query.value}`;break;case"sessions":t="sessions";break;case"exhibitors":t="exhibitors";break;case"speakers":t="speakers";break;case"tours":t="tours";break;case"multi-point-tour":t=`tour=${i.list.tourId}`;break;default:throw new Error("Unkown list.type")}if(C)return;const c=t?"?"+encodeURIComponent(t):"";h.location.search!==c&&(l!==z||a!==j||e!==q?me(c):historyReplace(c),z=l,j=a,q=e)}function X(){const t=i.selectedExhibitor,l=i.selectedEventItem,a=i.selectedSpeaker;let e="";t?e=t.name:l?e=l.name:a?e=a.name:i.list.type==="search"&&i.list.text?e="`"+(i.list.text||"")+"`":i.list.type==="multi-point-tour"&&i.tourTitle&&(e=i.tourTitle),e.length&&(e+=" \u2013 "),e+=v.title,v.subtitle&&(e+=" \u2013 "+v.subtitle),e+=" \u2013 Expo Floor Plan by ExpoFP",document.title=e}function B(){const t=h.location.search.length>1?decodeURIComponent(h.location.search.substring(1)):"";return oe(t)}function y(){const t=h.location.search.length>1?decodeURIComponent(h.location.search.substring(1)):"";C=!0;const l=s.boothStore.booths.find(e=>e.slug?.toLowerCase()===t?.toLowerCase()||e.externalId?.toLowerCase()===t?.toLowerCase()||e.externalId?.toLowerCase()?.replace(/\s+/g,"")===t?.toLowerCase()),a=new URLSearchParams(decodeURIComponent(window.location.search));if(he(a),pe(a),!B())if(a.has(A)){const e=a.get(A);e==="1"?i.kiosk=!0:e==="0"&&(i.kiosk=!1,i.resetUIScale())}else if(t==="tours")s.selectTours();else if(t.startsWith("tour=")){const e=t.split("=")[1],o=s.toursStore.getTourById(e);o?s.toursStore.launchTour(o,o.name,o.description):(console.warn(`Route with id "${e}" not found`),s.selectTours())}else if(a.has(P)){const e=a.get(W),o=a.get($),r=o?le(o):null;if(e==="bookmarks")s.routePlannerStore.launchFromBookmarks(r??void 0);else{const n=(a.get(P)||"").split(R).filter(Boolean);s.routePlannerStore.launchFromSlugs(n,r??void 0)}}else if(t.startsWith("route")){const e=t.split(R);s.routeStore.setOnlyAccessible(e[3]==="true");const o=ie(e[2],e[1],e.slice(4));s.routeStore.selectRoute(o);const n=e.slice(4).length>0;s.uiState.setIsMultiPointRoute(n);const d=new URLSearchParams(window.location.search).get("title");d&&s.uiState.setRouteTitle(d)}else if(t==="bookmarks")s.selectBookmarks();else if(t==="visited")s.selectVisited();else if(t===x)s.selectLanguage();else if(a.has(K)){const e=a.get(K)?.toLowerCase();fe(e)&&de(e)}else if(t==="sessions")s.selectSessions();else if(t==="exhibitors")s.selectExhibitors();else if(t==="speakers")s.selectSpeakers();else if(t==="-pdf")s.uiState.printingPdf=!0;else if(t.startsWith("hide"))s.uiState.setVisibility(new URLSearchParams(t).get("hide").split(",").filter(Boolean).reduce((e,o)=>({...e,[o]:!1}),{}));else if(l)setTimeout(()=>s.selectBooth(l),250);else if(t===se)s.uiState.startBuildRoute();else if(a.get(N)){const e=a.get(N),o=a.get("booths")?.split(",")||[],r=a.get("exhibitors")?.split(",")||[],n=a.get("tour");if(n){const u=s.toursStore.getTourById(n);u&&D(()=>{s.uiState.setTourTitle(u.name),s.uiState.setTourDescription(u.description),s.uiState.setIsMultiPointTour(!0),s.uiState.setMultiPointTourList(u.id)})}const c=s.boothStore.booths,d=s.exhibitorStore.exhibitors,p=c.filter(u=>o.includes(u.externalId)),w=d.filter(u=>r.includes(u.externalId)).flatMap(u=>u.booths),g=[...p,...w];if(ne()){const u=g.map(ee=>ee.layer.name),M=ue(u);M&&s.fp.activateFloor({name:M})}(o.length>0||r.length>0)&&s.fp.highlightEntities([...o,...r]),s.layerStore.showPathWay(e),g.length>0&&D(()=>{s.uiState.moveToRect=ce.fromMultiple(g.map(u=>u.rect).filter(Boolean)),s.uiState.rollReset=!0})}else{const e=s.eventStore.eventItems.find(o=>o.slug?.toLowerCase()===t?.toLowerCase()||o.externalId?.toLowerCase()===t?.toLowerCase());if(e)s.selectEventItem(e,!0);else{const o=s.exhibitorStore.exhibitors.find(r=>r.slug?.toLowerCase()===t?.toLowerCase()||r.externalId?.toLowerCase()===t?.toLowerCase());if(t.startsWith("exhibitors")){const r=t.split("=")[1].split(",");setTimeout(()=>s.fp.selectExhibitor(r),250)}else if(o)setTimeout(()=>s.clickExhibitor(o),250);else if(t.includes("=")&&(t.startsWith("categories=")||t.startsWith("poiType=")))U.log("Skipping filter parameter in dispatchFromUrl:",t);else{const n=s.categoryStore.categories.find(c=>c.slug===t);if(n)s.selectCategory(n);else{const c=s.speakerStore.findBySlug(t);c?s.selectSpeaker(c,!0):t.includes("heatmap=true")||s.searchStore.selectSearch(t)}}}}C=!1,J(),X()}function T(){const t=h.location.search;if(t.includes("heatmap")){const e=new URL(window.location.href);if(e.searchParams.get("heatmap")==="true")if(e.searchParams.get("type")==="yah"){let r=f(e.search);m=!0,historyReplace(r),s.uiState.heatmapYah=!0,s.uiState.monochrome=!0,s.uiState.hideLogoInBooth=!0,s.uiState.hideHeaderLogo=!0,s.uiState.disableBookmarked=!0}else{e.searchParams.delete("heatmap");let r=f(e.search);m=!0,historyReplace(r),s.uiState.heatmap=!0}}if(t.startsWith("?preview="))historyReplace("?");else if(t.startsWith("?b="))historyReplace("?bookmarks");else if(t.startsWith("?ba=")){const e=new URL(window.location.href),o=parseInt(e.searchParams.get("ba")),r=s.exhibitorStore.exhibitorById.get(o);historyReplace(r?"?"+r.slug:"?bookmarks")}else t.startsWith("?mapbox=false")&&(s.mapboxStore.isMapbox=!1,historyReplace("?"));if(t.includes("blue-dot")){const e=new URL(window.location.href),o=e.searchParams.get("blue-dot").split(",");if(e.searchParams.delete("blue-dot"),o.length>1){const n=s.layerStore.findLayer(o[2])?.name,c=new ae(Number(o[0])||void 0,Number(o[1])||void 0,n,void 0,Number(o[3])||void 0,Number(o[4])||void 0);s.layerStore.layersLoaded?s.routeStore.selectCurrentPosition(c,!1,1):k(()=>s.layerStore.layersLoaded,()=>{s.routeStore.selectCurrentPosition(c,!1,1)})}let r=f(e.search);historyReplace(r)}if(t.includes("copy_exh")){const e=new URL(window.location.href),o=e.searchParams.get("copy_exh");e.searchParams.delete("copy_exh"),historyReplace("?")}if(t.includes("noOverlay")){const e=new URL(window.location.href),o=e.searchParams.get("noOverlay");e.searchParams.delete("noOverlay");let r=f(e.search);o==="true"?s.uiState.hideOverlay=!0:o==="false"&&(s.uiState.hideOverlay=!1),historyReplace(r)}if(t.includes("allowConsent")){const e=new URL(window.location.href),o=e.searchParams.get("allowConsent");e.searchParams.delete("allowConsent");const r=f(e.search);o==="true"?G(!0):o==="false"&&G(!1),historyReplace(r)}if(t.includes("hideHeaderLogo")){const e=new URL(window.location.href),o=e.searchParams.get("hideHeaderLogo");e.searchParams.delete("hideHeaderLogo");const r=f(e.search);o==="true"&&(i.hideHeaderLogo=!0),historyReplace(r)}if(t.includes("hideLogoInBooth")){const e=new URL(window.location.href),o=e.searchParams.get("hideLogoInBooth");e.searchParams.delete("hideLogoInBooth");const r=f(e.search);o==="true"&&(i.hideLogoInBooth=!0),historyReplace(r)}if(t.includes("disableFeatured")){const e=new URL(window.location.href),o=e.searchParams.get("disableFeatured");e.searchParams.delete("disableFeatured");const r=f(e.search);o==="true"&&s.exhibitorStore.exhibitors.forEach(n=>n.featured=!1),historyReplace(r)}if(t.includes("disableBookmarked")){const e=new URL(window.location.href),o=e.searchParams.get("disableBookmarked");e.searchParams.delete("disableBookmarked");const r=f(e.search);o==="true"&&(i.disableBookmarked=!0),historyReplace(r)}if(t.includes("disableGps")){const e=new URL(window.location.href),o=e.searchParams.get("disableGps");e.searchParams.delete("disableGps");const r=f(e.search);o==="true"&&s.routeStore.setGpsTrackingEnabled(!1),historyReplace(r)}if(t.includes("monochrome")){const e=new URL(window.location.href),o=e.searchParams.get("monochrome");e.searchParams.delete("monochrome");const r=f(e.search);o==="true"&&(i.monochrome=!0),historyReplace(r)}if((t.startsWith("?fbclid")||t.startsWith("?_ga"))&&historyReplace("?"),t.includes(I)){const e=new URL(window.location.href),o=e.searchParams.get(I);o==="1"||o==="true"?L&&localStorage.setItem(H,"1"):(o==="0"||o==="false")&&L&&localStorage.removeItem(H),e.searchParams.delete(I),historyReplace(f(e.search))}if(t.includes(E)){const e=new URL(window.location.href),o=e.searchParams.get(E);o==="true"?L&&localStorage.setItem(F,"1"):o==="false"&&L&&localStorage.removeItem(F),e.searchParams.delete(E),historyReplace(f(e.search))}if(i.previewExhibitor&&historyReplace("?"+i.previewExhibitor.slug),h.location.search.includes("&")||h.location.search.includes("%26")){let e=h.location.search;e=e.startsWith("?")?e.slice(1):e;const o=e.includes("&")?"&":"%26",n=e.split(o).map(c=>{const d=s.exhibitorStore.exhibitors.find(p=>p.slug===c||p.externalId===c);return d?d.name:c}).join("&");historyReplace("?"+n)}const l=new URLSearchParams(window.location.search);if(l.has(V)){s.uiState.resetUIScale();const e=new URL(window.location.href);e.searchParams.delete(V);let o=f(e.search);m=!0,historyReplace(o),m=!1}const a=l.get(Y);if(a){const e=a.replace(",","."),o=parseFloat(e);!isNaN(o)&&o>=.8&&o<=1.4?s.uiState.setUIScale(o,!0):U.warn(`Invalid ui-scale parameter: ${a}. Must be a number between 0.8 and 1.4.`);const r=new URL(window.location.href);r.searchParams.delete(Y);let n=f(r.search);m=!0,historyReplace(n),m=!1}}export function initRouting(t=!1){m=t,!m&&b(h.location.search)===_&&S.push(b(h.location.search)),Q=h.listen((l,a)=>{m||(S.push(b(l.search)),U.log("history",a,l),a==="POP"&&y())}),T(),B(),k(()=>s.layerStore.layersLoaded,()=>{s.urlFilterManager&&!s.urlFilterManager.isInitialized&&s.urlFilterManager.initialize(),y(),O(X),O(J),i.viewerMode&&(i.menu=!0)})}export function applyParameters(t=""){historyReplace("?"+decodeURIComponent(t.toString())),s.layerStore.layersLoaded?(T(),y()):(B(),k(()=>s.layerStore.layersLoaded,()=>{T(),y()}))}export function destroyHistory(){Q()}export function goBack(){if(console.log("goBack"),S.length>1){S.pop();const l=S[S.length-1].replace(_,"");return m=!0,h.replace(l),m=!1,y(),!0}else return h.go(-1),!1}function pe(t){try{let l={};const a=i.defaultMapSettings;if(new Set(t.keys()).size)l=Z(Object.fromEntries(t.entries()),a);else{const e=sessionStorage.getItem(re);e&&(l=Z(JSON.parse(e),a))}if(i.setMapSettings(l),l.z){const e=s.layerStore.layers.find(o=>o.name===l.z);e&&s.layerStore.updateVisibility(e,!0)}}catch(l){console.error("Failed to process or save map settings.",l)}}function Z(t,l){const a={};for(const e in t){if(!Object.prototype.hasOwnProperty.call(l,e)||!Object.prototype.hasOwnProperty.call(t,e))continue;const o=t[e];typeof l[e]=="number"&&typeof o=="string"?a[e]=parseFloat(o):a[e]=o}return a}
@@ -43,7 +43,6 @@ export declare abstract class BoothBase {
43
43
  readonly poiTypeId: number;
44
44
  readonly poiType: RawPoiType;
45
45
  readonly poiIcon: string;
46
- readonly yah: boolean;
47
46
  readonly meta: Record<string, string>;
48
47
  layer: Layer;
49
48
  bookmarkedDirectly: boolean;
@@ -1 +1 @@
1
- import{__esDecorate as s,__runInitializers as l}from"tslib";import{lineLength as M,lineRectangleIntersections as C,pointInsideRectangle as L,Rect as N}from"simple-geometry";import{action as R,computed as i,observable as S}from"mobx";import E from"../tools/settings";import{uiState as j}from"./index";let O=(()=>{let o=[],c,m=[],u=[],b,g=[],k=[],y,p,f,_,v,B,x;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;c=[S],b=[S],y=[i({keepAlive:!0})],p=[i({keepAlive:!0})],f=[i({keepAlive:!0})],_=[i({keepAlive:!0})],v=[i({keepAlive:!0})],B=[i],x=[R],s(this,null,y,{kind:"getter",name:"boothById",static:!1,private:!1,access:{has:e=>"boothById"in e,get:e=>e.boothById},metadata:t},null,o),s(this,null,p,{kind:"getter",name:"boothByExternalId",static:!1,private:!1,access:{has:e=>"boothByExternalId"in e,get:e=>e.boothByExternalId},metadata:t},null,o),s(this,null,f,{kind:"getter",name:"boothByName",static:!1,private:!1,access:{has:e=>"boothByName"in e,get:e=>e.boothByName},metadata:t},null,o),s(this,null,_,{kind:"getter",name:"boothBySlug",static:!1,private:!1,access:{has:e=>"boothBySlug"in e,get:e=>e.boothBySlug},metadata:t},null,o),s(this,null,v,{kind:"getter",name:"borderWidth",static:!1,private:!1,access:{has:e=>"borderWidth"in e,get:e=>e.borderWidth},metadata:t},null,o),s(this,null,B,{kind:"getter",name:"bookmarked",static:!1,private:!1,access:{has:e=>"bookmarked"in e,get:e=>e.bookmarked},metadata:t},null,o),s(this,null,x,{kind:"method",name:"replaceBookmarked",static:!1,private:!1,access:{has:e=>"replaceBookmarked"in e,get:e=>e.replaceBookmarked},metadata:t},null,o),s(null,null,c,{kind:"field",name:"booths",static:!1,private:!1,access:{has:e=>"booths"in e,get:e=>e.booths,set:(e,r)=>{e.booths=r}},metadata:t},m,u),s(null,null,b,{kind:"field",name:"highlightedByExternalIds",static:!1,private:!1,access:{has:e=>"highlightedByExternalIds"in e,get:e=>e.highlightedByExternalIds,set:(e,r)=>{e.highlightedByExternalIds=r}},metadata:t},g,k),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}rootStore=l(this,o);booths=l(this,m,[]);highlightedByExternalIds=(l(this,u),l(this,g,[]));get boothById(){return new Map(this.booths.map(t=>[t.id,t]))}get boothByExternalId(){return new Map(this.booths.map(t=>[t.externalId,t]))}get boothByName(){return new Map(this.booths.map(t=>[t.name.toLowerCase(),t]))}get boothBySlug(){return new Map(this.booths.map(t=>[t.slug,t]))}get borderWidth(){if(E.boothBorderWidth)return E.boothBorderWidth;if(E.EXPO==="groomexpo")return .4;const t=this.booths.filter(e=>e.rect).map(e=>e.rect.w+e.rect.h);return t.reduce((e,r)=>e+r,0)/t.length/80}constructor(t){l(this,k),this.rootStore=t}get bookmarked(){return this.booths.filter(t=>t.bookmarkedDirectly)}getNearestBooth(t){var e=null;const d=this.booths.map(a=>{const{x1:n,x2:I,y1:h,y2:D}=a.rect,A=Math.abs(I-n),z=Math.abs(D-h);return{lineLength:M(t,C({p0:t,p1:{x:a.rect.cx,y:a.rect.cy}},new N({x:n,y:h},{x:n+A,y:h},{x:n+A,y:h+z},{x:n,y:h+z}))[0]),name:a.name}}).sort((a,n)=>a.lineLength-n.lineLength)[0];return e=this.booths.find(a=>a.name===d.name),e}getBoothAtPoint(t){return this.booths.find(e=>{const{x1:r,x2:d,y1:a,y2:n}=e.rect,I=Math.abs(d-r),h=Math.abs(n-a),D=new N({x:r,y:a},{x:r+I,y:a},{x:r+I,y:a+h},{x:r,y:a+h});return L(t,D)})}findBooth(t){return this.boothByExternalId.get(t)||this.boothByName.get(t.toLowerCase())||this.boothBySlug.get(t)}replaceBookmarked(t){const e=(t||[]).map(a=>this.boothById.get(a)).filter(a=>a),r=new Set(e),d=this.bookmarked.filter(a=>!r.has(a));for(const a of d)a.bookmarkedDirectly=!1;for(const a of e)a.bookmarkedDirectly=!0}}})();export default O;let w=(()=>{let o=[],c,m=[],u=[],b,g=[],k=[],y,p,f,_,v,B,x;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;c=[S],b=[S],y=[i({keepAlive:!0})],p=[i({keepAlive:!0})],f=[i({keepAlive:!0})],_=[i({keepAlive:!0})],v=[i({keepAlive:!0})],B=[i({keepAlive:!0})],x=[i({keepAlive:!0})],s(this,null,y,{kind:"getter",name:"bookmarked",static:!1,private:!1,access:{has:e=>"bookmarked"in e,get:e=>e.bookmarked},metadata:t},null,o),s(this,null,p,{kind:"getter",name:"uiState",static:!1,private:!1,access:{has:e=>"uiState"in e,get:e=>e.uiState},metadata:t},null,o),s(this,null,f,{kind:"getter",name:"fullName",static:!1,private:!1,access:{has:e=>"fullName"in e,get:e=>e.fullName},metadata:t},null,o),s(this,null,_,{kind:"getter",name:"visible",static:!1,private:!1,access:{has:e=>"visible"in e,get:e=>e.visible},metadata:t},null,o),s(this,null,v,{kind:"getter",name:"hover",static:!1,private:!1,access:{has:e=>"hover"in e,get:e=>e.hover},metadata:t},null,o),s(this,null,B,{kind:"getter",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected},metadata:t},null,o),s(this,null,x,{kind:"getter",name:"skipDim",static:!1,private:!1,access:{has:e=>"skipDim"in e,get:e=>e.skipDim},metadata:t},null,o),s(null,null,c,{kind:"field",name:"layer",static:!1,private:!1,access:{has:e=>"layer"in e,get:e=>e.layer,set:(e,r)=>{e.layer=r}},metadata:t},m,u),s(null,null,b,{kind:"field",name:"bookmarkedDirectly",static:!1,private:!1,access:{has:e=>"bookmarkedDirectly"in e,get:e=>e.bookmarkedDirectly,set:(e,r)=>{e.bookmarkedDirectly=r}},metadata:t},g,k),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}store=l(this,o);id;name;externalId;title;rect;borderWidth;borderColor;noLabels;rotate;paths;pathsWithRect;slug;error;description;exhibitors;labelColor;schedule;poiTypeId;poiType;poiIcon;yah;meta;layer=l(this,m,void 0);bookmarkedDirectly=(l(this,u),l(this,g,!1));get bookmarked(){return j.disableBookmarked?!1:this.schedule?.some(t=>t.bookmarked)?!0:this.exhibitors.length>0?!!this.exhibitors.find(t=>t.bookmarked):this.bookmarkedDirectly}get uiState(){return this.store.rootStore.uiState}get fullName(){let t=`${this.yah?this.title:this.name}`;const e=this.meta?Object.entries(this.meta).filter(([r])=>!r.startsWith("_")).map(([r,d])=>`${r} ${d}`).join(" "):"";return`${t} ${e}`.replace(/\s+/g," ").trim()}get visible(){return this.layer?.visible??!0}get hover(){return this.uiState.hoveredBooths.has(this)}get selected(){return this.uiState.selectedBooths.has(this)}get skipDim(){return this.uiState.highlightedBooths.has(this.id.toString())}constructor(){l(this,k)}}})();export{w as BoothBase};export class RegularBooth extends w{buyUrl;reserveUrl;type;status;price;entity={type:"booth",variant:"regular"};size;availColor;soldColor;holdColor;onHold;reserved;shapes}export class SpecialBooth extends w{color;shapes;entity={type:"booth",variant:"special"}}
1
+ import{__esDecorate as s,__runInitializers as l}from"tslib";import{lineLength as M,lineRectangleIntersections as C,pointInsideRectangle as L,Rect as N}from"simple-geometry";import{action as R,computed as i,observable as S}from"mobx";import E from"../tools/settings";import{uiState as j}from"./index";let O=(()=>{let o=[],d,c=[],m=[],u,b=[],g=[],k,p,y,f,_,v,B;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;d=[S],u=[S],k=[i({keepAlive:!0})],p=[i({keepAlive:!0})],y=[i({keepAlive:!0})],f=[i({keepAlive:!0})],_=[i({keepAlive:!0})],v=[i],B=[R],s(this,null,k,{kind:"getter",name:"boothById",static:!1,private:!1,access:{has:e=>"boothById"in e,get:e=>e.boothById},metadata:t},null,o),s(this,null,p,{kind:"getter",name:"boothByExternalId",static:!1,private:!1,access:{has:e=>"boothByExternalId"in e,get:e=>e.boothByExternalId},metadata:t},null,o),s(this,null,y,{kind:"getter",name:"boothByName",static:!1,private:!1,access:{has:e=>"boothByName"in e,get:e=>e.boothByName},metadata:t},null,o),s(this,null,f,{kind:"getter",name:"boothBySlug",static:!1,private:!1,access:{has:e=>"boothBySlug"in e,get:e=>e.boothBySlug},metadata:t},null,o),s(this,null,_,{kind:"getter",name:"borderWidth",static:!1,private:!1,access:{has:e=>"borderWidth"in e,get:e=>e.borderWidth},metadata:t},null,o),s(this,null,v,{kind:"getter",name:"bookmarked",static:!1,private:!1,access:{has:e=>"bookmarked"in e,get:e=>e.bookmarked},metadata:t},null,o),s(this,null,B,{kind:"method",name:"replaceBookmarked",static:!1,private:!1,access:{has:e=>"replaceBookmarked"in e,get:e=>e.replaceBookmarked},metadata:t},null,o),s(null,null,d,{kind:"field",name:"booths",static:!1,private:!1,access:{has:e=>"booths"in e,get:e=>e.booths,set:(e,r)=>{e.booths=r}},metadata:t},c,m),s(null,null,u,{kind:"field",name:"highlightedByExternalIds",static:!1,private:!1,access:{has:e=>"highlightedByExternalIds"in e,get:e=>e.highlightedByExternalIds,set:(e,r)=>{e.highlightedByExternalIds=r}},metadata:t},b,g),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}rootStore=l(this,o);booths=l(this,c,[]);highlightedByExternalIds=(l(this,m),l(this,b,[]));get boothById(){return new Map(this.booths.map(t=>[t.id,t]))}get boothByExternalId(){return new Map(this.booths.map(t=>[t.externalId,t]))}get boothByName(){return new Map(this.booths.map(t=>[t.name.toLowerCase(),t]))}get boothBySlug(){return new Map(this.booths.map(t=>[t.slug,t]))}get borderWidth(){if(E.boothBorderWidth)return E.boothBorderWidth;if(E.EXPO==="groomexpo")return .4;const t=this.booths.filter(e=>e.rect).map(e=>e.rect.w+e.rect.h);return t.reduce((e,r)=>e+r,0)/t.length/80}constructor(t){l(this,g),this.rootStore=t}get bookmarked(){return this.booths.filter(t=>t.bookmarkedDirectly)}getNearestBooth(t){var e=null;const x=this.booths.map(a=>{const{x1:n,x2:I,y1:h,y2:D}=a.rect,A=Math.abs(I-n),z=Math.abs(D-h);return{lineLength:M(t,C({p0:t,p1:{x:a.rect.cx,y:a.rect.cy}},new N({x:n,y:h},{x:n+A,y:h},{x:n+A,y:h+z},{x:n,y:h+z}))[0]),name:a.name}}).sort((a,n)=>a.lineLength-n.lineLength)[0];return e=this.booths.find(a=>a.name===x.name),e}getBoothAtPoint(t){return this.booths.find(e=>{const{x1:r,x2:x,y1:a,y2:n}=e.rect,I=Math.abs(x-r),h=Math.abs(n-a),D=new N({x:r,y:a},{x:r+I,y:a},{x:r+I,y:a+h},{x:r,y:a+h});return L(t,D)})}findBooth(t){return this.boothByExternalId.get(t)||this.boothByName.get(t.toLowerCase())||this.boothBySlug.get(t)}replaceBookmarked(t){const e=(t||[]).map(a=>this.boothById.get(a)).filter(a=>a),r=new Set(e),x=this.bookmarked.filter(a=>!r.has(a));for(const a of x)a.bookmarkedDirectly=!1;for(const a of e)a.bookmarkedDirectly=!0}}})();export default O;let w=(()=>{let o=[],d,c=[],m=[],u,b=[],g=[],k,p,y,f,_,v,B;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;d=[S],u=[S],k=[i({keepAlive:!0})],p=[i({keepAlive:!0})],y=[i({keepAlive:!0})],f=[i({keepAlive:!0})],_=[i({keepAlive:!0})],v=[i({keepAlive:!0})],B=[i({keepAlive:!0})],s(this,null,k,{kind:"getter",name:"bookmarked",static:!1,private:!1,access:{has:e=>"bookmarked"in e,get:e=>e.bookmarked},metadata:t},null,o),s(this,null,p,{kind:"getter",name:"uiState",static:!1,private:!1,access:{has:e=>"uiState"in e,get:e=>e.uiState},metadata:t},null,o),s(this,null,y,{kind:"getter",name:"fullName",static:!1,private:!1,access:{has:e=>"fullName"in e,get:e=>e.fullName},metadata:t},null,o),s(this,null,f,{kind:"getter",name:"visible",static:!1,private:!1,access:{has:e=>"visible"in e,get:e=>e.visible},metadata:t},null,o),s(this,null,_,{kind:"getter",name:"hover",static:!1,private:!1,access:{has:e=>"hover"in e,get:e=>e.hover},metadata:t},null,o),s(this,null,v,{kind:"getter",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected},metadata:t},null,o),s(this,null,B,{kind:"getter",name:"skipDim",static:!1,private:!1,access:{has:e=>"skipDim"in e,get:e=>e.skipDim},metadata:t},null,o),s(null,null,d,{kind:"field",name:"layer",static:!1,private:!1,access:{has:e=>"layer"in e,get:e=>e.layer,set:(e,r)=>{e.layer=r}},metadata:t},c,m),s(null,null,u,{kind:"field",name:"bookmarkedDirectly",static:!1,private:!1,access:{has:e=>"bookmarkedDirectly"in e,get:e=>e.bookmarkedDirectly,set:(e,r)=>{e.bookmarkedDirectly=r}},metadata:t},b,g),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}store=l(this,o);id;name;externalId;title;rect;borderWidth;borderColor;noLabels;rotate;paths;pathsWithRect;slug;error;description;exhibitors;labelColor;schedule;poiTypeId;poiType;poiIcon;meta;layer=l(this,c,void 0);bookmarkedDirectly=(l(this,m),l(this,b,!1));get bookmarked(){return j.disableBookmarked?!1:this.schedule?.some(t=>t.bookmarked)?!0:this.exhibitors.length>0?!!this.exhibitors.find(t=>t.bookmarked):this.bookmarkedDirectly}get uiState(){return this.store.rootStore.uiState}get fullName(){const t=this.meta?Object.entries(this.meta).filter(([e])=>!e.startsWith("_")).map(([e,r])=>`${e} ${r}`).join(" "):"";return`${this.name} ${t}`.replace(/\s+/g," ").trim()}get visible(){return this.layer?.visible??!0}get hover(){return this.uiState.hoveredBooths.has(this)}get selected(){return this.uiState.selectedBooths.has(this)}get skipDim(){return this.uiState.highlightedBooths.has(this.id.toString())}constructor(){l(this,g)}}})();export{w as BoothBase};export class RegularBooth extends w{buyUrl;reserveUrl;type;status;price;entity={type:"booth",variant:"regular"};size;availColor;soldColor;holdColor;onHold;reserved;shapes}export class SpecialBooth extends w{color;shapes;entity={type:"booth",variant:"special"}}
@@ -0,0 +1,7 @@
1
+ export default class IntercomStore {
2
+ enabled: boolean;
3
+ unreadCount: number;
4
+ setEnabled(value: boolean): void;
5
+ setUnreadCount(count: number): void;
6
+ }
7
+ //# sourceMappingURL=IntercomStore.d.ts.map
@@ -0,0 +1 @@
1
+ import{__esDecorate as n,__runInitializers as a}from"tslib";import{action as _,observable as f}from"mobx";let h=(()=>{let l=[],r,i=[],d=[],o,u=[],c=[],b,m;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;r=[f],o=[f],b=[_],m=[_],n(this,null,b,{kind:"method",name:"setEnabled",static:!1,private:!1,access:{has:e=>"setEnabled"in e,get:e=>e.setEnabled},metadata:t},null,l),n(this,null,m,{kind:"method",name:"setUnreadCount",static:!1,private:!1,access:{has:e=>"setUnreadCount"in e,get:e=>e.setUnreadCount},metadata:t},null,l),n(null,null,r,{kind:"field",name:"enabled",static:!1,private:!1,access:{has:e=>"enabled"in e,get:e=>e.enabled,set:(e,s)=>{e.enabled=s}},metadata:t},i,d),n(null,null,o,{kind:"field",name:"unreadCount",static:!1,private:!1,access:{has:e=>"unreadCount"in e,get:e=>e.unreadCount,set:(e,s)=>{e.unreadCount=s}},metadata:t},u,c),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}enabled=(a(this,l),a(this,i,!1));unreadCount=(a(this,d),a(this,u,0));setEnabled(t){this.enabled=t}setUnreadCount(t){this.unreadCount=t}constructor(){a(this,c)}}})();export default h;
@@ -6,6 +6,7 @@ import CategoryFilterStore from "./CategoryFilterStore";
6
6
  import EventStore, { EventItem } from "./EventStore";
7
7
  import { Speaker } from "./SpeakerStore";
8
8
  import HeatmapStore from "./HeatmapStore";
9
+ import IntercomStore from "./IntercomStore";
9
10
  import LayerStore from "./LayerStore";
10
11
  import MapboxStore from "./MapboxStore";
11
12
  import RouteStore from "./RouteStore";
@@ -34,6 +35,7 @@ export default class RootStore {
34
35
  readonly toursStore: ToursStore;
35
36
  readonly mapboxStore: MapboxStore;
36
37
  readonly layerStore: LayerStore;
38
+ readonly intercomStore: IntercomStore;
37
39
  readonly eventStore: EventStore;
38
40
  readonly poiTypeStore: PoiTypeStore;
39
41
  readonly heatmapStore: HeatmapStore;