@expofp/floorplan 3.0.0-alpha.3 → 3.0.0-alpha.5

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 (463) hide show
  1. package/dist/browser/{Debug-e8WG0DtG.js → Debug-C-eDLTyi.js} +2 -2
  2. package/dist/browser/{Demo-boypMSbE.js → Demo-Bz4sS4Cr.js} +3 -3
  3. package/dist/browser/{Free-CDDXe67y.js → Free-Dmh_yBTQ.js} +3 -3
  4. package/dist/browser/{Gallery-CzUOmw0W.js → Gallery-B0y19mXe.js} +3 -3
  5. package/dist/browser/{GpsLoader-fuJmNb6R.js → GpsLoader-CLuQFUMd.js} +3 -3
  6. package/dist/browser/{KioskStore-BFmurkVL.js → KioskStore-DfQRkubn.js} +3 -3
  7. package/dist/browser/{Mapbox-C51a0xP2.js → Mapbox-Bpxx-pxs.js} +4 -4
  8. package/dist/browser/{SetKioskMode-COh431a3.js → SetKioskMode-Dt6LsCTr.js} +4 -4
  9. package/dist/browser/{ShowKiosk-K-z2FMYd.js → ShowKiosk-nx3n9Hin.js} +3 -3
  10. package/dist/browser/{ThreeComponent-C8u-uHkz.js → ThreeComponent-DNb8u7Fd.js} +4 -4
  11. package/dist/browser/{boolean-editor-0qC2CaXN.js → boolean-editor-DngToQ6l.js} +3 -3
  12. package/dist/browser/bundle.json +25 -25
  13. package/dist/browser/{client-B3NWpX6M.js → client-JooIdiWR.js} +2 -2
  14. package/dist/browser/{data-B9sYqJWP.js → data-CquFs-CC.js} +2 -2
  15. package/dist/browser/{debug-overlay-w2mPZxWf.js → debug-overlay-uF5jExOh.js} +4 -4
  16. package/dist/browser/{debug-ui-BtilbmgE.js → debug-ui-KqARuDoS.js} +3 -3
  17. package/dist/browser/{fetch-retry.umd-BUYyExMA.js → fetch-retry.umd-BNw2UfCg.js} +1 -1
  18. package/dist/browser/{flex-C0ADIXpK.js → flex-DeTqedih.js} +2 -2
  19. package/dist/browser/{floorplan.ready-DOAwMGub.js → floorplan.ready-DlHsC7fv.js} +15 -15
  20. package/dist/browser/{index-saYO21xq.js → index-B85ohTnv.js} +4 -4
  21. package/dist/browser/{index-B2H3t32F.js → index-CETW_2Me.js} +1 -1
  22. package/dist/browser/{index-C6neMlVE.js → index-DDXYk8-M.js} +3 -3
  23. package/dist/browser/{index-cGFPJUkc.js → index-DLZUbodm.js} +2 -2
  24. package/dist/browser/{index-CvCRaJEu.js → index-J-CeK8EI.js} +2 -2
  25. package/dist/browser/{index-CKMnb1_8.js → index-tYEC7D5U.js} +4 -4
  26. package/dist/browser/index.js +1 -1
  27. package/dist/browser/{particles.min-qY9PxD2m.js → particles.min-ydes6zXA.js} +1 -1
  28. package/dist/esm/RouteCutIn.js +1 -1
  29. package/dist/esm/_misc_to_move/logBuildInfoImpl.js +1 -1
  30. package/dist/esm/components/Alert.js +1 -1
  31. package/dist/esm/components/Autocomplete.js +1 -1
  32. package/dist/esm/components/Badge.js +1 -1
  33. package/dist/esm/components/BaseFilterModal.js +1 -1
  34. package/dist/esm/components/Bookmarks.js +1 -1
  35. package/dist/esm/components/Booth/Booth.js +1 -1
  36. package/dist/esm/components/Booth/BoothOnHold.js +1 -1
  37. package/dist/esm/components/Booth/BoothReserved.js +1 -1
  38. package/dist/esm/components/Booth/BoothSpecial.js +1 -1
  39. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +1 -1
  40. package/dist/esm/components/BoothRow.js +1 -1
  41. package/dist/esm/components/Button.js +1 -1
  42. package/dist/esm/components/Category.js +1 -1
  43. package/dist/esm/components/CategoryFilterModal.js +1 -1
  44. package/dist/esm/components/Checkbox.js +1 -1
  45. package/dist/esm/components/CheckboxButton.js +1 -1
  46. package/dist/esm/components/Controls.js +1 -1
  47. package/dist/esm/components/CookieConsent.js +1 -1
  48. package/dist/esm/components/Debug.js +1 -1
  49. package/dist/esm/components/Demo.js +1 -1
  50. package/dist/esm/components/Draggable.js +1 -1
  51. package/dist/esm/components/EntityItem.js +1 -1
  52. package/dist/esm/components/EntityList.js +1 -1
  53. package/dist/esm/components/EntityListRow.js +1 -1
  54. package/dist/esm/components/Event.js +1 -1
  55. package/dist/esm/components/EventBadge.js +1 -1
  56. package/dist/esm/components/Exhibitor.js +1 -1
  57. package/dist/esm/components/ExhibitorRow.js +1 -1
  58. package/dist/esm/components/Filter.js +1 -1
  59. package/dist/esm/components/Free.js +1 -1
  60. package/dist/esm/components/Gallery/Gallery.js +1 -1
  61. package/dist/esm/components/Gallery/GalleryBadges/GalleryBadges.js +1 -1
  62. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.js +1 -1
  63. package/dist/esm/components/Gallery/GalleryImg/GalleryImg.js +1 -1
  64. package/dist/esm/components/Gallery/GalleryItem/GalleryItem.js +1 -1
  65. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +1 -1
  66. package/dist/esm/components/Gallery/GalleryPreLoader.js +1 -1
  67. package/dist/esm/components/Gallery/TransformImg/TransformImg.js +1 -1
  68. package/dist/esm/components/GlobalErrorMessage.js +1 -1
  69. package/dist/esm/components/GpsLoader.js +1 -1
  70. package/dist/esm/components/HeatmapLegend.js +1 -1
  71. package/dist/esm/components/HighlightText.js +1 -1
  72. package/dist/esm/components/Kiosk/KioskStore.js +1 -1
  73. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +1 -1
  74. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +1 -1
  75. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +1 -1
  76. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
  77. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
  78. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +1 -1
  79. package/dist/esm/components/Kiosk/SetKioskMode.js +1 -1
  80. package/dist/esm/components/Kiosk/ShowKiosk.js +1 -1
  81. package/dist/esm/components/Kiosk/integrateKiosk.js +1 -1
  82. package/dist/esm/components/Kiosk/kioskUrlParam.js +1 -1
  83. package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +1 -1
  84. package/dist/esm/components/Kiosk/requestKioskKey.js +1 -1
  85. package/dist/esm/components/Language.js +1 -1
  86. package/dist/esm/components/LanguageRow.js +1 -1
  87. package/dist/esm/components/LargeMessage.js +1 -1
  88. package/dist/esm/components/LayersLoading.js +1 -1
  89. package/dist/esm/components/Layout.js +1 -1
  90. package/dist/esm/components/LevelBadge.js +1 -1
  91. package/dist/esm/components/LevelSelector.js +1 -1
  92. package/dist/esm/components/List.js +1 -1
  93. package/dist/esm/components/LogoOverlay.js +1 -1
  94. package/dist/esm/components/Map/Map.js +1 -1
  95. package/dist/esm/components/Map/booth-by-xy.js +1 -1
  96. package/dist/esm/components/Map/drawing/config/BoothShape.js +1 -1
  97. package/dist/esm/components/Map/drawing/config/Rect.js +1 -1
  98. package/dist/esm/components/Map/drawing/config/TextFitter.js +1 -1
  99. package/dist/esm/components/Map/drawing/config/canvases.js +1 -1
  100. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  101. package/dist/esm/components/Map/drawing/config/config-bg.js +1 -1
  102. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  103. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  104. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  105. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +1 -1
  106. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  107. package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +1 -1
  108. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  109. package/dist/esm/components/Map/drawing/config/config-booth-scaled.js +1 -1
  110. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  111. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  112. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  113. package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
  114. package/dist/esm/components/Map/drawing/config/config-yah.js +1 -1
  115. package/dist/esm/components/Map/drawing/config/engine-core/animation.js +1 -1
  116. package/dist/esm/components/Map/drawing/config/engine-core/canvases.js +1 -1
  117. package/dist/esm/components/Map/drawing/config/engine-core/defs.js +3 -3
  118. package/dist/esm/components/Map/drawing/config/engine-core/fonts.js +1 -1
  119. package/dist/esm/components/Map/drawing/config/engine-core/index.js +1 -1
  120. package/dist/esm/components/Map/drawing/config/engine-core/renderer.js +1 -1
  121. package/dist/esm/components/Map/drawing/config/engine-core/update-def.js +1 -1
  122. package/dist/esm/components/Map/drawing/config/engine-core/utils/rotation.js +1 -1
  123. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  124. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.js +1 -1
  125. package/dist/esm/components/Map/drawing/config/route-snapping/splitRouteByPoint.js +1 -1
  126. package/dist/esm/components/Map/drawing/config/route-snapping/utils.js +1 -1
  127. package/dist/esm/components/Map/traffic/trafficLayers.js +1 -1
  128. package/dist/esm/components/Map/traffic/useBuildRoute.js +5 -5
  129. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  130. package/dist/esm/components/Map/visibleArea.js +1 -1
  131. package/dist/esm/components/MapControls.js +1 -1
  132. package/dist/esm/components/Mapbox/Button.js +1 -1
  133. package/dist/esm/components/Mapbox/Dot.js +1 -1
  134. package/dist/esm/components/Mapbox/MapLoader.js +1 -1
  135. package/dist/esm/components/Mapbox/Mapbox.js +1 -1
  136. package/dist/esm/components/Mapbox/utils/data.js +1 -1
  137. package/dist/esm/components/MarketMaterialList.js +1 -1
  138. package/dist/esm/components/Menu.js +2 -2
  139. package/dist/esm/components/MobileToggleButton.js +1 -1
  140. package/dist/esm/components/Modal.js +1 -1
  141. package/dist/esm/components/MultiSelectGroups.js +1 -1
  142. package/dist/esm/components/Overlay.js +1 -1
  143. package/dist/esm/components/OverlayContainer.js +1 -1
  144. package/dist/esm/components/OverlayGrip.js +1 -1
  145. package/dist/esm/components/OverlayParticles.js +1 -1
  146. package/dist/esm/components/PermissionNotice/PermissionNotice.js +1 -1
  147. package/dist/esm/components/Radio.js +1 -1
  148. package/dist/esm/components/RebookingNotes.js +1 -1
  149. package/dist/esm/components/RebookingRadioGroup.js +1 -1
  150. package/dist/esm/components/RouteQR.js +1 -1
  151. package/dist/esm/components/Schedule.js +1 -1
  152. package/dist/esm/components/ScheduleRow.js +1 -1
  153. package/dist/esm/components/ScrollableRow.js +1 -1
  154. package/dist/esm/components/Search.js +1 -1
  155. package/dist/esm/components/SearchBox.js +1 -1
  156. package/dist/esm/components/SearchButtons/SearchButton.js +1 -1
  157. package/dist/esm/components/SearchButtons/SearchButtons.js +1 -1
  158. package/dist/esm/components/SearchButtons/SearchSubButton.js +1 -1
  159. package/dist/esm/components/SearchButtons/SearchSubButtons.js +1 -1
  160. package/dist/esm/components/Sessions.js +1 -1
  161. package/dist/esm/components/SessionsFiltersModal.js +1 -1
  162. package/dist/esm/components/Share.js +1 -1
  163. package/dist/esm/components/Shortcuts/ShortcutButton.js +1 -1
  164. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +1 -1
  165. package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +1 -1
  166. package/dist/esm/components/SidebarActions.js +1 -1
  167. package/dist/esm/components/SimpleRow.js +1 -1
  168. package/dist/esm/components/Speaker.js +1 -1
  169. package/dist/esm/components/Speakers.js +1 -1
  170. package/dist/esm/components/SpeakersFiltersModal.js +1 -1
  171. package/dist/esm/components/Threejs/ThreeComponent.js +1 -1
  172. package/dist/esm/components/Threejs/UIManager.js +1 -1
  173. package/dist/esm/components/Threejs/common/BoothMesh.js +1 -1
  174. package/dist/esm/components/Threejs/common/SpriteMesh.js +1 -1
  175. package/dist/esm/components/Threejs/common/dataLoader.js +1 -1
  176. package/dist/esm/components/Threejs/common/modelLoader.js +1 -1
  177. package/dist/esm/components/Threejs/common/sceneLoader.js +1 -1
  178. package/dist/esm/components/Threejs/index.js +1 -1
  179. package/dist/esm/components/Threejs/mapbox/index_mapbox.js +1 -1
  180. package/dist/esm/components/Threejs/utils/textureMerger.js +1 -1
  181. package/dist/esm/components/Toast/ToastContainer.js +1 -1
  182. package/dist/esm/components/Toast/ToastProvider.js +1 -1
  183. package/dist/esm/components/ToggleButton.js +1 -1
  184. package/dist/esm/components/ToggleSwitch.js +1 -1
  185. package/dist/esm/components/TouchHand.js +1 -1
  186. package/dist/esm/components/TourPoints.js +1 -1
  187. package/dist/esm/components/Tours.js +1 -1
  188. package/dist/esm/components/ToursList.js +1 -1
  189. package/dist/esm/components/Visited.js +1 -1
  190. package/dist/esm/components/WayInformation.js +1 -1
  191. package/dist/esm/components/Wayfinding.js +1 -1
  192. package/dist/esm/components/WayfindingFloorSelector.js +1 -1
  193. package/dist/esm/components/WayfindingTemplate.js +1 -1
  194. package/dist/esm/components/Ws.js +1 -1
  195. package/dist/esm/components/YahRow.js +1 -1
  196. package/dist/esm/components/gps/GpsManager.js +1 -1
  197. package/dist/esm/components/gps/GpsPermissionRequest.js +1 -1
  198. package/dist/esm/components/gps/useUserLocationAndHeading.js +1 -1
  199. package/dist/esm/components/gps/utils.js +1 -1
  200. package/dist/esm/components/stories/Alert.stories.js +1 -1
  201. package/dist/esm/components/stories/Autocomplete.stories.js +1 -1
  202. package/dist/esm/components/stories/Badge.stories.js +1 -1
  203. package/dist/esm/components/stories/Button.stories.js +1 -1
  204. package/dist/esm/components/stories/Checkbox.stories.js +1 -1
  205. package/dist/esm/components/stories/CheckboxButton.stories.js +1 -1
  206. package/dist/esm/components/stories/CookieConsent.stories.js +1 -1
  207. package/dist/esm/components/stories/Loading.stories.js +1 -1
  208. package/dist/esm/components/stories/MapControls.stories.js +1 -1
  209. package/dist/esm/components/stories/Modal.storiesss.js +1 -1
  210. package/dist/esm/components/stories/Overlay.stories.js +1 -1
  211. package/dist/esm/components/stories/RebookingNotes.stories.js +1 -1
  212. package/dist/esm/components/stories/RebookingRadioGroup.stories.js +1 -1
  213. package/dist/esm/components/stories/Share.storiesSS.js +1 -1
  214. package/dist/esm/components/stories/SidebarActions.stories.js +1 -1
  215. package/dist/esm/components/stories/Toast.stories.js +1 -1
  216. package/dist/esm/components/stories/ToggleButton.stories.js +1 -1
  217. package/dist/esm/components/stories/ToggleSwitch.stories.js +1 -1
  218. package/dist/esm/components/stories/TouchHand.stories.js +1 -1
  219. package/dist/esm/components/stories/WayfindingFloorSelector.storiesss.js +1 -1
  220. package/dist/esm/components/stories/WayfindingTemplate.storiesss.js +1 -1
  221. package/dist/esm/core/Line.js +1 -1
  222. package/dist/esm/core/Polygon.js +1 -1
  223. package/dist/esm/core/Rect.js +1 -1
  224. package/dist/esm/data/index.js +1 -1
  225. package/dist/esm/data/svg.js +1 -1
  226. package/dist/esm/data/validate-data.js +1 -1
  227. package/dist/esm/expofp-debug.js +1 -1
  228. package/dist/esm/floorplan.loader.js +1 -1
  229. package/dist/esm/floorplan.ready.js +1 -1
  230. package/dist/esm/hooks/useDragGesture.js +1 -1
  231. package/dist/esm/hooks/useURLFilters.js +1 -1
  232. package/dist/esm/hooks/useWindowSize.js +1 -1
  233. package/dist/esm/load.js +3 -3
  234. package/dist/esm/offline/offlineManager.js +1 -1
  235. package/dist/esm/offline/sw.js +1 -1
  236. package/dist/esm/services/URLFilterManager.js +1 -1
  237. package/dist/esm/services/routing.js +1 -1
  238. package/dist/esm/store/BaseFilterStore.js +1 -1
  239. package/dist/esm/store/BoothStore.js +1 -1
  240. package/dist/esm/store/CategoryFilterStore.js +1 -1
  241. package/dist/esm/store/CategoryStore.js +1 -1
  242. package/dist/esm/store/EventStore.js +1 -1
  243. package/dist/esm/store/ExhibitorStore.js +1 -1
  244. package/dist/esm/store/FuzzySearchEngineStore.js +1 -1
  245. package/dist/esm/store/HeatmapStore.js +1 -1
  246. package/dist/esm/store/LanguageStore.js +1 -1
  247. package/dist/esm/store/LayerStore.js +1 -1
  248. package/dist/esm/store/MapboxStore.js +1 -1
  249. package/dist/esm/store/RootStore.js +1 -1
  250. package/dist/esm/store/RouteStore.js +1 -1
  251. package/dist/esm/store/SearchStore.js +1 -1
  252. package/dist/esm/store/SessionsFilterStore.js +1 -1
  253. package/dist/esm/store/ShortcutRegistry.js +1 -1
  254. package/dist/esm/store/SpeakerFilterStore.js +1 -1
  255. package/dist/esm/store/SpeakerStore.js +1 -1
  256. package/dist/esm/store/ToursStore.js +1 -1
  257. package/dist/esm/store/UIState.d.ts +1 -1
  258. package/dist/esm/store/UIState.js +1 -1
  259. package/dist/esm/store/index.js +1 -1
  260. package/dist/esm/store/init/index.js +1 -1
  261. package/dist/esm/store/init/init-booths.js +1 -1
  262. package/dist/esm/store/init/init-categories.js +1 -1
  263. package/dist/esm/store/init/init-events.js +1 -1
  264. package/dist/esm/store/init/init-exhibitors.js +1 -1
  265. package/dist/esm/store/init/init-heatmap.js +1 -1
  266. package/dist/esm/store/init/init-language.js +1 -1
  267. package/dist/esm/store/init/init-layers.js +1 -1
  268. package/dist/esm/store/init/init-speakers.js +1 -1
  269. package/dist/esm/store/init/init-ui.js +1 -1
  270. package/dist/esm/store/providers/SearchShortcutProvider.js +1 -1
  271. package/dist/esm/store/providers/SessionsShortcutProvider.js +1 -1
  272. package/dist/esm/store/providers/SessionsSubButtonProvider.js +1 -1
  273. package/dist/esm/store/providers/SpeakerShortcutProvider.js +1 -1
  274. package/dist/esm/store/search-buttons/SearchButtonsActions.js +1 -1
  275. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +1 -1
  276. package/dist/esm/store/search-buttons/SearchButtonsFilters.js +1 -1
  277. package/dist/esm/store/search-buttons/SearchButtonsState.js +1 -1
  278. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  279. package/dist/esm/store/search-buttons/constants.js +1 -1
  280. package/dist/esm/store/search-buttons/utils.js +1 -1
  281. package/dist/esm/storybook/decorators/StoryWrapper.js +1 -1
  282. package/dist/esm/storybook/decorators/WithResize.js +1 -1
  283. package/dist/esm/tools/Color.js +1 -1
  284. package/dist/esm/tools/debounce.js +1 -1
  285. package/dist/esm/tools/gtag.js +1 -1
  286. package/dist/esm/tools/handleDebugMode.js +1 -1
  287. package/dist/esm/tools/loaders.js +1 -1
  288. package/dist/esm/tools/logger.js +1 -1
  289. package/dist/esm/tools/report-error.js +3 -3
  290. package/dist/esm/tools/reset.js +1 -1
  291. package/dist/esm/tools/sentry.js +1 -1
  292. package/dist/esm/tools/settings.js +1 -1
  293. package/dist/esm/tools/slug.js +1 -1
  294. package/dist/esm/tools/track-event.js +1 -1
  295. package/dist/esm/tools/webgl-logger.js +1 -1
  296. package/dist/esm/utils/calcSpeed.js +1 -1
  297. package/dist/esm/utils/customCommands.js +1 -1
  298. package/dist/esm/utils/detectLimitedModeViaImage.js +1 -1
  299. package/dist/esm/utils/entity-storage.js +1 -1
  300. package/dist/esm/utils/eventFullBadge.js +1 -1
  301. package/dist/esm/utils/eventTime.js +1 -1
  302. package/dist/esm/utils/getContrastTextColor.js +1 -1
  303. package/dist/esm/utils/getLogoUrl.js +1 -1
  304. package/dist/esm/utils/getMostFrequent.js +1 -1
  305. package/dist/esm/utils/getRenderTargetFromRoot.js +1 -1
  306. package/dist/esm/utils/gps.js +1 -1
  307. package/dist/esm/utils/i18n.js +1 -1
  308. package/dist/esm/utils/imageloader.js +1 -1
  309. package/dist/esm/utils/is-iframe.js +1 -1
  310. package/dist/esm/utils/loadCustomCss.js +1 -1
  311. package/dist/esm/utils/loadIcons.js +1 -1
  312. package/dist/esm/utils/loadImagesInBatches.js +1 -1
  313. package/dist/esm/utils/mapEntity.js +1 -1
  314. package/dist/esm/utils/mobx.js +1 -1
  315. package/dist/esm/utils/preview-exhibitor.js +1 -1
  316. package/dist/esm/utils/responsiveClass.js +1 -1
  317. package/dist/esm/utils/sanitizeHtml.js +1 -1
  318. package/dist/esm/utils/sanitizeText.js +1 -1
  319. package/dist/esm/utils/strEqual.js +1 -1
  320. package/dist/esm/utils/toRadians.js +1 -1
  321. package/dist/esm/utils/urlEncoding.js +1 -1
  322. package/dist/esm/utils/useHeatmapData.js +1 -1
  323. package/dist/esm/utils/useHeatmapOverlay.js +1 -1
  324. package/dist/esm/utils/useOnClickOutside.js +1 -1
  325. package/dist/esm/utils/useRenderTarget.js +1 -1
  326. package/dist/esm/utils/useTimeout.js +1 -1
  327. package/dist/esm/utils/wayfinding.js +1 -1
  328. package/dist/stats.html +1 -1
  329. package/package.json +14 -4
  330. package/dist/esm/components/Map/_NEW_booth-by-xy.d.ts +0 -11
  331. package/dist/esm/components/Map/_NEW_booth-by-xy.js +0 -1
  332. package/dist/esm/components/Map/drawing/Drawer1.d.ts +0 -28
  333. package/dist/esm/components/Map/drawing/Drawer1.js +0 -1
  334. package/dist/esm/components/Map/drawing/Matrix.d.ts +0 -33
  335. package/dist/esm/components/Map/drawing/Matrix.js +0 -1
  336. package/dist/esm/components/Map/drawing/config/NumberObserver.d.ts +0 -10
  337. package/dist/esm/components/Map/drawing/config/NumberObserver.js +0 -1
  338. package/dist/esm/components/Map/drawing/config/animate.d.ts +0 -2
  339. package/dist/esm/components/Map/drawing/config/animate.js +0 -1
  340. package/dist/esm/components/Map/drawing/config/config-canvas.d.ts +0 -3
  341. package/dist/esm/components/Map/drawing/config/config-canvas.js +0 -1
  342. package/dist/esm/components/Map/drawing/config/config-debug-circles.d.ts +0 -3
  343. package/dist/esm/components/Map/drawing/config/config-debug-circles.js +0 -1
  344. package/dist/esm/components/Map/drawing/config/config-dim.d.ts +0 -3
  345. package/dist/esm/components/Map/drawing/config/config-dim.js +0 -1
  346. package/dist/esm/components/Map/drawing/config/config-gps.d.ts +0 -2
  347. package/dist/esm/components/Map/drawing/config/config-gps.js +0 -1
  348. package/dist/esm/components/Map/drawing/config/config-img.d.ts +0 -4
  349. package/dist/esm/components/Map/drawing/config/config-img.js +0 -1
  350. package/dist/esm/components/Map/drawing/config/config-matrix.d.ts +0 -6
  351. package/dist/esm/components/Map/drawing/config/config-matrix.js +0 -1
  352. package/dist/esm/components/Map/drawing/config/config-sizes.d.ts +0 -3
  353. package/dist/esm/components/Map/drawing/config/config-sizes.js +0 -1
  354. package/dist/esm/components/Map/drawing/painters/BgPainter.d.ts +0 -28
  355. package/dist/esm/components/Map/drawing/painters/BgPainter.js +0 -25
  356. package/dist/esm/components/Map/drawing/painters/ImagePainter.d.ts +0 -82
  357. package/dist/esm/components/Map/drawing/painters/ImagePainter.js +0 -74
  358. package/dist/esm/components/Map/drawing/painters/Painter.d.ts +0 -12
  359. package/dist/esm/components/Map/drawing/painters/Painter.js +0 -1
  360. package/dist/esm/components/Map/drawing/painters/RectPainter.d.ts +0 -123
  361. package/dist/esm/components/Map/drawing/painters/RectPainter.js +0 -86
  362. package/dist/esm/components/Map/drawing/painters/Sprite.d.ts +0 -14
  363. package/dist/esm/components/Map/drawing/painters/Sprite.js +0 -1
  364. package/dist/esm/components/Map/drawing/painters/TrianglePainter.d.ts +0 -53
  365. package/dist/esm/components/Map/drawing/painters/TrianglePainter.js +0 -29
  366. package/dist/esm/components/Map/drawing/painters/common-glsl.d.ts +0 -2
  367. package/dist/esm/components/Map/drawing/painters/common-glsl.js +0 -14
  368. package/dist/esm/components/Map/marker-by-xy.d.ts +0 -3
  369. package/dist/esm/components/Map/marker-by-xy.js +0 -1
  370. package/dist/esm/components/Map/utils.d.ts +0 -3
  371. package/dist/esm/components/Map/utils.js +0 -1
  372. package/dist/esm/components/Map/zoom-bound.d.ts +0 -6
  373. package/dist/esm/components/Map/zoom-bound.js +0 -1
  374. package/dist/esm/components/Map/zoom-inertia.d.ts +0 -3
  375. package/dist/esm/components/Map/zoom-inertia.js +0 -1
  376. package/dist/esm/components/Map1/Map.d.ts +0 -25
  377. package/dist/esm/components/Map1/Map.js +0 -1
  378. package/dist/esm/components/Map1/booth-by-xy.d.ts +0 -3
  379. package/dist/esm/components/Map1/booth-by-xy.js +0 -1
  380. package/dist/esm/components/Map1/drawing/config/BoothDrawerBase.d.ts +0 -8
  381. package/dist/esm/components/Map1/drawing/config/BoothDrawerBase.js +0 -1
  382. package/dist/esm/components/Map1/drawing/config/BoothShape.d.ts +0 -8
  383. package/dist/esm/components/Map1/drawing/config/BoothShape.js +0 -1
  384. package/dist/esm/components/Map1/drawing/config/Rect.d.ts +0 -7
  385. package/dist/esm/components/Map1/drawing/config/Rect.js +0 -1
  386. package/dist/esm/components/Map1/drawing/config/TextFitter.d.ts +0 -11
  387. package/dist/esm/components/Map1/drawing/config/TextFitter.js +0 -1
  388. package/dist/esm/components/Map1/drawing/config/canvases.d.ts +0 -8
  389. package/dist/esm/components/Map1/drawing/config/canvases.js +0 -1
  390. package/dist/esm/components/Map1/drawing/config/config-all.d.ts +0 -5
  391. package/dist/esm/components/Map1/drawing/config/config-all.js +0 -1
  392. package/dist/esm/components/Map1/drawing/config/config-bg.d.ts +0 -9
  393. package/dist/esm/components/Map1/drawing/config/config-bg.js +0 -1
  394. package/dist/esm/components/Map1/drawing/config/config-booth-bg.d.ts +0 -20
  395. package/dist/esm/components/Map1/drawing/config/config-booth-bg.js +0 -1
  396. package/dist/esm/components/Map1/drawing/config/config-booth-bookmark.d.ts +0 -20
  397. package/dist/esm/components/Map1/drawing/config/config-booth-bookmark.js +0 -1
  398. package/dist/esm/components/Map1/drawing/config/config-booth-border.d.ts +0 -12
  399. package/dist/esm/components/Map1/drawing/config/config-booth-border.js +0 -1
  400. package/dist/esm/components/Map1/drawing/config/config-booth-labels-special.d.ts +0 -18
  401. package/dist/esm/components/Map1/drawing/config/config-booth-labels-special.js +0 -2
  402. package/dist/esm/components/Map1/drawing/config/config-booth-labels.d.ts +0 -43
  403. package/dist/esm/components/Map1/drawing/config/config-booth-labels.js +0 -1
  404. package/dist/esm/components/Map1/drawing/config/config-booth-scaled.d.ts +0 -14
  405. package/dist/esm/components/Map1/drawing/config/config-booth-scaled.js +0 -1
  406. package/dist/esm/components/Map1/drawing/config/config-booths.d.ts +0 -6
  407. package/dist/esm/components/Map1/drawing/config/config-booths.js +0 -1
  408. package/dist/esm/components/Map1/drawing/config/config-load-layer.d.ts +0 -5
  409. package/dist/esm/components/Map1/drawing/config/config-load-layer.js +0 -1
  410. package/dist/esm/components/Map1/drawing/config/config-markers.d.ts +0 -6
  411. package/dist/esm/components/Map1/drawing/config/config-markers.js +0 -1
  412. package/dist/esm/components/Map1/drawing/config/config-wf.d.ts +0 -11
  413. package/dist/esm/components/Map1/drawing/config/config-wf.js +0 -1
  414. package/dist/esm/components/Map1/drawing/config/config-yah.d.ts +0 -2
  415. package/dist/esm/components/Map1/drawing/config/config-yah.js +0 -1
  416. package/dist/esm/components/Map1/drawing/config/engine-core/animation.d.ts +0 -3
  417. package/dist/esm/components/Map1/drawing/config/engine-core/animation.js +0 -1
  418. package/dist/esm/components/Map1/drawing/config/engine-core/canvases.d.ts +0 -5
  419. package/dist/esm/components/Map1/drawing/config/engine-core/canvases.js +0 -1
  420. package/dist/esm/components/Map1/drawing/config/engine-core/defs.d.ts +0 -16
  421. package/dist/esm/components/Map1/drawing/config/engine-core/defs.js +0 -3
  422. package/dist/esm/components/Map1/drawing/config/engine-core/fonts.d.ts +0 -9
  423. package/dist/esm/components/Map1/drawing/config/engine-core/fonts.js +0 -1
  424. package/dist/esm/components/Map1/drawing/config/engine-core/index.d.ts +0 -20
  425. package/dist/esm/components/Map1/drawing/config/engine-core/index.js +0 -1
  426. package/dist/esm/components/Map1/drawing/config/engine-core/renderer.d.ts +0 -5
  427. package/dist/esm/components/Map1/drawing/config/engine-core/renderer.js +0 -1
  428. package/dist/esm/components/Map1/drawing/config/engine-core/settings.d.ts +0 -4
  429. package/dist/esm/components/Map1/drawing/config/engine-core/settings.js +0 -1
  430. package/dist/esm/components/Map1/drawing/config/engine-core/types.d.ts +0 -39
  431. package/dist/esm/components/Map1/drawing/config/engine-core/types.js +0 -1
  432. package/dist/esm/components/Map1/drawing/config/engine-core/update-def.d.ts +0 -12
  433. package/dist/esm/components/Map1/drawing/config/engine-core/update-def.js +0 -1
  434. package/dist/esm/components/Map1/drawing/config/engine-core/utils/rotation.d.ts +0 -5
  435. package/dist/esm/components/Map1/drawing/config/engine-core/utils/rotation.js +0 -1
  436. package/dist/esm/components/Map1/drawing/config/loadBoothsImages.d.ts +0 -12
  437. package/dist/esm/components/Map1/drawing/config/loadBoothsImages.js +0 -1
  438. package/dist/esm/components/Map1/drawing/config/route-snapping/index.d.ts +0 -6
  439. package/dist/esm/components/Map1/drawing/config/route-snapping/index.js +0 -1
  440. package/dist/esm/components/Map1/drawing/config/route-snapping/snapPositionToRoute.d.ts +0 -20
  441. package/dist/esm/components/Map1/drawing/config/route-snapping/snapPositionToRoute.js +0 -1
  442. package/dist/esm/components/Map1/drawing/config/route-snapping/snapThreshold.d.ts +0 -23
  443. package/dist/esm/components/Map1/drawing/config/route-snapping/snapThreshold.js +0 -1
  444. package/dist/esm/components/Map1/drawing/config/route-snapping/splitRouteByPoint.d.ts +0 -6
  445. package/dist/esm/components/Map1/drawing/config/route-snapping/splitRouteByPoint.js +0 -1
  446. package/dist/esm/components/Map1/drawing/config/route-snapping/types.d.ts +0 -20
  447. package/dist/esm/components/Map1/drawing/config/route-snapping/types.js +0 -1
  448. package/dist/esm/components/Map1/traffic/UpdateQueue.d.ts +0 -13
  449. package/dist/esm/components/Map1/traffic/UpdateQueue.js +0 -1
  450. package/dist/esm/components/Map1/traffic/trafficLayers.d.ts +0 -17
  451. package/dist/esm/components/Map1/traffic/trafficLayers.js +0 -1
  452. package/dist/esm/components/Map1/traffic/useBuildRoute.d.ts +0 -10
  453. package/dist/esm/components/Map1/traffic/useBuildRoute.js +0 -7
  454. package/dist/esm/components/Map1/traffic/useManageTraffic.d.ts +0 -11
  455. package/dist/esm/components/Map1/traffic/useManageTraffic.js +0 -1
  456. package/dist/esm/components/Map1/visibleArea.d.ts +0 -15
  457. package/dist/esm/components/Map1/visibleArea.js +0 -1
  458. package/dist/esm/lib/floorplan.d.ts +0 -2
  459. package/dist/esm/lib/floorplan.js +0 -1
  460. package/dist/esm/tools/debug.d.ts +0 -5
  461. package/dist/esm/tools/debug.js +0 -1
  462. package/dist/esm/tools/pdf.d.ts +0 -2
  463. package/dist/esm/tools/pdf.js +0 -1
@@ -1 +1 @@
1
- import{jsx as t,jsxs as r}from"react/jsx-runtime";import{useMemo as m}from"react";import{observer as N}from"mobx-react-lite";import d from"classnames";import{t as o}from"../utils/i18n";import{Modal as y,ToggleSwitch as u,MultiSelectGroups as f}from"./";import"./SessionsFiltersModal.scss";const w=N(({store:s,visibleSections:v,open:p,onClose:a})=>{const n=s.state.filters,O=n.date.pending!=="all"||n.sortOrder.pending!=="desc"||n.use24hFormat.pending!==!1||n.showBookmarksOnly.pending!==!1||n.selectedTracks.pending.length>0||n.selectedVenues.pending.length>0,_=m(()=>s.rootStore.eventStore.futureEvents.length,[s.rootStore.eventStore.futureEvents]),h=m(()=>{const e=s.rootStore.eventStore.tracks;return e.length?[{groupName:"Tracks",items:e.map(i=>({id:i.id,name:i.name,color:i.color,countProvider:()=>s.rootStore.eventStore.getEventsByTrack(i.id).length})),showGroupActions:!0,fullWidth:!0}]:[]},[s.rootStore.eventStore.tracks]),g=m(()=>{const e=s.rootStore.eventStore.venues;return e.length?[{groupName:"Venues",items:e.map(i=>({id:i.id,name:i.name,countProvider:()=>s.rootStore.eventStore.getEventsByVenue(i.id).length})),showGroupActions:!0,fullWidth:!0}]:[]},[s.rootStore.eventStore.venues]),k=e=>{const i=e.map(c=>Number(c));s.setPending("selectedTracks",i)},S=e=>{const i=e.map(c=>Number(c));s.setPending("selectedVenues",i)},b=p!==void 0?p:s.state.isOpen,C=a||(()=>s.closeFilter()),l=v||s.state.visibleSections;return t(y,{open:b,title:o("Sessions Filters"),badge:s.activeFiltersCount>0?s.activeFiltersCount:void 0,maxWidth:800,footerLeft:[{label:o("Clear all"),variant:"gray",disabled:n.selectedTracks.pending.length===0&&n.selectedVenues.pending.length===0,onClick:()=>{s.resetFilters(),a&&a()}}],footerRight:[{label:o("Apply"),variant:"primary",onClick:()=>{s.applyFilters(),a&&a()}}],onClickClose:C,children:r("div",{className:"efp-sessions-filters-modal",children:[l.includes("tracks")&&h.length>0&&t("div",{className:"efp-sessions-filters-modal__section",children:t(f,{groups:h,selectedIds:n.selectedTracks.pending,onChange:k,showItemCounts:!0})}),l.includes("venues")&&g.length>0&&t("div",{className:"efp-sessions-filters-modal__section",children:t(f,{groups:g,selectedIds:n.selectedVenues.pending,onChange:S,showItemCounts:!0})}),l.includes("date")&&r("div",{className:"efp-sessions-filters-modal__section",children:[t("h3",{children:o("Date")}),t("div",{className:"efp-sessions-filters-modal__buttons",children:["all","today","tomorrow"].map(e=>t("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":n.date.pending===e}),onClick:()=>s.setPending("date",e),children:o(e==="all"?"All dates":e.charAt(0).toUpperCase()+e.slice(1))},e))})]}),l.includes("time")&&_>=30&&r("div",{className:"efp-sessions-filters-modal__section",children:[t("h3",{children:o("Session time")}),t("div",{className:"efp-sessions-filters-modal__buttons",children:["all","morning","midday","afternoon"].map(e=>t("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":n.timeOfDay.pending===e}),onClick:()=>s.setPending("timeOfDay",e),children:o(e==="all"?"All times":e.charAt(0).toUpperCase()+e.slice(1))},e))})]}),l.includes("sort")&&r("div",{className:"efp-sessions-filters-modal__section",children:[t("h3",{children:o("Sort order")}),r("div",{className:"efp-sessions-filters-modal__buttons",children:[t("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":n.sortOrder.pending==="desc"}),onClick:()=>s.setPending("sortOrder","desc"),children:o("Earliest first")}),t("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":n.sortOrder.pending==="asc"}),onClick:()=>s.setPending("sortOrder","asc"),children:o("Latest first")})]})]}),l.includes("settings")&&r("div",{className:"efp-sessions-filters-modal__section",children:[t("h3",{children:o("Additional settings")}),t("div",{className:"efp-sessions-filters-modal__toggle",children:t(u,{name:"showBookmarksOnly",label:o("Show bookmarks only"),value:n.showBookmarksOnly.pending,onChange:e=>s.setPending("showBookmarksOnly",e)})}),t("div",{className:"efp-sessions-filters-modal__toggle",children:t(u,{name:"use24hFormat",label:o("Show time in 24h format"),value:n.use24hFormat.pending,onChange:e=>s.setPending("use24hFormat",e)})})]})]})})});export default w;
1
+ import{jsx as n,jsxs as o}from"react/jsx-runtime";import{useMemo as m}from"react";import{observer as C}from"mobx-react-lite";import d from"classnames";import{t as i}from"../utils/i18n";import{Modal as y,ToggleSwitch as g,MultiSelectGroups as p}from"./";import"./SessionsFiltersModal.scss";const O=C(({store:s,visibleSections:v,open:u,onClose:a})=>{const t=s.state.filters,w=t.date.pending!=="all"||t.sortOrder.pending!=="desc"||t.use24hFormat.pending!==!1||t.showBookmarksOnly.pending!==!1||t.selectedTracks.pending.length>0||t.selectedVenues.pending.length>0,_=m(()=>s.rootStore.eventStore.futureEvents.length,[s.rootStore.eventStore.futureEvents]),h=m(()=>{const e=s.rootStore.eventStore.tracks;return e.length?[{groupName:"Tracks",items:e.map(l=>({id:l.id,name:l.name,color:l.color,countProvider:()=>s.rootStore.eventStore.getEventsByTrack(l.id).length})),showGroupActions:!0,fullWidth:!0}]:[]},[s.rootStore.eventStore.tracks]),f=m(()=>{const e=s.rootStore.eventStore.venues;return e.length?[{groupName:"Venues",items:e.map(l=>({id:l.id,name:l.name,countProvider:()=>s.rootStore.eventStore.getEventsByVenue(l.id).length})),showGroupActions:!0,fullWidth:!0}]:[]},[s.rootStore.eventStore.venues]),k=e=>{const l=e.map(c=>Number(c));s.setPending("selectedTracks",l)},S=e=>{const l=e.map(c=>Number(c));s.setPending("selectedVenues",l)},b=u!==void 0?u:s.state.isOpen,N=a||(()=>s.closeFilter()),r=v||s.state.visibleSections;return n(y,{open:b,title:i("Sessions Filters"),badge:s.activeFiltersCount>0?s.activeFiltersCount:void 0,maxWidth:800,footerLeft:[{label:i("Clear all"),variant:"gray",disabled:t.selectedTracks.pending.length===0&&t.selectedVenues.pending.length===0,onClick:()=>{s.resetFilters(),a&&a()}}],footerRight:[{label:i("Apply"),variant:"primary",onClick:()=>{s.applyFilters(),a&&a()}}],onClickClose:N,children:o("div",{className:"efp-sessions-filters-modal",children:[r.includes("tracks")&&h.length>0&&n("div",{className:"efp-sessions-filters-modal__section",children:n(p,{groups:h,selectedIds:t.selectedTracks.pending,onChange:k,showItemCounts:!0})}),r.includes("venues")&&f.length>0&&n("div",{className:"efp-sessions-filters-modal__section",children:n(p,{groups:f,selectedIds:t.selectedVenues.pending,onChange:S,showItemCounts:!0})}),r.includes("date")&&o("div",{className:"efp-sessions-filters-modal__section",children:[n("h3",{children:i("Date")}),n("div",{className:"efp-sessions-filters-modal__buttons",children:["all","today","tomorrow"].map(e=>n("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":t.date.pending===e}),onClick:()=>s.setPending("date",e),children:i(e==="all"?"All dates":e.charAt(0).toUpperCase()+e.slice(1))},e))})]}),r.includes("time")&&_>=30&&o("div",{className:"efp-sessions-filters-modal__section",children:[n("h3",{children:i("Session time")}),n("div",{className:"efp-sessions-filters-modal__buttons",children:["all","morning","midday","afternoon"].map(e=>n("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":t.timeOfDay.pending===e}),onClick:()=>s.setPending("timeOfDay",e),children:i(e==="all"?"All times":e.charAt(0).toUpperCase()+e.slice(1))},e))})]}),r.includes("sort")&&o("div",{className:"efp-sessions-filters-modal__section",children:[n("h3",{children:i("Sort order")}),o("div",{className:"efp-sessions-filters-modal__buttons",children:[n("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":t.sortOrder.pending==="desc"}),onClick:()=>s.setPending("sortOrder","desc"),children:i("Earliest first")}),n("button",{className:d("efp-sessions-filters-modal__btn",{"is-active":t.sortOrder.pending==="asc"}),onClick:()=>s.setPending("sortOrder","asc"),children:i("Latest first")})]})]}),r.includes("settings")&&o("div",{className:"efp-sessions-filters-modal__section",children:[n("h3",{children:i("Additional settings")}),n("div",{className:"efp-sessions-filters-modal__toggle",children:n(g,{name:"showBookmarksOnly",label:i("Show bookmarks only"),value:t.showBookmarksOnly.pending,onChange:e=>s.setPending("showBookmarksOnly",e)})}),n("div",{className:"efp-sessions-filters-modal__toggle",children:n(g,{name:"use24hFormat",label:i("Show time in 24h format"),value:t.use24hFormat.pending,onChange:e=>s.setPending("use24hFormat",e)})})]})]})})});export default O;
@@ -1 +1 @@
1
- import{jsxs as a,jsx as e}from"react/jsx-runtime";import{useState as h}from"react";import d from"classnames";import{t as s}from"../utils/i18n";import"./Share.scss";const m=({title:r,url:i})=>{const[c,n]=h(!1),l=encodeURI(i),o={facebook:`https://www.facebook.com/sharer/sharer.php?u=${l}`,xcom:`https://x.com/share?url=${l}`,linkedin:`https://linkedin.com/shareArticle?url=${l}`},t=()=>{navigator.clipboard.writeText(i),n(!0),setTimeout(()=>n(!1),2e3)};return a("div",{className:"share",children:[a("h3",{children:["Share ",r]}),a("div",{className:"share__socials",children:[a("a",{href:o.facebook,rel:"noopener noreferrer",target:"_blank",className:"share-social facebook","aria-label":`Share ${r} on Facebook`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-facebook","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"Facebook"})]}),a("a",{href:o.xcom,rel:"noopener noreferrer",target:"_blank",className:"share-social xcom","aria-label":`Share ${r} on X.com`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-twitter-x","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"X.COM"})]}),a("a",{href:o.linkedin,rel:"noopener noreferrer",target:"_blank",className:"share-social linkedin","aria-label":`Share ${r} on LinkedIn`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-linkedin","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"LinkedIn"})]})]}),a("div",{className:"share__copy",children:[e("span",{children:s("or copy link")}),a("div",{className:"share__copy-input",children:[e("input",{type:"text",defaultValue:i,readOnly:!0,"aria-label":`Direct link to ${r}`}),e("button",{type:"button",className:d({isCopied:c}),onClick:t,"aria-label":s("Copy link to clipboard"),children:c?a("span",{"aria-live":"polite",children:[s("Copied"),"!"]}):"Copy"})]})]})]})};export default m;
1
+ import{jsxs as a,jsx as e}from"react/jsx-runtime";import{useState as d}from"react";import h from"classnames";import{t as l}from"../utils/i18n";import"./Share.scss";const m=({title:r,url:i})=>{const[c,n]=d(!1),s=encodeURI(i),o={facebook:`https://www.facebook.com/sharer/sharer.php?u=${s}`,xcom:`https://x.com/share?url=${s}`,linkedin:`https://linkedin.com/shareArticle?url=${s}`},t=()=>{navigator.clipboard.writeText(i),n(!0),setTimeout(()=>n(!1),2e3)};return a("div",{className:"share",children:[a("h3",{children:["Share ",r]}),a("div",{className:"share__socials",children:[a("a",{href:o.facebook,rel:"noopener noreferrer",target:"_blank",className:"share-social facebook","aria-label":`Share ${r} on Facebook`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-facebook","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"Facebook"})]}),a("a",{href:o.xcom,rel:"noopener noreferrer",target:"_blank",className:"share-social xcom","aria-label":`Share ${r} on X.com`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-twitter-x","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"X.COM"})]}),a("a",{href:o.linkedin,rel:"noopener noreferrer",target:"_blank",className:"share-social linkedin","aria-label":`Share ${r} on LinkedIn`,children:[e("div",{className:"share-social__icon",children:e("i",{className:"icon-linkedin","aria-hidden":"true"})}),e("div",{className:"share-social__title",children:"LinkedIn"})]})]}),a("div",{className:"share__copy",children:[e("span",{children:l("or copy link")}),a("div",{className:"share__copy-input",children:[e("input",{type:"text",defaultValue:i,readOnly:!0,"aria-label":`Direct link to ${r}`}),e("button",{type:"button",className:h({isCopied:c}),onClick:t,"aria-label":l("Copy link to clipboard"),children:c?a("span",{"aria-live":"polite",children:[l("Copied"),"!"]}):"Copy"})]})]})]})};export default m;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as N}from"react/jsx-runtime";import{memo as R,useCallback as n}from"react";import g from"classnames";import u from"../../store";import"./ShortcutButton.scss";const d=R(({id:s,label:a,icon:i,enabled:t,active:o,tooltip:r,badge:c,variant:b="default",showResetButton:m=!1,interfaceId:l})=>{const h=n(()=>{t&&u.shortcutRegistry.handleShortcutClick(l,s)},[t,l,s]),p=n(f=>{f.stopPropagation(),t&&o&&u.shortcutRegistry.handleShortcutReset(l,s)},[t,o,l,s]);return N("button",{className:g("shortcut-button",`shortcut-button--${b}`,{"is-active":o,"is-disabled":!t}),onClick:h,disabled:!t,title:r||a,type:"button","aria-label":r||a,children:[m&&o&&e("div",{className:"shortcut-reset-button",onClick:p,title:"Reset filter","aria-label":"Reset filter",children:e("i",{className:"icon-close-solid"})}),i&&e("i",{className:i}),a&&e("span",{className:"shortcut-button__label",children:a}),c&&e("span",{className:"shortcut-button__badge",children:c})]})});d.displayName="ShortcutButton";export default d;
1
+ import{jsx as s,jsxs as k}from"react/jsx-runtime";import{memo as C,useCallback as u}from"react";import R from"classnames";import h from"../../store";import"./ShortcutButton.scss";const n=C(({id:o,label:r,icon:a,enabled:t,active:c,tooltip:e,badge:i,variant:m="default",showResetButton:p=!1,interfaceId:l})=>{const f=u(()=>{t&&h.shortcutRegistry.handleShortcutClick(l,o)},[t,l,o]),N=u(d=>{d.stopPropagation(),t&&c&&h.shortcutRegistry.handleShortcutReset(l,o)},[t,c,l,o]);return k("button",{className:R("shortcut-button",`shortcut-button--${m}`,{"is-active":c,"is-disabled":!t}),onClick:f,disabled:!t,title:e||r,type:"button","aria-label":e||r,children:[p&&c&&s("div",{className:"shortcut-reset-button",onClick:N,title:"Reset filter","aria-label":"Reset filter",children:s("i",{className:"icon-close-solid"})}),a&&s("i",{className:a}),r&&s("span",{className:"shortcut-button__label",children:r}),i&&s("span",{className:"shortcut-button__badge",children:i})]})});n.displayName="ShortcutButton";export default n;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{memo as u}from"react";import f from"classnames";import{observer as h}from"mobx-react-lite";import e from"../../store";import{t as i}from"../../utils/i18n";import"./ShortcutsFiltersButton.scss";const o=u(h(({interfaceId:t,className:a})=>{const{shortcutRegistry:l}=e,n=l.getShortcuts(t).filter(p=>p.active).length;let s=0;t==="sessions"?s=e.sessionsFilterStore.activeFiltersCount:t==="speakers"&&(s=e.speakerFilterStore.activeFiltersCount);const c=Math.max(n,s),m=()=>{t==="sessions"?e.sessionsFilterStore.openFilterWithSections(["tracks","venues","date","time","sort","settings"]):t==="speakers"&&e.speakerFilterStore.openFilterWithSections(["companies","jobTitles"])};return r("button",{className:f("shortcuts-filters-button",a,{"is-active":c>0}),onClick:m,type:"button","aria-label":i("Filters"),title:i("Open filters"),children:r("i",{className:"icon-filter-horizontal-solid"})})}));o.displayName="ShortcutsFiltersButton";export default o;
1
+ import{jsx as o}from"react/jsx-runtime";import{memo as p}from"react";import h from"classnames";import{observer as F}from"mobx-react-lite";import s from"../../store";import{t as i}from"../../utils/i18n";import"./ShortcutsFiltersButton.scss";const r=p(F(({interfaceId:t,className:l})=>{const{shortcutRegistry:n}=s,a=n.getShortcuts(t).filter(u=>u.active).length;let e=0;t==="sessions"?e=s.sessionsFilterStore.activeFiltersCount:t==="speakers"&&(e=s.speakerFilterStore.activeFiltersCount);const c=Math.max(a,e),m=()=>{t==="sessions"?s.sessionsFilterStore.openFilterWithSections(["tracks","venues","date","time","sort","settings"]):t==="speakers"&&s.speakerFilterStore.openFilterWithSections(["companies","jobTitles"])};return o("button",{className:h("shortcuts-filters-button",l,{"is-active":c>0}),onClick:m,type:"button","aria-label":i("Filters"),title:i("Open filters"),children:o("i",{className:"icon-filter-horizontal-solid"})})}));r.displayName="ShortcutsFiltersButton";export default r;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as l}from"react/jsx-runtime";import{memo as c}from"react";import n from"classnames";import{observer as h}from"mobx-react-lite";import f from"../../store";import p from"./ShortcutButton";import u from"./ShortcutsFiltersButton";import d from"../ScrollableRow";import"./ShortcutsToolbar.scss";const e=c(h(({interfaceId:o,showFiltersButton:i=!0,className:a})=>{const{shortcutRegistry:t}=f,s=t.getShortcuts(o);return!t.shouldShowShortcuts(o)||s.length===0?null:r("div",{className:n("shortcuts-toolbar",a),children:l(d,{className:"shortcuts-toolbar__scrollable",scrollAmount:150,showArrowsOnMobile:!1,arrowPosition:"inside",children:[i&&r(u,{interfaceId:o}),s.map(m=>r(p,{...m,interfaceId:o},m.id))]})})}));e.displayName="ShortcutsToolbar";export default e;
1
+ import{jsx as r,jsxs as c}from"react/jsx-runtime";import{memo as u}from"react";import h from"classnames";import{observer as a}from"mobx-react-lite";import n from"../../store";import p from"./ShortcutButton";import f from"./ShortcutsFiltersButton";import S from"../ScrollableRow";import"./ShortcutsToolbar.scss";const m=u(a(({interfaceId:o,showFiltersButton:e=!0,className:i})=>{const{shortcutRegistry:t}=n,s=t.getShortcuts(o);return!t.shouldShowShortcuts(o)||s.length===0?null:r("div",{className:h("shortcuts-toolbar",i),children:c(S,{className:"shortcuts-toolbar__scrollable",scrollAmount:150,showArrowsOnMobile:!1,arrowPosition:"inside",children:[e&&r(f,{interfaceId:o}),s.map(l=>r(p,{...l,interfaceId:o},l.id))]})})}));m.displayName="ShortcutsToolbar";export default m;
@@ -1 +1 @@
1
- import{jsx as i,jsxs as s}from"react/jsx-runtime";import{useState as f}from"react";import B from"classnames";import"./SidebarActions.scss";import{t as o}from"../utils/i18n";import a from"i18next";import v from"./CheckboxButton";const N=({inBookmark:t=!1,visited:e=!1,showVisited:n=!1,showBookmark:c=!0,showDirections:l=!0,showShare:m=!0,onClickBookmark:k,onClickVisited:d,onClickDirections:p,onClickShare:b})=>{const[h,r]=f(!1),u=()=>{r(!0),k(),setTimeout(()=>{r(!1)},320)};return s("div",{className:"efp-sidebarActions",role:"toolbar","aria-label":"Sidebar Actions",children:[l&&s("button",{type:"button",className:"efp-actionButton efp-actionButton--directions",onClick:p,title:o("Directions"),"aria-label":o("Directions"),children:[i("i",{className:"icon-directions","aria-hidden":"true"}),o("Directions")]}),n&&i(v,{className:"efp-visited-btn","aria-label":e?a.t("Visited"):a.t("Not visited"),"aria-pressed":e,checked:e,label:a.t("Visited"),onClick:d??(()=>{})}),c&&i("button",{type:"button",className:B("efp-actionButton","efp-actionButton--bookmark",{isActive:t,animate:h}),title:t?o("Remove from Bookmarks"):o("Save to Bookmarks"),"aria-label":t?o("Remove from Bookmarks"):o("Save to Bookmarks"),"aria-pressed":t,onClick:u,children:i("i",{className:t?"icon-bookmark-solid":"icon-bookmark","aria-hidden":"true"})}),m&&i("button",{type:"button",className:"efp-actionButton efp-actionButton--share",title:o("Share"),"aria-label":o("Share"),onClick:b,children:i("i",{className:"icon-share","aria-hidden":"true"})})]})};export default N;
1
+ import{jsx as t,jsxs as r}from"react/jsx-runtime";import{useState as h}from"react";import N from"classnames";import"./SidebarActions.scss";import{t as e}from"../utils/i18n";import i from"i18next";import B from"./CheckboxButton";const x=({inBookmark:a=!1,visited:o=!1,showVisited:n=!1,showBookmark:c=!0,showDirections:l=!0,showShare:m=!0,onClickBookmark:d,onClickVisited:u,onClickDirections:f,onClickShare:b})=>{const[p,s]=h(!1),k=()=>{s(!0),d(),setTimeout(()=>{s(!1)},320)};return r("div",{className:"efp-sidebarActions",role:"toolbar","aria-label":"Sidebar Actions",children:[l&&r("button",{type:"button",className:"efp-actionButton efp-actionButton--directions",onClick:f,title:e("Directions"),"aria-label":e("Directions"),children:[t("i",{className:"icon-directions","aria-hidden":"true"}),e("Directions")]}),n&&t(B,{className:"efp-visited-btn","aria-label":o?i.t("Visited"):i.t("Not visited"),"aria-pressed":o,checked:o,label:i.t("Visited"),onClick:u??(()=>{})}),c&&t("button",{type:"button",className:N("efp-actionButton","efp-actionButton--bookmark",{isActive:a,animate:p}),title:a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-label":a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-pressed":a,onClick:k,children:t("i",{className:a?"icon-bookmark-solid":"icon-bookmark","aria-hidden":"true"})}),m&&t("button",{type:"button",className:"efp-actionButton efp-actionButton--share",title:e("Share"),"aria-label":e("Share"),onClick:b,children:t("i",{className:"icon-share","aria-hidden":"true"})})]})};export default x;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l}from"react/jsx-runtime";import _ from"../data";import"./SimpleRow.scss";import w from"./HighlightText";const x=({line1:i,line2:r,lineEnd:o,slug:t,style:a,className:c,active:m=!1,onClick:p,onMouseOver:s,onMouseOut:n,highlight:u=!0})=>{return l("a",{href:"?"+encodeURIComponent(t),onClick:d,className:"efp-simple-row"+(m?" active":"")+" "+c,onMouseOver:f,onMouseOut:h,style:{marginLeft:_.isRebooking?"5px":null,...a},children:[l("div",{className:"efp-simple-row__col",children:[e("div",{className:"efp-simple-row__main",dir:"auto",children:u?e(w,{text:i}):i}),e("div",{className:"efp-simple-row__sub",dir:"auto",children:r})]}),o&&e("div",{className:"efp-simple-row__end",children:o})]});function d(v){v.preventDefault(),p()}function f(){s&&s()}function h(){n&&n()}};export default x;
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import x from"../data";import"./SimpleRow.scss";import v from"./HighlightText";const w=({line1:i,line2:a,lineEnd:s,slug:t,style:n,className:m,active:c=!1,onClick:p,onMouseOver:o,onMouseOut:l,highlight:d=!0})=>{return r("a",{href:"?"+encodeURIComponent(t),onClick:f,className:"efp-simple-row"+(c?" active":"")+" "+m,onMouseOver:u,onMouseOut:h,style:{marginLeft:x.isRebooking?"5px":null,...n},children:[r("div",{className:"efp-simple-row__col",children:[e("div",{className:"efp-simple-row__main",dir:"auto",children:d?e(v,{text:i}):i}),e("div",{className:"efp-simple-row__sub",dir:"auto",children:a})]}),s&&e("div",{className:"efp-simple-row__end",children:s})]});function f(_){_.preventDefault(),p()}function u(){o&&o()}function h(){l&&l()}};export default w;
@@ -1 +1 @@
1
- import{jsx as s,jsxs as r}from"react/jsx-runtime";import{useMemo as y,useRef as d,useState as E,useEffect as T}from"react";import{observer as k}from"mobx-react-lite";import{useObserver as j}from"mobx-react-lite";import f from"classnames";import D from"../data";import t,{uiState as o}from"../store";import{Schedule as x,SidebarActions as A}from"./";import{t as h}from"../utils/i18n";import{GaEventActions as m,sendEventToGa as l}from"../tools/gtag";import"./Speaker.scss";const G=k(()=>{const i=d(null),n=d(null),[u,v]=E(!1),e=t.speakerStore.selectedSpeaker;if(!e)return s("div",{className:"efp-speaker-empty",children:h("Speaker not found")});const c=t.speakerStore.getEventsBySpeaker(e.id),p=y(()=>[...c].sort((a,B)=>{const g=new Date(a.startDate).getTime(),w=new Date(B.startDate).getTime();return g-w}),[c]);T(()=>{(()=>{if(n.current){const a=n.current.offsetHeight;v(a>300)}})()},[]);const _=a=>{t.selectEventItem(a,!0)},N=()=>{e.bookmarked=!e.bookmarked,l(m.ClickCustomButton,e.name)},S=()=>{l(m.ClickCustomButton,e.name),t.toggleModal("share")},b=()=>{l(m.ClickCustomButton,e.name)},C=f({"efp-speaker":!0,[o.responsiveClass]:!0});return j(()=>r("div",{className:C,children:[r("div",{className:"efp-speaker__header",children:[s("div",{className:"efp-speaker__icon",children:s("i",{className:"icon-speaker-solid"})}),r("div",{className:"efp-speaker__content",children:[s("div",{className:"efp-speaker__name",children:e.name}),e.company&&s("div",{className:"efp-speaker__company",children:e.company}),e.jobTitle&&s("div",{className:"efp-speaker__job-title",children:e.jobTitle})]}),e.photoFile&&s("div",{className:"efp-speaker__photo",children:s("img",{src:e.photoFile,alt:e.name})})]}),s("div",{className:"efp-speaker__buttons",children:!o.isGuidedToursActive&&s(A,{showBookmark:!o.disableBookmarked&&!D.hideBookmarks&&!o.kiosk,showDirections:!1,inBookmark:e.bookmarked||!1,showShare:!0,showVisited:!1,visited:!1,onClickBookmark:N,onClickShare:S,onClickVisited:b})}),s("div",{className:f("efp-speaker__details",{"details-hidden":o.kiosk&&u}),ref:n,children:p.length>0&&r("div",{className:"efp-speaker-events",children:[s("h3",{className:"efp-speaker-events__title",children:h("Sessions")}),s(x,{events:p,showBooths:!0,isSessions:!1,onEventClick:_})]})})]}))}),F=k(()=>{const i=t.uiState.details;return!i||i?.entity?.type!=="speaker"?null:s(G,{})});export default F;
1
+ import{jsx as s,jsxs as r}from"react/jsx-runtime";import{useMemo as E,useRef as k,useState as j,useEffect as y}from"react";import{observer as f}from"mobx-react-lite";import{useObserver as T}from"mobx-react-lite";import h from"classnames";import x from"../data";import t,{uiState as o}from"../store";import{Schedule as D,SidebarActions as A}from"./";import{t as u}from"../utils/i18n";import{GaEventActions as c,sendEventToGa as m}from"../tools/gtag";import"./Speaker.scss";const G=f(()=>{const i=k(null),n=k(null),[v,_]=j(!1),e=t.speakerStore.selectedSpeaker;if(!e)return s("div",{className:"efp-speaker-empty",children:u("Speaker not found")});const d=t.speakerStore.getEventsBySpeaker(e.id),p=E(()=>[...d].sort((a,l)=>{const B=new Date(a.startDate).getTime(),w=new Date(l.startDate).getTime();return B-w}),[d]);y(()=>{(()=>{if(n.current){const l=n.current.offsetHeight;_(l>300)}})()},[]);const S=a=>{t.selectEventItem(a,!0)},N=()=>{e.bookmarked=!e.bookmarked,m(c.ClickCustomButton,e.name)},C=()=>{m(c.ClickCustomButton,e.name),t.toggleModal("share")},g=()=>{m(c.ClickCustomButton,e.name)},b=h({"efp-speaker":!0,[o.responsiveClass]:!0});return T(()=>r("div",{className:b,children:[r("div",{className:"efp-speaker__header",children:[s("div",{className:"efp-speaker__icon",children:s("i",{className:"icon-speaker-solid"})}),r("div",{className:"efp-speaker__content",children:[s("div",{className:"efp-speaker__name",children:e.name}),e.company&&s("div",{className:"efp-speaker__company",children:e.company}),e.jobTitle&&s("div",{className:"efp-speaker__job-title",children:e.jobTitle})]}),e.photoFile&&s("div",{className:"efp-speaker__photo",children:s("img",{src:e.photoFile,alt:e.name})})]}),s("div",{className:"efp-speaker__buttons",children:!o.isGuidedToursActive&&s(A,{showBookmark:!o.disableBookmarked&&!x.hideBookmarks&&!o.kiosk,showDirections:!1,inBookmark:e.bookmarked||!1,showShare:!0,showVisited:!1,visited:!1,onClickBookmark:N,onClickShare:C,onClickVisited:g})}),s("div",{className:h("efp-speaker__details",{"details-hidden":o.kiosk&&v}),ref:n,children:p.length>0&&r("div",{className:"efp-speaker-events",children:[s("h3",{className:"efp-speaker-events__title",children:u("Sessions")}),s(D,{events:p,showBooths:!0,isSessions:!1,onEventClick:S})]})})]}))}),H=f(()=>{const i=t.uiState.details;return!i||i?.entity?.type!=="speaker"?null:s(G,{})});export default H;
@@ -1 +1 @@
1
- import{jsx as s,jsxs as k}from"react/jsx-runtime";import{useRef as h,useMemo as S}from"react";import{useObserver as y}from"mobx-react-lite";import{observer as c}from"mobx-react-lite";import t,{uiState as d}from"../store";import{ShortcutsToolbar as b}from"./Shortcuts";import{t as u}from"../utils/i18n";import g from"fuse.js";import v from"./EntityItem";import"./Speakers.scss";const T=c(({showFilters:a=!0})=>{const f=h(),n=t.speakerStore.speakers,{filters:{selectedCompanies:{value:i},selectedJobTitles:{value:l}}}=t.speakerFilterStore.state,p=S(()=>{let e=n;i.length>0&&(e=e.filter(r=>i.includes(r.company))),l.length>0&&(e=e.filter(r=>l.includes(r.jobTitle)));const o=t.searchStore.searchText;if(o){const r={keys:["name","company","jobTitle"],threshold:.3,ignoreLocation:!0,includeScore:!0};e=new g(e,r).search(o).map(m=>m.item)}return e},[n,t.searchStore.searchText,i,l,t.speakerFilterStore.state]);return y(()=>k("div",{className:"efp-speakers-content",children:[a&&s(b,{interfaceId:"speakers"}),p.length>0?s("div",{className:"efp-speakers-list",ref:f,children:p.map(e=>{const o=t.speakerStore.getEventsBySpeaker(e.id),r=[];return e.company&&r.push({type:"speaker",text:e.jobTitle}),s(v,{id:e.id.toString(),type:"speaker",url:`?${e.slug}`,title:e.name,subtitle:e.company,image:e.photoFile,itemsCount:o.length,additionalInfo:r,bookmarked:e.bookmarked,onClick:(m,j)=>t.selectSpeaker(e,!0)},e.id)})}):s("div",{className:"list-empty",children:t.speakerFilterStore.activeFiltersCount>0||t.searchStore.searchText?u("No speakers found. Try adjusting your filters."):u("No speakers found")})]}))}),x=c(a=>d.list.type!=="speakers"||d.details?null:s(T,{...a}));export default x;
1
+ import{jsx as r,jsxs as S}from"react/jsx-runtime";import{useRef as y,useMemo as b}from"react";import{useObserver as T}from"mobx-react-lite";import{observer as p}from"mobx-react-lite";import t,{uiState as m}from"../store";import{ShortcutsToolbar as g}from"./Shortcuts";import{t as u}from"../utils/i18n";import v from"fuse.js";import x from"./EntityItem";import"./Speakers.scss";const j=p(({showFilters:i=!0})=>{const d=y(),n=t.speakerStore.speakers,{filters:{selectedCompanies:{value:a},selectedJobTitles:{value:l}}}=t.speakerFilterStore.state,c=b(()=>{let e=n;a.length>0&&(e=e.filter(s=>a.includes(s.company))),l.length>0&&(e=e.filter(s=>l.includes(s.jobTitle)));const o=t.searchStore.searchText;if(o){const s={keys:["name","company","jobTitle"],threshold:.3,ignoreLocation:!0,includeScore:!0};e=new v(e,s).search(o).map(k=>k.item)}return e},[n,t.searchStore.searchText,a,l,t.speakerFilterStore.state]);return T(()=>S("div",{className:"efp-speakers-content",children:[i&&r(g,{interfaceId:"speakers"}),c.length>0?r("div",{className:"efp-speakers-list",ref:d,children:c.map(e=>{const o=t.speakerStore.getEventsBySpeaker(e.id),s=[];return e.company&&s.push({type:"speaker",text:e.jobTitle}),r(x,{id:e.id.toString(),type:"speaker",url:`?${e.slug}`,title:e.name,subtitle:e.company,image:e.photoFile,itemsCount:o.length,additionalInfo:s,bookmarked:e.bookmarked,onClick:(f,h)=>t.selectSpeaker(e,!0)},e.id)})}):r("div",{className:"list-empty",children:t.speakerFilterStore.activeFiltersCount>0||t.searchStore.searchText?u("No speakers found. Try adjusting your filters."):u("No speakers found")})]}))}),F=p(i=>m.list.type!=="speakers"||m.details?null:r(j,{...i}));export default F;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as S}from"react/jsx-runtime";import{useMemo as d}from"react";import{observer as b}from"mobx-react-lite";import{t as i}from"../utils/i18n";import{Modal as k,MultiSelectGroups as c}from"./";import"./SpeakersFiltersModal.scss";const v=b(({store:e,visibleSections:m,open:l,onClose:g})=>{const s=e.state.filters,T=s.selectedCompanies.pending.length>0||s.selectedJobTitles.pending.length>0,n=d(()=>{const o=e.rootStore.speakerStore.companies;return o.length?[{groupName:"Companies",items:o.map(t=>({id:t,name:t,countProvider:()=>e.rootStore.speakerStore.getSpeakersByCompany(t).length})),showGroupActions:!0,fullWidth:!0}]:[]},[e.rootStore.speakerStore.companies]),a=d(()=>{const o=e.rootStore.speakerStore.jobTitles;return o.length?[{groupName:"Job Titles",items:o.map(t=>({id:t,name:t,countProvider:()=>e.rootStore.speakerStore.getSpeakersByJobTitle(t).length})),showGroupActions:!0,fullWidth:!0}]:[]},[e.rootStore.speakerStore.jobTitles]),h=o=>{const t=o;e.setPending("selectedCompanies",t)},u=o=>{const t=o;e.setPending("selectedJobTitles",t)},f=l!==void 0?l:e.state.isOpen,C=g||(()=>e.closeFilter()),p=m||e.state.visibleSections;return r(k,{open:f,title:i("Speaker Filters"),badge:e.activeFiltersCount>0?e.activeFiltersCount:void 0,maxWidth:800,footerLeft:[{label:i("Clear all"),variant:"gray",disabled:s.selectedCompanies.pending.length===0&&s.selectedJobTitles.pending.length===0,onClick:()=>{e.resetFilters()}}],footerRight:[{label:i("Apply"),variant:"primary",onClick:()=>{e.applyFilters()}}],onClickClose:C,children:S("div",{className:"efp-speakers-filters-modal",children:[p.includes("companies")&&n.length>0&&r("div",{className:"efp-speakers-filters-modal__section",children:r(c,{groups:n,selectedIds:s.selectedCompanies.pending,onChange:h,showItemCounts:!0})}),p.includes("jobTitles")&&a.length>0&&r("div",{className:"efp-speakers-filters-modal__section",children:r(c,{groups:a,selectedIds:s.selectedJobTitles.pending,onChange:u,showItemCounts:!0})})]})})});export default v;
1
+ import{jsx as n,jsxs as S}from"react/jsx-runtime";import{useMemo as c}from"react";import{observer as b}from"mobx-react-lite";import{t as i}from"../utils/i18n";import{Modal as k,MultiSelectGroups as d}from"./";import"./SpeakersFiltersModal.scss";const v=b(({store:e,visibleSections:m,open:l,onClose:u})=>{const o=e.state.filters,T=o.selectedCompanies.pending.length>0||o.selectedJobTitles.pending.length>0,r=c(()=>{const s=e.rootStore.speakerStore.companies;return s.length?[{groupName:"Companies",items:s.map(t=>({id:t,name:t,countProvider:()=>e.rootStore.speakerStore.getSpeakersByCompany(t).length})),showGroupActions:!0,fullWidth:!0}]:[]},[e.rootStore.speakerStore.companies]),a=c(()=>{const s=e.rootStore.speakerStore.jobTitles;return s.length?[{groupName:"Job Titles",items:s.map(t=>({id:t,name:t,countProvider:()=>e.rootStore.speakerStore.getSpeakersByJobTitle(t).length})),showGroupActions:!0,fullWidth:!0}]:[]},[e.rootStore.speakerStore.jobTitles]),g=s=>{const t=s;e.setPending("selectedCompanies",t)},h=s=>{const t=s;e.setPending("selectedJobTitles",t)},f=l!==void 0?l:e.state.isOpen,C=u||(()=>e.closeFilter()),p=m||e.state.visibleSections;return n(k,{open:f,title:i("Speaker Filters"),badge:e.activeFiltersCount>0?e.activeFiltersCount:void 0,maxWidth:800,footerLeft:[{label:i("Clear all"),variant:"gray",disabled:o.selectedCompanies.pending.length===0&&o.selectedJobTitles.pending.length===0,onClick:()=>{e.resetFilters()}}],footerRight:[{label:i("Apply"),variant:"primary",onClick:()=>{e.applyFilters()}}],onClickClose:C,children:S("div",{className:"efp-speakers-filters-modal",children:[p.includes("companies")&&r.length>0&&n("div",{className:"efp-speakers-filters-modal__section",children:n(d,{groups:r,selectedIds:o.selectedCompanies.pending,onChange:g,showItemCounts:!0})}),p.includes("jobTitles")&&a.length>0&&n("div",{className:"efp-speakers-filters-modal__section",children:n(d,{groups:a,selectedIds:o.selectedJobTitles.pending,onChange:h,showItemCounts:!0})})]})})});export default v;
@@ -1 +1 @@
1
- import{jsx as m}from"react/jsx-runtime";import c from"classnames";import{useLocalStore as f,useObserver as x}from"mobx-react-lite";import{useEffect as d,useRef as v}from"react";import p from"../../core/Rect";import t,{boothStore as S,uiState as o}from"../../store";import{useReaction as r}from"../../utils/mobx";import"../Mapbox/Mapbox.scss";import{moveToLocation as B,moveToRect as l,switchViewbox as u,zoomMap as M}from"../Mapbox/utils/data";import w from"./UIManager";export default function T({isMapbox:h,expo:b}){const n=v(null);let s=null;d(()=>{s=new w(b,h,n.current),s.init().then(()=>{t.layerStore.layers.forEach(e=>s.changeLayerVisibility(e.name,e.visible)),s.selectBooths([...o.selectedBooths]),s.updateRouteLines(t.routeStore),u(!0)})},[]);const a=f(()=>({get initselected(){return![...o.selectedBooths].filter(e=>e.rect)},get actualCurrentPosition(){const e=t.routeStore.currentPosition;return!e?.z||t.layerStore.visible.indexOf(t.layerStore.findLayer(e.z))>-1?e:null},get style(){return{left:0}}}));return r(()=>o.zoomBy,()=>{if(!o.zoomBy||!t.mapboxStore.showMapbox)return;const e=o.zoomBy;o.zoomBy=null,M(e>1)}),r(()=>[t.layerStore.loaded,t.layerStore.visible,o.selectedRoute],()=>{t.layerStore.layers.length===t.layerStore.layers.filter(e=>e.loaded).length&&t.layerStore.layers.forEach(e=>s.changeLayerVisibility(e.name,e.visible))}),r(()=>o.hoveredBooths,()=>{s.hoverBooths([...o.hoveredBooths])}),r(()=>[o.selectedBooths,o.listBooths],()=>{var e=[];o.selectedBooths.size?e=[...o.selectedBooths]:o.listBooths.size&&(o.activeListIndex===0||o.list.type==="bookmarks"||o.list.type==="category")&&(e=[...o.listBooths]),s.selectBooths(e)}),r(()=>t.mapboxStore.showMapbox,()=>{u(t.mapboxStore.showMapbox)}),r(()=>o.moveToBooths,()=>{if(!o.moveToBooths||!t.mapboxStore.showMapbox)return;const e=o.moveToBooths.filter(i=>i.rect).map(i=>i.rect),y=p.fromMultiple(e);e.length&&l(y),o.moveToBooths=null}),r(()=>o.moveToRect,()=>{!o.moveToRect||!t.mapboxStore.showMapbox||(l(o.moveToRect,15),o.moveToRect=null)}),r(()=>o.moveToLocation,()=>{!o.moveToLocation||!t.mapboxStore.showMapbox||B()}),r(()=>o.centerMap,()=>{!o.centerMap||!t.mapboxStore.showMapbox||(l(p.fromMultiple(S.booths.map(e=>e.rect)),15),o.centerMap=!1)}),r(()=>t.routeStore.routeLines,()=>s.updateRouteLines(t.routeStore)),r(()=>a.actualCurrentPosition,()=>s.setMarker("cp",a.actualCurrentPosition?.x,a.actualCurrentPosition?.y,a.actualCurrentPosition?.z)),x(()=>m("div",{style:a.style,className:c("map-container",{hidden:!t.mapboxStore.showMapbox}),children:m("div",{ref:n,className:c("map-wrapper","mapboxgl-map")})}))}
1
+ import{jsx as m}from"react/jsx-runtime";import c from"classnames";import{useLocalStore as y,useObserver as d}from"mobx-react-lite";import{useEffect as v,useRef as x}from"react";import u from"../../core/Rect";import t,{boothStore as S,uiState as e}from"../../store";import{useReaction as r}from"../../utils/mobx";import"../Mapbox/Mapbox.scss";import{moveToLocation as B,moveToRect as l,switchViewbox as p,zoomMap as M}from"../Mapbox/utils/data";import T from"./UIManager";export default function g({isMapbox:h,expo:f}){const n=x(null);let s=null;v(()=>{s=new T(f,h,n.current),s.init().then(()=>{t.layerStore.layers.forEach(o=>s.changeLayerVisibility(o.name,o.visible)),s.selectBooths([...e.selectedBooths]),s.updateRouteLines(t.routeStore),p(!0)})},[]);const a=y(()=>({get initselected(){return![...e.selectedBooths].filter(o=>o.rect)},get actualCurrentPosition(){const o=t.routeStore.currentPosition;return!o?.z||t.layerStore.visible.indexOf(t.layerStore.findLayer(o.z))>-1?o:null},get style(){return{left:0}}}));return r(()=>e.zoomBy,()=>{if(!e.zoomBy||!t.mapboxStore.showMapbox)return;const o=e.zoomBy;e.zoomBy=null,M(o>1)}),r(()=>[t.layerStore.loaded,t.layerStore.visible,e.selectedRoute],()=>{t.layerStore.layers.length===t.layerStore.layers.filter(o=>o.loaded).length&&t.layerStore.layers.forEach(o=>s.changeLayerVisibility(o.name,o.visible))}),r(()=>e.hoveredBooths,()=>{s.hoverBooths([...e.hoveredBooths])}),r(()=>[e.selectedBooths,e.listBooths],()=>{var o=[];e.selectedBooths.size?o=[...e.selectedBooths]:e.listBooths.size&&(e.activeListIndex===0||e.list.type==="bookmarks"||e.list.type==="category")&&(o=[...e.listBooths]),s.selectBooths(o)}),r(()=>t.mapboxStore.showMapbox,()=>{p(t.mapboxStore.showMapbox)}),r(()=>e.moveToBooths,()=>{if(!e.moveToBooths||!t.mapboxStore.showMapbox)return;const o=e.moveToBooths.filter(i=>i.rect).map(i=>i.rect),b=u.fromMultiple(o);o.length&&l(b),e.moveToBooths=null}),r(()=>e.moveToRect,()=>{!e.moveToRect||!t.mapboxStore.showMapbox||(l(e.moveToRect,15),e.moveToRect=null)}),r(()=>e.moveToLocation,()=>{!e.moveToLocation||!t.mapboxStore.showMapbox||B()}),r(()=>e.centerMap,()=>{!e.centerMap||!t.mapboxStore.showMapbox||(l(u.fromMultiple(S.booths.map(o=>o.rect)),15),e.centerMap=!1)}),r(()=>t.routeStore.routeLines,()=>s.updateRouteLines(t.routeStore)),r(()=>a.actualCurrentPosition,()=>s.setMarker("cp",a.actualCurrentPosition?.x,a.actualCurrentPosition?.y,a.actualCurrentPosition?.z)),d(()=>m("div",{style:a.style,className:c("map-container",{hidden:!t.mapboxStore.showMapbox}),children:m("div",{ref:n,className:c("map-wrapper","mapboxgl-map")})}))}
@@ -1 +1 @@
1
- import*as h from"three";import{BoothMesh as j}from"./common/BoothMesh";import E from"./common/dataLoader";import D from"./common/modelLoader";import T from"./index";import{init as R}from"./mapbox/index_mapbox";import g,{boothStore as L,layersStore as $,uiState as V}from"../../store";import{LayersMode as _}from"../../store/LayerStore";import G from"../../utils/imageloader";import{SpriteMesh as v}from"./common/SpriteMesh";import H from"./utils/canvasFromText";import O from"./utils/textureMerger";import{actualBoothColor as U}from"../Mapbox/utils/data";import{addVersionToUrl as z}from"../../tools/loaders";import X from"../../tools/settings";import q from"./assets/from.png";import A from"./assets/to.png";import{default as F,default as J}from"./assets/yah.png";const d=[],x=new h.MeshPhongMaterial({color:3190763}),K=new h.MeshPhongMaterial({color:16711680});let f=0;const S=[],N=M=>X.EXPO=="glf24"?.1:1*(M.area.width+M.area.height)/1200;export default class Q{expo;isMapbox;scene;data;container;isInit=!1;constructor(t,e,a){this.expo=t,this.isMapbox=e,this.container=a,setInterval(()=>{if(!d.length){f=0;return}d[f].material=K,f>0&&(d[f-1].material=x),f<d.length-1?f++:(d[f-1].material=x,f=0)},50)}async init(){return new Promise(async(t,e)=>{this.data=await E(this.expo);const a=`https://${this.expo}.expofp.com/data/threejs`,o=await(this.isMapbox?R(this.container,this.data):T(this.container,this.data)),n=await D(z(`${a}/model.obj`),z(`${a}/model.mtl`));this.isInit=!0,this.scene=o,o.onClickCallbacks.push(this.onClickCallback.bind(this)),o.onBeforeRender=this.onBeforeRender.bind(this),await this.initBooths(o,n),t()})}changeLayerVisibility(t,e){if(!this.isInit)return;const a=this.scene.getlayer(t);a!=null&&(e?(this.scene.camera.layers.enable(a),this.scene.raycaster.layers.enable(a)):(this.scene.camera.layers.disable(a),this.scene.raycaster.layers.disable(a)))}hoverBooths(t){S.forEach(e=>e.hovered(t.length&&!!t.find(a=>a.name===e.name)))}selectBooths(t){S.forEach(e=>e.dimmed(t.length&&!t.find(a=>a.name===e.name)))}setMarker(t,e,a,o,n=!1,r=1){const i=`{sprite_${t}}`;let s=this.scene.children.find(m=>m.name===i);if(e!=null&&a!=null){const m=n?{x:e,y:a}:this.convertPoint(e,a,0);let l=this.data.objLayers.find(b=>b.name===g.layerStore.findLayer(o)?.name)||this.data.objLayers[0];s||(t==="from"?s=new v(q,l.height*r*2):t==="to"?s=new v(A,l.height*r*2):t==="yah"?s=new v(J,l.height*r*2):t==="cp"&&(s=new v(F,l.height*r)),s.name=i,this.scene.add(s)),s.position.set(m.x,m.y,l.z+(t==="from"||t==="to"?l.height:0))}else s&&this.scene.remove(s)}interpolateColors(t,e,a){for(var o=1/(a-1),n=[],r=new h.Color(t),i=new h.Color(e),s=0;s<a;s++)n.push(r.clone().lerp(i,o*s).getHex());return n}updateRouteLines(t){if(!this.isInit)return;var e=t.routeLines.filter(r=>{let i=g.layerStore.layers.find(s=>s.name===r.p0.layer)?.visible??!0;return!r.virtual&&i});if(d.forEach(r=>this.scene.remove(r)),d.splice(0,d.length),!e.length){this.setMarker("from",null,null,null),this.setMarker("to",null,null,null);return}const a=this.linesToPoints(e),{z:o}=this.data.objLayers.find(r=>r.name===($.mode===_.Default?"Default":e[0].p0.layer)),n=N(this.data);[].concat(a).reverse().forEach((r,i)=>{const s=new h.SphereGeometry(n),m=new h.Mesh(s,x);m.position.set(r.x,r.y,o+.02),d.push(m),this.scene.add(m)}),this.setMarker("to",e[0].p0.x,e[0].p0.y,e[0].p0.layer),this.setMarker("from",e[e.length-1].p1.x,e[e.length-1].p1.y,e[e.length-1].p1.layer)}onBeforeRender(t,e,a,o,n,r){let i=a.userData.position||a.position}onClickCallback(t){let e=t.filter(o=>o.object.name!=="building")[0]?.object?.name,a=L.booths.find(o=>o.name===e);a?g.clickBooth(a):V.details=null}async initBooths(t,e){const a=(await G(L.booths)).filter(i=>!!i);var o=new Map;a.forEach(i=>o.set(i.name+"_logo",new h.Texture(i.htmlImage))),g.boothStore.booths.forEach(i=>{o.set(i.slug,new h.Texture(H(i.name)))});var n=new O(o),r=new h.MeshBasicMaterial;r.side=h.DoubleSide,r.transparent=!0,e.children.forEach((i,s)=>{var[m,l]=i.name.split(/ (.*)/s);const b=t.addLayer(m);i.layers.set(b),i.name=l;const p=g.boothStore.booths.find(u=>l&&l[0]==="b"&&u.name===l?.substring(1));if(p){i.material=new h.MeshPhongMaterial({color:U(p),side:h.DoubleSide,name:i.name});let u=this.data.objLayers.find(c=>c.name===(p.layer?.name||"Default")),y=this.data.booths.find(c=>c.name===p.name);y.zScale=y.zScale||1;let I=u.z+y.zScale*u.height+(u.z+y.zScale*u.height)*.001;const w=new j(p,y,i,l.substring(1),b,I);let k=w.setText();k&&t.add(k);var C=p?.exhibitors?.find(c=>!!c.logo&&c.logoInBooth);if(C){const c=a.find(P=>P.booth.name===l.substring(1)),B=w.setLogo(n,c.htmlImage.width/c.htmlImage.height,r);B&&t.add(B)}e.children[s]=w,S.push(w)}}),t.add(e)}convertPoint(t,e,a){var o=this.data.matrix;return t+=o[0],e+=o[1],t*=o[2],e*=o[3],t+=o[4],e+=o[5],new h.Vector3(t,e,a)}linesToPoints(t){let e=[],a=[];for(let o=0;o<t.length;o++){let n=t[o],r=g.layerStore.layers.find(i=>i.name===n.p0.layer)?.visible??!0;!n.virtual&&r&&a.push(n),(n.virtual||!r||o===t.length-1)&&a.length&&(a=[])}return e.map(o=>this.convertPoint(o.x,o.y,o.z))}}
1
+ import*as h from"three";import{BoothMesh as I}from"./common/BoothMesh";import E from"./common/dataLoader";import T from"./common/modelLoader";import D from"./index";import{init as R}from"./mapbox/index_mapbox";import g,{boothStore as k,layersStore as $,uiState as F}from"../../store";import{LayersMode as U}from"../../store/LayerStore";import V from"../../utils/imageloader";import{SpriteMesh as v}from"./common/SpriteMesh";import H from"./utils/canvasFromText";import O from"./utils/textureMerger";import{actualBoothColor as _}from"../Mapbox/utils/data";import{addVersionToUrl as B}from"../../tools/loaders";import A from"../../tools/settings";import G from"./assets/from.png";import X from"./assets/to.png";import{default as q,default as J}from"./assets/yah.png";const f=[],x=new h.MeshPhongMaterial({color:3190763}),K=new h.MeshPhongMaterial({color:16711680});let d=0;const S=[],N=w=>A.EXPO=="glf24"?.1:1*(w.area.width+w.area.height)/1200;export default class Q{expo;isMapbox;scene;data;container;isInit=!1;constructor(t,e,o){this.expo=t,this.isMapbox=e,this.container=o,setInterval(()=>{if(!f.length){d=0;return}f[d].material=K,d>0&&(f[d-1].material=x),d<f.length-1?d++:(f[d-1].material=x,d=0)},50)}async init(){return new Promise(async(t,e)=>{this.data=await E(this.expo);const o=`https://${this.expo}.expofp.com/data/threejs`,r=await(this.isMapbox?R(this.container,this.data):D(this.container,this.data)),n=await T(B(`${o}/model.obj`),B(`${o}/model.mtl`));this.isInit=!0,this.scene=r,r.onClickCallbacks.push(this.onClickCallback.bind(this)),r.onBeforeRender=this.onBeforeRender.bind(this),await this.initBooths(r,n),t()})}changeLayerVisibility(t,e){if(!this.isInit)return;const o=this.scene.getlayer(t);o!=null&&(e?(this.scene.camera.layers.enable(o),this.scene.raycaster.layers.enable(o)):(this.scene.camera.layers.disable(o),this.scene.raycaster.layers.disable(o)))}hoverBooths(t){S.forEach(e=>e.hovered(t.length&&!!t.find(o=>o.name===e.name)))}selectBooths(t){S.forEach(e=>e.dimmed(t.length&&!t.find(o=>o.name===e.name)))}setMarker(t,e,o,r,n=!1,a=1){const i=`{sprite_${t}}`;let s=this.scene.children.find(c=>c.name===i);if(e!=null&&o!=null){const c=n?{x:e,y:o}:this.convertPoint(e,o,0);let l=this.data.objLayers.find(y=>y.name===g.layerStore.findLayer(r)?.name)||this.data.objLayers[0];s||(t==="from"?s=new v(G,l.height*a*2):t==="to"?s=new v(X,l.height*a*2):t==="yah"?s=new v(J,l.height*a*2):t==="cp"&&(s=new v(q,l.height*a)),s.name=i,this.scene.add(s)),s.position.set(c.x,c.y,l.z+(t==="from"||t==="to"?l.height:0))}else s&&this.scene.remove(s)}interpolateColors(t,e,o){for(var r=1/(o-1),n=[],a=new h.Color(t),i=new h.Color(e),s=0;s<o;s++)n.push(a.clone().lerp(i,r*s).getHex());return n}updateRouteLines(t){if(!this.isInit)return;var e=t.routeLines.filter(a=>{let i=g.layerStore.layers.find(s=>s.name===a.p0.layer)?.visible??!0;return!a.virtual&&i});if(f.forEach(a=>this.scene.remove(a)),f.splice(0,f.length),!e.length){this.setMarker("from",null,null,null),this.setMarker("to",null,null,null);return}const o=this.linesToPoints(e),{z:r}=this.data.objLayers.find(a=>a.name===($.mode===U.Default?"Default":e[0].p0.layer)),n=N(this.data);[].concat(o).reverse().forEach((a,i)=>{const s=new h.SphereGeometry(n),c=new h.Mesh(s,x);c.position.set(a.x,a.y,r+.02),f.push(c),this.scene.add(c)}),this.setMarker("to",e[0].p0.x,e[0].p0.y,e[0].p0.layer),this.setMarker("from",e[e.length-1].p1.x,e[e.length-1].p1.y,e[e.length-1].p1.layer)}onBeforeRender(t,e,o,r,n,a){let i=o.userData.position||o.position}onClickCallback(t){let o=t.filter(n=>n.object.name!=="building")[0]?.object?.name,r=k.booths.find(n=>n.name===o);r?g.clickBooth(r):F.details=null}async initBooths(t,e){const o=(await V(k.booths)).filter(i=>!!i);var r=new Map;o.forEach(i=>r.set(i.name+"_logo",new h.Texture(i.htmlImage))),g.boothStore.booths.forEach(i=>{r.set(i.slug,new h.Texture(H(i.name)))});var n=new O(r),a=new h.MeshBasicMaterial;a.side=h.DoubleSide,a.transparent=!0,e.children.forEach((i,s)=>{var[c,l]=i.name.split(/ (.*)/s);const y=t.addLayer(c);i.layers.set(y),i.name=l;const u=g.boothStore.booths.find(p=>l&&l[0]==="b"&&p.name===l?.substring(1));if(u){i.material=new h.MeshPhongMaterial({color:_(u),side:h.DoubleSide,name:i.name});let p=this.data.objLayers.find(m=>m.name===(u.layer?.name||"Default")),b=this.data.booths.find(m=>m.name===u.name);b.zScale=b.zScale||1;let z=p.z+b.zScale*p.height+(p.z+b.zScale*p.height)*.001;const M=new I(u,b,i,l.substring(1),y,z);let L=M.setText();L&&t.add(L);var P=u?.exhibitors?.find(m=>!!m.logo&&m.logoInBooth);if(P){const m=o.find(C=>C.booth.name===l.substring(1)),j=M.setLogo(n,m.htmlImage.width/m.htmlImage.height,a);j&&t.add(j)}e.children[s]=M,S.push(M)}}),t.add(e)}convertPoint(t,e,o){var r=this.data.matrix;return t+=r[0],e+=r[1],t*=r[2],e*=r[3],t+=r[4],e+=r[5],new h.Vector3(t,e,o)}linesToPoints(t){let e=[],o=[];for(let r=0;r<t.length;r++){let n=t[r],a=g.layerStore.layers.find(i=>i.name===n.p0.layer)?.visible??!0;!n.virtual&&a&&o.push(n),(n.virtual||!a||r===t.length-1)&&o.length&&(o=[])}return e.map(r=>this.convertPoint(r.x,r.y,r.z))}}
@@ -1 +1 @@
1
- import{lineAngle as f}from"simple-geometry";import*as n from"three";import g from"../../../tools/settings";import{getBoothlabel as M}from"../../Mapbox/utils/data";import{modifySphereUV as z}from"../utils/textureMerger";import{Text as u}from"troika-three-text";const P=new n.MeshPhongMaterial({color:16711680,side:n.DoubleSide,name:"selected"}),d=new n.MeshPhysicalMaterial({metalness:0,roughness:1,clearcoat:.5,transparent:!0,opacity:.5,side:n.DoubleSide,depthWrite:!0,depthTest:!0}),x=new n.MeshPhongMaterial({color:16734003,side:n.DoubleSide,name:"hovered"});export class BoothMesh extends n.Group{efpBooth;threeBooth;boothMesh;name;threeLayer;z;material;constructor(t,h,r,e,a,i){super(),this.efpBooth=t,this.threeBooth=h,this.boothMesh=r,this.name=e,this.threeLayer=a,this.z=i,this.name=e,r.name=e,this.material=r.material,this.children.push(r),this.layers.set(a)}setText(){const t=new u;if(t.text=M(this.efpBooth),!t.text)return;t.color=this.efpBooth.labelColor||g.boothLabelColor,t.anchorX="center",t.anchorY="middle",t.textAlign="center";const h=t.text.split(" "),r=Math.max(...h.map(m=>m.length)),{rect:e}=this.threeBooth;let a=Math.max(e.width,e.height),i=Math.min(e.width,e.height);t.fontSize=i,t.fontSize*t.text.length>a&&(t.fontSize*=1.1*a/(t.fontSize*t.text.length)),t.fontSize/i<.15&&(t.maxWidth=.1,t.fontSize*=h.length,t.fontSize*h.length>i&&(t.fontSize*=.9*i/(t.fontSize*h.length)),t.fontSize*r>a&&(t.fontSize*=a/(t.fontSize*r)));let o=t;var l=f(this.threeBooth.rect.p0,this.threeBooth.rect.p1)||0;return 1.5*e.width<e.height&&(l+=90),o.rotateZ(l*Math.PI/180),o.position.x=e.center.x,o.position.y=e.center.y,o.position.z=this.z+.01,o.scale.y=-1,o.name=this.name,o.layers.set(this.threeLayer),t}setLogo(t,h,r){const e=this.threeBooth.rect,a=e.width/e.height;let i=0,o=0,l=0;if(a>h?(o=e.height*.9,i=o*h):(i=e.width*.9,o=i/h),h>=2&&!this.efpBooth.rotate&&e.height>=e.width*2){let p=e.width*.9,c=p*h;for(;c>e.height-.02;)p-=.01,c=p*h;o=p,i=c,l=-90}else l=-this.efpBooth.rotate*180/Math.PI;const m=t.ranges.get(this.efpBooth.slug+"_logo");if(!m)return null;var s=new n.Mesh(new n.PlaneGeometry(i,o),r);return s.layers.set(this.threeLayer),z(s,m),s.rotateZ((l||0)*Math.PI/180),s.position.x=e.center.x,s.position.y=e.center.y,s.position.z=this.z+.01*this.z,s.scale.y=-1,s.material.map=t.mergedTexture,s.name=this.efpBooth.name,s}dimmed(t){this.boothMesh.material=t?d:this.material,this.boothMesh.userData.dimmed=t}hovered(t){t?this.boothMesh.material=x:this.boothMesh.userData.dimmed?this.boothMesh.material=d:this.boothMesh.userData.selected?this.boothMesh.material=this.material:this.boothMesh.material=this.material}}
1
+ import{lineAngle as p}from"simple-geometry";import*as n from"three";import g from"../../../tools/settings";import{getBoothlabel as M}from"../../Mapbox/utils/data";import{modifySphereUV as x}from"../utils/textureMerger";import{Text as u}from"troika-three-text";const P=new n.MeshPhongMaterial({color:16711680,side:n.DoubleSide,name:"selected"}),d=new n.MeshPhysicalMaterial({metalness:0,roughness:1,clearcoat:.5,transparent:!0,opacity:.5,side:n.DoubleSide,depthWrite:!0,depthTest:!0}),z=new n.MeshPhongMaterial({color:16734003,side:n.DoubleSide,name:"hovered"});export class BoothMesh extends n.Group{efpBooth;threeBooth;boothMesh;name;threeLayer;z;material;constructor(e,h,r,t,a,o){super(),this.efpBooth=e,this.threeBooth=h,this.boothMesh=r,this.name=t,this.threeLayer=a,this.z=o,this.name=t,r.name=t,this.material=r.material,this.children.push(r),this.layers.set(a)}setText(){const e=new u;if(e.text=M(this.efpBooth),!e.text)return;e.color=this.efpBooth.labelColor||g.boothLabelColor,e.anchorX="center",e.anchorY="middle",e.textAlign="center";const h=e.text.split(" "),r=Math.max(...h.map(m=>m.length)),{rect:t}=this.threeBooth;let a=Math.max(t.width,t.height),o=Math.min(t.width,t.height);e.fontSize=o,e.fontSize*e.text.length>a&&(e.fontSize*=1.1*a/(e.fontSize*e.text.length)),e.fontSize/o<.15&&(e.maxWidth=.1,e.fontSize*=h.length,e.fontSize*h.length>o&&(e.fontSize*=.9*o/(e.fontSize*h.length)),e.fontSize*r>a&&(e.fontSize*=a/(e.fontSize*r)));let i=e;var l=p(this.threeBooth.rect.p0,this.threeBooth.rect.p1)||0;return 1.5*t.width<t.height&&(l+=90),i.rotateZ(l*Math.PI/180),i.position.x=t.center.x,i.position.y=t.center.y,i.position.z=this.z+.01,i.scale.y=-1,i.name=this.name,i.layers.set(this.threeLayer),e}setLogo(e,h,r){const t=this.threeBooth.rect,a=t.width/t.height;let o=0,i=0,l=0;if(a>h?(i=t.height*.9,o=i*h):(o=t.width*.9,i=o/h),h>=2&&!this.efpBooth.rotate&&t.height>=t.width*2){let f=t.width*.9,c=f*h;for(;c>t.height-.02;)f-=.01,c=f*h;i=f,o=c,l=-90}else l=-this.efpBooth.rotate*180/Math.PI;const m=e.ranges.get(this.efpBooth.slug+"_logo");if(!m)return null;var s=new n.Mesh(new n.PlaneGeometry(o,i),r);return s.layers.set(this.threeLayer),x(s,m),s.rotateZ((l||0)*Math.PI/180),s.position.x=t.center.x,s.position.y=t.center.y,s.position.z=this.z+.01*this.z,s.scale.y=-1,s.material.map=e.mergedTexture,s.name=this.efpBooth.name,s}dimmed(e){this.boothMesh.material=e?d:this.material,this.boothMesh.userData.dimmed=e}hovered(e){e?this.boothMesh.material=z:this.boothMesh.userData.dimmed?this.boothMesh.material=d:this.boothMesh.userData.selected?this.boothMesh.material=this.material:this.boothMesh.material=this.material}}
@@ -1 +1 @@
1
- import{lineAngle as l,round as g}from"simple-geometry";import*as a from"three";export class SpriteMesh extends a.Mesh{constructor(p,h){const i=new a.PlaneGeometry(1,1),s=new a.MeshBasicMaterial({transparent:!0,side:a.DoubleSide,alphaTest:.8,toneMapped:!0,precision:"highp"});var r=0;new a.TextureLoader().load(p,e=>{s.map=e;var o=h/e.image.height;i.scale(e.image.width*o,e.image.height*o,1),i.translate(0,e.image.height*o/2,0),i.rotateX(Math.PI/2),s.needsUpdate=!0}),super(i,s),this.onBeforeRender=(e,o,t,c,M,u)=>{let d=t.position.x&&t.position.y&&t.position.z?t.position:t.userData.position;const n=g((l({x:0,y:0},d)-90)*Math.PI/180,2);this.rotateZ(-1*(n-r)),r=n}}}
1
+ import{lineAngle as g,round as d}from"simple-geometry";import*as o from"three";export class SpriteMesh extends o.Mesh{constructor(p,h){const i=new o.PlaneGeometry(1,1),s=new o.MeshBasicMaterial({transparent:!0,side:o.DoubleSide,alphaTest:.8,toneMapped:!0,precision:"highp"});var n=0;new o.TextureLoader().load(p,e=>{s.map=e;var r=h/e.image.height;i.scale(e.image.width*r,e.image.height*r,1),i.translate(0,e.image.height*r/2,0),i.rotateX(Math.PI/2),s.needsUpdate=!0}),super(i,s),this.onBeforeRender=(e,r,t,u,c,M)=>{let l=t.position.x&&t.position.y&&t.position.z?t.position:t.userData.position;const a=d((g({x:0,y:0},l)-90)*Math.PI/180,2);this.rotateZ(-1*(a-n)),n=a}}}
@@ -1 +1 @@
1
- import{addVersionToUrl as n}from"../../../tools/loaders";export default async function s(t){return new Promise(async(e,r)=>{const o=`https://${t}.expofp.com/data/threejs`;let a=await(await fetch(n(`${o}/model.json`))).json();e(a)})}
1
+ import{addVersionToUrl as r}from"../../../tools/loaders";export default async function s(e){return new Promise(async(t,n)=>{const a=`https://${e}.expofp.com/data/threejs`;let o=await(await fetch(r(`${a}/model.json`))).json();t(o)})}
@@ -1 +1 @@
1
- import{OBJLoader as o}from"three/examples/jsm/loaders/OBJLoader";import{MTLLoader as c}from"three/examples/jsm/loaders/MTLLoader";export default async function p(t,a){return new Promise(async(s,n)=>{var r=await f(a);r.getAsArray().forEach(e=>{e.name.indexOf(".webp")>-1&&(e.alphaTest=.6,e.transparent=!0),e.name==="0xB1C6CE"&&(e.alphaTest=.1,e.transparent=!0,e.opacity=.3,e.side=2,e.depthWrite=!1,e.depthTest=!1)});const d=new o;d.setMaterials(r),d.load(t,async e=>{e.children.forEach(i=>{i.name==="building"?i.renderOrder=.1:i.renderOrder=1}),s(e)},void 0,e=>n(e))})}async function f(t){return new Promise((a,s)=>{const n=new c;n.setMaterialOptions({side:2}),n.load(t,r=>{a(r)},void 0,r=>{s(r)})})}
1
+ import{OBJLoader as f}from"three/examples/jsm/loaders/OBJLoader";import{MTLLoader as i}from"three/examples/jsm/loaders/MTLLoader";export default async function p(d,o){return new Promise(async(s,r)=>{var n=await c(o);n.getAsArray().forEach(e=>{e.name.indexOf(".webp")>-1&&(e.alphaTest=.6,e.transparent=!0),e.name==="0xB1C6CE"&&(e.alphaTest=.1,e.transparent=!0,e.opacity=.3,e.side=2,e.depthWrite=!1,e.depthTest=!1)});const a=new f;a.setMaterials(n),a.load(d,async e=>{e.children.forEach(t=>{t.name==="building"?t.renderOrder=.1:t.renderOrder=1}),s(e)},void 0,e=>r(e))})}async function c(d){return new Promise((o,s)=>{const r=new i;r.setMaterialOptions({side:2}),r.load(d,n=>{o(n)},void 0,n=>{s(n)})})}
@@ -1 +1 @@
1
- import*as p from"three";import{SRGBColorSpace as g}from"three";import w from"./Scene";export default async function b(s,l,e,t,u,f){const r=new p.Raycaster,n=new w;n.raycaster=r,n.camera=t,t.near=.1,t.far=1e4,t.aspect=e.clientWidth/e.clientHeight,t.updateProjectionMatrix();const d=new p.HemisphereLight(16777215,10,Math.PI);d.castShadow=!0,d.position.set(0,0,100),n.add(d);const i=new p.WebGLRenderer({canvas:s||void 0,context:l||void 0,antialias:!0,precision:"highp",premultipliedAlpha:!0});i.outputColorSpace=g,!s&&!l&&(i.setSize(e.clientWidth,e.clientHeight),e.appendChild(i.domElement)),i.autoClear=!1,e.addEventListener("resize",()=>{t.aspect=e.clientWidth/e.clientHeight,t.updateProjectionMatrix(),i.setSize(e.clientWidth,e.clientHeight),m()},!1);function m(){i.resetState(),f(),!s&&!l&&i.render(n,t)}function h(){requestAnimationFrame(h),m()}h(),r.layers.enableAll();let o=!1;e.addEventListener("mousedown",()=>{o=!0}),e.addEventListener("mousemove",()=>{o=!1}),e.addEventListener("mouseup",c=>{o&&v(c.clientX-e.parentElement.offsetLeft,c.clientY-e.parentElement.offsetTop),o=!1});function v(c,E){u(c,E,r);const L=r.intersectObjects(n.children).filter(a=>a.object.material.visible).sort((a,S)=>a.distance-S.distance);n.onClickCallbacks.forEach(a=>a(L))}return n.scale.x=-1,{scene:n,renderer:i}}
1
+ import*as c from"three";import{SRGBColorSpace as b}from"three";import w from"./Scene";export default async function x(o,f,e,t,h,m){const l=new c.Raycaster,i=new w;i.raycaster=l,i.camera=t,t.near=.1,t.far=1e4,t.aspect=e.clientWidth/e.clientHeight,t.updateProjectionMatrix();const a=new c.HemisphereLight(16777215,10,Math.PI);a.castShadow=!0,a.position.set(0,0,100),i.add(a);const s=new c.WebGLRenderer({canvas:o||void 0,context:f||void 0,antialias:!0,precision:"highp",premultipliedAlpha:!0});s.outputColorSpace=b,!o&&!f&&(s.setSize(e.clientWidth,e.clientHeight),e.appendChild(s.domElement)),s.autoClear=!1,e.addEventListener("resize",()=>{t.aspect=e.clientWidth/e.clientHeight,t.updateProjectionMatrix(),s.setSize(e.clientWidth,e.clientHeight),p()},!1);function p(){s.resetState(),m(),!o&&!f&&s.render(i,t)}function u(){requestAnimationFrame(u),p()}u(),l.layers.enableAll();let r=!1;e.addEventListener("mousedown",()=>{r=!0}),e.addEventListener("mousemove",()=>{r=!1}),e.addEventListener("mouseup",d=>{r&&E(d.clientX-e.parentElement.offsetLeft,d.clientY-e.parentElement.offsetTop),r=!1});function E(d,L){h(d,L,l);const S=l.intersectObjects(i.children).filter(n=>n.object.material.visible).sort((n,C)=>n.distance-C.distance);i.onClickCallbacks.forEach(n=>n(S))}return i.scale.x=-1,{scene:i,renderer:s}}
@@ -1 +1 @@
1
- import*as a from"three";import{OrbitControls as d}from"three/examples/jsm/controls/OrbitControls";import u from"./common/sceneLoader";export default function O(n,t){return new Promise(async(h,w)=>{const o=new a.PerspectiveCamera(50,n.clientWidth/n.clientHeight,.1,1e3);var{x:s,y:c}=t.viewbox.center;o.position.x=s+t.area.width*.2,o.position.y=c+t.area.height,o.position.z=t.objLayers[t.objLayers.length-1].z*Math.max(t.area.height,t.area.width)*.15||Math.min(t.area.height,t.area.width),o.up.set(0,0,1);let e;const i=await u(null,null,n,o,(l,m,p)=>{const r=new a.Vector2;r.x=l/n.clientWidth*2-1,r.y=-(m/n.clientHeight)*2+1,p.setFromCamera(r,o)},()=>{e?.update()});e=new d(o,i.renderer.domElement),e.enableRotate=!0,e.enablePan=!0,e.enableZoom=!0,e.enableDamping=!0,e.zoomSpeed=.7,e.rotateSpeed=1.5,e.panSpeed=.7,e.target.set(s,c,0),e.mouseButtons={LEFT:a.MOUSE.PAN,RIGHT:a.MOUSE.ROTATE,MIDDLE:a.MOUSE.DOLLY},e.touches.ONE=a.TOUCH.PAN,e.touches.TWO=a.TOUCH.DOLLY_ROTATE,i.scene.background=new a.Color(12895428),h(i.scene)})}
1
+ import*as r from"three";import{OrbitControls as u}from"three/examples/jsm/controls/OrbitControls";import O from"./common/sceneLoader";export default function E(n,t){return new Promise(async(l,w)=>{const o=new r.PerspectiveCamera(50,n.clientWidth/n.clientHeight,.1,1e3);var{x:a,y:c}=t.viewbox.center;o.position.x=a+t.area.width*.2,o.position.y=c+t.area.height,o.position.z=t.objLayers[t.objLayers.length-1].z*Math.max(t.area.height,t.area.width)*.15||Math.min(t.area.height,t.area.width),o.up.set(0,0,1);let e;const i=await O(null,null,n,o,(m,h,p)=>{const s=new r.Vector2;s.x=m/n.clientWidth*2-1,s.y=-(h/n.clientHeight)*2+1,p.setFromCamera(s,o)},()=>{e?.update()});e=new u(o,i.renderer.domElement),e.enableRotate=!0,e.enablePan=!0,e.enableZoom=!0,e.enableDamping=!0,e.zoomSpeed=.7,e.rotateSpeed=1.5,e.panSpeed=.7,e.target.set(a,c,0),e.mouseButtons={LEFT:r.MOUSE.PAN,RIGHT:r.MOUSE.ROTATE,MIDDLE:r.MOUSE.DOLLY},e.touches.ONE=r.TOUCH.PAN,e.touches.TWO=r.TOUCH.DOLLY_ROTATE,i.scene.background=new r.Color(12895428),l(i.scene)})}
@@ -1 +1 @@
1
- import k from"mapbox-gl";import*as t from"three";import{setMap as z}from"../../Mapbox/utils/data";import R from"../common/sceneLoader";import X from"./init-mapbox";export async function init(s,v){return new Promise(async(V,b)=>{var{geoConfig:o}=v;const r=await X(s,o.style);z(r);let a,x,y,c;r.setBearing(o.bearing-30),r.setCenter(o.center),r.setZoom(16);const A=1,d=[0,0,(180-o.bearing)*Math.PI/180],l=k.MercatorCoordinate.fromLngLat(o.center,A),e={translateX:l.x,translateY:l.y,translateZ:l.z,rotateX:d[0],rotateY:d[1],rotateZ:d[2],scale:10*l.meterInMercatorCoordinateUnits()},Z={id:"3d-expofp",type:"custom",renderingMode:"3d",onAdd:async function(w,M){a=new t.PerspectiveCamera;var p=await R(w.getCanvas(),M,s,a,(f,g,m)=>{const n=w.getFreeCameraOptions();let i=new t.Vector4(n.position.x,n.position.y,n.position.z,1);const u=new t.Vector4(-1e3,-1e3,1,1);u.x=f/s.clientWidth*2-1,u.y=-(g/s.clientHeight)*2+1,i.applyMatrix4(c.invert());let C=u.clone().applyMatrix4(a.projectionMatrix.clone().invert());return C.divideScalar(C.w),m.set(i,C.sub(i).normalize()),m},()=>{});x=p.scene,y=p.renderer,V(x)},render:function(w,M){if(!y)return;const p=new t.Matrix4().makeRotationAxis(new t.Vector3(1,0,0),e.rotateX),f=new t.Matrix4().makeRotationAxis(new t.Vector3(0,1,0),e.rotateY),g=new t.Matrix4().makeRotationAxis(new t.Vector3(0,0,1),e.rotateZ),m=new t.Matrix4().fromArray(M);c=new t.Matrix4().makeTranslation(e.translateX,e.translateY,e.translateZ).scale(new t.Vector3(e.scale,-e.scale,e.scale)).multiply(p).multiply(f).multiply(g),a.projectionMatrix=m.multiply(c);const n=r.getFreeCameraOptions();let i=new t.Vector4(n.position.x,n.position.y,n.position.z,1).applyMatrix4(c.clone().invert());a.userData.position=i,y.render(x,a),r.triggerRepaint()}};r.addLayer(Z)})}
1
+ import Z from"mapbox-gl";import*as e from"three";import{setMap as b}from"../../Mapbox/utils/data";import L from"../common/sceneLoader";import P from"./init-mapbox";export async function init(s,v){return new Promise(async(A,X)=>{var{geoConfig:n}=v;const r=await P(s,n.style);b(r);let a,d,x,c;r.setBearing(n.bearing-30),r.setCenter(n.center),r.setZoom(16);const V=1,y=[0,0,(180-n.bearing)*Math.PI/180],l=Z.MercatorCoordinate.fromLngLat(n.center,V),t={translateX:l.x,translateY:l.y,translateZ:l.z,rotateX:y[0],rotateY:y[1],rotateZ:y[2],scale:10*l.meterInMercatorCoordinateUnits()},R={id:"3d-expofp",type:"custom",renderingMode:"3d",onAdd:async function(w,M){a=new e.PerspectiveCamera;var m=await L(w.getCanvas(),M,s,a,(f,u,p)=>{const o=w.getFreeCameraOptions();let i=new e.Vector4(o.position.x,o.position.y,o.position.z,1);const g=new e.Vector4(-1e3,-1e3,1,1);g.x=f/s.clientWidth*2-1,g.y=-(u/s.clientHeight)*2+1,i.applyMatrix4(c.invert());let C=g.clone().applyMatrix4(a.projectionMatrix.clone().invert());return C.divideScalar(C.w),p.set(i,C.sub(i).normalize()),p},()=>{});d=m.scene,x=m.renderer,A(d)},render:function(w,M){if(!x)return;const m=new e.Matrix4().makeRotationAxis(new e.Vector3(1,0,0),t.rotateX),f=new e.Matrix4().makeRotationAxis(new e.Vector3(0,1,0),t.rotateY),u=new e.Matrix4().makeRotationAxis(new e.Vector3(0,0,1),t.rotateZ),p=new e.Matrix4().fromArray(M);c=new e.Matrix4().makeTranslation(t.translateX,t.translateY,t.translateZ).scale(new e.Vector3(t.scale,-t.scale,t.scale)).multiply(m).multiply(f).multiply(u),a.projectionMatrix=p.multiply(c);const o=r.getFreeCameraOptions();let i=new e.Vector4(o.position.x,o.position.y,o.position.z,1).applyMatrix4(c.clone().invert());a.userData.position=i,x.render(d,a),r.triggerRepaint()}};r.addLayer(R)})}
@@ -1 +1 @@
1
- import*as p from"three";class w{x;y;width;height;finalX;finalY;constructor(t,i,e,a){this.x=t,this.y=i,this.width=e,this.height=a,this.finalX=t+e,this.finalY=i+a}set(t,i,e,a,h,s){return this.x=t,this.y=i,this.finalX=e,this.finalY=a,this.width=h,this.height=s,this}fits(t){var i=t.image.width,e=t.image.height;return i<=this.width&&e<=this.height}fitsPerfectly(t){var i=t.image.width,e=t.image.height;return i==this.width&&e==this.height}overlaps(t){return this.x<t.x+t.width&&this.x+this.width>t.x&&this.y<t.y+t.height&&this.y+this.height>t.y}}class L{startU;endU;startV;endV;constructor(t,i,e,a){this.startU=t,this.endU=i,this.startV=e,this.endV=a}}class y{children;rectangle;textureName;upperNode;constructor(t,i,e,a){this.children=t,this.rectangle=i,this.textureName=e,this.upperNode=a}}export default class _{MAX_TEXTURE_SIZE;dataURLs;textureCount;maxHeight;maxWidth;canvas;textureCache;node;textureOffsets;allNodes;context;ranges;mergedTexture;constructor(t){if(!(!t||!t.size)&&(this.MAX_TEXTURE_SIZE=4096,!!t)){this.dataURLs=new Map;for(var i of t.keys()){var e=t.get(i);if(e instanceof p.CompressedTexture)throw new Error("CompressedTextures are not supported.");if(typeof e.image.toDataURL>"u"){var a=document.createElement("canvas");a.width=e.image.naturalWidth,a.height=e.image.naturalHeight,a.getContext("2d").drawImage(e.image,0,0),this.dataURLs.set(i,a.toDataURL())}else this.dataURLs.set(i,e.image.toDataURL())}this.canvas=document.createElement("canvas"),this.textureCount=0,this.maxWidth=0,this.maxHeight=0;var h="";for(i of t.keys()){this.textureCount++;var s=t.get(i);s.userData.area=s.image.width*s.image.height,s.image.width>this.maxWidth&&(this.maxWidth=s.image.width),s.image.height>this.maxHeight&&(this.maxHeight=s.image.height),h+=i+","}h=h.substring(0,h.length-1),this.textureCache=[],this.node=new y,this.node.rectangle=new w(0,0,this.maxWidth*this.textureCount,this.maxHeight*this.textureCount),this.textureOffsets=new Map,this.allNodes=[],this.insert(this.node,this.findNextTexture(t),t),this.ranges=new Map;var r=this.calculateImageSize(t);this.canvas.width=r.width,this.canvas.height=r.height;var g=this.canvas.getContext("2d");this.context=g;for(i of this.textureOffsets.keys()){for(var s=t.get(i),d=this.textureOffsets.get(i).x,n=this.textureOffsets.get(i).y,c=s.image.width,u=s.image.height,o=n;o<n+u;o+=u)for(var f=d;f<d+c;f+=c)g.drawImage(s.image,f,o,c,u);var m=new L;m.startU=d/r.width,m.endU=(d+c)/r.width,m.startV=1-n/r.height,m.endV=1-(n+u)/r.height,this.ranges.set(i,m)}this.makeCanvasPowerOfTwo(),this.mergedTexture=new p.CanvasTexture(this.canvas),this.mergedTexture.wrapS=p.ClampToEdgeWrapping,this.mergedTexture.wrapT=p.ClampToEdgeWrapping,this.mergedTexture.minFilter=p.NearestFilter,this.mergedTexture.magFilter=p.NearestFilter,this.mergedTexture.needsUpdate=!0}}isTextureAlreadyInserted(t,i){var e=i.get(t),a=this.dataURLs.get(t);for(var h of i.keys())if(h!=t){var s=i.get(h),r=this.dataURLs.get(h);if(a==r&&s.offset.x==e.offset.x&&s.offset.y==e.offset.y&&s.repeat.x==e.repeat.x&&s.repeat.y==e.repeat.y&&s.flipY==e.flipY&&s.wrapS==e.wrapS&&s.wrapT==e.wrapT&&this.textureOffsets.get(h))return this.textureOffsets.get(h)}return null}insert(t,i,e){var a=e.get(i),h=this.isTextureAlreadyInserted(i,e);if(h){this.textureOffsets.set(i,h);var s=this.findNextTexture(e);s!=null&&this.insert(t,s,e);return}var r=a.image.width,g=a.image.height;if(t.upperNode){for(var d=this.maxWidth*this.textureCount+this.maxHeight*this.textureCount,n,c=!1,u=0;u<this.allNodes.length;u++){var o=this.allNodes[u];if(!o.textureName&&o.rectangle.fits(a)){this.textureOffsets.set(i,{x:o.rectangle.x,y:o.rectangle.y});var f=this.calculateImageSize(e),m=f.width+f.height;if(m<d&&f.width<=this.MAX_TEXTURE_SIZE&&f.height<=this.MAX_TEXTURE_SIZE){var U=!1;for(var C of this.textureOffsets.keys())if(C!=i){var E=o.rectangle,{x:S,y:X}=this.textureOffsets.get(C),O=e.get(C).image,V=new w(E.x,E.y,r,g),W=new w(S,X,O.width,O.height);V.overlaps(W)&&(U=!0)}U||(d=m,n=this.allNodes[u],c=!0)}this.textureOffsets.delete(i)}}if(c){if(this.textureOffsets.set(i,{x:n.rectangle.x,y:n.rectangle.y}),n.textureName=i,!n.children){var l=new y,x=new y;l.upperNode=n,x.upperNode=n,n.children=[l,x];var T=n.rectangle.x,N=n.rectangle.y,M=this.maxWidth*this.textureCount,I=this.maxHeight*this.textureCount;l.rectangle=new w(T+r,N,M-(T+r),I-N),x.rectangle=new w(T,N+g,M-T,I-(N+g)),this.allNodes.push(l),this.allNodes.push(x)}var s=this.findNextTexture(e);s!=null&&this.insert(t,s,e)}else console.info(r,g,i)}else{var R=t.rectangle.width,k=t.rectangle.height;t.textureName=i;var l=new y,x=new y;l.upperNode=t,x.upperNode=t,t.children=[l,x],l.rectangle=new w(r,0,R-r,g),x.rectangle=new w(0,g,R,k-g),this.textureOffsets.set(i,{x:t.rectangle.x,y:t.rectangle.y});var H=t.children[0];this.allNodes=[t,l,x];var s=this.findNextTexture(e);s!=null&&this.insert(H,s,e)}}makeCanvasPowerOfTwo(t){var i=!1;t||(t=this.canvas,i=!0);var e=t.width,a=t.height,h=Math.pow(2,Math.round(Math.log(e)/Math.log(2))),s=Math.pow(2,Math.round(Math.log(a)/Math.log(2))),r=document.createElement("canvas");r.width=h,r.height=s,r.getContext("2d").drawImage(t,0,0,h,s),i&&(this.canvas=r)}calculateImageSize(t){var i=0,e=0;for(var a of this.textureOffsets.keys()){var h=t.get(a),s=h.image.width,r=h.image.height,{x:g,y:d}=this.textureOffsets.get(a);g+s>i&&(i=g+s),d+r>e&&(e=d+r)}return{width:i,height:e}}findNextTexture(t){var i=-1,e="";for(var a of t.keys()){var h=t.get(a);this.textureCache.indexOf(a)==-1&&h.userData.area>i&&(i=h.userData.area,e=a)}return i==-1?null:(this.textureCache.push(e),e)}rescale(t,i){var e=document.createElement("canvas");e.width=t.width*i,e.height=t.height*i;var a=e.getContext("2d");return a.drawImage(t,0,0,t.width,t.height,0,0,e.width,e.height),e}}export function modifySphereUV(v,t){const i=v.geometry.attributes.uv.array;for(let e=0;e<i.length;e+=2)i[e]=i[e]*(t.endU-t.startU)+t.startU,i[e+1]=i[e+1]*(t.startV-t.endV)+t.endV;v.geometry.attributes.uv.needsUpdate=!0}
1
+ import*as x from"three";class c{x;y;width;height;finalX;finalY;constructor(t,i,e,a){this.x=t,this.y=i,this.width=e,this.height=a,this.finalX=t+e,this.finalY=i+a}set(t,i,e,a,s,h){return this.x=t,this.y=i,this.finalX=e,this.finalY=a,this.width=s,this.height=h,this}fits(t){var i=t.image.width,e=t.image.height;return i<=this.width&&e<=this.height}fitsPerfectly(t){var i=t.image.width,e=t.image.height;return i==this.width&&e==this.height}overlaps(t){return this.x<t.x+t.width&&this.x+this.width>t.x&&this.y<t.y+t.height&&this.y+this.height>t.y}}class D{startU;endU;startV;endV;constructor(t,i,e,a){this.startU=t,this.endU=i,this.startV=e,this.endV=a}}class y{children;rectangle;textureName;upperNode;constructor(t,i,e,a){this.children=t,this.rectangle=i,this.textureName=e,this.upperNode=a}}export default class z{MAX_TEXTURE_SIZE;dataURLs;textureCount;maxHeight;maxWidth;canvas;textureCache;node;textureOffsets;allNodes;context;ranges;mergedTexture;constructor(t){if(!(!t||!t.size)&&(this.MAX_TEXTURE_SIZE=4096,!!t)){this.dataURLs=new Map;for(var i of t.keys()){var e=t.get(i);if(e instanceof x.CompressedTexture)throw new Error("CompressedTextures are not supported.");if(typeof e.image.toDataURL>"u"){var a=document.createElement("canvas");a.width=e.image.naturalWidth,a.height=e.image.naturalHeight,a.getContext("2d").drawImage(e.image,0,0),this.dataURLs.set(i,a.toDataURL())}else this.dataURLs.set(i,e.image.toDataURL())}this.canvas=document.createElement("canvas"),this.textureCount=0,this.maxWidth=0,this.maxHeight=0;var s="";for(i of t.keys()){this.textureCount++;var h=t.get(i);h.userData.area=h.image.width*h.image.height,h.image.width>this.maxWidth&&(this.maxWidth=h.image.width),h.image.height>this.maxHeight&&(this.maxHeight=h.image.height),s+=i+","}s=s.substring(0,s.length-1),this.textureCache=[],this.node=new y,this.node.rectangle=new c(0,0,this.maxWidth*this.textureCount,this.maxHeight*this.textureCount),this.textureOffsets=new Map,this.allNodes=[],this.insert(this.node,this.findNextTexture(t),t),this.ranges=new Map;var r=this.calculateImageSize(t);this.canvas.width=r.width,this.canvas.height=r.height;var g=this.canvas.getContext("2d");this.context=g;for(i of this.textureOffsets.keys()){for(var h=t.get(i),f=this.textureOffsets.get(i).x,n=this.textureOffsets.get(i).y,p=h.image.width,l=h.image.height,d=n;d<n+l;d+=l)for(var w=f;w<f+p;w+=p)g.drawImage(h.image,w,d,p,l);var u=new D;u.startU=f/r.width,u.endU=(f+p)/r.width,u.startV=1-n/r.height,u.endV=1-(n+l)/r.height,this.ranges.set(i,u)}this.makeCanvasPowerOfTwo(),this.mergedTexture=new x.CanvasTexture(this.canvas),this.mergedTexture.wrapS=x.ClampToEdgeWrapping,this.mergedTexture.wrapT=x.ClampToEdgeWrapping,this.mergedTexture.minFilter=x.NearestFilter,this.mergedTexture.magFilter=x.NearestFilter,this.mergedTexture.needsUpdate=!0}}isTextureAlreadyInserted(t,i){var e=i.get(t),a=this.dataURLs.get(t);for(var s of i.keys())if(s!=t){var h=i.get(s),r=this.dataURLs.get(s);if(a==r&&h.offset.x==e.offset.x&&h.offset.y==e.offset.y&&h.repeat.x==e.repeat.x&&h.repeat.y==e.repeat.y&&h.flipY==e.flipY&&h.wrapS==e.wrapS&&h.wrapT==e.wrapT&&this.textureOffsets.get(s))return this.textureOffsets.get(s)}return null}insert(t,i,e){var a=e.get(i),s=this.isTextureAlreadyInserted(i,e);if(s){this.textureOffsets.set(i,s);var h=this.findNextTexture(e);h!=null&&this.insert(t,h,e);return}var r=a.image.width,g=a.image.height;if(t.upperNode){for(var f=this.maxWidth*this.textureCount+this.maxHeight*this.textureCount,n,p=!1,l=0;l<this.allNodes.length;l++){var d=this.allNodes[l];if(!d.textureName&&d.rectangle.fits(a)){this.textureOffsets.set(i,{x:d.rectangle.x,y:d.rectangle.y});var w=this.calculateImageSize(e),u=w.width+w.height;if(u<f&&w.width<=this.MAX_TEXTURE_SIZE&&w.height<=this.MAX_TEXTURE_SIZE){var E=!1;for(var U of this.textureOffsets.keys())if(U!=i){var M=d.rectangle,{x:k,y:L}=this.textureOffsets.get(U),R=e.get(U).image,X=new c(M.x,M.y,r,g),_=new c(k,L,R.width,R.height);X.overlaps(_)&&(E=!0)}E||(f=u,n=this.allNodes[l],p=!0)}this.textureOffsets.delete(i)}}if(p){if(this.textureOffsets.set(i,{x:n.rectangle.x,y:n.rectangle.y}),n.textureName=i,!n.children){var v=new y,o=new y;v.upperNode=n,o.upperNode=n,n.children=[v,o];var m=n.rectangle.x,C=n.rectangle.y,I=this.maxWidth*this.textureCount,S=this.maxHeight*this.textureCount;v.rectangle=new c(m+r,C,I-(m+r),S-C),o.rectangle=new c(m,C+g,I-m,S-(C+g)),this.allNodes.push(v),this.allNodes.push(o)}var h=this.findNextTexture(e);h!=null&&this.insert(t,h,e)}else console.info(r,g,i)}else{var V=t.rectangle.width,H=t.rectangle.height;t.textureName=i;var v=new y,o=new y;v.upperNode=t,o.upperNode=t,t.children=[v,o],v.rectangle=new c(r,0,V-r,g),o.rectangle=new c(0,g,V,H-g),this.textureOffsets.set(i,{x:t.rectangle.x,y:t.rectangle.y});var W=t.children[0];this.allNodes=[t,v,o];var h=this.findNextTexture(e);h!=null&&this.insert(W,h,e)}}makeCanvasPowerOfTwo(t){var i=!1;t||(t=this.canvas,i=!0);var e=t.width,a=t.height,s=Math.pow(2,Math.round(Math.log(e)/Math.log(2))),h=Math.pow(2,Math.round(Math.log(a)/Math.log(2))),r=document.createElement("canvas");r.width=s,r.height=h,r.getContext("2d").drawImage(t,0,0,s,h),i&&(this.canvas=r)}calculateImageSize(t){var i=0,e=0;for(var a of this.textureOffsets.keys()){var s=t.get(a),h=s.image.width,r=s.image.height,{x:g,y:f}=this.textureOffsets.get(a);g+h>i&&(i=g+h),f+r>e&&(e=f+r)}return{width:i,height:e}}findNextTexture(t){var i=-1,e="";for(var a of t.keys()){var s=t.get(a);this.textureCache.indexOf(a)==-1&&s.userData.area>i&&(i=s.userData.area,e=a)}return i==-1?null:(this.textureCache.push(e),e)}rescale(t,i){var e=document.createElement("canvas");e.width=t.width*i,e.height=t.height*i;var a=e.getContext("2d");return a.drawImage(t,0,0,t.width,t.height,0,0,e.width,e.height),e}}export function modifySphereUV(T,t){const i=T.geometry.attributes.uv.array;for(let e=0;e<i.length;e+=2)i[e]=i[e]*(t.endU-t.startU)+t.startU,i[e+1]=i[e+1]*(t.startV-t.endV)+t.endV;T.geometry.attributes.uv.needsUpdate=!0}
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as n}from"react";import{useTimeout as r}from"../../utils/useTimeout";import"./Toast.scss";const m=({message:t,duration:a,onClose:s})=>{const[o,i]=n(!0);return r(()=>{i(!1),s()},a),e("div",{className:`toast ${o?"is-visible":""}`,onClick:s,children:t})};export const ToastContainer=({toasts:t,handleToastClose:a})=>e("div",{className:"toast-container",children:t.map((s,o)=>e(m,{message:s.message,duration:s.duration,onClose:()=>a(o)},`toast-${o}`))});
1
+ import{jsx as i}from"react/jsx-runtime";import{useState as r}from"react";import{useTimeout as n}from"../../utils/useTimeout";import"./Toast.scss";const m=({message:e,duration:o,onClose:t})=>{const[s,a]=r(!0);return n(()=>{a(!1),t()},o),i("div",{className:`toast ${s?"is-visible":""}`,onClick:t,children:e})};export const ToastContainer=({toasts:e,handleToastClose:o})=>i("div",{className:"toast-container",children:e.map((t,s)=>i(m,{message:t.message,duration:t.duration,onClose:()=>o(s)},`toast-${s}`))});
@@ -1 +1 @@
1
- import{jsx as m,jsxs as p}from"react/jsx-runtime";import{useState as d}from"react";import{ToastContext as l}from"./ToastContext";import{ToastContainer as c}from"./ToastContainer";export const ToastProvider=({children:e})=>{const[a,s]=d([]),n=t=>{s(r=>{const o=[...r];return o.splice(t,1),o})},i={open:(t,r)=>{s(o=>[...o,{message:t,duration:r}])}};return p(l.Provider,{value:i,children:[m(c,{toasts:a,handleToastClose:n}),e]})};export default ToastProvider;
1
+ import{jsx as p,jsxs as d}from"react/jsx-runtime";import{useState as l}from"react";import{ToastContext as m}from"./ToastContext";import{ToastContainer as c}from"./ToastContainer";export const ToastProvider=({children:r})=>{const[a,e]=l([]),n=o=>{e(s=>{const t=[...s];return t.splice(o,1),t})},i={open:(o,s)=>{e(t=>[...t,{message:o,duration:s}])}};return d(m.Provider,{value:i,children:[p(c,{toasts:a,handleToastClose:n}),r]})};export default ToastProvider;
@@ -1 +1 @@
1
- import{jsx as t,jsxs as a}from"react/jsx-runtime";import c from"classnames";import"./ToggleButton.scss";const i=({toggled:l,label:e,className:s,onClick:o})=>a("button",{type:"button",className:c("efp-toggle-button",s,{toggled:l}),onClick:o,children:[t("div",{className:"efp-toggle-switch",children:t("div",{className:"efp-toggle-switch__slider"})}),e&&t("span",{className:"efp-toggle-button__label",children:e})]});export default i;
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import a from"classnames";import"./ToggleButton.scss";const c=({toggled:s,label:e,className:o,onClick:l})=>n("button",{type:"button",className:a("efp-toggle-button",o,{toggled:s}),onClick:l,children:[t("div",{className:"efp-toggle-switch",children:t("div",{className:"efp-toggle-switch__slider"})}),e&&t("span",{className:"efp-toggle-button__label",children:e})]});export default c;
@@ -1 +1 @@
1
- import{jsx as a,jsxs as m}from"react/jsx-runtime";import{useState as i,useEffect as h}from"react";import"./ToggleSwitch.scss";import p from"classnames";const d=({name:e,value:t,label:l,className:c,onChange:n})=>{const[s,o]=i(t);h(()=>{o(t)},[t]);const r=()=>{o(!s),n(!s)};return m("div",{className:p("toggleSwitch",c),children:[a("input",{type:"checkbox",name:e,id:e,checked:s,onChange:r}),a("label",{htmlFor:e,children:l?a("span",{children:l}):null})]})};export default d;
1
+ import{jsx as c,jsxs as d}from"react/jsx-runtime";import{useState as l,useEffect as m}from"react";import"./ToggleSwitch.scss";import a from"classnames";const p=({name:e,value:s,label:o,className:h,onChange:n})=>{const[t,r]=l(s);m(()=>{r(s)},[s]);const i=()=>{r(!t),n(!t)};return d("div",{className:a("toggleSwitch",h),children:[c("input",{type:"checkbox",name:e,id:e,checked:t,onChange:i}),c("label",{htmlFor:e,children:o?c("span",{children:o}):null})]})};export default p;
@@ -1 +1 @@
1
- import{jsx as c,jsxs as C}from"react/jsx-runtime";import"./TouchHand.scss";const h=()=>c("div",{className:"touch-hand",children:c("svg",{width:"640",height:"640",viewBox:"0 0 640 640",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"touch-hand-icon",children:C("g",{className:"touchon",children:[C("g",{id:"touchon-body",children:[c("circle",{className:"hand-touch-1",cx:"299",cy:"201",r:"50"}),c("circle",{className:"hand-touch-2",cx:"299",cy:"201",r:"110"}),c("circle",{className:"hand-touch-3",cx:"299",cy:"201",r:"160"})]}),C("g",{id:"touchon-hand-body",children:[c("path",{className:"touchon-hand-fill",d:"M413.525 275.538C400.76 242.513 351.811 260.648 363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6L473.153 282.356C460.405 249.962 411.865 266.884 422.521 300.252L413.525 275.538Z"}),c("path",{className:"touchon-hand-stroke",d:"M363.064 293.905C351.811 260.648 400.76 242.513 413.525 275.538L422.521 300.252M363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6M363.064 293.905L390.46 369.174M422.521 300.252C411.865 266.884 460.405 249.962 473.153 282.356L481.977 306.6M422.521 300.252L440.921 350.807M481.977 306.6L494.974 342.308M363.064 293.905C351.811 260.648 400.76 242.513 413.525 275.538L422.521 300.252M363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6M363.064 293.905L390.46 369.174M422.521 300.252C411.865 266.884 460.405 249.962 473.153 282.356L481.977 306.6M422.521 300.252L440.921 350.807M481.977 306.6L494.974 342.308"})]})]})})});export default h;
1
+ import{jsx as c,jsxs as h}from"react/jsx-runtime";import"./TouchHand.scss";const o=()=>c("div",{className:"touch-hand",children:c("svg",{width:"640",height:"640",viewBox:"0 0 640 640",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"touch-hand-icon",children:h("g",{className:"touchon",children:[h("g",{id:"touchon-body",children:[c("circle",{className:"hand-touch-1",cx:"299",cy:"201",r:"50"}),c("circle",{className:"hand-touch-2",cx:"299",cy:"201",r:"110"}),c("circle",{className:"hand-touch-3",cx:"299",cy:"201",r:"160"})]}),h("g",{id:"touchon-hand-body",children:[c("path",{className:"touchon-hand-fill",d:"M413.525 275.538C400.76 242.513 351.811 260.648 363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6L473.153 282.356C460.405 249.962 411.865 266.884 422.521 300.252L413.525 275.538Z"}),c("path",{className:"touchon-hand-stroke",d:"M363.064 293.905C351.811 260.648 400.76 242.513 413.525 275.538L422.521 300.252M363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6M363.064 293.905L390.46 369.174M422.521 300.252C411.865 266.884 460.405 249.962 473.153 282.356L481.977 306.6M422.521 300.252L440.921 350.807M481.977 306.6L494.974 342.308M363.064 293.905C351.811 260.648 400.76 242.513 413.525 275.538L422.521 300.252M363.064 293.905L330.572 204.634C316.987 171.694 269.344 189.034 280.111 223L311.098 308.137L353.234 423.907C363.94 453.319 361.648 447.023 310.673 433.864C269.832 423.402 247.978 454.874 254.082 468.721C260.187 482.569 368.361 525.989 368.361 525.989C501.073 600.279 573.714 496.368 572.578 437.401C571.407 378.339 533.075 288.002 533.075 288.002C527.073 274.436 512.056 267.025 498.149 272.087C484.241 277.149 477.189 293.444 481.977 306.6M363.064 293.905L390.46 369.174M422.521 300.252C411.865 266.884 460.405 249.962 473.153 282.356L481.977 306.6M422.521 300.252L440.921 350.807M481.977 306.6L494.974 342.308"})]})]})})});export default o;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as u}from"react/jsx-runtime";import{useRef as p}from"react";import{useObserver as e}from"mobx-react-lite";import a from"classnames";import s,{uiState as r}from"../store";import m from"./EntityList";const c=()=>{const i=p(null);return e(()=>{const t=s.toursStore.currentTour;if(!t)return null;const n=t.points&&t.points.length>0;return u("div",{className:a("efp-tour-points",{hidden:r.kiosk}),children:[r.tourDescription&&o("div",{className:"efp-wayfinding-description",children:r.tourDescription}),n&&o(m,{updatedScrollableRef:i})]})})};export default()=>e(()=>!r.menu&&!r.details&&s.toursStore.currentTour&&o(c,{}));
1
+ import{jsx as o,jsxs as u}from"react/jsx-runtime";import{useRef as l}from"react";import{useObserver as s}from"mobx-react-lite";import a from"classnames";import e,{uiState as r}from"../store";import c from"./EntityList";const m=()=>{const i=l(null);return s(()=>{const t=e.toursStore.currentTour;if(!t)return null;const n=t.points&&t.points.length>0;return u("div",{className:a("efp-tour-points",{hidden:r.kiosk}),children:[r.tourDescription&&o("div",{className:"efp-wayfinding-description",children:r.tourDescription}),n&&o(c,{updatedScrollableRef:i})]})})};export default()=>s(()=>!r.menu&&!r.details&&e.toursStore.currentTour&&o(m,{}));
@@ -1 +1 @@
1
- import{jsxs as n,jsx as r}from"react/jsx-runtime";import{useMemo as v}from"react";import{useObserver as N}from"mobx-react-lite";import{observer as m}from"mobx-react-lite";import e,{uiState as l}from"../store";import{ToursList as S}from"./";import T from"fuse.js";import{t as i}from"../utils/i18n";import"./Tours.scss";const x=m(()=>{const t=e.toursStore.tourItems,d=e.toursStore.hasTours,p=e.toursStore.currentExpo,c=e.toursStore.toursLoadError,u=v(()=>{let o=t;const s=e.searchStore.searchText;if(s){const a={keys:["name"],threshold:.3,ignoreLocation:!0,includeScore:!0};o=new T(o,a).search(s).map(f=>f.item)}return o},[t,e.searchStore.searchText]),h=(o,s,a)=>{e.toursStore.launchTour(o,s,a)};return N(()=>c?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:n("p",{children:[i("Error loading Guided Tours"),": ",c]})})}):d?u.length===0?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:r("p",{children:i("No Guided Tours found matching your search")})})}):r("div",{className:"efp-tours-content",children:r(S,{tours:u,onTourClick:h})}):r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:n("p",{children:[i("No Guided Tours available for")," ",p]})})}))}),y=m(t=>l.list.type!=="tours"||l.details?null:r(x,{...t}));export default y;
1
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import{useMemo as T}from"react";import{useObserver as v}from"mobx-react-lite";import{observer as l}from"mobx-react-lite";import e,{uiState as d}from"../store";import{ToursList as x}from"./";import N from"fuse.js";import{t as n}from"../utils/i18n";import"./Tours.scss";const S=l(()=>{const o=e.toursStore.tourItems,m=e.toursStore.hasTours,p=e.toursStore.currentExpo,c=e.toursStore.toursLoadError,i=T(()=>{let t=o;const s=e.searchStore.searchText;if(s){const u={keys:["name"],threshold:.3,ignoreLocation:!0,includeScore:!0};t=new N(t,u).search(s).map(h=>h.item)}return t},[o,e.searchStore.searchText]),f=(t,s,u)=>{e.toursStore.launchTour(t,s,u)};return v(()=>c?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("Error loading Guided Tours"),": ",c]})})}):m?i.length===0?r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:r("p",{children:n("No Guided Tours found matching your search")})})}):r("div",{className:"efp-tours-content",children:r(x,{tours:i,onTourClick:f})}):r("div",{className:"efp-tours-content",children:r("div",{className:"efp-tours-empty",children:a("p",{children:[n("No Guided Tours available for")," ",p]})})}))}),y=l(o=>d.list.type!=="tours"||d.details?null:r(S,{...o}));export default y;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l}from"react/jsx-runtime";import{observer as m}from"mobx-react-lite";import{t as n}from"../utils/i18n";import{HighlightText as c}from"./";import"./ToursList.scss";const d=m(({tours:r,onTourClick:i})=>{const s=(t,o,a)=>{i&&i(t,o,a)};return r.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:n("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:r.map(t=>e("div",{className:"efp-tour-item",onClick:()=>s(t,t.name,t.description),role:"button",tabIndex:0,onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),s(t,t.name,t.description))},children:l("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(c,{text:t.name})})})})]})},t.id))})});export default d;
1
+ import{jsx as e,jsxs as m}from"react/jsx-runtime";import{observer as a}from"mobx-react-lite";import{t as d}from"../utils/i18n";import{HighlightText as o}from"./";import"./ToursList.scss";const c=a(({tours:s,onTourClick:r})=>{const n=(i,t,l)=>{r&&r(i,t,l)};return s.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:d("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:s.map(i=>e("div",{className:"efp-tour-item",onClick:()=>n(i,i.name,i.description),role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(i,i.name,i.description))},children:m("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(o,{text:i.name})})})})]})},i.id))})});export default c;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useObserver as r}from"mobx-react-lite";import{useRef as s}from"react";import{uiState as e}from"../store";import{EntityList as i}from"./";function a(){const o=s();return r(()=>t(i,{updatedScrollableRef:o}))}export default()=>r(()=>!e.details&&e.list.type==="visited"&&t(a,{}));
1
+ import{jsx as t}from"react/jsx-runtime";import{useObserver as e}from"mobx-react-lite";import{useRef as o}from"react";import{uiState as r}from"../store";import{EntityList as s}from"./";function f(){const i=o();return e(()=>t(s,{updatedScrollableRef:i}))}export default()=>e(()=>!r.details&&r.list.type==="visited"&&t(f,{}));
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import n from"classnames";import"./WayInformation.scss";const r=({items:t,accessible:l,onClick:o})=>t?.length?e("div",{className:"efp-wayInformation",onClick:o,role:"button",tabIndex:0,"aria-label":"Show detailed route steps",children:t.map((a,i)=>s("div",{className:n("efp-wayInformation__item",{"is-accessible":l&&i===0}),children:[e("span",{children:a.title}),e("strong",{children:a.text})]},i))}):null;export default r;
1
+ import{jsx as a,jsxs as n}from"react/jsx-runtime";import r from"classnames";import"./WayInformation.scss";const i=({items:s,accessible:o,onClick:l})=>s?.length?a("div",{className:"efp-wayInformation",onClick:l,role:"button",tabIndex:0,"aria-label":"Show detailed route steps",children:s.map((e,t)=>n("div",{className:r("efp-wayInformation__item",{"is-accessible":o&&t===0}),children:[a("span",{children:e.title}),a("strong",{children:e.text})]},t))}):null;export default i;
@@ -1 +1 @@
1
- import{jsx as m,jsxs as V}from"react/jsx-runtime";import k from"classnames";import{useObserver as x}from"mobx-react-lite";import{useEffect as d,useMemo as j,useState as $,useRef as z}from"react";import B from"../data";import{getLayerSvg as K}from"../data/svg";import r,{boothStore as L,exhibitorStore as Q,uiState as e}from"../store";import{RegularBooth as C}from"../store/BoothStore";import{Route as S}from"../store/RouteStore";import I from"../tools/settings";import{t as R}from"../utils/i18n";import W from"./EntityList";import X from"./WayfindingTemplate";import{calcSpeed as _}from"../utils/calcSpeed";import{calcTravelTime as q}from"../utils/calcTravelTime";import{DEFAULT_UNITS as G}from"../constants";import"./Wayfinding.scss";function H(){const F=z(null),u=j(()=>r.routeStore.pathLayers.map(i=>({id:i.id,name:i.layer?.shortName,description:i.layer?.description,basePriority:i.layer?.basePriority??0})),[r.routeStore.pathLayers]),[b,y]=$();d(()=>{b||y(u[0])},[r.routeStore.pathLayers,u]),d(()=>{const i=u.find(a=>a.description?.toLowerCase()===r.routeStore.currentRouteLayer?.description?.toLowerCase());i&&y(i)},[r.routeStore.currentRouteLayer,u]),d(()=>{const i=e.selectedRoute;if(!i){e.setIsMultiPointRoute(!1);return}const a=(i.waypoints?.length||0)>0;e.setIsMultiPointRoute(a)},[e.selectedRoute]);const N=()=>{const{from:i,to:a}=e.selectedRoute;return!!(i&&a)},A=()=>e.overlaySize==="full",D=()=>!!(N()&&!A()),g=()=>{const i=e.selectedRoute;return i?(i.waypoints?.length||0)>0?"multi":"simple":"none"},T=()=>e.routeTitle;return d(()=>{g()==="multi"&&e.selectedRoute},[e.selectedRoute]),x(()=>{const i=g(),a=T();if(i==="multi")return V("div",{className:k("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&m("div",{className:"efp-wayfinding-description",children:e.routeDescription}),m(W,{updatedScrollableRef:F})]});const f=[],p=()=>r.routeStore.defaultFrom?L.booths.concat([r.routeStore.defaultFrom]):L.booths,E=p().filter(t=>t instanceof C),M=p().filter(t=>!(t instanceof C)),w=()=>{let t=[];return Q.exhibitors.forEach(o=>{f.push(...o.booths.map(s=>s.id)),t.push(...o.booths.map(s=>({value:s.id.toString(),label:o.name+" - "+s.fullName})))}),M.filter(o=>f.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t=t.sort((o,s)=>o.label.localeCompare(s.label,void 0,{sensitivity:"base"})),E.filter(o=>f.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t},v=(t,o=!0)=>{const s=p().filter(c=>c.id.toString()===t)[0],{from:l,to:n}=e.selectedRoute;o?r.routeStore.selectRoute(new S(s||null,n)):r.routeStore.selectRoute(new S(l,s||null))},O=t=>{const o=[],s=K().getAttribute("units")||G,l=q(t,_(s));let n=new Date;n.setMinutes(n.getMinutes()+l/60);const c=n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return o.push({title:R("Travel time"),text:l<60?"< 1 min":`~ ${Math.round(l/60)} min`},{title:R("Distance"),text:Math.round(t)+` ${s}`},{title:R("Est arrival"),text:c}),o},P=()=>{const{from:t,to:o}=e.selectedRoute;r.routeStore.selectRoute(new S(o,t))},U=e.selectedRoute?.from&&e.selectedRoute?.to&&!r.routeStore.routeLines.length;return m("div",{className:k("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:m(X,{showForm:!D(),showInfo:!!(!B.hideWayInformation&&I.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to),floors:u,currentFloor:b,onClickFloor:t=>{var o=r.layerStore.layers.find(s=>s.shortName===t.name);r.layerStore.updateVisibility(o,!0)},routeFound:!U,options:w(),fromValue:e.selectedRoute?.from?.id?.toString()||"",toValue:e.selectedRoute?.to?.id?.toString()||"",onChangeFrom:t=>v(t,!0),onChangeTo:t=>v(t,!1),onSwitch:P,infoItems:O(r.routeStore.routeDistance),infoAccessible:r.routeStore.onlyAccessible,showAccessible:r.routeStore.showAccessible,onAccessibleCheck:t=>r.routeStore.onlyAccessible=t,onClickInfo:()=>r.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const t=r.routeStore.defaultFrom?.id,{from:o,to:s}=e.selectedRoute||{},l=[s,o].find(n=>n?.id!==t);if(l){const n=w().find(h=>h.value===l.id.toString()),c=l.exhibitors.find(h=>n.label.includes(h.name));e.details=c||l}}})})})}export default()=>x(()=>I.wayfinding&&!e.menu&&e.selectedRoute&&m(H,{}));
1
+ import{jsx as d,jsxs as W}from"react/jsx-runtime";import x from"classnames";import{useObserver as C}from"mobx-react-lite";import{useEffect as f,useMemo as B,useState as V,useRef as _}from"react";import z from"../data";import{getLayerSvg as $}from"../data/svg";import r,{boothStore as F,exhibitorStore as K,uiState as e}from"../store";import{RegularBooth as I}from"../store/BoothStore";import{Route as S}from"../store/RouteStore";import L from"../tools/settings";import{t as y}from"../utils/i18n";import Q from"./EntityList";import X from"./WayfindingTemplate";import{calcSpeed as q}from"../utils/calcSpeed";import{calcTravelTime as G}from"../utils/calcTravelTime";import{DEFAULT_UNITS as H}from"../constants";import"./Wayfinding.scss";function J(){const k=_(null),a=B(()=>r.routeStore.pathLayers.map(s=>({id:s.id,name:s.layer?.shortName,description:s.layer?.description,basePriority:s.layer?.basePriority??0})),[r.routeStore.pathLayers]),[b,R]=V();f(()=>{b||R(a[0])},[r.routeStore.pathLayers,a]),f(()=>{const s=a.find(u=>u.description?.toLowerCase()===r.routeStore.currentRouteLayer?.description?.toLowerCase());s&&R(s)},[r.routeStore.currentRouteLayer,a]),f(()=>{const s=e.selectedRoute;if(!s){e.setIsMultiPointRoute(!1);return}const c=(s.waypoints?.length||0)>0;e.setIsMultiPointRoute(c)},[e.selectedRoute]);const N=()=>{const{from:s,to:u}=e.selectedRoute;return!!(s&&u)},T=()=>e.overlaySize==="full",D=()=>!!(N()&&!T()),g=()=>{const s=e.selectedRoute;return s?(s.waypoints?.length||0)>0?"multi":"simple":"none"},M=()=>e.routeTitle;return f(()=>{g()==="multi"&&e.selectedRoute},[e.selectedRoute]),C(()=>{const s=g(),u=M();if(s==="multi")return W("div",{className:x("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&d("div",{className:"efp-wayfinding-description",children:e.routeDescription}),d(Q,{updatedScrollableRef:k})]});const c=[],p=()=>r.routeStore.defaultFrom?F.booths.concat([r.routeStore.defaultFrom]):F.booths,A=p().filter(t=>t instanceof I),E=p().filter(t=>!(t instanceof I)),w=()=>{let t=[];return K.exhibitors.forEach(o=>{c.push(...o.booths.map(i=>i.id)),t.push(...o.booths.map(i=>({value:i.id.toString(),label:o.name+" - "+i.fullName})))}),E.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t=t.sort((o,i)=>o.label.localeCompare(i.label,void 0,{sensitivity:"base"})),A.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t},v=(t,o=!0)=>{const i=p().filter(m=>m.id.toString()===t)[0],{from:n,to:l}=e.selectedRoute;o?r.routeStore.selectRoute(new S(i||null,l)):r.routeStore.selectRoute(new S(n,i||null))},O=t=>{const o=[],i=$().getAttribute("units")||H,n=G(t,q(i));let l=new Date;l.setMinutes(l.getMinutes()+n/60);const m=l.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return o.push({title:y("Travel time"),text:n<60?"< 1 min":`~ ${Math.round(n/60)} min`},{title:y("Distance"),text:Math.round(t)+` ${i}`},{title:y("Est arrival"),text:m}),o},P=()=>{const{from:t,to:o}=e.selectedRoute;r.routeStore.selectRoute(new S(o,t))},j=e.selectedRoute?.from&&e.selectedRoute?.to&&!r.routeStore.routeLines.length;return d("div",{className:x("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:d(X,{showForm:!D(),showInfo:!!(!z.hideWayInformation&&L.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to),floors:a,currentFloor:b,onClickFloor:t=>{var o=r.layerStore.layers.find(i=>i.shortName===t.name);r.layerStore.updateVisibility(o,!0)},routeFound:!j,options:w(),fromValue:e.selectedRoute?.from?.id?.toString()||"",toValue:e.selectedRoute?.to?.id?.toString()||"",onChangeFrom:t=>v(t,!0),onChangeTo:t=>v(t,!1),onSwitch:P,infoItems:O(r.routeStore.routeDistance),infoAccessible:r.routeStore.onlyAccessible,showAccessible:r.routeStore.showAccessible,onAccessibleCheck:t=>r.routeStore.onlyAccessible=t,onClickInfo:()=>r.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const t=r.routeStore.defaultFrom?.id,{from:o,to:i}=e.selectedRoute||{},n=[i,o].find(l=>l?.id!==t);if(n){const m=w().find(h=>h.value===n.id.toString()),U=n.exhibitors.find(h=>m.label.includes(h.name));e.details=U||n}}})})})}export default()=>C(()=>L.wayfinding&&!e.menu&&e.selectedRoute&&d(J,{}));
@@ -1 +1 @@
1
- import{jsx as e,jsxs as m}from"react/jsx-runtime";import g from"react";import c from"classnames";import"./WayfindingFloorSelector.scss";const u=({floors:o,current:t,onClickFloor:p})=>{const n=o.findIndex(i=>i?.id===t?.id),w=i=>{if(i>=o.length-1)return null;const r=o[i],l=o[i+1];if(!r||!l)return null;const a=r.basePriority??0;return(l.basePriority??0)<a?"up":"down"},h=i=>n!==-1&&i===n;return e("div",{className:"efp-wayfinding-floor",children:e("div",{className:"efp-wayfinding-floor__body",children:e("div",{className:"efp-wayfinding-floor__list",role:"radiogroup","aria-label":"Floor selection",children:o.map((i,r)=>{const l=i?.id===t?.id,a=n!==-1&&r<n,C=r===o.length-1,d=w(r),s=h(r),f=n!==-1&&r<n;return m(g.Fragment,{children:[e("div",{className:c("efp-wayfinding-floor__item",{"is-current":l,"is-passed":a}),children:e("button",{type:"button",role:"radio",title:i.description,"aria-checked":l,"aria-label":i.description||`Floor ${i.name}`,onClick:()=>p({id:i.id,name:i.name}),children:e("span",{children:i.name})})}),!C&&d&&e("div",{className:c("efp-wayfinding-floor__arrow",{[`efp-wayfinding-floor__arrow--${d}`]:d,"efp-wayfinding-floor__arrow--blink":s,"efp-wayfinding-floor__arrow--passed":f}),"aria-hidden":"true",children:f||s?e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M11.7502 18.2823C11.7503 19.0928 12.4074 19.7499 13.218 19.75C13.5885 19.75 13.9455 19.6096 14.217 19.3575L20.6438 13.3897C21.0303 13.0308 21.2502 12.5274 21.2502 12C21.2502 11.4727 21.0303 10.9693 20.6438 10.6104L14.217 4.64258C13.9795 4.42202 13.6768 4.28716 13.3566 4.25684L13.218 4.25L13.0686 4.25782C12.3282 4.3328 11.7503 4.95766 11.7502 5.71778L11.7502 8.25L4.50024 8.25C3.53374 8.25 2.75024 9.03351 2.75024 9.99996L2.75024 14C2.75024 14.9665 3.53374 15.75 4.50024 15.75L11.7502 15.75L11.7502 18.2823Z",fill:"currentColor"})}):e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M2.5 10C2.5 8.89544 3.39544 8 4.5 8H11.5V5.71777C11.5001 4.76912 12.2692 4.00012 13.2178 4C13.5973 4 13.9649 4.12537 14.2637 4.35449L14.3867 4.45898L20.8145 10.4268C21.2518 10.8329 21.5 11.4032 21.5 12C21.5 12.5968 21.2518 13.1671 20.8145 13.5732L14.3867 19.54L14.3877 19.541C14.0697 19.8365 13.6514 20 13.2178 20C12.2692 19.9999 11.5001 19.2308 11.5 18.2822V16H4.5C3.39545 16 2.5 15.1046 2.5 14V10ZM4.5 14H12.5C13.0523 14 13.5 14.4477 13.5 15V17.6348L19.4531 12.1074C19.4829 12.0797 19.5 12.0407 19.5 12C19.5 11.9593 19.4829 11.9203 19.4531 11.8926L13.5 6.36426V9C13.5 9.55228 13.0523 10 12.5 10H4.5V14Z",fill:"currentColor"})})})]},i.id)})})})})};export default u;
1
+ import{jsx as r,jsxs as g}from"react/jsx-runtime";import m from"react";import p from"classnames";import"./WayfindingFloorSelector.scss";const u=({floors:e,current:l,onClickFloor:h})=>{const t=e.findIndex(i=>i?.id===l?.id),f=i=>{if(i>=e.length-1)return null;const n=e[i],o=e[i+1];if(!n||!o)return null;const s=n.basePriority??0;return(o.basePriority??0)<s?"up":"down"},C=i=>t!==-1&&i===t;return r("div",{className:"efp-wayfinding-floor",children:r("div",{className:"efp-wayfinding-floor__body",children:r("div",{className:"efp-wayfinding-floor__list",role:"radiogroup","aria-label":"Floor selection",children:e.map((i,n)=>{const o=i?.id===l?.id,s=t!==-1&&n<t,d=n===e.length-1,a=f(n),c=C(n),w=t!==-1&&n<t;return g(m.Fragment,{children:[r("div",{className:p("efp-wayfinding-floor__item",{"is-current":o,"is-passed":s}),children:r("button",{type:"button",role:"radio",title:i.description,"aria-checked":o,"aria-label":i.description||`Floor ${i.name}`,onClick:()=>h({id:i.id,name:i.name}),children:r("span",{children:i.name})})}),!d&&a&&r("div",{className:p("efp-wayfinding-floor__arrow",{[`efp-wayfinding-floor__arrow--${a}`]:a,"efp-wayfinding-floor__arrow--blink":c,"efp-wayfinding-floor__arrow--passed":w}),"aria-hidden":"true",children:w||c?r("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:r("path",{d:"M11.7502 18.2823C11.7503 19.0928 12.4074 19.7499 13.218 19.75C13.5885 19.75 13.9455 19.6096 14.217 19.3575L20.6438 13.3897C21.0303 13.0308 21.2502 12.5274 21.2502 12C21.2502 11.4727 21.0303 10.9693 20.6438 10.6104L14.217 4.64258C13.9795 4.42202 13.6768 4.28716 13.3566 4.25684L13.218 4.25L13.0686 4.25782C12.3282 4.3328 11.7503 4.95766 11.7502 5.71778L11.7502 8.25L4.50024 8.25C3.53374 8.25 2.75024 9.03351 2.75024 9.99996L2.75024 14C2.75024 14.9665 3.53374 15.75 4.50024 15.75L11.7502 15.75L11.7502 18.2823Z",fill:"currentColor"})}):r("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:r("path",{d:"M2.5 10C2.5 8.89544 3.39544 8 4.5 8H11.5V5.71777C11.5001 4.76912 12.2692 4.00012 13.2178 4C13.5973 4 13.9649 4.12537 14.2637 4.35449L14.3867 4.45898L20.8145 10.4268C21.2518 10.8329 21.5 11.4032 21.5 12C21.5 12.5968 21.2518 13.1671 20.8145 13.5732L14.3867 19.54L14.3877 19.541C14.0697 19.8365 13.6514 20 13.2178 20C12.2692 19.9999 11.5001 19.2308 11.5 18.2822V16H4.5C3.39545 16 2.5 15.1046 2.5 14V10ZM4.5 14H12.5C13.0523 14 13.5 14.4477 13.5 15V17.6348L19.4531 12.1074C19.4829 12.0797 19.5 12.0407 19.5 12C19.5 11.9593 19.4829 11.9203 19.4531 11.8926L13.5 6.36426V9C13.5 9.55228 13.0523 10 12.5 10H4.5V14Z",fill:"currentColor"})})})]},i.id)})})})})};export default u;
@@ -1 +1 @@
1
- import{jsx as i,jsxs as e,Fragment as k}from"react/jsx-runtime";import A from"classnames";import{t as o}from"../utils/i18n";import c from"./Autocomplete";import D from"./ToggleSwitch";import M from"./WayfindingFloorSelector";import"./WayfindingTemplate.scss";import Z from"./WayInformation";import B from"./RouteQR";const E=({options:n=[],fromValue:a="",toValue:t="",showForm:l=!0,showAccessible:d=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:s,floors:r,currentFloor:C,routeUrl:p,isKiosk:w,onChangeFrom:g,onChangeTo:v,onSwitch:u,onClickInfo:F,onClickFloor:y,onAccessibleCheck:_,showDetailsIcon:N,onDetailsIconClick:b})=>e("div",{className:A("efp-wayfinding",{isCollapsed:!l}),children:[l&&e("div",{className:"efp-wayfinding__top",children:[e("div",{className:"efp-wayfindingForm",children:[e("div",{className:"efp-wayfindingForm__icons",children:[i("div",{className:"efp-wayfindingForm__from",children:e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),i("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),i("div",{className:"efp-wayfindingForm__to",children:e("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),i("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),i("div",{className:"efp-wayfindingForm__dots",children:e("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),i("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),e("div",{className:"efp-wayfindingForm__controls",children:[i("div",{style:{marginBottom:10},children:i(c,{placeholder:o("Choose starting point"),options:n,value:a,onChange:g})}),i("div",{children:i(c,{placeholder:o("Choose destination point"),options:n,value:t,onChange:v})})]}),e("div",{className:"efp-wayfindingForm__actions",children:[i("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:u}),N&&i("button",{type:"button",className:"efp-wayfindingForm__details",onClick:b})]})]}),d&&i("div",{className:"efp-wayfindingForm__accessible",children:i(D,{name:"onlyAccessible",label:"Accessible",value:s,onChange:x=>_(x)})})]}),r.length>1&&i(M,{floors:r,current:C,onClickFloor:y}),f&&i("div",{className:"efp-wayfindingInfo",children:m?e(k,{children:[i(Z,{items:h,accessible:s,onClick:F}),w&&i(B,{url:p})]}):i("div",{className:"efp-wayfindingError",children:o("Route not found")})})]});export default E;
1
+ import{jsx as i,jsxs as e,Fragment as R}from"react/jsx-runtime";import M from"classnames";import{t as l}from"../utils/i18n";import r from"./Autocomplete";import Z from"./ToggleSwitch";import B from"./WayfindingFloorSelector";import"./WayfindingTemplate.scss";import E from"./WayInformation";import j from"./RouteQR";const k=({options:n=[],fromValue:s="",toValue:d="",showForm:o=!0,showAccessible:c=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:a,floors:t,currentFloor:p,routeUrl:C,isKiosk:g,onChangeFrom:w,onChangeTo:v,onSwitch:y,onClickInfo:_,onClickFloor:u,onAccessibleCheck:F,showDetailsIcon:N,onDetailsIconClick:x})=>e("div",{className:M("efp-wayfinding",{isCollapsed:!o}),children:[o&&e("div",{className:"efp-wayfinding__top",children:[e("div",{className:"efp-wayfindingForm",children:[e("div",{className:"efp-wayfindingForm__icons",children:[i("div",{className:"efp-wayfindingForm__from",children:e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),i("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),i("div",{className:"efp-wayfindingForm__to",children:e("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),i("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),i("div",{className:"efp-wayfindingForm__dots",children:e("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),i("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),e("div",{className:"efp-wayfindingForm__controls",children:[i("div",{style:{marginBottom:10},children:i(r,{placeholder:l("Choose starting point"),options:n,value:s,onChange:w})}),i("div",{children:i(r,{placeholder:l("Choose destination point"),options:n,value:d,onChange:v})})]}),e("div",{className:"efp-wayfindingForm__actions",children:[i("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:y}),N&&i("button",{type:"button",className:"efp-wayfindingForm__details",onClick:x})]})]}),c&&i("div",{className:"efp-wayfindingForm__accessible",children:i(Z,{name:"onlyAccessible",label:"Accessible",value:a,onChange:b=>F(b)})})]}),t.length>1&&i(B,{floors:t,current:p,onClickFloor:u}),f&&i("div",{className:"efp-wayfindingInfo",children:m?e(R,{children:[i(E,{items:h,accessible:a,onClick:_}),g&&i(j,{url:C})]}):i("div",{className:"efp-wayfindingError",children:l("Route not found")})})]});export default k;
@@ -1 +1 @@
1
- import{jsx as l}from"react/jsx-runtime";import g from"classnames";import{reaction as p}from"mobx";import{useLocalStore as x,useObserver as f}from"mobx-react-lite";import w,{createRef as I,useCallback as m}from"react";import{CSSTransition as b,TransitionGroup as y}from"react-transition-group";import S,{exhibitorStore as T,uiState as n}from"../store";import{remsToPixels as k,shuffle as v}from"../utils";import{useInit as B}from"../utils/mobx";import"./Ws.scss";import{loadImagesInBatchesById as N}from"../utils/loadImagesInBatches";const c=8e3,E=w.memo(()=>{const e=x(()=>({el:null,all:[],adv:[],keySeq:0,index:0,imgByExhibitorId:new Map,batchSize:100,loading:!1,leftToNextLoad:0,timeoutId:0,get sectionStyle(){const{wsStarted:t,wsPosition:o}=n,i=o==="top",a={right:0,width:"100%",opacity:t?1:0};return i?a.top=0:a.bottom=0,a}})),s=m(()=>{const t=(e.el?.getBoundingClientRect().width??0)-k(.3)*2;let o=0;const i=[];do{const a=e.all[e.index%e.all.length],d=e.imgByExhibitorId.get(a.id);if(!d)break;const u=d.width*n.wsImageHeightPx/d.height+20;if(o+u>t&&i.length)break;o+=u,i.push({key:e.keySeq++,e:a}),e.index=(e.index+1)%e.all.length}while(!0);e.adv=i.map(a=>({...a,nodeRef:I()})),e.leftToNextLoad=Math.max(0,e.leftToNextLoad-i.length)},[e]),r=m(async()=>{e.loading=!0;let t=e.all.slice(e.index,e.index+e.batchSize);t.length<e.batchSize&&(t=t.concat(e.all.slice(0,e.batchSize-t.length)));const o=await N(new Map(t.map(i=>[i.id,{fallback:i.logo}])));return e.leftToNextLoad=o.size,e.loading=!1,o},[e]),h=m(()=>{const t=async()=>{if(e.loading){e.timeoutId=window.setTimeout(t,c);return}e.leftToNextLoad<=e.adv.length&&(e.imgByExhibitorId=await r()),s(),e.timeoutId=window.setTimeout(t,c)};clearTimeout(e.timeoutId),e.timeoutId=window.setTimeout(t,c)},[r,s]);return B(()=>{let t,o=!0;return(async()=>(e.all=v(T.advertised),e.imgByExhibitorId=await r(),o&&(s(),h(),n.wsStarted=!0,t=p(()=>n.screenSize,s))))(),()=>{o=!1,t?.(),clearInterval(e.timeoutId)}}),f(()=>l("section",{className:g("ws",{"efp-semi-transparent":n.setKioskModeEnabled}),ref:t=>e.el=t,onMouseOver:()=>clearInterval(e.timeoutId),onMouseOut:h,style:e.sectionStyle,children:l(y,{component:null,children:e.adv.map(t=>l(b,{timeout:500,nodeRef:t.nodeRef,children:l("a",{ref:t.nodeRef,href:`?${t.e.slug}`,className:"ws__exhibitor",style:{height:`${n.wsImageHeightPx}px`},onClick:o=>{o.preventDefault(),S.clickExhibitor(t.e)},children:l("img",{src:t.e.logo,alt:t.e.name,crossOrigin:"anonymous"})})},t.key))})}))});export default()=>f(()=>n.wsShown?l(E,{}):null);
1
+ import{jsx as s}from"react/jsx-runtime";import p from"classnames";import{reaction as x}from"mobx";import{useLocalStore as w,useObserver as g}from"mobx-react-lite";import b,{createRef as I,useCallback as m}from"react";import{CSSTransition as y,TransitionGroup as S}from"react-transition-group";import T,{exhibitorStore as k,uiState as n}from"../store";import{remsToPixels as v,shuffle as N}from"../utils";import{useInit as E}from"../utils/mobx";import"./Ws.scss";import{loadImagesInBatchesById as B}from"../utils/loadImagesInBatches";const h=8e3,L=b.memo(()=>{const e=w(()=>({el:null,all:[],adv:[],keySeq:0,index:0,imgByExhibitorId:new Map,batchSize:100,loading:!1,leftToNextLoad:0,timeoutId:0,get sectionStyle(){const{wsStarted:t,wsPosition:o}=n,a=o==="top",i={right:0,width:"100%",opacity:t?1:0};return a?i.top=0:i.bottom=0,i}})),l=m(()=>{const o=(e.el?.getBoundingClientRect().width??0)-v(.3)*2;let a=0;const i=[];do{const r=e.all[e.index%e.all.length],c=e.imgByExhibitorId.get(r.id);if(!c)break;const f=c.width*n.wsImageHeightPx/c.height+20;if(a+f>o&&i.length)break;a+=f,i.push({key:e.keySeq++,e:r}),e.index=(e.index+1)%e.all.length}while(!0);e.adv=i.map(r=>({...r,nodeRef:I()})),e.leftToNextLoad=Math.max(0,e.leftToNextLoad-i.length)},[e]),d=m(async()=>{e.loading=!0;let t=e.all.slice(e.index,e.index+e.batchSize);t.length<e.batchSize&&(t=t.concat(e.all.slice(0,e.batchSize-t.length)));const o=await B(new Map(t.map(a=>[a.id,{fallback:a.logo}])));return e.leftToNextLoad=o.size,e.loading=!1,o},[e]),u=m(()=>{const t=async()=>{if(e.loading){e.timeoutId=window.setTimeout(t,h);return}e.leftToNextLoad<=e.adv.length&&(e.imgByExhibitorId=await d()),l(),e.timeoutId=window.setTimeout(t,h)};clearTimeout(e.timeoutId),e.timeoutId=window.setTimeout(t,h)},[d,l]);return E(()=>{let t,o=!0;return(async()=>(e.all=N(k.advertised),e.imgByExhibitorId=await d(),o&&(l(),u(),n.wsStarted=!0,t=x(()=>n.screenSize,l))))(),()=>{o=!1,t?.(),clearInterval(e.timeoutId)}}),g(()=>s("section",{className:p("ws",{"efp-semi-transparent":n.setKioskModeEnabled}),ref:t=>e.el=t,onMouseOver:()=>clearInterval(e.timeoutId),onMouseOut:u,style:e.sectionStyle,children:s(S,{component:null,children:e.adv.map(t=>s(y,{timeout:500,nodeRef:t.nodeRef,children:s("a",{ref:t.nodeRef,href:`?${t.e.slug}`,className:"ws__exhibitor",style:{height:`${n.wsImageHeightPx}px`},onClick:o=>{o.preventDefault(),T.clickExhibitor(t.e)},children:s("img",{src:t.e.logo,alt:t.e.name,crossOrigin:"anonymous"})})},t.key))})}))});export default()=>g(()=>n.wsShown?s(L,{}):null);
@@ -1 +1 @@
1
- import{jsx as m}from"react/jsx-runtime";import{useObserver as l}from"mobx-react-lite";import{layersStore as o,uiState as a}from"../store";import c from"./SimpleRow";import p from"../utils/useHeatmapData";import f from"../core/Rect";const u=({yah:e,className:i})=>{const{clicks:t,background:n}=p(e);return l(()=>m(c,{style:{background:a.heatmapYah?`linear-gradient(to right, transparent 98%, ${n} 93%) center / 100% 99% no-repeat`:null},className:i,slug:e.id.toString(),onClick:s,line1:e.name,line2:e.z?`Level ${e.z}`:"",lineEnd:t.toString(),highlight:!1}));function s(){const r=o.findLayer(e.z);r&&o.updateVisibility(r,!0),a.moveToRect=f.fromCxcywh(e.x,e.y,1e3,1e3)}};export default u;
1
+ import{jsx as m}from"react/jsx-runtime";import{useObserver as s}from"mobx-react-lite";import{layersStore as r,uiState as o}from"../store";import c from"./SimpleRow";import p from"../utils/useHeatmapData";import u from"../core/Rect";const f=({yah:e,className:i})=>{const{clicks:n,background:l}=p(e);return s(()=>m(c,{style:{background:o.heatmapYah?`linear-gradient(to right, transparent 98%, ${l} 93%) center / 100% 99% no-repeat`:null},className:i,slug:e.id.toString(),onClick:a,line1:e.name,line2:e.z?`Level ${e.z}`:"",lineEnd:n.toString(),highlight:!1}));function a(){const t=r.findLayer(e.z);t&&r.updateVisibility(t,!0),o.moveToRect=u.fromCxcywh(e.x,e.y,1e3,1e3)}};export default f;
@@ -1 +1 @@
1
- import{jsx as w}from"react/jsx-runtime";import{useCallback as y,useEffect as u,useState as f}from"react";import{useUserLocationAndHeading as S}from"./useUserLocationAndHeading";import q from"./GpsPermissionRequest";import A from"../../tools/logger";import E from"../../utils/is-mobile";export default function P({onPositionUpdate:g,onAllowCompass:d,onRejectCompass:r,orientationStorageKey:t="compass-permission-granted",requestCompass:a=!0,requestCompassAllowed:s=!0}){const{startOrientation:v,startGeolocation:i,stopOrientation:m,stopGeolocation:c}=S(g),[l,p]=f(!1),[C,e]=f(!1);u(()=>(navigator.geolocation.getCurrentPosition(()=>{p(!0),i()},o=>{A.warn("Geolocation error:",o),p(!1)}),()=>{m(),c()}),[i,c,m]);const n=async()=>{typeof DeviceOrientationEvent<"u"&&typeof DeviceOrientationEvent.requestPermission=="function"&&await DeviceOrientationEvent.requestPermission()!=="granted"||(localStorage.setItem(t,"true"),v(),e(!1),d?.())},O=y(()=>{localStorage.setItem(t,"false"),e(!1),r?.()},[r]);return u(()=>{if(!l||!s||typeof navigator>"u"||!E)return;const o=localStorage.getItem(t);if(!o||a){e(!0);return}o==="true"&&n()},[l,a,s,n]),w(q,{isOpen:C,onAllow:n,onCancel:O})}
1
+ import{jsx as E}from"react/jsx-runtime";import{useCallback as w,useEffect as m,useState as p}from"react";import{useUserLocationAndHeading as C}from"./useUserLocationAndHeading";import M from"./GpsPermissionRequest";import P from"../../tools/logger";import b from"../../utils/is-mobile";export default function h({onPositionUpdate:d,onAllowCompass:g,onRejectCompass:r,orientationStorageKey:t="compass-permission-granted",requestCompass:a=!0,requestCompassAllowed:s=!0}){const{startOrientation:v,startGeolocation:i,stopOrientation:l,stopGeolocation:c}=C(d),[f,u]=p(!1),[G,o]=p(!1);m(()=>(navigator.geolocation.getCurrentPosition(()=>{u(!0),i()},e=>{P.warn("Geolocation error:",e),u(!1)}),()=>{l(),c()}),[i,c,l]);const n=async()=>{typeof DeviceOrientationEvent<"u"&&typeof DeviceOrientationEvent.requestPermission=="function"&&await DeviceOrientationEvent.requestPermission()!=="granted"||(localStorage.setItem(t,"true"),v(),o(!1),g?.())},O=w(()=>{localStorage.setItem(t,"false"),o(!1),r?.()},[r]);return m(()=>{if(!f||!s||typeof navigator>"u"||!b)return;const e=localStorage.getItem(t);if(!e||a){o(!0);return}e==="true"&&n()},[f,a,s,n]),E(M,{isOpen:G,onAllow:n,onCancel:O})}