@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{__esDecorate as a,__runInitializers as c}from"tslib";import{action as l,computed as u,observable as O,runInAction as j,toJS as o}from"mobx";import{removeKiosk as _,getSavedKiosk as A,saveKiosk as X}from"./SetKiosk";import s from"../../store";import{isPointVisible as Y}from"../Map/visibleArea";import{areLayersEnabled as q}from"../../utils/areLayersEnabled";let E=(()=>{let i=[],m,g,k,S,p=[],v=[],C,M,K=[],b=[],f,y,D,P,F,I,N,z,T,U,w,R,x;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;m=[u],g=[l],k=[u],S=[O],C=[u],M=[O],f=[l],y=[l],D=[l],P=[l],F=[l],I=[l],N=[l],z=[l],T=[l],U=[l],w=[l],R=[l],x=[l],a(this,null,m,{kind:"getter",name:"kiosk",static:!1,private:!1,access:{has:e=>"kiosk"in e,get:e=>e.kiosk},metadata:t},null,i),a(this,null,g,{kind:"method",name:"setKiosk",static:!1,private:!1,access:{has:e=>"setKiosk"in e,get:e=>e.setKiosk},metadata:t},null,i),a(this,null,k,{kind:"getter",name:"renderer",static:!1,private:!1,access:{has:e=>"renderer"in e,get:e=>e.renderer},metadata:t},null,i),a(this,null,C,{kind:"getter",name:"hasUnsavedChanges",static:!1,private:!1,access:{has:e=>"hasUnsavedChanges"in e,get:e=>e.hasUnsavedChanges},metadata:t},null,i),a(this,null,f,{kind:"method",name:"addStatusMessage",static:!1,private:!1,access:{has:e=>"addStatusMessage"in e,get:e=>e.addStatusMessage},metadata:t},null,i),a(this,null,y,{kind:"method",name:"clearStatusMessages",static:!1,private:!1,access:{has:e=>"clearStatusMessages"in e,get:e=>e.clearStatusMessages},metadata:t},null,i),a(this,null,D,{kind:"method",name:"startCleanupMessages",static:!1,private:!1,access:{has:e=>"startCleanupMessages"in e,get:e=>e.startCleanupMessages},metadata:t},null,i),a(this,null,P,{kind:"method",name:"resetCamera",static:!1,private:!1,access:{has:e=>"resetCamera"in e,get:e=>e.resetCamera},metadata:t},null,i),a(this,null,F,{kind:"method",name:"restoreData",static:!1,private:!1,access:{has:e=>"restoreData"in e,get:e=>e.restoreData},metadata:t},null,i),a(this,null,I,{kind:"method",name:"handleSetupReady",static:!1,private:!1,access:{has:e=>"handleSetupReady"in e,get:e=>e.handleSetupReady},metadata:t},null,i),a(this,null,N,{kind:"method",name:"handleClose",static:!1,private:!1,access:{has:e=>"handleClose"in e,get:e=>e.handleClose},metadata:t},null,i),a(this,null,z,{kind:"method",name:"handleDelete",static:!1,private:!1,access:{has:e=>"handleDelete"in e,get:e=>e.handleDelete},metadata:t},null,i),a(this,null,T,{kind:"method",name:"handleSave",static:!1,private:!1,access:{has:e=>"handleSave"in e,get:e=>e.handleSave},metadata:t},null,i),a(this,null,U,{kind:"method",name:"handleChange",static:!1,private:!1,access:{has:e=>"handleChange"in e,get:e=>e.handleChange},metadata:t},null,i),a(this,null,w,{kind:"method",name:"setInitialPtScale",static:!1,private:!1,access:{has:e=>"setInitialPtScale"in e,get:e=>e.setInitialPtScale},metadata:t},null,i),a(this,null,R,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,i),a(this,null,x,{kind:"method",name:"handleNavigationChange",static:!1,private:!1,access:{has:e=>"handleNavigationChange"in e,get:e=>e.handleNavigationChange},metadata:t},null,i),a(null,null,S,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,n)=>{e.savedKiosk=n}},metadata:t},p,v),a(null,null,M,{kind:"field",name:"statusMessages",static:!1,private:!1,access:{has:e=>"statusMessages"in e,get:e=>e.statusMessages,set:(e,n)=>{e.statusMessages=n}},metadata:t},K,b),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}get kiosk(){return s.uiState.kioskData}setKiosk(t){s.uiState.setKioskData(t)}get renderer(){return s.renderer}getCameraState(){const t=this.renderer.controls.getCameraState();return{mapInitialPtScale:this.initialPtScale,mapPtScale:t?.ptScale,mapCenterX:t?.center.x,mapCenterY:t?.center.y,mapRollDegrees:t?.roll,mapPitch:t?.pitch}}savedKiosk=(c(this,i),c(this,p,void 0));get hasUnsavedChanges(){const t=this.savedKiosk,e=o(this.kiosk);if(!e||!t)return!!e!=!!t;const n=Object.keys(t),h=Object.keys(e);if(n.length!==h.length)return!0;for(const r of n)if(!(r in e)||t[r]!==e[r])return!0;return!1}statusMessages=(c(this,v),c(this,K,[]));addStatusMessage(t){this.statusMessages=[{...t,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}statusMessageTimer=(c(this,b),0);startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const{z:t,mapRollDegrees:e,mapInitialPtScale:n,mapPtScale:h,mapCenterX:r,mapCenterY:d}=this.kiosk||{};await this.renderer.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),j(()=>{Number.isFinite(n)&&Number.isFinite(h)&&h>0&&this.renderer.controls.zoomBy(n/h,!0),Number.isFinite(r)&&Number.isFinite(d)&&this.renderer.controls.panTo(r,d,!0),Number.isFinite(e)&&this.renderer.controls.rollTo(e,!0),t&&s.fp.activateFloor({name:t})})}restoreData(){const t=A();return t&&(this.setKiosk(t),this.savedKiosk=t,s.uiState.kiosk=!0,this.resetCamera()),t}handleSetupReady(){this.restoreData(),s.uiState.kiosk=!0,s.uiState.hideFreeOrDemo=!0,s.uiState.setForceDimm(!0),s.searchStore.setSearchText(""),s.searchStore.setFocused(!1)}handleClose(){this.setKiosk(null),s.uiState.setForceDimm(!1),s.uiState.enableSetKioskMode(!1),s.searchStore.closeSearch(),this.resetCamera()}handleDelete(){_(),this.setKiosk(null),s.uiState.resetMapSettings(),s.uiState.resetUIScale(),this.resetCamera(),this.addStatusMessage({variant:"success",title:"Deleted"})}handleSave(){const t=o(this.kiosk),e=this.getCameraState(),n={...t,...e};if(!Y(this.renderer,n)){this.addStatusMessage({variant:"error",title:"Kiosk not visible"});return}this.setKiosk(n),X(n),s.uiState.setUIScale(n.uiScale,!0),this.addStatusMessage({variant:"success",title:"Saved"}),this.savedKiosk=n}delayChange(t){requestAnimationFrame(()=>t?.())}handleChange(t){const e=o(this.kiosk);e&&(Number.isFinite(t.angle)&&this.setKiosk({...e,heading:t.angle}),Number.isFinite(t.scale)&&(this.setKiosk({...e,uiScale:t.scale}),this.delayChange(()=>s.uiState.setUIScale(t.scale,!1))),Number.isFinite(t.percent)&&this.setKiosk({...e,iconSizePercent:t.percent}))}initialPtScale;setInitialPtScale(t){if(this.initialPtScale)return;this.initialPtScale=t;const e=o(this.kiosk);e&&this.setKiosk({...e,mapInitialPtScale:t})}handleClick({point:t}){const e=o(this.kiosk),n=s.fp.getFloors(),h=q()?n.find(d=>d.active)?.name:null,r=s.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:h,uiScale:e?.uiScale||r,heading:e?.heading||0,iconSizePercent:e?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const t=o(this.kiosk);t&&this.setKiosk({...t,...this.getCameraState()})}}})();export default new E;
1
+ import{__esDecorate as a,__runInitializers as d}from"tslib";import{action as n,computed as u,observable as R,runInAction as O,toJS as c}from"mobx";import{removeKiosk as j,getSavedKiosk as A,saveKiosk as E}from"./SetKiosk";import s from"../../store";import{isPointVisible as X}from"../Map/visibleArea";import{areLayersEnabled as Y}from"../../utils/areLayersEnabled";let q=(()=>{let i=[],m,k,g,S,f=[],p=[],v,_,C=[],K=[],M,b,y,D,P,I,F,z,N,x,T,U,w;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;m=[u],k=[n],g=[u],S=[R],v=[u],_=[R],M=[n],b=[n],y=[n],D=[n],P=[n],I=[n],F=[n],z=[n],N=[n],x=[n],T=[n],U=[n],w=[n],a(this,null,m,{kind:"getter",name:"kiosk",static:!1,private:!1,access:{has:e=>"kiosk"in e,get:e=>e.kiosk},metadata:t},null,i),a(this,null,k,{kind:"method",name:"setKiosk",static:!1,private:!1,access:{has:e=>"setKiosk"in e,get:e=>e.setKiosk},metadata:t},null,i),a(this,null,g,{kind:"getter",name:"renderer",static:!1,private:!1,access:{has:e=>"renderer"in e,get:e=>e.renderer},metadata:t},null,i),a(this,null,v,{kind:"getter",name:"hasUnsavedChanges",static:!1,private:!1,access:{has:e=>"hasUnsavedChanges"in e,get:e=>e.hasUnsavedChanges},metadata:t},null,i),a(this,null,M,{kind:"method",name:"addStatusMessage",static:!1,private:!1,access:{has:e=>"addStatusMessage"in e,get:e=>e.addStatusMessage},metadata:t},null,i),a(this,null,b,{kind:"method",name:"clearStatusMessages",static:!1,private:!1,access:{has:e=>"clearStatusMessages"in e,get:e=>e.clearStatusMessages},metadata:t},null,i),a(this,null,y,{kind:"method",name:"startCleanupMessages",static:!1,private:!1,access:{has:e=>"startCleanupMessages"in e,get:e=>e.startCleanupMessages},metadata:t},null,i),a(this,null,D,{kind:"method",name:"resetCamera",static:!1,private:!1,access:{has:e=>"resetCamera"in e,get:e=>e.resetCamera},metadata:t},null,i),a(this,null,P,{kind:"method",name:"restoreData",static:!1,private:!1,access:{has:e=>"restoreData"in e,get:e=>e.restoreData},metadata:t},null,i),a(this,null,I,{kind:"method",name:"handleSetupReady",static:!1,private:!1,access:{has:e=>"handleSetupReady"in e,get:e=>e.handleSetupReady},metadata:t},null,i),a(this,null,F,{kind:"method",name:"handleClose",static:!1,private:!1,access:{has:e=>"handleClose"in e,get:e=>e.handleClose},metadata:t},null,i),a(this,null,z,{kind:"method",name:"handleDelete",static:!1,private:!1,access:{has:e=>"handleDelete"in e,get:e=>e.handleDelete},metadata:t},null,i),a(this,null,N,{kind:"method",name:"handleSave",static:!1,private:!1,access:{has:e=>"handleSave"in e,get:e=>e.handleSave},metadata:t},null,i),a(this,null,x,{kind:"method",name:"handleChange",static:!1,private:!1,access:{has:e=>"handleChange"in e,get:e=>e.handleChange},metadata:t},null,i),a(this,null,T,{kind:"method",name:"setInitialPtScale",static:!1,private:!1,access:{has:e=>"setInitialPtScale"in e,get:e=>e.setInitialPtScale},metadata:t},null,i),a(this,null,U,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,i),a(this,null,w,{kind:"method",name:"handleNavigationChange",static:!1,private:!1,access:{has:e=>"handleNavigationChange"in e,get:e=>e.handleNavigationChange},metadata:t},null,i),a(null,null,S,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,l)=>{e.savedKiosk=l}},metadata:t},f,p),a(null,null,_,{kind:"field",name:"statusMessages",static:!1,private:!1,access:{has:e=>"statusMessages"in e,get:e=>e.statusMessages,set:(e,l)=>{e.statusMessages=l}},metadata:t},C,K),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}get kiosk(){return s.uiState.kioskData}setKiosk(t){s.uiState.setKioskData(t)}get renderer(){return s.renderer}getCameraState(){const t=this.renderer.controls.getCameraState();return{mapInitialPtScale:this.initialPtScale,mapPtScale:t?.ptScale,mapCenterX:t?.center.x,mapCenterY:t?.center.y,mapRollDegrees:t?.roll,mapPitch:t?.pitch}}savedKiosk=(d(this,i),d(this,f,void 0));get hasUnsavedChanges(){const t=this.savedKiosk,e=c(this.kiosk);if(!e||!t)return!!e!=!!t;const l=Object.keys(t),o=Object.keys(e);if(l.length!==o.length)return!0;for(const r of l)if(!(r in e)||t[r]!==e[r])return!0;return!1}statusMessages=(d(this,p),d(this,C,[]));addStatusMessage(t){this.statusMessages=[{...t,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}statusMessageTimer=(d(this,K),0);startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const{z:t,mapRollDegrees:e,mapInitialPtScale:l,mapPtScale:o,mapCenterX:r,mapCenterY:h}=this.kiosk||{};await this.renderer.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),O(()=>{Number.isFinite(l)&&Number.isFinite(o)&&o>0&&this.renderer.controls.zoomBy(l/o,!0),Number.isFinite(r)&&Number.isFinite(h)&&this.renderer.controls.panTo(r,h,!0),Number.isFinite(e)&&this.renderer.controls.rollTo(e,!0),t&&s.fp.activateFloor({name:t})})}restoreData(){const t=A();return t&&(this.setKiosk(t),this.savedKiosk=t,s.uiState.kiosk=!0,this.resetCamera()),t}handleSetupReady(){this.restoreData(),s.uiState.kiosk=!0,s.uiState.hideFreeOrDemo=!0,s.uiState.setForceDimm(!0),s.searchStore.setSearchText(""),s.searchStore.setFocused(!1)}handleClose(){this.setKiosk(null),s.uiState.setForceDimm(!1),s.uiState.enableSetKioskMode(!1),s.searchStore.closeSearch(),this.resetCamera()}handleDelete(){j(),this.setKiosk(null),s.uiState.resetMapSettings(),s.uiState.resetUIScale(),this.resetCamera(),this.addStatusMessage({variant:"success",title:"Deleted"})}handleSave(){const t=c(this.kiosk),e=this.getCameraState(),l={...t,...e};if(!X(this.renderer,l)){this.addStatusMessage({variant:"error",title:"Kiosk not visible"});return}this.setKiosk(l),E(l),s.uiState.setUIScale(l.uiScale,!0),this.addStatusMessage({variant:"success",title:"Saved"}),this.savedKiosk=l}delayChange(t){requestAnimationFrame(()=>t?.())}handleChange(t){const e=c(this.kiosk);e&&(Number.isFinite(t.angle)&&this.setKiosk({...e,heading:t.angle}),Number.isFinite(t.scale)&&(this.setKiosk({...e,uiScale:t.scale}),this.delayChange(()=>s.uiState.setUIScale(t.scale,!1))),Number.isFinite(t.percent)&&this.setKiosk({...e,iconSizePercent:t.percent}))}initialPtScale;setInitialPtScale(t){if(this.initialPtScale)return;this.initialPtScale=t;const e=c(this.kiosk);e&&this.setKiosk({...e,mapInitialPtScale:t})}handleClick({point:t}){const e=c(this.kiosk),l=s.fp.getFloors(),o=Y()?l.find(h=>h.active)?.name:null,r=s.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:o,uiScale:e?.uiScale||r,heading:e?.heading||0,iconSizePercent:e?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const t=c(this.kiosk);t&&this.setKiosk({...t,...this.getCameraState()})}}})();export default new q;
@@ -1 +1 @@
1
- import{jsx as i,jsxs as e}from"react/jsx-runtime";import"./ConfirmDialog.scss";import c from"../../../Button";export function ConfirmDialog({isDisabled:n,content:a,confirmLabel:r,cancelLabel:l,onConfirm:t,onCancel:o,confirmVariant:s,cancelVariant:m}){return e("div",{className:"efp-confirm-dialog",children:[a&&i("div",{className:"efp-confirm-dialog__content",children:a}),e("div",{className:"efp-confirm-dialog__controls",children:[i(c,{size:"md",text:r,onClick:t,disabled:n,variant:s}),o&&i(c,{size:"md",text:l,variant:m,onClick:o,disabled:n})]})]})}
1
+ import{jsx as i,jsxs as a}from"react/jsx-runtime";import"./ConfirmDialog.scss";import e from"../../../Button";export function ConfirmDialog({isDisabled:o,content:r,confirmLabel:t,cancelLabel:d,onConfirm:m,onCancel:s,confirmVariant:n,cancelVariant:l}){return a("div",{className:"efp-confirm-dialog",children:[r&&i("div",{className:"efp-confirm-dialog__content",children:r}),a("div",{className:"efp-confirm-dialog__controls",children:[i(e,{size:"md",text:t,onClick:m,disabled:o,variant:n}),s&&i(e,{size:"md",text:d,variant:l,onClick:s,disabled:o})]})]})}
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./RangeInput.scss";export function RangeInput({value:n,name:m,min:s,max:l,step:i,onChange:r,isDisabled:p,symbol:o}){const u=()=>r(Math.min(n+i,l)),d=()=>r(Math.max(n-i,s));let t=0;l!==s&&(t=(n-s)/(l-s)*100);let c="-50%";return t===0?c="0":t===100&&(c="-100%"),a("div",{className:"efp-range-input",children:[a("span",{className:"efp-range-input__header",children:[e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:d,disabled:p,"aria-label":"Decrease",children:e("i",{className:"icon-minus"})}),a("span",{className:"efp-no-select",children:[m," ",a("strong",{children:[n,o??""]})]}),e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:u,disabled:p,"aria-label":"Increase",children:e("i",{className:"icon-plus"})})]}),a("label",{className:"efp-range-input__input-block",children:[e("input",{className:"efp-range-input__input",name:m,type:"range",min:s,max:l,step:i,value:n,disabled:p,onChange:g=>r(Number(g.target.value))}),a("span",{className:"efp-range-input__custom-input",children:[e("span",{className:"efp-range-input__progress",style:{width:`${t}%`}}),e("span",{className:"efp-range-input__thumb",style:{insetInlineStart:`${t}%`,transform:`translateX(${c}) translateY(-50%)`}})]})]})]})}
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./RangeInput.scss";export function RangeInput({value:n,name:o,min:s,max:r,step:l,onChange:i,isDisabled:c,symbol:u}){const d=()=>i(Math.min(n+l,r)),f=()=>i(Math.max(n-l,s));let t=0;r!==s&&(t=(n-s)/(r-s)*100);let p="-50%";return t===0?p="0":t===100&&(p="-100%"),a("div",{className:"efp-range-input",children:[a("span",{className:"efp-range-input__header",children:[e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:f,disabled:c,"aria-label":"Decrease",children:e("i",{className:"icon-minus"})}),a("span",{className:"efp-no-select",children:[o," ",a("strong",{children:[n,u??""]})]}),e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:d,disabled:c,"aria-label":"Increase",children:e("i",{className:"icon-plus"})})]}),a("label",{className:"efp-range-input__input-block",children:[e("input",{className:"efp-range-input__input",name:o,type:"range",min:s,max:r,step:l,value:n,disabled:c,onChange:_=>i(Number(_.target.value))}),a("span",{className:"efp-range-input__custom-input",children:[e("span",{className:"efp-range-input__progress",style:{width:`${t}%`}}),e("span",{className:"efp-range-input__thumb",style:{insetInlineStart:`${t}%`,transform:`translateX(${p}) translateY(-50%)`}})]})]})]})}
@@ -1 +1 @@
1
- import{jsx as s,jsxs as m}from"react/jsx-runtime";import"./InfoMessage.scss";export function InfoMessage({list:e}){return e?.length?s("div",{className:"efp-info-message",children:e.map(({id:a,image:i,content:n})=>m("div",{className:"efp-info-message__item",children:[s("img",{className:"efp-info-message__img",src:i.src,alt:i.alt,width:"30",height:"30"}),s("span",{children:n})]},a))}):null}
1
+ import{jsx as s,jsxs as m}from"react/jsx-runtime";import"./InfoMessage.scss";export function InfoMessage({list:e}){return e?.length?s("div",{className:"efp-info-message",children:e.map(({id:i,image:a,content:n})=>m("div",{className:"efp-info-message__item",children:[s("img",{className:"efp-info-message__img",src:a.src,alt:a.alt,width:"30",height:"30"}),s("span",{children:n})]},i))}):null}
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{useState as L}from"react";import{SetKioskForm as w}from"./SetKioskForm";import{InfoMessage as y}from"./Message/InfoMessage";import"./SetKioskComponent.scss";import{Draggable as I}from"../../Draggable";import{ConfirmDialog as N}from"./Confirm/ConfirmDialog";import U from"./SetKioskStatusMessages";import l from"../../../tools/base-runtime-url";export default function V({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:h,uiScale:p,minUiScale:f,maxUiScale:u,uiScaleStep:S,iconSizePercent:b,isInfoVisible:v,statusMessages:k,onClose:D,onDelete:C,onSave:x,onChange:s}){const[o,n]=L(null);return i(I,{className:"efp-set-kiosk-mode",translate:{x:window.innerWidth/2,y:0},children:[i("div",{className:"efp-set-kiosk-mode__header",children:[e("img",{src:`${l}icons/dragdrop-solid.svg`,alt:"Drag and Drop Icon",width:"24",height:"24"}),e("span",{className:"efp-no-select",children:o?o.title:"Set Kiosk"}),e("button",{type:"button",draggable:"false",className:"efp-set-kiosk-mode__close","aria-label":"Close",onClick:()=>{const a=()=>{n(null)},r=()=>{D?.(),n(null)};o?a():g?n({title:"Leave without saving?",content:i(t,{children:["You have changes that ",e("strong",{children:"haven't been saved."})]}),confirmLabel:"Keep editing",cancelLabel:"Leave",onCancel:r,onConfirm:a,confirmVariant:"primary",cancelVariant:"danger"}):r()},children:e("i",{className:"icon-close"})})]}),!o&&e(U,{messages:k}),v?e(y,{list:[{id:"1",image:{src:`${l}icons/tap.svg`,alt:"Tap to set or move kiosk."},content:i(t,{children:["Tap to ",e("strong",{children:"set or move"})," kiosk."]})},{id:"2",image:{src:`${l}icons/rotate.svg`,alt:"Zoom and rotate the map before saving."},content:i(t,{children:[e("strong",{children:"Zoom and rotate"})," the map before saving."]})}]}):e(t,{children:o?e(N,{...o}):e(w,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{x?.(),n(null)},onDelete:()=>{n({title:"Delete kiosk?",content:i(t,{children:["Are you sure you want to ",e("strong",{children:"delete this kiosk"}),"?"]}),confirmLabel:"Cancel",cancelLabel:"Delete",onConfirm:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:h,onRotateIcon:a=>s?.({angle:a}),uiScale:p,minUiScale:f,maxUiScale:u,uiScaleStep:S,onUiScaleChange:a=>s?.({scale:a}),iconSizePercent:b,onChangeIconSizePercent:a=>s?.({percent:a})})})]})}
1
+ import{jsx as e,Fragment as i,jsxs as t}from"react/jsx-runtime";import{useState as _}from"react";import{SetKioskForm as y}from"./SetKioskForm";import{InfoMessage as L}from"./Message/InfoMessage";import"./SetKioskComponent.scss";import{Draggable as w}from"../../Draggable";import{ConfirmDialog as K}from"./Confirm/ConfirmDialog";import N from"./SetKioskStatusMessages";import r from"../../../tools/base-runtime-url";export default function j({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:f,uiScale:p,minUiScale:h,maxUiScale:u,uiScaleStep:k,iconSizePercent:b,isInfoVisible:v,statusMessages:S,onClose:D,onDelete:C,onSave:x,onChange:s}){const[a,n]=_(null);return t(w,{className:"efp-set-kiosk-mode",translate:{x:window.innerWidth/2,y:0},children:[t("div",{className:"efp-set-kiosk-mode__header",children:[e("img",{src:`${r}icons/dragdrop-solid.svg`,alt:"Drag and Drop Icon",width:"24",height:"24"}),e("span",{className:"efp-no-select",children:a?a.title:"Set Kiosk"}),e("button",{type:"button",draggable:"false",className:"efp-set-kiosk-mode__close","aria-label":"Close",onClick:()=>{const o=()=>{n(null)},l=()=>{D?.(),n(null)};a?o():g?n({title:"Leave without saving?",content:t(i,{children:["You have changes that ",e("strong",{children:"haven't been saved."})]}),confirmLabel:"Keep editing",cancelLabel:"Leave",onCancel:l,onConfirm:o,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:e("i",{className:"icon-close"})})]}),!a&&e(N,{messages:S}),v?e(L,{list:[{id:"1",image:{src:`${r}icons/tap.svg`,alt:"Tap to set or move kiosk."},content:t(i,{children:["Tap to ",e("strong",{children:"set or move"})," kiosk."]})},{id:"2",image:{src:`${r}icons/rotate.svg`,alt:"Zoom and rotate the map before saving."},content:t(i,{children:[e("strong",{children:"Zoom and rotate"})," the map before saving."]})}]}):e(i,{children:a?e(K,{...a}):e(y,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{x?.(),n(null)},onDelete:()=>{n({title:"Delete kiosk?",content:t(i,{children:["Are you sure you want to ",e("strong",{children:"delete this kiosk"}),"?"]}),confirmLabel:"Cancel",cancelLabel:"Delete",onConfirm:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:f,onRotateIcon:o=>s?.({angle:o}),uiScale:p,minUiScale:h,maxUiScale:u,uiScaleStep:k,onUiScaleChange:o=>s?.({scale:o}),iconSizePercent:b,onChangeIconSizePercent:o=>s?.({percent:o})})})]})}
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./SetKioskForm.scss";import{RangeInput as s}from"./FormInput/RangeInput";import n from"../../Button";export function SetKioskForm({onSave:o,onDelete:t,isSaveDisabled:l,isDeleteDisabled:m,areControlsDisabled:i,angle:r,onRotateIcon:c,uiScale:d,minUiScale:p,maxUiScale:k,uiScaleStep:f,onUiScaleChange:v,iconSizePercent:S,onChangeIconSizePercent:b}){return e("div",{className:"efp-set-kiosk-form",children:a("div",{className:"efp-set-kiosk-form__content",children:[a("div",{className:"efp-set-kiosk-form__inputs",children:[e(s,{value:r,name:"Icon rotation",min:0,max:360,step:1,symbol:"\xB0",isDisabled:i,onChange:c}),e(s,{value:S,name:"Icon size",min:100,max:300,step:1,symbol:"%",isDisabled:i,onChange:b}),e(s,{value:Math.round(d*100),name:"UI scale",min:p*100,max:k*100,step:f*100,symbol:"%",isDisabled:i,onChange:h=>v(h/100)})]}),a("div",{className:"efp-set-kiosk-form__controls",children:[e(n,{size:"md",variant:"gray",text:"Delete kiosk",onClick:t,disabled:m}),e(n,{size:"md",variant:"primary",text:"Save",onClick:o,disabled:l})]})]})})}
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import"./SetKioskForm.scss";import{RangeInput as a}from"./FormInput/RangeInput";import o from"../../Button";export function SetKioskForm({onSave:n,onDelete:m,isSaveDisabled:t,isDeleteDisabled:r,areControlsDisabled:s,angle:l,onRotateIcon:c,uiScale:d,minUiScale:p,maxUiScale:k,uiScaleStep:f,onUiScaleChange:u,iconSizePercent:v,onChangeIconSizePercent:x}){return e("div",{className:"efp-set-kiosk-form",children:i("div",{className:"efp-set-kiosk-form__content",children:[i("div",{className:"efp-set-kiosk-form__inputs",children:[e(a,{value:l,name:"Icon rotation",min:0,max:360,step:1,symbol:"\xB0",isDisabled:s,onChange:c}),e(a,{value:v,name:"Icon size",min:100,max:300,step:1,symbol:"%",isDisabled:s,onChange:x}),e(a,{value:Math.round(d*100),name:"UI scale",min:p*100,max:k*100,step:f*100,symbol:"%",isDisabled:s,onChange:h=>u(h/100)})]}),i("div",{className:"efp-set-kiosk-form__controls",children:[e(o,{size:"md",variant:"gray",text:"Delete kiosk",onClick:m,disabled:r}),e(o,{size:"md",variant:"primary",text:"Save",onClick:n,disabled:t})]})]})})}
@@ -1 +1 @@
1
- import{jsx as s,jsxs as i}from"react/jsx-runtime";import"./SetKioskStatusMessages.scss";import l from"classnames";export default function n({messages:e}){return e?.length?s("div",{className:"efp-status-messages",children:e.map(({id:m,variant:a,title:c})=>{const r=a==="success",t=a==="error";return i("div",{className:l("efp-status-messages__message",{"efp-status-messages__message--success":r,"efp-status-messages__message--error":t}),children:[r?s("i",{className:"icon-checkmark"}):null,t?s("i",{className:"icon-warning-solid"}):null,c]},m)})}):null}
1
+ import{jsx as s,jsxs as i}from"react/jsx-runtime";import"./SetKioskStatusMessages.scss";import l from"classnames";export default function o({messages:e}){return e?.length?s("div",{className:"efp-status-messages",children:e.map(({id:c,variant:a,title:m})=>{const r=a==="success",t=a==="error";return i("div",{className:l("efp-status-messages__message",{"efp-status-messages__message--success":r,"efp-status-messages__message--error":t}),children:[r?s("i",{className:"icon-checkmark"}):null,t?s("i",{className:"icon-warning-solid"}):null,m]},c)})}):null}
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useEffect as l}from"react";import r from"../../store";import{observer as c}from"mobx-react-lite";import e from"./KioskStore";import d from"./SetKiosk";import{useInit as v}from"../../utils/mobx";const m=c(()=>{v(()=>e.handleSetupReady()),l(()=>{const t=a=>e.setInitialPtScale(a);e.renderer.events.addEventListener("viewport:ptscale",t);const s=a=>e.handleClick(a);e.renderer.events.addEventListener("pointer:click",s);const i=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",i),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",i)}},[e.renderer]);const n=!!e.kiosk;return o(d,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||r.uiState.uiScale,minUiScale:r.uiState.minUIScale,maxUiScale:r.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default m;
1
+ import{jsx as o}from"react/jsx-runtime";import{useEffect as l}from"react";import i from"../../store";import{observer as d}from"mobx-react-lite";import e from"./KioskStore";import c from"./SetKiosk";import{useInit as v}from"../../utils/mobx";const m=d(()=>{v(()=>e.handleSetupReady()),l(()=>{const t=a=>e.setInitialPtScale(a);e.renderer.events.addEventListener("viewport:ptscale",t);const s=a=>e.handleClick(a);e.renderer.events.addEventListener("pointer:click",s);const r=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",r),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",r)}},[e.renderer]);const n=!!e.kiosk;return o(c,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||i.uiState.uiScale,minUiScale:i.uiState.minUIScale,maxUiScale:i.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default m;
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import t from"../../store";import{KIOSK_ENABLE_KEY as a}from"../../constants";import{integrateKioskIntoMap as s,integrateKioskIntoWf as i}from"./integrateKiosk";import r from"./KioskStore";import m from"../TouchHand";import{observer as n}from"mobx-react-lite";import{useInit as f}from"../../utils/mobx";const p=n(()=>(f(()=>{if(localStorage.getItem(a)==="0")return;const e=r.restoreData();if(e)return s(e,!0),i(e),t.setResetCameraFn(()=>r.resetCamera()),()=>{t.uiState.setKioskData(null),t.uiState.resetMapSettings(),r.resetCamera()}}),t.uiState.inIdle?o(m,{}):null));export default p;
1
+ import{jsx as o}from"react/jsx-runtime";import t from"../../store";import{KIOSK_ENABLE_KEY as i}from"../../constants";import{integrateKioskIntoMap as a,integrateKioskIntoWf as s}from"./integrateKiosk";import e from"./KioskStore";import m from"../TouchHand";import{observer as n}from"mobx-react-lite";import{useInit as u}from"../../utils/mobx";const f=n(()=>(u(()=>{if(localStorage.getItem(i)==="0")return;const r=e.restoreData();if(r)return a(r,!0),s(r),t.setResetCameraFn(()=>e.resetCamera()),()=>{t.uiState.setKioskData(null),t.uiState.resetMapSettings(),e.resetCamera()}}),t.uiState.inIdle?o(m,{}):null));export default f;
@@ -1 +1 @@
1
- import{runInAction as o}from"mobx";import{RouteCutIn as r}from"../../RouteCutIn";import a from"../../store";import{getName as i,getSlug as n}from"./SetKiosk";export function integrateKioskIntoMap(t,e){t&&o(()=>{a.uiState.setKioskData(t),a.uiState.kiosk=e,a.uiState.setMapSettings({centerxy:`${t.mapCenterX},${t.mapCenterY}`,z:t.z,bearing:t.mapRollDegrees}),a.uiState.changeZoom(t.mapInitialPtScale/t.mapPtScale)})}export function integrateKioskIntoWf(t){if(!t)return;const e={x:t.x,y:t.y,layer:t.z?.toString()};a.routeStore.defaultFrom=new r(Number.MAX_SAFE_INTEGER,i(),e,n()),e.layer&&a.fp.activateFloor({name:e.layer})}
1
+ import{runInAction as a}from"mobx";import{RouteCutIn as n}from"../../RouteCutIn";import e from"../../store";import{getName as o,getSlug as m}from"./SetKiosk";export function integrateKioskIntoMap(t,r){t&&a(()=>{e.uiState.setKioskData(t),e.uiState.kiosk=r,e.uiState.setMapSettings({centerxy:`${t.mapCenterX},${t.mapCenterY}`,z:t.z,bearing:t.mapRollDegrees}),e.uiState.changeZoom(t.mapInitialPtScale/t.mapPtScale)})}export function integrateKioskIntoWf(t){if(!t)return;const r={x:t.x,y:t.y,layer:t.z?.toString()};e.routeStore.defaultFrom=new n(Number.MAX_SAFE_INTEGER,o(),r,m()),r.layer&&e.fp.activateFloor({name:r.layer})}
@@ -1 +1 @@
1
- import{getKioskUrlParamKey as c}from"./SetKiosk";export function collectKioskUrlParams(l){const o={};try{const e=t=>{const n=parseFloat(t);return Number.isNaN(n)?null:n},r={x:e,y:e,z:t=>t,heading:e,lat:e,lng:e,iconSizePercent:e,uiScale:e,mapRollDegrees:e,mapInitialPtScale:e,mapPtScale:e,mapCenterX:e,mapCenterY:e,mapPitch:e};for(const t in r){const n=c(t),a=r[t](l.get(n));a!=null&&(o[t]=a)}}catch(e){console.error("collectKioskUrlParams",e)}finally{return o}}export function setKioskUrlParams(l,o,e){try{if(!o)return;for(const r of Object.keys(o))o[r]==null||e?.length&&!e.includes(r)||l.set(c(r),typeof o[r]=="number"?o[r].toFixed(2):`${o[r]}`)}catch(r){console.error("setKioskUrlParams",r)}}
1
+ import{getKioskUrlParamKey as s}from"./SetKiosk";export function collectKioskUrlParams(o){const t={};try{const e=n=>{const l=parseFloat(n);return Number.isNaN(l)?null:l},r={x:e,y:e,z:n=>n,heading:e,lat:e,lng:e,iconSizePercent:e,uiScale:e,mapRollDegrees:e,mapInitialPtScale:e,mapPtScale:e,mapCenterX:e,mapCenterY:e,mapPitch:e};for(const n in r){const l=s(n),c=r[n](o.get(l));c!=null&&(t[n]=c)}}catch(e){console.error("collectKioskUrlParams",e)}finally{return t}}export function setKioskUrlParams(o,t,e){try{if(!t)return;for(const r of Object.keys(t))t[r]==null||e?.length&&!e.includes(r)||o.set(s(r),typeof t[r]=="number"?t[r].toFixed(2):`${t[r]}`)}catch(r){console.error("setKioskUrlParams",r)}}
@@ -1 +1 @@
1
- import{integrateKioskIntoMap as r,integrateKioskIntoWf as e}from"./integrateKiosk";import{collectKioskUrlParams as s}from"./kioskUrlParam";export function recoverKioskFromUrlPrams(t){const o=s(t);Object.values(o).length&&(r(o,!1),e(o))}
1
+ import{integrateKioskIntoMap as r,integrateKioskIntoWf as e}from"./integrateKiosk";import{collectKioskUrlParams as i}from"./kioskUrlParam";export function recoverKioskFromUrlPrams(t){const o=i(t);Object.values(o).length&&(r(o,!1),e(o))}
@@ -1 +1 @@
1
- export async function requestKioskKey(o,n){let t;try{const e=new URL("/api/kiosks",n);e.searchParams.set("expoKey",window.__efpEvent),t=(await(await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})).json()).key}catch(e){console.error("requestKioskKey",e)}finally{return t}}
1
+ export async function requestKioskKey(o,t){let s;try{const e=new URL("/api/kiosks",t);e.searchParams.set("expoKey",window.__efpEvent),s=(await(await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})).json()).key}catch(e){console.error("requestKioskKey",e)}finally{return s}}
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{observer as e}from"mobx-react-lite";import a from"../data";import{uiState as r}from"../store";import m from"./List";import{useRef as s}from"react";const i=e(()=>{const o=s();return!a.hideLanguage&&!r.details&&r.list.type==="language"&&t(m,{updatedScrollableRef:o})});export default i;
1
+ import{jsx as t}from"react/jsx-runtime";import{observer as o}from"mobx-react-lite";import a from"../data";import{uiState as e}from"../store";import m from"./List";import{useRef as i}from"react";const s=o(()=>{const r=i();return!a.hideLanguage&&!e.details&&e.list.type==="language"&&t(m,{updatedScrollableRef:r})});export default s;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import o from"../store";import{observer as r}from"mobx-react-lite";import m from"./Radio";import"./LanguageRow.scss";const g=r(({item:a})=>e(m,{label:a.name,value:a.id,checked:a.selected,className:"language-row","aria-label":`Change language to ${a.name}`,onChange:()=>o.languageStore.changeLanguage(a.id)}));export default g;
1
+ import{jsx as e}from"react/jsx-runtime";import o from"../store";import{observer as r}from"mobx-react-lite";import g from"./Radio";import"./LanguageRow.scss";const n=r(({item:a})=>e(g,{label:a.name,value:a.id,checked:a.selected,className:"language-row","aria-label":`Change language to ${a.name}`,onChange:()=>o.languageStore.changeLanguage(a.id)}));export default n;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{autorun as a,reaction as r}from"mobx";import{useLocalStore as l,useObserver as n}from"mobx-react-lite";import{uiState as i}from"../store";import m from"../tools/logger";import{useInit as g}from"../utils/mobx";import"./LargeMessage.scss";const u=1e3;export default function d(){const e=l(()=>({shouldShow:!1,visible:!1,transitioning:!1}));return g(()=>{let o;r(()=>i.largeMessageLastSet,()=>{i.largeMessageLastSet&&(window.clearTimeout(o),m.log("Showing large message"),e.shouldShow=!0,o=window.setTimeout(()=>{e.shouldShow=!1},u))},{fireImmediately:!0});let s;a(()=>{window.clearTimeout(s),e.shouldShow?(e.transitioning=!0,s=window.setTimeout(()=>{e.visible=!0},1)):(e.visible=!1,s=window.setTimeout(()=>{e.transitioning=!1},1e3))})}),n(()=>i.largeMessage&&e.transitioning?t("div",{className:"large-message"+(e.visible?" -visible":""),children:t("div",{className:"large-message__text",children:i.largeMessage})}):null)}
1
+ import{jsx as o}from"react/jsx-runtime";import{autorun as r,reaction as a}from"mobx";import{useLocalStore as l,useObserver as n}from"mobx-react-lite";import{uiState as i}from"../store";import m from"../tools/logger";import{useInit as u}from"../utils/mobx";import"./LargeMessage.scss";const g=1e3;export default function f(){const e=l(()=>({shouldShow:!1,visible:!1,transitioning:!1}));return u(()=>{let t;a(()=>i.largeMessageLastSet,()=>{i.largeMessageLastSet&&(window.clearTimeout(t),m.log("Showing large message"),e.shouldShow=!0,t=window.setTimeout(()=>{e.shouldShow=!1},g))},{fireImmediately:!0});let s;r(()=>{window.clearTimeout(s),e.shouldShow?(e.transitioning=!0,s=window.setTimeout(()=>{e.visible=!0},1)):(e.visible=!1,s=window.setTimeout(()=>{e.transitioning=!1},1e3))})}),n(()=>i.largeMessage&&e.transitioning?o("div",{className:"large-message"+(e.visible?" -visible":""),children:o("div",{className:"large-message__text",children:i.largeMessage})}):null)}
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import t from"classnames";import"./LayersLoading.scss";const e=({active:o,isCenter:r=!1})=>i("div",{className:t("layers-loading",{"is-hidden":!o}),style:r?{top:0,bottom:0,left:0,right:0,margin:"auto"}:void 0,children:i("svg",{viewBox:"25 25 50 50",children:i("circle",{r:"20",cy:"50",cx:"50"})})});export default e;
1
+ import{jsx as e}from"react/jsx-runtime";import o from"classnames";import"./LayersLoading.scss";const t=({active:r,isCenter:i=!1})=>e("div",{className:o("layers-loading",{"is-hidden":!r}),style:i?{top:0,bottom:0,left:0,right:0,margin:"auto"}:void 0,children:e("svg",{viewBox:"25 25 50 50",children:e("circle",{r:"20",cy:"50",cx:"50"})})});export default t;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as z}from"react/jsx-runtime";import{observer as w}from"mobx-react-lite";import a,{Suspense as r,useEffect as E,useState as g}from"react";import M from"classnames";import t,{layersStore as d,uiState as o}from"../store";import c from"../tools/settings";import{isWebGlSupported as A}from"../utils";import O from"../utils/is-debug";import R from"../utils/is-iframe";import T from"./Controls";import G from"./LevelSelector";import B from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import I from"./LogoOverlay";import P from"./SearchBox";import V from"./SearchButtons/SearchButtons";import $ from"./MobileToggleButton";import{CategoryFilterModal as j}from"./CategoryFilterModal";import F from"./SessionsFiltersModal";import H from"./SpeakersFiltersModal";import L from"./Map/Map";import{MapLoader as D}from"./Mapbox/MapLoader";import N from"./OverlayContainer";import U from"./Share";import K from"./Ws";import{LayersMode as y}from"../store/LayerStore";import X from"./LayersLoading";import{fpGeo as _}from"./Mapbox/utils/fpGeo";import{checkUserIsGDPR as q,GaEventActions as s,hasUserConsent as W,sendEventToGa as l,setConsentSettings as C,setCookieConsent as S}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as n}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=a.lazy(()=>import("./Demo")),ee=a.lazy(()=>import("./Free")),oe=a.lazy(()=>import("./Debug")),te=a.lazy(()=>import("./Mapbox/Mapbox")),ie=a.lazy(()=>import("./Threejs/ThreeComponent")),ae=a.lazy(()=>import("./Modal")),re=a.lazy(()=>import("./CookieConsent")),le=a.lazy(()=>import("./GpsLoader")),me=a.lazy(()=>import("./Kiosk/SetKioskMode")),se=a.lazy(()=>import("./Kiosk/ShowKiosk"));export default w(function({offHistory:b,allowConsent:p}){const[f,h]=g(!1);let m=null;o.bannerType==="demo"?m=e(Z,{}):o.bannerType==="free"&&(m=e(ee,{}));const v=()=>{S(!0),C(),t.uiState.hideCookieConsent=!0},x=()=>{S(!1),C(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await q();h(!!(k||k===null))}W(p)?h(!0):i()},[]),n(()=>o.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(s.ViewExhibitor,i.name))}),n(()=>o.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),n(()=>o.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),n(()=>o.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const u=!o.hideCookieConsent&&!o.kiosk&&f&&p===void 0;return e("div",{id:"efp-layout",className:M("layout",{"efp-kiosk":o.kiosk,"efp-kiosk-route-active":o.kiosk&&o.selectedRoute?.from&&o.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":o.wsShown,"efp-no-overlay":o.noOverlay}),dir:o.rtl?"rtl":"ltr",style:{"--ui-scale":o.uiScale.toString()},children:z("div",{className:`layout__fixed expo-${c.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!o.floorsControlHidden&&t.initialized&&e(G,{}),!o.noOverlay&&t.initialized&&e(N,{isGDPR:f,allowConsent:p}),t.initialized&&e(I,{}),!o.noOverlay&&t.initialized&&e(P,{}),!o.noOverlay&&t.initialized&&e(V,{}),!o.noOverlay&&t.initialized&&e($,{}),!o.mapControlsHidden&&t.initialized&&e(T,{}),!o.hideHeaderLogo&&t.initialized&&e(K,{}),t.routeStore.gpsEnabled&&e(le,{requestCompassAllowed:!u}),A&&e(L,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&e(r,{fallback:e(D,{}),children:_?.properties?.mode==="threejs"?e(ie,{isMapbox:t.mapboxStore.isMapbox,expo:c.EXPO}):e(te,{})}),m&&!o.hideFreeOrDemo&&!o.heatmap?e(r,{fallback:null,children:m}):null,u&&e(r,{fallback:null,children:e(re,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),O?e(r,{fallback:null,children:e(oe,{})}):null,R&&e(B,{}),o.modalActive.share?e(r,{fallback:null,children:e(ae,{type:"share",open:o.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:e(U,{title:o.selectedExhibitor?.name||o.selectedEventItem?.name,url:b?`${window.location.origin}?${encodeURI(o.selectedExhibitor?.slug||o.selectedEventItem?.slug)}`:window.location.href})})}):null,o.heatmap||o.heatmapYah?e(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:o.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:c.heatmapColors}):null,e(X,{active:!d.layersLoaded}),e("div",{id:"fps"}),t.initialized&&e(j,{}),t.initialized&&e(F,{store:t.sessionsFilterStore}),t.initialized&&e(H,{store:t.speakerFilterStore}),e(Q,{}),t.initialized&&o.setKioskModeEnabled&&e(r,{fallback:null,children:e(me,{})}),t.initialized&&!o.setKioskModeEnabled&&e(r,{fallback:null,children:e(se,{})})]})})});
1
+ import{jsx as e,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as M}from"react";import w from"classnames";import t,{layersStore as d,uiState as o}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import G from"./Controls";import D from"./LevelSelector";import T from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import A from"./LogoOverlay";import B from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"./Mapbox/utils/fpGeo";import{checkUserIsGDPR as X,GaEventActions as n,hasUserConsent as q,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=r.lazy(()=>import("./Demo")),ee=r.lazy(()=>import("./Free")),oe=r.lazy(()=>import("./Debug")),te=r.lazy(()=>import("./Mapbox/Mapbox")),ie=r.lazy(()=>import("./Threejs/ThreeComponent")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),se=r.lazy(()=>import("./Kiosk/SetKioskMode")),ne=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default z(function({offHistory:b,allowConsent:p}){const[u,c]=M(!1);let s=null;o.bannerType==="demo"?s=e(Z,{}):o.bannerType==="free"&&(s=e(ee,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await X();c(!!(k||k===null))}q(p)?c(!0):i()},[]),m(()=>o.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(n.ViewExhibitor,i.name))}),m(()=>o.selectedBooth,i=>i?.name&&l(n.ViewBooth,i.name)),m(()=>o.selectedCategory,i=>i?.name&&l(n.ViewCategory,i?.name)),m(()=>o.selectedEventItem,i=>i?.name&&l(n.ViewExhibitor,i.name));const h=!o.hideCookieConsent&&!o.kiosk&&u&&p===void 0;return e("div",{id:"efp-layout",className:w("layout",{"efp-kiosk":o.kiosk,"efp-kiosk-route-active":o.kiosk&&o.selectedRoute?.from&&o.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":o.wsShown,"efp-no-overlay":o.noOverlay}),dir:o.rtl?"rtl":"ltr",style:{"--ui-scale":o.uiScale.toString()},children:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!o.floorsControlHidden&&t.initialized&&e(D,{}),!o.noOverlay&&t.initialized&&e(K,{isGDPR:u,allowConsent:p}),t.initialized&&e(A,{}),!o.noOverlay&&t.initialized&&e(B,{}),!o.noOverlay&&t.initialized&&e(j,{}),!o.noOverlay&&t.initialized&&e(F,{}),!o.mapControlsHidden&&t.initialized&&e(G,{}),!o.hideHeaderLogo&&t.initialized&&e(N,{}),t.routeStore.gpsEnabled&&e(le,{requestCompassAllowed:!h}),L&&e($,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&e(a,{fallback:e(H,{}),children:W?.properties?.mode==="threejs"?e(ie,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):e(te,{})}),s&&!o.hideFreeOrDemo&&!o.heatmap?e(a,{fallback:null,children:s}):null,h&&e(a,{fallback:null,children:e(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),R?e(a,{fallback:null,children:e(oe,{})}):null,O&&e(T,{}),o.modalActive.share?e(a,{fallback:null,children:e(re,{type:"share",open:o.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:e(_,{title:o.selectedExhibitor?.name||o.selectedEventItem?.name,url:b?`${window.location.origin}?${encodeURI(o.selectedExhibitor?.slug||o.selectedEventItem?.slug)}`:window.location.href})})}):null,o.heatmap||o.heatmapYah?e(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:o.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:f.heatmapColors}):null,e(U,{active:!d.layersLoaded}),e("div",{id:"fps"}),t.initialized&&e(P,{}),t.initialized&&e(I,{store:t.sessionsFilterStore}),t.initialized&&e(V,{store:t.speakerFilterStore}),e(Q,{}),t.initialized&&o.setKioskModeEnabled&&e(a,{fallback:null,children:e(se,{})}),t.initialized&&!o.setKioskModeEnabled&&e(a,{fallback:null,children:e(ne,{})})]})})});
@@ -1 +1 @@
1
- import{jsx as l,jsxs as s}from"react/jsx-runtime";import"./LevelBadge.scss";const n=e=>/^\d+$/.test(e);export const LevelBadge=({level:e})=>e?l("div",{className:"efp-level-badge",children:s("span",{children:[n(e)&&l("span",{children:"Level\xA0"}),l("span",{children:e})]})}):null;export default LevelBadge;
1
+ import{jsx as s,jsxs as r}from"react/jsx-runtime";import"./LevelBadge.scss";const n=e=>/^\d+$/.test(e);export const LevelBadge=({level:e})=>e?s("div",{className:"efp-level-badge",children:r("span",{children:[n(e)&&s("span",{children:"Level\xA0"}),s("span",{children:e})]})}):null;export default LevelBadge;
@@ -1 +1 @@
1
- import{jsx as a,jsxs as v}from"react/jsx-runtime";import u from"classnames";import{useObserver as L}from"mobx-react-lite";import{useRef as h,useEffect as N,useState as E,useCallback as b,useLayoutEffect as T}from"react";import D from"../core/Rect";import t,{uiState as w}from"../store";import{LayersMode as S}from"../store/LayerStore";import C from"../tools/settings";import{t as p}from"../utils/i18n";import $ from"../data";import I from"../utils/useOnClickOutside";import"./LevelSelector.scss";const O=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],R=["ice-gaming2026"];function B(l){return R.includes(C.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function P(){const l=h(null),g=h(null),c=h(null),[s,m]=E(!1),[_,F]=E("down");I([g,c],()=>m(!1)),N(()=>()=>{l.current&&clearTimeout(l.current)},[]),N(()=>{if(!s)return;const r=o=>{o.key==="Escape"&&(m(!1),c.current?.focus())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[s]),T(()=>{if(s&&c.current){const r=c.current.getBoundingClientRect(),o=window.innerHeight-r.bottom;F(o<200?"up":"down")}},[s]);const k=b(r=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const o=t.layerStore.layers.find(i=>i.description===r.description);if(t.layerStore.mode===S.Radio){if(t.layerStore.updateVisibility(o,!0),t.mapboxStore.showMapbox)return;if(window.__fpSettings?.fpVer||O.includes(C.EXPO)){const i=o.viewbox??o.rect;w.moveToRect=D.fromX1y1x2y2(i.x1,i.y1,i.x2,i.y2)}else{const i=t.layerStore.layers.indexOf(t.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),d=t.layerStore.layers.indexOf(o);if(i===d)return;d<i?w.zoomBy=.95:w.zoomBy=1.05}}else t.layerStore.updateVisibility(o,!o.visible);const n=t.toursStore.getTourLayerInfo(o.name)||t.toursStore.getTourLayerInfo(o.description);if(n){t.layerStore.showPathWay(n.id);return}t.fp.hidePathways(),t.toursStore.stopTour()},[]),y=b(r=>{r.disabled||(k(r.layer),m(!1),c.current?.focus())},[k]),x=b((r,o,n)=>{if(r.key==="Enter"||r.key===" "){if(o.disabled)return;r.preventDefault(),y(o);return}if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault();const i=n.findIndex(f=>f.layer.description===o.layer.description),d=r.key==="ArrowDown"?1:-1;let e=i+d;for(;e>=0&&e<n.length;){if(!n[e].disabled){r.currentTarget.parentElement?.children?.[e]?.focus();return}e+=d}}r.key==="Escape"&&(m(!1),c.current?.focus())},[y]);return L(()=>{const r=t.layerStore.floors;if(!(t.layerStore.mode===S.Radio||t.layerStore.mode===S.CheckBox)||r.length===0)return null;const{layout:o,useShortNames:n}=B($.shortLevelName),i=r.find(e=>e.active),d=e=>n?e.shortName:e.description;return o==="compact-list"?a("div",{className:u("efp-level-selector","efp-level-selector--compact-list",{"is-ready":r.length}),role:"radiogroup","aria-label":p("Floor Selection"),children:r.map(e=>a("div",{className:u("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&y(e),onKeyDown:f=>x(f,e,r),dir:"auto",children:a("span",{children:d(e)})},e.layer.description))}):v("div",{className:u("efp-level-selector","efp-level-selector--dropdown",{"is-ready":r.length}),children:[v("button",{ref:c,type:"button",className:u("efp-level-selector__trigger",{"is-open":s}),onClick:()=>m(!s),"aria-haspopup":"listbox","aria-expanded":s,"aria-label":`${p("Current Floor")}: ${i?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[a("i",{className:"icon-layers","aria-hidden":"true"}),a("span",{children:i?.description??""})]}),a("div",{className:"efp-level-selector__trigger-chevron",children:a("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),s&&a("div",{ref:g,className:u("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":_==="up","is-opens-down":_==="down"}),role:"listbox","aria-label":p("Floor Selection"),children:r.map(e=>v("div",{className:u("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>y(e),onKeyDown:f=>x(f,e,r),children:[a("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&a("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),a("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
1
+ import{jsx as n,jsxs as v}from"react/jsx-runtime";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useRef as w,useEffect as E,useState as O,useCallback as b,useLayoutEffect as I}from"react";import D from"../core/Rect";import i,{uiState as S}from"../store";import{LayersMode as g}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import L from"../data";import T from"../utils/useOnClickOutside";import"./LevelSelector.scss";const P=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],V=["ice-gaming2026"];function B(l){return V.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=w(null),x=w(null),d=w(null),[c,y]=O(!1),[_,C]=O("down");T([x,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),s=window.innerHeight-t.bottom;C(s<200?"up":"down")}},[c]);const k=b(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===g.Radio){if(i.layerStore.updateVisibility(r,!0),i.mapboxStore.showMapbox)return;if(!!window.__fpSettings?.fpVer||P.includes(R.EXPO)){const o=r.viewbox??r.rect;S.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?S.zoomBy=.95:S.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const s=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(s){i.layerStore.showPathWay(s.id);return}i.fp.hidePathways(),i.toursStore.stopTour()},[]),f=b(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=b((t,r,s)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=s.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<s.length;){if(!s[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===g.Radio||i.layerStore.mode===g.CheckBox)||t.length===0)return null;const{layout:s,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return s==="compact-list"?n("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor Selection"),children:t.map(e=>n("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:h=>N(h,e,t),dir:"auto",children:n("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[n("i",{className:"icon-layers","aria-hidden":"true"}),n("span",{children:o?.description??""})]}),n("div",{className:"efp-level-selector__trigger-chevron",children:n("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&n("div",{ref:x,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":_==="up","is-opens-down":_==="down"}),role:"listbox","aria-label":p("Floor Selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:h=>N(h,e,t),children:[n("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&n("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),n("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useObserver as h}from"mobx-react-lite";import{Suspense as y,lazy as g,useEffect as c,useRef as T,useState as S,useCallback as I}from"react";import{uiState as t}from"../store";import v from"./LanguageRow";import"./List.scss";import x from"./LayersLoading";const a=()=>import("react-virtuoso").then(o=>({default:o.Virtuoso})).catch(()=>new Promise(o=>setTimeout(()=>o(a()),3e3))),b=g(a);export default function C({updatedScrollableRef:o,updateScroll:n}){const[i,m]=S(null),l=T(null);c(()=>{m(o??null)},[o]),c(()=>{const s=t.getListScrollTop(t.list.type);if(s>0){const e=setTimeout(()=>{l.current&&l.current.scrollTo({top:s,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=I(()=>{l.current?l.current.getState(s=>{const e=s?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:s})=>{const e=t.listItems[s];return e.entity.type==="language"?r(v,{item:e},e.id??s):(console.error("Invalid item type"),null)},d=()=>{n&&setTimeout(n)},f=()=>{n&&n()};return h(()=>{const s=t.listItems.findIndex(e=>e.selected);return r("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&r(y,{fallback:r(x,{active:!0,isCenter:!0}),children:r(b,{ref:l,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:d,totalListHeightChanged:f,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:s!==-1?s:0,components:{EmptyPlaceholder:()=>r("div",{className:"list-empty",children:"No items to show"})}})})})})}
1
+ import{jsx as r}from"react/jsx-runtime";import{useObserver as h}from"mobx-react-lite";import{Suspense as g,lazy as y,useEffect as c,useRef as T,useState as I,useCallback as v}from"react";import{uiState as t}from"../store";import L from"./LanguageRow";import"./List.scss";import S from"./LayersLoading";const m=()=>import("react-virtuoso").then(o=>({default:o.Virtuoso})).catch(()=>new Promise(o=>setTimeout(()=>o(m()),3e3))),b=y(m);export default function x({updatedScrollableRef:o,updateScroll:n}){const[i,a]=I(null),l=T(null);c(()=>{a(o??null)},[o]),c(()=>{const s=t.getListScrollTop(t.list.type);if(s>0){const e=setTimeout(()=>{l.current&&l.current.scrollTo({top:s,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=v(()=>{l.current?l.current.getState(s=>{const e=s?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:s})=>{const e=t.listItems[s];return e.entity.type==="language"?r(L,{item:e},e.id??s):(console.error("Invalid item type"),null)},f=()=>{n&&setTimeout(n)},d=()=>{n&&n()};return h(()=>{const s=t.listItems.findIndex(e=>e.selected);return r("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&r(g,{fallback:r(S,{active:!0,isCenter:!0}),children:r(b,{ref:l,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:f,totalListHeightChanged:d,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:s!==-1?s:0,components:{EmptyPlaceholder:()=>r("div",{className:"list-empty",children:"No items to show"})}})})})})}
@@ -1 +1 @@
1
- import{jsx as t,jsxs as m}from"react/jsx-runtime";import p from"classnames";import P from"color";import{useLocalStore as S,useObserver as M}from"mobx-react-lite";import R from"react-qr-code";import V from"../data";import f,{uiState as o}from"../store";import l from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as s}from"../utils/i18n";import c from"../utils/is-from-designer";import h from"./Alert";import"./Alert.scss";import"./LogoOverlay.scss";import{fpGeo as d}from"./Mapbox/utils/fpGeo";import _ from"../tools/base-runtime-url";const g=["info-techlive2025","metstrade-superyacht2023"].includes(l.EXPO),O=l.backgroundColor!=="none"&&P(l.backgroundColor).isDark()||d?.properties?.style?.includes("dark");export default function T(){const b=S(()=>{const i=(r,e,C,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const r=a((o.overlayPosition,1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+r;return i("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.mapboxStore.showMapbox&&(e=a(.5)),i("bottom",n,20,"4.5rem")}},get warningStyle(){const r=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*r;return i("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*r;return f.mapboxStore.showMapbox&&(e=a(.5)),i("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,v=c&&!d&&V.allow3dView&&!o.kiosk&&!o.heatmap,x=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,y=p("efp-qr",{"is-right":g||o.rtl});return M(()=>m("div",{children:[t("a",{href:"https://expofp.com/",target:"_blank",rel:"noopener noreferrer",className:p("logo-overlay",{invert:O}),style:b.style,children:t("img",{src:`${_}expofp-overlay.png`,alt:s("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(h,{title:"This floor plan is too big",variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:s("Read how to optimize it")})}),v&&t(h,{title:"3D view is hidden",variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:s("Setup mapbox first")})}),x&&m("div",{className:p(y,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:s("View Map on Phone")}),t(R,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})]}))}
1
+ import{jsx as t,jsxs as m}from"react/jsx-runtime";import p from"classnames";import S from"color";import{useLocalStore as P,useObserver as R}from"mobx-react-lite";import M from"react-qr-code";import _ from"../data";import f,{uiState as o}from"../store";import l from"../tools/settings";import{remsToPixels as n}from"../utils";import{t as a}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./Alert";import"./Alert.scss";import"./LogoOverlay.scss";import{fpGeo as h}from"./Mapbox/utils/fpGeo";import C from"../tools/base-runtime-url";const g=["info-techlive2025","metstrade-superyacht2023"].includes(l.EXPO),V=l.backgroundColor!=="none"&&S(l.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function O(){const b=P(()=>{const i=(r,e,j,k)=>({width:k,opacity:o.wsStarted?1:0}),s=g||o.rtl?"left":"right";return{get style(){const r=n((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+r;return i("bottom",s,e,"5rem")}else{let e=o.mapVisibleTop;return f.mapboxStore.showMapbox&&(e=n(.5)),i("bottom",s,20,"4.5rem")}},get warningStyle(){const r=n(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*r;return i("bottom",s,e,"3rem")}else{let e=o.mapVisibleTop+2*r;return f.mapboxStore.showMapbox&&(e=n(.5)),i("top",s,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,x=c&&!h&&_.allow3dView&&!o.kiosk&&!o.heatmap,v=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,y=p("efp-qr",{"is-right":g||o.rtl});return R(()=>m("div",{children:[t("a",{href:"https://expofp.com/",target:"_blank",rel:"noopener noreferrer",className:p("logo-overlay",{invert:V}),style:b.style,children:t("img",{src:`${C}expofp-overlay.png`,alt:a("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:"This floor plan is too big",variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:a("Read how to optimize it")})}),x&&t(d,{title:"3D view is hidden",variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:a("Setup mapbox first")})}),v&&m("div",{className:p(y,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:a("View Map on Phone")}),t(M,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})]}))}
@@ -1 +1 @@
1
- import{jsx as T,jsxs as F,Fragment as Z}from"react/jsx-runtime";import{useObserver as j}from"mobx-react-lite";import Y from"classnames";import{useEffect as q,useMemo as J,useRef as x,useState as Q}from"react";import{observable as ee}from"mobx";import s,{boothStore as oe,layersStore as k,uiState as e}from"../../store";import{Renderer as re}from"@expofp/renderer";import te from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as w}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as R}from"./drawing/config/Rect";import L from"../../core/Rect";import{Exhibitor as H}from"../../store/ExhibitorStore";import{BoothBase as ne}from"../../store/BoothStore";import{CurrentPosition as ae,Route as ie}from"../../store/RouteStore";import{Category as se}from"../../store/CategoryStore";import E from"../../tools/logger";import{svgArea as N}from"../../data/svg";import{configMarkers as le,getMarkerFromClick as me}from"./drawing/config/config-markers";import ce from"color";import de from"./drawing/config/config-wf";import{startRenderer as fe,updateRenderer as S,createSceneDef as ue,loadCustomFontsUrls as pe}from"./drawing/config/engine-core";import{convertGpsToLocal as ve}from"../../utils/gps";import{fpGeo as he}from"../Mapbox/utils/fpGeo";import y from"../../utils/is-debug";import{Draggable as be}from"../Draggable";import{useBuildRoute as ye}from"./traffic/useBuildRoute";import{useManageTraffic as ge}from"./traffic/useManageTraffic";import{PATHWAY_KEY as D}from"../../constants";import O from"./booth-by-xy";import{mapRollSetting as X}from"./drawing/config/engine-core";import{loadLayersImages as xe}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as we}from"../../utils/areLayersEnabled";const A=Number.isFinite(p.maxZoom);export default function Re(){let f={};const G="#ebebeb",b=x(),g=J(()=>ee({moving:!1,prevLevel:s.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]);let r;const c=x(null),v=x(null),M=x(null);let B=null,z=null;const[U,$]=Q(()=>typeof window<"u"&&window.localStorage?localStorage.getItem("debug")!=="0":!0);d(()=>s.routeStore.currentRouteLayer,()=>{if(!r||g.prevLevel===s.routeStore.currentRouteLayer)return;const o=f.rootLayer.children.filter(t=>s.layerStore.floors.some(i=>t.name.includes(i.name)));let a=s.routeStore.currentRouteLayer.name;if(!o.find(t=>t.name===a))return;const n=o?.map(t=>(t.name===a&&(t.hidden=!1),t.name===g.prevLevel?.name&&(t.hidden=!0),t));g.prevLevel=s.routeStore.currentRouteLayer,S(r,...n)}),d(()=>e.centerMap,()=>{!e.centerMap||s.mapboxStore.showMapbox||(r.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),q(()=>{if(!b.current)return;async function o(){let a={};try{if(y){const n=document.createElement("canvas").getContext("webgl2"),t=n&&n.getExtension("EXT_disjoint_timer_query_webgl2"),i=(await import("stats-gl")).default,m=new i({trackGPU:t,horizontal:!0}),l=M.current;if(!l)throw new Error("memoryInfoPanel not found.");m.dom.style.position="relative",l.style.width=`${90*(t?3:2)}px`,l.style.height="48px",l.appendChild(m.dom),a={stats:m,memoryInfoPanel:l}}}catch(n){console.error(n)}r=new re({ui:a,canvas:b.current}),r.ptScaleHandlers=[],r.rollHandlers=[],r.layerImagesHandlers=[],c.current=r,r.fontUrls=pe(),e.canvasVisibleRectPx&&(r.visibleRect=R.fromCoreRect(e.canvasVisibleRectPx)),te(r).then(n=>{y&&console.log("Renderer settings",r);const t=ce(p.backgroundColor==="none"?G:p.backgroundColor).string("rgba");f=ue(n,R.fromCoreRect(N),t),v.current=f,fe(r,f),s.renderer=r,X(r,s.fp.enableRotation?1:0),A&&r.viewport.setMaxZoom(p.maxZoom),k.layersLoaded=!0,s.fp.onFpConfigured&&s.fp?.onFpConfigured(),B=de(r,f),z=le(r,f),xe(r,f)}),r.events.addEventListener("pointer:move",({point:n,defs:t})=>{if(e.setKioskModeEnabled)return;const i=O(n.x,n.y),m=P(t[0]);e.hoveredBooth=i||m}),r.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),r.events.addEventListener("pointer:click",({defs:n,point:t})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&s.showMap();const{x:i,y:m}=t;if(e.onGetCoordsClick){const h=s.layerStore.layers.find(C=>C.visible&&(C.mode===w.TurnedOn||C.mode===w.TurnedOff));e.onGetCoordsClick({x:i,y:m,z:h?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const h=me(i,m,r.scale);y&&console.log("marker",h),e.onMarkerClick(h)}const l=O(t.x,t.y),u=P(n[0]);y&&console.log("boothIdFromClientXy",l,"boothByShape",u,"pointer:click point",t),s.clickBooth(l||u)}),r.events.addEventListener("viewport:ptscale",n=>{if(!(!r||n===1/0)){r.scale=n;for(const t of r.ptScaleHandlers.filter(i=>!!i)){const i=t.fn(n);i&&S(r,i)}}}),r.events.addEventListener("navigation:roll",n=>{if(!Number.isNaN(n)){r.angle=n;for(const t of r.rollHandlers.filter(i=>!!i)){const i=t.fn(n);i&&S(r,...Array.isArray(i)?i:[i])}}}),r.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),s.fp.getCenterCoordinates=V,()=>K()},[]);function K(){B?.(),z?.(),r.rollHandlers=[],r.ptScaleHandlers=[],r.layerImagesHandlers=[],c.current=null,v.current=null}function V(){const o=b.current;if(!b.current)throw new Error("Canvas not ready");const a=r.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2}),n=s.layerStore.visible.find(t=>t.mode===w.TurnedOff||t.mode===w.TurnedOn)?.name||null;return{...a,z:n}}function P(o){return!o||!o.shape?null:oe.booths.find(a=>a.shapes?.find(n=>n.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||s.mapboxStore.showMapbox)return;const o=e.zoomBy;r.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{const a=f.rootLayer;!a||!r||a.dim===o||(a.dim=o,S(r,a))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof H&&(o=o.booths[0]),!o))return;let a=null,n=[];o instanceof H?(a="exhibitor",n=o.booths.map(i=>i.name).sort((i,m)=>i==s.routeStore.tempToBooth?.name?-1:m==s.routeStore.tempToBooth?.name?1:0)):o instanceof ne?(a="booth",n=[o.name]):o instanceof ie?(a="route",n=[o.from?.name,o.to?.name].filter(i=>!!i)):o instanceof se&&(a="category",n=o.exhibitors.map(i=>i.booths.map(m=>m.name)).flat());var t={type:a,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:n};e.onDetails({...t,...a==="route"?{routeInfo:s.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{r&&(r.visibleRect=R.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||s.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&_(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(r.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(E.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||s.mapboxStore.showMapbox)return;E.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(a=>a.rect).map(a=>a.rect);o.length!==0&&(_(L.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:a,centerxy:n,bearing:t,roll:i,z:m})=>{try{if(s.mapboxStore.showMapbox||!c.current)return;o&&o!==e.defaultMapSettings.zoomtime&&c.current.controls.configure({zoomTime:o/1e3}),s.fp.enableRotation&&X(r,i);let l;if(a){const u=a.split(",").map(Number),h=new ae(void 0,void 0,void 0,void 0,u[0],u[1]);l=ve(h,he.properties.config)}else if(n){const u=n.split(",").map(Number);l={x:u[0],y:u[1]}}m&&s.fp.activateFloor({name:m}),(l?.x||l?.y)&&c.current.controls.panTo(l.x,l.y),Number.isFinite(t)&&c.current.controls.rollTo(t)}catch(l){E.error("Error in mapSettings reaction",l)}}),ye({enabled:k.layersLoaded&&e.buildRoute,renderer:c.current,scene:v.current,initialScale:c?.current?.scale});const I="routes-api.expofp.com";ge({permission:k.layersLoaded,renderer:c.current,scene:v.current,dataJsonUrl:`https://${I}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${I}/locations?expo=${p.EXPO}`,initialScale:c?.current?.scale}),d(()=>s.layerStore.visible,o=>{if(!c.current||!v.current)return;const a=o.filter(t=>t.name.toLowerCase().includes(D)),n=v.current.rootLayer.children.filter(t=>t.name.toLowerCase().includes(D));n.forEach(t=>{t.hidden=!a.find(i=>i.name===t.name)}),c.current.update(...n)});function _(o){let a=o;const n=W(o,N);e.kioskData&&(!we()||s.routeStore.defaultFrom?.layer?.name===s.routeStore.currentRouteLayer?.name)&&(a=L.fromMultiple([o,L.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const t=R.fromCoreRect(a),i={paddingPercent:n,maxZoom:A?void 0:10};if(e.shouldShiftMapRect){r.visibleRect.min={...r.visibleRect.min,x:r.visibleRect.min.x+e.overlayWidthPx};try{r.controls.zoomTo(t,i)}finally{r.visibleRect.min={...r.visibleRect.min,x:r.visibleRect.min.x-e.overlayWidthPx}}}else r.controls.zoomTo(t,i)}function W(o,a){return!o||!a?0:(o.w*o.h/(a.h*a.w)>.1?15:25)/100}return j(()=>F(Z,{children:[T("canvas",{style:{width:"100%",height:"100%"},ref:b,className:Y({map:!0,moving:g.moving,hidden:s.mapboxStore.showMapbox}),children:"ExpoFP.com"}),y&&U&&F(be,{className:"debug-fps",children:[T("div",{ref:M}),T("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem("debug","0"),$(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
1
+ import{jsx as T,jsxs as z,Fragment as $}from"react/jsx-runtime";import{useObserver as K}from"mobx-react-lite";import Y from"classnames";import{useEffect as q,useMemo as J,useRef as w,useState as Q}from"react";import{observable as ee}from"mobx";import s,{boothStore as oe,layersStore as L,uiState as e}from"../../store";import{Renderer as te}from"@expofp/renderer";import re from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as x}from"../../store/LayerStore";import h from"../../tools/settings";import{Rect as S}from"./drawing/config/Rect";import k from"../../core/Rect";import{Exhibitor as N}from"../../store/ExhibitorStore";import{BoothBase as ne}from"../../store/BoothStore";import{CurrentPosition as ie,Route as ae}from"../../store/RouteStore";import{Category as se}from"../../store/CategoryStore";import B from"../../tools/logger";import{svgArea as H}from"../../data/svg";import{configMarkers as le,getMarkerFromClick as ce}from"./drawing/config/config-markers";import me from"color";import fe from"./drawing/config/config-wf";import{startRenderer as ue,updateRenderer as R,createSceneDef as de,loadCustomFontsUrls as pe}from"./drawing/config/engine-core";import{convertGpsToLocal as he}from"../../utils/gps";import{fpGeo as ve}from"../Mapbox/utils/fpGeo";import y from"../../utils/is-debug";import{Draggable as be}from"../Draggable";import{useBuildRoute as ye}from"./traffic/useBuildRoute";import{useManageTraffic as ge}from"./traffic/useManageTraffic";import{PATHWAY_KEY as G}from"../../constants";import D from"./booth-by-xy";import{mapRollSetting as O}from"./drawing/config/engine-core";import{loadLayersImages as we}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as xe}from"../../utils/areLayersEnabled";const X=Number.isFinite(h.maxZoom);export default function Se(){let p={};const A="#ebebeb",b=w(),g=J(()=>ee({moving:!1,prevLevel:s.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]);let t;const m=w(null),v=w(null),M=w(null);let E=null,P=null;const[U,j]=Q(()=>typeof window<"u"&&window.localStorage?localStorage.getItem("debug")!=="0":!0);d(()=>s.routeStore.currentRouteLayer,()=>{if(!t||g.prevLevel===s.routeStore.currentRouteLayer)return;const o=p.rootLayer.children.filter(n=>s.layerStore.floors.some(r=>n.name.includes(r.name)));let i=s.routeStore.currentRouteLayer.name;if(!o.find(n=>n.name===i))return;const a=o?.map(n=>(n.name===i&&(n.hidden=!1),n.name===g.prevLevel?.name&&(n.hidden=!0),n));g.prevLevel=s.routeStore.currentRouteLayer,R(t,...a)}),d(()=>e.centerMap,()=>{!e.centerMap||s.mapboxStore.showMapbox||(t.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),q(()=>{if(!b.current)return;async function o(){let i={};try{if(y){const n=document.createElement("canvas").getContext("webgl2"),r=n&&n.getExtension("EXT_disjoint_timer_query_webgl2"),c=(await import("stats-gl")).default,f=new c({trackGPU:r,horizontal:!0}),u=M.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(r?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),i={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}t=new te({ui:i,canvas:b.current}),t.ptScaleHandlers=[],t.rollHandlers=[],t.layerImagesHandlers=[],m.current=t,t.fontUrls=pe(),e.canvasVisibleRectPx&&(t.visibleRect=S.fromCoreRect(e.canvasVisibleRectPx)),re(t).then(a=>{y&&console.log("Renderer settings",t);const n=me(h.backgroundColor==="none"?A:h.backgroundColor).string("rgba");p=de(a,S.fromCoreRect(H),n),v.current=p,ue(t,p),s.renderer=t,O(t,s.fp.enableRotation?1:0),X&&t.viewport.setMaxZoom(h.maxZoom),L.layersLoaded=!0,s.fp.onFpConfigured&&s.fp?.onFpConfigured(),E=fe(t,p),P=le(t,p),we(t,p)}),t.events.addEventListener("pointer:move",({point:a,defs:n})=>{if(e.setKioskModeEnabled)return;const r=D(a.x,a.y),l=I(n[0]);e.hoveredBooth=r||l}),t.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),t.events.addEventListener("pointer:click",({defs:a,point:n})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&s.showMap();const{x:r,y:l}=n;if(e.onGetCoordsClick){const u=s.layerStore.layers.find(C=>C.visible&&(C.mode===x.TurnedOn||C.mode===x.TurnedOff));e.onGetCoordsClick({x:r,y:l,z:u?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const u=ce(r,l,t.scale);y&&console.log("marker",u),e.onMarkerClick(u)}const c=D(n.x,n.y),f=I(a[0]);y&&console.log("boothIdFromClientXy",c,"boothByShape",f,"pointer:click point",n),s.clickBooth(c||f)}),t.events.addEventListener("viewport:ptscale",a=>{if(!(!t||a===1/0)){t.scale=a;for(const n of t.ptScaleHandlers.filter(r=>!!r)){const r=n.fn(a);r&&R(t,r)}}}),t.events.addEventListener("navigation:roll",a=>{if(!Number.isNaN(a)){t.angle=a;for(const n of t.rollHandlers.filter(r=>!!r)){const r=n.fn(a);r&&R(t,...Array.isArray(r)?r:[r])}}}),t.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),s.fp.getCenterCoordinates=W,()=>V()},[]);function V(){E?.(),P?.(),t.rollHandlers=[],t.ptScaleHandlers=[],t.layerImagesHandlers=[],m.current=null,v.current=null}function W(){const o=b.current;if(!b.current)throw new Error("Canvas not ready");const i=t.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2}),n=s.layerStore.visible.find(r=>r.mode===x.TurnedOff||r.mode===x.TurnedOn)?.name||null;return{...i,z:n}}function I(o){return!o||!o.shape?null:oe.booths.find(i=>i.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||s.mapboxStore.showMapbox)return;const o=e.zoomBy;t.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{const i=p.rootLayer;!i||!t||i.dim===o||(i.dim=o,R(t,i))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(h.EXPO==="wineparis"&&(o instanceof N&&(o=o.booths[0]),!o))return;let i=null,a=[];o instanceof N?(i="exhibitor",a=o.booths.map(r=>r.name).sort((r,l)=>r==s.routeStore.tempToBooth?.name?-1:l==s.routeStore.tempToBooth?.name?1:0)):o instanceof ne?(i="booth",a=[o.name]):o instanceof ae?(i="route",a=[o.from?.name,o.to?.name].filter(r=>!!r)):o instanceof se&&(i="category",a=o.exhibitors.map(r=>r.booths.map(l=>l.name)).flat());var n={type:i,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...n,...i==="route"?{routeInfo:s.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{t&&(t.visibleRect=S.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||s.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&F(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(t.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(B.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||s.mapboxStore.showMapbox)return;B.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(i=>i.rect).map(i=>i.rect);o.length!==0&&(F(k.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:i,centerxy:a,bearing:n,roll:r,z:l})=>{try{if(s.mapboxStore.showMapbox||!m.current)return;o&&o!==e.defaultMapSettings.zoomtime&&m.current.controls.configure({zoomTime:o/1e3}),s.fp.enableRotation&&O(t,r);let c;if(i){const f=i.split(",").map(Number),u=new ie(void 0,void 0,void 0,void 0,f[0],f[1]);c=he(u,ve.properties.config)}else if(a){const f=a.split(",").map(Number);c={x:f[0],y:f[1]}}l&&s.fp.activateFloor({name:l}),(c?.x||c?.y)&&m.current.controls.panTo(c.x,c.y),Number.isFinite(n)&&m.current.controls.rollTo(n)}catch(c){B.error("Error in mapSettings reaction",c)}}),ye({enabled:L.layersLoaded&&e.buildRoute,renderer:m.current,scene:v.current,initialScale:m?.current?.scale});const _="routes-api.expofp.com";ge({permission:L.layersLoaded,renderer:m.current,scene:v.current,dataJsonUrl:`https://${_}/v1/routes?expo=${h.EXPO}`,websocketUrl:`wss://${_}/locations?expo=${h.EXPO}`,initialScale:m?.current?.scale}),d(()=>s.layerStore.visible,o=>{if(!m.current||!v.current)return;const i=o.filter(r=>r.name.toLowerCase().includes(G)),n=v.current.rootLayer.children.filter(r=>r.name.toLowerCase().includes(G));n.forEach(r=>{r.hidden=!i.find(l=>l.name===r.name)}),m.current.update(...n)});function F(o){let i=o;const a=Z(o,H);e.kioskData&&(!xe()||s.routeStore.defaultFrom?.layer?.name===s.routeStore.currentRouteLayer?.name)&&(i=k.fromMultiple([o,k.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const n=S.fromCoreRect(i),r={paddingPercent:a,maxZoom:X?void 0:10};if(e.shouldShiftMapRect){t.visibleRect.min={...t.visibleRect.min,x:t.visibleRect.min.x+e.overlayWidthPx};try{t.controls.zoomTo(n,r)}finally{t.visibleRect.min={...t.visibleRect.min,x:t.visibleRect.min.x-e.overlayWidthPx}}}else t.controls.zoomTo(n,r)}function Z(o,i){return!o||!i?0:(o.w*o.h/(i.h*i.w)>.1?15:25)/100}return K(()=>z($,{children:[T("canvas",{style:{width:"100%",height:"100%"},ref:b,className:Y({map:!0,moving:g.moving,hidden:s.mapboxStore.showMapbox}),children:"ExpoFP.com"}),y&&U&&z(be,{className:"debug-fps",children:[T("div",{ref:M}),T("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem("debug","0"),j(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
@@ -1 +1 @@
1
- import{reaction as P}from"mobx";import d from"../../core/Rect";import{getTrianglesFromFpPaths as x}from"../../data/svg";import{boothStore as v,layersStore as p}from"../../store";import{LayersMode as F}from"../../store/LayerStore";import R from"../../tools/logger";let g=new Map,M=[],y=[],w=[],u=new Map,m;function S(){const r=v.booths.filter(t=>t.visible&&t.rect&&t.rect.w>0&&t.rect.h>0);if(g=new Map,M=[],w=[],m=null,u=new Map,!r.length)return;y=r.filter(t=>t.paths);let n=d.fromMultiple(r.map(t=>t.rect));for(const t of r){let o=t.rect;Math.abs(t.rotate)===90*Math.PI/180&&(o=o.getRotated90()),M.push(o),g.set(o,t)}const s=2,f=Math.ceil(n.w/s),e=Math.ceil(n.h/s);for(let t=0;t<s;t++)for(let o=0;o<s;o++){const i=n.x1+t*f,l=n.y1+o*e,a=d.fromXywh(i,l,f,e);w.push(a);const c=M.filter(h=>a.intersects(h));u.set(a,c)}R.log("hover segmentToRects",u)}P(()=>[v.booths,p.loaded,p.visible],()=>S());function T(r,n){let s;m&&m.containsPoint(r,n)?s=m:s=w.find(e=>e.containsPoint(r,n)),s&&(m=s);const f=u.get(s);if(f){const e=f.filter(t=>t.containsPoint(r,n));if(e.length){let t;e.length>1?t=e.sort((i,l)=>i.w-l.w)[0]:t=e[0];let o=g.get(t);return o.visible?o:null}}for(const e of y)for(const t of e.paths)for(const o of x(t.index,p.mode!==F.Default?e.layer.name:""))if(I(r,n,o))return e.visible?e:null;return null}function I(r,n,s){const[f,e]=s[0],[t,o]=s[1],[i,l]=s[2],a=(o-l)*(f-i)+(i-t)*(e-l),c=((o-l)*(r-i)+(i-t)*(n-l))/a,h=((l-e)*(r-i)+(f-i)*(n-l))/a,b=1-c-h;return c>=0&&c<=1&&h>=0&&h<=1&&b>=0&&b<=1}export default function X(r,n){return T(r,n)}
1
+ import{reaction as P}from"mobx";import w from"../../core/Rect";import{getTrianglesFromFpPaths as S}from"../../data/svg";import{boothStore as y,layersStore as p}from"../../store";import{LayersMode as T}from"../../store/LayerStore";import F from"../../tools/logger";let u=new Map,d=[],v=[],b=[],g=new Map,h;function I(){const n=y.booths.filter(t=>t.visible&&t.rect&&t.rect.w>0&&t.rect.h>0);if(u=new Map,d=[],b=[],h=null,g=new Map,!n.length)return;v=n.filter(t=>t.paths);let s=w.fromMultiple(n.map(t=>t.rect));for(const t of n){let o=t.rect;Math.abs(t.rotate)===90*Math.PI/180&&(o=o.getRotated90()),d.push(o),u.set(o,t)}const r=2,c=Math.ceil(s.w/r),e=Math.ceil(s.h/r);for(let t=0;t<r;t++)for(let o=0;o<r;o++){const i=s.x1+t*c,l=s.y1+o*e,f=w.fromXywh(i,l,c,e);b.push(f);const a=d.filter(m=>f.intersects(m));g.set(f,a)}F.log("hover segmentToRects",g)}P(()=>[y.booths,p.loaded,p.visible],()=>I());function R(n,s){let r;h&&h.containsPoint(n,s)?r=h:r=b.find(e=>e.containsPoint(n,s)),r&&(h=r);const c=g.get(r);if(c){const e=c.filter(t=>t.containsPoint(n,s));if(e.length){let t;e.length>1?t=e.sort((i,l)=>i.w-l.w)[0]:t=e[0];let o=u.get(t);return o.visible?o:null}}for(const e of v)for(const t of e.paths)for(const o of S(t.index,p.mode!==T.Default?e.layer.name:""))if(X(n,s,o))return e.visible?e:null;return null}function X(n,s,r){const[c,e]=r[0],[t,o]=r[1],[i,l]=r[2],f=(o-l)*(c-i)+(i-t)*(e-l),a=((o-l)*(n-i)+(i-t)*(s-l))/f,m=((l-e)*(n-i)+(c-i)*(s-l))/f,M=1-a-m;return a>=0&&a<=1&&m>=0&&m<=1&&M>=0&&M<=1}export default function x(n,s){return R(n,s)}
@@ -1 +1 @@
1
- import{__esDecorate as d,__runInitializers as m}from"tslib";import{easeQuadInOut as p}from"d3-ease";import{observable as g,reaction as h}from"mobx";const u=new Map;let w=(()=>{let n,r=[],o=[];return class f{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;n=[g],d(null,null,n,{kind:"field",name:"selectBgAnimationPart",static:!1,private:!1,access:{has:t=>"selectBgAnimationPart"in t,get:t=>t.selectBgAnimationPart,set:(t,l)=>{t.selectBgAnimationPart=l}},metadata:e},r,o),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}booth;selectBgAnimationPart=m(this,r,void 0);constructor(e){m(this,o),this.booth=e,A(()=>e.selected,t=>this.selectBgAnimationPart=p(t),1e3,8,!0)}static get(e){let t=u.get(e);return t||(t=new f(e),u.set(e,t)),t}}})();export default w;function A(n,r,o,c,e){const t=e?b:l;c%2===1&&c++,h(n,()=>{if(n()){const i=performance.now(),a=i+c*o,s=()=>{if(n()){if(performance.now()>=a){r(1);return}r(t(i,o)),window.requestAnimationFrame(s)}};s()}else r(0)},{fireImmediately:!0});function l(i,a){return(performance.now()-i)%a/1e3}function b(i,a){const s=((performance.now()-i)%(a*2)-a)/1e3;return 1-Math.abs(Math.abs(s)-a/1e3)/(a/1e3)}}
1
+ import{__esDecorate as b,__runInitializers as l}from"tslib";import{easeQuadInOut as B}from"d3-ease";import{observable as P,reaction as g}from"mobx";const u=new Map;let h=(()=>{let n,r=[],i=[];return class f{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;n=[P],b(null,null,n,{kind:"field",name:"selectBgAnimationPart",static:!1,private:!1,access:{has:t=>"selectBgAnimationPart"in t,get:t=>t.selectBgAnimationPart,set:(t,m)=>{t.selectBgAnimationPart=m}},metadata:e},r,i),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}booth;selectBgAnimationPart=l(this,r,void 0);constructor(e){l(this,i),this.booth=e,A(()=>e.selected,t=>this.selectBgAnimationPart=B(t),1e3,8,!0)}static get(e){let t=u.get(e);return t||(t=new f(e),u.set(e,t)),t}}})();export default h;function A(n,r,i,c,e){const t=e?p:m;c%2===1&&c++,g(n,()=>{if(n()){const o=performance.now(),a=o+c*i,s=()=>{if(n()){if(performance.now()>=a){r(1);return}r(t(o,i)),window.requestAnimationFrame(s)}};s()}else r(0)},{fireImmediately:!0});function m(o,a){return(performance.now()-o)%a/1e3}function p(o,a){const w=((performance.now()-o)%(a*2)-a)/1e3;return 1-Math.abs(Math.abs(w)-a/1e3)/(a/1e3)}}
@@ -1 +1 @@
1
- import{Rect as e}from"@expofp/renderer";export class Rect extends e{static fromCoreRect(x,r=0){return new e({x:x.x1,y:x.y1},{x:x.x2,y:x.y2},-r)}static inflateRect(x,r){return new Rect({x:x.min.x+r,y:x.min.y+r},{x:x.max.x-r,y:x.max.y-r},x.rotation)}}
1
+ import{Rect as n}from"@expofp/renderer";export class Rect extends n{static fromCoreRect(x,a=0){return new n({x:x.x1,y:x.y1},{x:x.x2,y:x.y2},-a)}static inflateRect(x,a){return new Rect({x:x.min.x+a,y:x.min.y+a},{x:x.max.x-a,y:x.max.y-a},x.rotation)}}
@@ -1 +1 @@
1
- const v=document.createElement("canvas").getContext("2d");export default class A{maxMultilineFontSize;baseFontSize;fontSizes;ctx;spaceWidth;constructor(r,s,e){this.baseFontSize=this.maxMultilineFontSize=e,this.fontSizes=s,this.ctx=v,this.ctx.textAlign="center",this.ctx.textBaseline="alphabetic",this.ctx.font=r(this.baseFontSize),this.spaceWidth=this.ctx.measureText(" ").width}getStepsForRect(r,s,e){const t=r.split(/\s+/),i=t.map(c=>this.ctx.measureText(c).width),n=[];let o=1/0,h=0;for(const c of this.fontSizes){const u=c,l=c/this.baseFontSize,f=i.map(p=>p*l),d=this.spaceWidth*l,S=E(f,d,c>this.maxMultilineFontSize?1:1/0).filter(p=>p);for(let p=0;p<S.length;p++){const x=S[p],F=x,m=p+1,b=u*m,M=F/s,w=b/e,g=Math.max(w,M);if(g>o||m<h)continue;o=g,h=m;const W=q(x,m,f,d),z=y(W,f,d);if(!z)continue;const k=R(z,t);n.push({scaleFactor:g,value:c,lines:k,width:x})}}return n}}function E(a,r,s){const e=[];let t,i=1,n=1/0,o;for(;(o=T(n,a,r))&&o.length<=s;)i!==o.length&&(e[i-1]=t),i=o.length,t=Math.max(...o),n=t-1;return e[i-1]=t,e}function T(a,r,s){const e=[];let t,i=-1;function n(){i++,t=0}n();for(const o of r){const h=t+(t>0?s:0)+o;if(h>a){if(o>a)return null;n(),t=o}else t=h;e[i]=t}return e}function q(a,r,s,e){return t(r,0);function t(n,o){const h=i(o),c=[];for(const u of h){const l=o+u.length;if(l>=s.length){c.push([u]);break}if(n>0){const f=t(n-1,l);for(const d of f)d.length===n-1&&c.push([u,...d])}}return c}function i(n){if(n>=s.length)throw new Error("From exceed blocks length");const o=[0,-1];let h=0,c=0;for(;s.length>n+c&&(h+=(c>0?e:0)+s[n+c])&&h/a<1.001;)c++;return o.map(l=>c+l).filter(l=>l>0).map(l=>u(n,l));function u(l,f){const d=Array(f);for(;f--;)d[f]=f+l;return d}}}function y(a,r,s){const e=a.map(t=>{const i=t.map(o=>o.map(h=>r[h]).reduce((h,c,u)=>h+(u>0?s:0)+c),0),n=B(i);return{ll:t,dd:n}});return e.sort((t,i)=>t.dd-i.dd),e.map(t=>t.ll)[0]}function B(a){const r=a.length,s=a.reduce((e,t)=>e+t)/r;return Math.sqrt(a.map(e=>Math.pow(e-s,2)).reduce((e,t)=>e+t)/r)}function R(a,r){return a.map(s=>s.map(e=>r[e]).reduce((e,t,i)=>e+(i>0?" ":"")+t),"")}
1
+ const M=document.createElement("canvas").getContext("2d");export default class I{maxMultilineFontSize;baseFontSize;fontSizes;ctx;spaceWidth;constructor(r,s,e){this.baseFontSize=this.maxMultilineFontSize=e,this.fontSizes=s,this.ctx=M,this.ctx.textAlign="center",this.ctx.textBaseline="alphabetic",this.ctx.font=r(this.baseFontSize),this.spaceWidth=this.ctx.measureText(" ").width}getStepsForRect(r,s,e){const t=r.split(/\s+/),c=t.map(o=>this.ctx.measureText(o).width),n=[];let i=1/0,h=0;for(const o of this.fontSizes){const d=o,l=o/this.baseFontSize,u=c.map(p=>p*l),f=this.spaceWidth*l,w=B(u,f,o>this.maxMultilineFontSize?1:1/0).filter(p=>p);for(let p=0;p<w.length;p++){const x=w[p],F=x,m=p+1,z=d*m,W=F/s,L=z/e,g=Math.max(L,W);if(g>i||m<h)continue;i=g,h=m;const v=y(x,m,u,f),S=H(v,u,f);if(!S)continue;const b=k(S,t);n.push({scaleFactor:g,value:o,lines:b,width:x})}}return n}}function B(a,r,s){const e=[];let t,c=1,n=1/0,i;for(;(i=T(n,a,r))&&i.length<=s;)c!==i.length&&(e[c-1]=t),c=i.length,t=Math.max(...i),n=t-1;return e[c-1]=t,e}function T(a,r,s){const e=[];let t,c=-1;function n(){c++,t=0}n();for(const i of r){const h=t+(t>0?s:0)+i;if(h>a){if(i>a)return null;n(),t=i}else t=h;e[c]=t}return e}function y(a,r,s,e){return t(r,0);function t(n,i){const h=c(i),o=[];for(const d of h){const l=i+d.length;if(l>=s.length){o.push([d]);break}if(n>0){const u=t(n-1,l);for(const f of u)f.length===n-1&&o.push([d,...f])}}return o}function c(n){if(n>=s.length)throw new Error("From exceed blocks length");const i=[0,-1];let h=0,o=0;for(;s.length>n+o&&(h+=(o>0?e:0)+s[n+o])&&h/a<1.001;)o++;return i.map(l=>o+l).filter(l=>l>0).map(l=>d(n,l));function d(l,u){const f=Array(u);for(;u--;)f[u]=u+l;return f}}}function H(a,r,s){const e=a.map(t=>{const c=t.map(i=>i.map(h=>r[h]).reduce((h,o,d)=>h+(d>0?s:0)+o),0),n=R(c);return{ll:t,dd:n}});return e.sort((t,c)=>t.dd-c.dd),e.map(t=>t.ll)[0]}function R(a){const r=a.length,s=a.reduce((e,t)=>e+t)/r;return Math.sqrt(a.map(e=>Math.pow(e-s,2)).reduce((e,t)=>e+t)/r)}function k(a,r){return a.map(s=>s.map(e=>r[e]).reduce((e,t,c)=>e+(c>0?" ":"")+t),"")}
@@ -1 +1 @@
1
- import{FONT_FACE as z,FONT_WEIGHT_PRIMARY_BOOTH as h}from"../../../../constants";export function createImageCanvas(i,n,r,l,a=1,o){const e=i?i.width/i.height:1;let u=n*l*a,t=r*l*a;n/r>e?u=t*e:t=u/e;const v=document.createElement("canvas"),T=v.getContext("2d");return v.width=u,v.height=t,v.id=i.id,o==="horizontal"?(T.scale(-1,1),T.translate(-u,0)):o==="vertical"&&(T.scale(1,-1),T.translate(0,-t)),T.drawImage(i,0,0,u,t),v}export function createCurrentCanvas(i,n="#c8248b",r=i*.4,l,a,o,e="#000"){l=l||95,a=a||95;const u=document.createElement("canvas"),t=u.getContext("2d");u.width=l*r,u.height=a*r,t.scale(r,r);const v=l/2,T=a/2;return t.translate(v-35,T-35),t.beginPath(),t.fillStyle="#FFFFFF",t.moveTo(0,35),t.bezierCurveTo(0,54.329966,15.670034,70,35,70),t.bezierCurveTo(54.329966,70,70,54.329966,70,35),t.bezierCurveTo(70,15.670034,54.329966,0,35,0),t.bezierCurveTo(15.670034,0,0,15.670034,0,35),t.fill(),t.beginPath(),t.fillStyle=n,t.moveTo(10,35),t.bezierCurveTo(10,48.807119,21.192881,60,35,60),t.bezierCurveTo(48.807119,60,60,48.807119,60,35),t.bezierCurveTo(60,21.192881,48.807119,10,35,10),t.bezierCurveTo(21.192881,10,10,21.192881,10,35),t.fill(),o&&(t.textAlign="center",t.textBaseline="alphabetic",t.font=getFont(38),t.fillStyle=e,t.fillText(o,35,a,l)),u}export function createTargetCanvas(i,n="#c8248b",r=i*.5){const l=70*r,a=100*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=a,e.scale(r,r),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(32.6,97.8),e.bezierCurveTo(24.4,81.5,0,57,0,32.6),e.bezierCurveTo(0,14.6,14.6,0,32.6,0),e.bezierCurveTo(50.5,0,65.2,14.6,65.2,32.6),e.bezierCurveTo(65.2,57,40.7,81.5,32.6,97.8),e.fill(),e.beginPath(),e.fillStyle=n,e.moveTo(32.6,91.1),e.bezierCurveTo(25.2,76.3,3.1,54.2,3.1,32.1),e.bezierCurveTo(3.1,15.9,16.3,2.6,32.6,2.6),e.bezierCurveTo(48.8,2.6,62,15.9,62,32.1),e.bezierCurveTo(62,54.2,39.9,76.3,32.6,91.1),e.fill(),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(16.2,32.6),e.bezierCurveTo(16.2,41.6,23.5,48.9,32.5,48.9),e.bezierCurveTo(41.5,48.9,48.8,41.6,48.8,32.6),e.bezierCurveTo(48.8,23.6,41.5,16.3,32.5,16.3),e.bezierCurveTo(23.5,16.3,16.2,23.6,16.2,32.6),e.fill(),o}export function createArrowCurrentCanvas(i,n="#c8248b",r=i*.4){const l=95*r,a=95*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=a,e.scale(r,r),e.beginPath(),e.arc(47,47,25,0,2*Math.PI),e.fillStyle=n,e.fill(),e.beginPath(),e.fillStyle=n,e.moveTo(75,27),e.lineTo(95,47),e.lineTo(75,67),e.lineTo(80,47),e.closePath(),e.fill(),o}export function createYahCanvas(i,n="#ff4343",r=i*.5){const l=77*r,a=116*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=a,e.scale(r,r),e.scale(r,r),e.beginPath(),e.fillStyle="#FFFFFF",e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.fill(),e.beginPath(),e.fillStyle=n,e.moveTo(51.565,35.459),e.bezierCurveTo(51.565,43.256,45.201,49.575,37.354,49.575),e.bezierCurveTo(29.516,49.575,23.159,43.256,23.159,35.459),e.bezierCurveTo(23.159,27.668,29.516,21.345,37.354,21.345),e.bezierCurveTo(45.201,21.345,51.565,27.668,51.565,35.459),e.closePath(),e.fill(),e.beginPath(),e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.lineTo(13.131,68.211),e.lineTo(13.131,68.211),e.bezierCurveTo(13.921,69.533,14.698,70.829,15.454,72.137),e.bezierCurveTo(19.465,79.158,23.533,86.12,27.571,93.086),e.lineTo(27.571,93.086),e.bezierCurveTo(30.098,97.421,32.611,101.756,35.116,106.077),e.bezierCurveTo(36.128,107.868,38.934,107.868,39.945,106.077),e.bezierCurveTo(49.387,90.003,58.708,74.029,68.031,57.951),e.bezierCurveTo(68.15,57.743,68.24,57.543,68.303,57.335),e.closePath(),e.moveTo(60.103,60.395),e.lineTo(63.201,55.041),e.lineTo(63.201,55.041),e.bezierCurveTo(73.31,36.735,61.285,11.614,39.04,11.17),e.bezierCurveTo(19.388,10.714,2.759,29.479,9.386,49.013),e.bezierCurveTo(10.726,52.998,12.657,56.9,14.84,60.721),e.bezierCurveTo(15.041,58.454,15.938,56.258,17.589,54.586),e.bezierCurveTo(19.708,52.425,22.216,50.638,24.996,49.283),e.bezierCurveTo(28.252,52.249,32.595,54.051,37.354,54.051),e.bezierCurveTo(42.123,54.051,46.47,52.249,49.73,49.283),e.bezierCurveTo(52.505,50.638,55.017,52.425,57.135,54.586),e.bezierCurveTo(58.701,56.188,59.701,58.245,60.103,60.395),e.closePath(),e.fill("evenodd"),e.beginPath(),e.moveTo(29.024,104.982),e.bezierCurveTo(29.024,103.626,27.923,102.527,26.57,102.527),e.bezierCurveTo(25.214,102.527,24.114,103.626,24.114,104.982),e.bezierCurveTo(24.114,111.395,30.347,116.838,37.444,116.838),e.bezierCurveTo(44.54,116.838,50.771,111.395,50.771,104.982),e.bezierCurveTo(50.771,103.626,49.666,102.527,48.317,102.527),e.bezierCurveTo(46.961,102.527,45.855,103.626,45.855,104.982),e.bezierCurveTo(45.855,108.193,42.352,111.956,37.444,111.956),e.bezierCurveTo(32.528,111.956,29.024,108.193,29.024,104.982),e.closePath(),e.fill(),o}const f=document.createElement("canvas"),s=f.getContext("2d");let g;function m(i,n){return g!==i&&(s.font=i),s.measureText(n).width}export function createLabelCanvas(i,n,r,l="#fff",a,o,e){i=i.replace(/^_/,""),n*=r;const u=document.createElement("canvas"),t=u.getContext("2d"),v=Number(getComputedStyle(document.body).getPropertyValue(h)),T=getFont(n,v||a),b=m(T,i.replace(/[0-9]/g,"3").replace(/[A-Z]/g,"A"))+3+3,c=4,C=n+c;return u.width=b*r,u.height=C*r,t.font=T,t.textAlign="center",t.textBaseline="alphabetic",t.fillStyle=l,e&&o&&(t.lineWidth=e,t.strokeStyle=o,t.strokeText(i,b/2,C-c/2*r),t.lineJoin="round"),t.fillText(i,b/2,C-c/2*r),u}export function getFont(i,n=500,r="normal"){const l=getComputedStyle(document.body).getPropertyValue(z),a='Oswald, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',o=l?`${l}, ${a}`:a;return`${r} ${n} ${i}px ${o}`}
1
+ import{FONT_FACE as z,FONT_WEIGHT_PRIMARY_BOOTH as f}from"../../../../constants";export function createImageCanvas(n,i,r,l,c=1,o){const e=n?n.width/n.height:1;let a=i*l*c,t=r*l*c;i/r>e?a=t*e:t=a/e;const v=document.createElement("canvas"),u=v.getContext("2d");return v.width=a,v.height=t,v.id=n.id,o==="horizontal"?(u.scale(-1,1),u.translate(-a,0)):o==="vertical"&&(u.scale(1,-1),u.translate(0,-t)),u.drawImage(n,0,0,a,t),v}export function createCurrentCanvas(n,i="#c8248b",r=n*.4,l,c,o,e="#000"){l=l||95,c=c||95;const a=document.createElement("canvas"),t=a.getContext("2d");a.width=l*r,a.height=c*r,t.scale(r,r);const v=l/2,u=c/2;return t.translate(v-35,u-35),t.beginPath(),t.fillStyle="#FFFFFF",t.moveTo(0,35),t.bezierCurveTo(0,54.329966,15.670034,70,35,70),t.bezierCurveTo(54.329966,70,70,54.329966,70,35),t.bezierCurveTo(70,15.670034,54.329966,0,35,0),t.bezierCurveTo(15.670034,0,0,15.670034,0,35),t.fill(),t.beginPath(),t.fillStyle=i,t.moveTo(10,35),t.bezierCurveTo(10,48.807119,21.192881,60,35,60),t.bezierCurveTo(48.807119,60,60,48.807119,60,35),t.bezierCurveTo(60,21.192881,48.807119,10,35,10),t.bezierCurveTo(21.192881,10,10,21.192881,10,35),t.fill(),o&&(t.textAlign="center",t.textBaseline="alphabetic",t.font=getFont(38),t.fillStyle=e,t.fillText(o,35,c,l)),a}export function createTargetCanvas(n,i="#c8248b",r=n*.5){const l=70*r,c=100*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=c,e.scale(r,r),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(32.6,97.8),e.bezierCurveTo(24.4,81.5,0,57,0,32.6),e.bezierCurveTo(0,14.6,14.6,0,32.6,0),e.bezierCurveTo(50.5,0,65.2,14.6,65.2,32.6),e.bezierCurveTo(65.2,57,40.7,81.5,32.6,97.8),e.fill(),e.beginPath(),e.fillStyle=i,e.moveTo(32.6,91.1),e.bezierCurveTo(25.2,76.3,3.1,54.2,3.1,32.1),e.bezierCurveTo(3.1,15.9,16.3,2.6,32.6,2.6),e.bezierCurveTo(48.8,2.6,62,15.9,62,32.1),e.bezierCurveTo(62,54.2,39.9,76.3,32.6,91.1),e.fill(),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(16.2,32.6),e.bezierCurveTo(16.2,41.6,23.5,48.9,32.5,48.9),e.bezierCurveTo(41.5,48.9,48.8,41.6,48.8,32.6),e.bezierCurveTo(48.8,23.6,41.5,16.3,32.5,16.3),e.bezierCurveTo(23.5,16.3,16.2,23.6,16.2,32.6),e.fill(),o}export function createArrowCurrentCanvas(n,i="#c8248b",r=n*.4){const l=95*r,c=95*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=c,e.scale(r,r),e.beginPath(),e.arc(47,47,25,0,2*Math.PI),e.fillStyle=i,e.fill(),e.beginPath(),e.fillStyle=i,e.moveTo(75,27),e.lineTo(95,47),e.lineTo(75,67),e.lineTo(80,47),e.closePath(),e.fill(),o}export function createYahCanvas(n,i="#ff4343",r=n*.5){const l=77*r,c=116*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=l,o.height=c,e.scale(r,r),e.scale(r,r),e.beginPath(),e.fillStyle="#FFFFFF",e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.fill(),e.beginPath(),e.fillStyle=i,e.moveTo(51.565,35.459),e.bezierCurveTo(51.565,43.256,45.201,49.575,37.354,49.575),e.bezierCurveTo(29.516,49.575,23.159,43.256,23.159,35.459),e.bezierCurveTo(23.159,27.668,29.516,21.345,37.354,21.345),e.bezierCurveTo(45.201,21.345,51.565,27.668,51.565,35.459),e.closePath(),e.fill(),e.beginPath(),e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.lineTo(13.131,68.211),e.lineTo(13.131,68.211),e.bezierCurveTo(13.921,69.533,14.698,70.829,15.454,72.137),e.bezierCurveTo(19.465,79.158,23.533,86.12,27.571,93.086),e.lineTo(27.571,93.086),e.bezierCurveTo(30.098,97.421,32.611,101.756,35.116,106.077),e.bezierCurveTo(36.128,107.868,38.934,107.868,39.945,106.077),e.bezierCurveTo(49.387,90.003,58.708,74.029,68.031,57.951),e.bezierCurveTo(68.15,57.743,68.24,57.543,68.303,57.335),e.closePath(),e.moveTo(60.103,60.395),e.lineTo(63.201,55.041),e.lineTo(63.201,55.041),e.bezierCurveTo(73.31,36.735,61.285,11.614,39.04,11.17),e.bezierCurveTo(19.388,10.714,2.759,29.479,9.386,49.013),e.bezierCurveTo(10.726,52.998,12.657,56.9,14.84,60.721),e.bezierCurveTo(15.041,58.454,15.938,56.258,17.589,54.586),e.bezierCurveTo(19.708,52.425,22.216,50.638,24.996,49.283),e.bezierCurveTo(28.252,52.249,32.595,54.051,37.354,54.051),e.bezierCurveTo(42.123,54.051,46.47,52.249,49.73,49.283),e.bezierCurveTo(52.505,50.638,55.017,52.425,57.135,54.586),e.bezierCurveTo(58.701,56.188,59.701,58.245,60.103,60.395),e.closePath(),e.fill("evenodd"),e.beginPath(),e.moveTo(29.024,104.982),e.bezierCurveTo(29.024,103.626,27.923,102.527,26.57,102.527),e.bezierCurveTo(25.214,102.527,24.114,103.626,24.114,104.982),e.bezierCurveTo(24.114,111.395,30.347,116.838,37.444,116.838),e.bezierCurveTo(44.54,116.838,50.771,111.395,50.771,104.982),e.bezierCurveTo(50.771,103.626,49.666,102.527,48.317,102.527),e.bezierCurveTo(46.961,102.527,45.855,103.626,45.855,104.982),e.bezierCurveTo(45.855,108.193,42.352,111.956,37.444,111.956),e.bezierCurveTo(32.528,111.956,29.024,108.193,29.024,104.982),e.closePath(),e.fill(),o}const h=document.createElement("canvas"),C=h.getContext("2d");let d;function g(n,i){return d!==n&&(C.font=n),C.measureText(i).width}export function createLabelCanvas(n,i,r,l="#fff",c,o,e){n=n.replace(/^_/,""),i*=r;const a=document.createElement("canvas"),t=a.getContext("2d"),v=Number(getComputedStyle(document.body).getPropertyValue(f)),u=getFont(i,v||c),T=g(u,n.replace(/[0-9]/g,"3").replace(/[A-Z]/g,"A"))+3+3,b=4,s=i+b;return a.width=T*r,a.height=s*r,t.font=u,t.textAlign="center",t.textBaseline="alphabetic",t.fillStyle=l,e&&o&&(t.lineWidth=e,t.strokeStyle=o,t.strokeText(n,T/2,s-b/2*r),t.lineJoin="round"),t.fillText(n,T/2,s-b/2*r),a}export function getFont(n,i=500,r="normal"){const l=getComputedStyle(document.body).getPropertyValue(z),c='Oswald, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',o=l?`${l}, ${c}`:c;return`${r} ${i} ${n}px ${o}`}
@@ -1 +1 @@
1
- import l from"../../../../store";import d from"./config-load-layer";import{createLayerDef as e}from"./engine-core";import{WF_CURRENT_POSITION_NAME as p,WF_LINES_ANIMATED_LAYER_NAME as L,WF_LINES_LAYER_NAME as N,WF_POINTS_LAYER_NAME as R,WF_TRAIL_LAYER_NAME as M}from"./config-wf";import{MARKER_LAYER_NAME as I}from"./config-markers";import T from"./config-yah";import{createTrafficLayers as Y}from"../../traffic/trafficLayers";import{PATHWAY_KEY as u}from"../../../../constants";let s;export let getRenderer=()=>s;export default function y(m){s=m,T();let{layers:t,defaultLayer:_}=l.layerStore;if(_){const r=[].concat(t),o=t.find(i=>i===_),a=t.indexOf(o);r.splice(a,1),t=[o].concat(r)}const E=t.filter(r=>!r.rootParent).map(r=>d(r,m));return Promise.all(E).then(r=>{const o=e(R,[],{dim:!1,interactive:!0}),a=e(p,[],{dim:!1}),i=e(N,[],{dim:!1}),n=e(I,[]),A=e(M,[],{dim:!1}),c=e(L,[],{dim:!1});return r.forEach(f=>{f.name.toLowerCase().includes(u)&&(f.dim=!1)}),[...r.flat(),...Y(),n,A,i,c,o,a]})}
1
+ import A from"../../../../store";import E from"./config-load-layer";import{createLayerDef as r}from"./engine-core";import{WF_CURRENT_POSITION_NAME as d,WF_LINES_ANIMATED_LAYER_NAME as p,WF_LINES_LAYER_NAME as N,WF_POINTS_LAYER_NAME as y,WF_TRAIL_LAYER_NAME as R}from"./config-wf";import{MARKER_LAYER_NAME as u}from"./config-markers";import M from"./config-yah";import{createTrafficLayers as T}from"../../traffic/trafficLayers";import{PATHWAY_KEY as Y}from"../../../../constants";let m;export let getRenderer=()=>m;export default function I(f){m=f,M();let{layers:t,defaultLayer:n}=A.layerStore;if(n){const e=[].concat(t),o=t.find(i=>i===n),a=t.indexOf(o);e.splice(a,1),t=[o].concat(e)}const c=t.filter(e=>!e.rootParent).map(e=>E(e,f));return Promise.all(c).then(e=>{const o=r(y,[],{dim:!1,interactive:!0}),a=r(d,[],{dim:!1}),i=r(N,[],{dim:!1}),l=r(u,[]),L=r(R,[],{dim:!1}),_=r(p,[],{dim:!1});return e.forEach(s=>{s.name.toLowerCase().includes(Y)&&(s.dim=!1)}),[...e.flat(),...T(),l,L,i,_,o,a]})}
@@ -1 +1 @@
1
- import{select as d}from"d3-selection";import{getLayerSvg as f,gtePathByIndex as m}from"../../../../data/svg";import h from"../../../../store";import{LayersMode as g}from"../../../../store/LayerStore";import{rectToShapeDef as i,meshToShapeDef as u}from"./engine-core";export const BG_LAYER_NAME="bg",FG_LAYER_NAME="fg";export default async function x(t){let a=[],o=[];const n=[],r=d(f(t)).select(`[data-layer="${t.name}"]`),c=r.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path").nodes(),p=r.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']").nodes(),l=h.layerStore.mode!==g.Default?t.rootParent?.name||t.name:"";for(const e of c){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?a.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&a.push(i(e))}for(const e of p){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?o.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&o.push(i(e))}return n.push({name:BG_LAYER_NAME,children:a.filter(e=>e)}),n.push({name:FG_LAYER_NAME,children:o.filter(e=>e)}),Promise.resolve({name:t.name,children:n.filter(e=>e.children.length)})}export function buildPathDef(t,a){if(t.index===-1||Number.isNaN(t.index))return;(!t.color||t.color==="none")&&(t.color="transparent");const o=parseInt(t.index.toString()),n=m(o,a),r=u(n,t.color);return r.unblinking=t.unblinking,r}
1
+ import{select as d}from"d3-selection";import{getLayerSvg as m,gtePathByIndex as p}from"../../../../data/svg";import g from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{rectToShapeDef as i,meshToShapeDef as u}from"./engine-core";export const BG_LAYER_NAME="bg",FG_LAYER_NAME="fg";export default async function x(t){let o=[],n=[];const a=[],r=d(m(t)).select(`[data-layer="${t.name}"]`),c=r.selectAll(":scope > *:not([data-tagname='efp-booth']):not(g[data-is-editable='false']) path, :scope > path").nodes(),f=r.selectAll(":scope g[data-layer] > g[data-is-editable='false'] path, :scope > g[data-is-editable='false'] path, :scope > path[data-tagname='ptext']").nodes(),l=g.layerStore.mode!==h.Default?t.rootParent?.name||t.name:"";for(const e of c){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?o.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&o.push(i(e))}for(const e of f){const s=+e.getAttribute("data-index");e.tagName==="path"&&s!==-1?n.push(buildPathDef({color:e.style.fill,index:s},l)):e.tagName==="rect"&&n.push(i(e))}return a.push({name:BG_LAYER_NAME,children:o.filter(e=>e)}),a.push({name:FG_LAYER_NAME,children:n.filter(e=>e)}),Promise.resolve({name:t.name,children:a.filter(e=>e.children.length)})}export function buildPathDef(t,o){if(t.index===-1||Number.isNaN(t.index))return;(!t.color||t.color==="none")&&(t.color="transparent");const n=parseInt(t.index.toString()),a=p(n,o),r=u(a,t.color);return r.unblinking=t.unblinking,r}
@@ -1 +1 @@
1
- import{__esDecorate as m,__runInitializers as B}from"tslib";import i from"color";import k from"color-interpolate";import{computed as b,reaction as g}from"mobx";import u from"../../../../data";import p,{boothStore as v,layersStore as C,uiState as d}from"../../../../store";import{RegularBooth as P,SpecialBooth as R}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as y}from"../../../RebookingRadioGroup";import{Rect as x}from"./Rect";import{BoothDrawerBaseWithoutPainter as D}from"./BoothDrawerBase";import{LayersMode as I}from"../../../../store/LayerStore";import{createShapeDef as w,updateRenderer as F}from"./engine-core";import{buildPathDef as A}from"./config-bg";export default function L(a,l){return new W(a,l)}function _(a){if(a.length===0)return null;const l=a[0];return a.every(h=>h===l)?l:null}export function pathToShapeDef(a,l){const h=[];for(const c of a){const o=A({index:c.index,color:c.color,unblinking:c.unblinking},l);o&&h.push(o)}return h}let W=(()=>{let a=D,l=[],h,c;return class extends a{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(a[Symbol.metadata]??null):void 0;h=[b({keepAlive:!0})],c=[b],m(this,null,h,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:t=>"defaultColor"in t,get:t=>t.defaultColor},metadata:o},null,l),m(this,null,c,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:t=>"selectedColorInterpolateFunc"in t,get:t=>t.selectedColorInterpolateFunc},metadata:o},null,l),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}renderer=B(this,l);constructor(o,t){if(super(t),this.renderer=o,t.paths){const e=pathToShapeDef(t.paths,p.layerStore.mode!==I.Default?t.layer.name:"");t.shapes=e.map(r=>{const s=d.monochrome?i(r.color).grayscale().rgb().string():this.getBoothColor().string("rgba");return r.color==="transparent"?r.color=s:r.defaultColor=r.color,r})}else{const e=t.borderColor==="none"?0:isNaN(t.borderWidth)?v.borderWidth:t.borderWidth;let r=this.booth.rect.withPadding(e/2,e/2);const s=this.getBoothColor().string("rgba");t.shapes=[w(x.fromCoreRect(r,this.booth.rotate),s)]}g(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),g(()=>[C.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(C.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const t=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=t.string("rgba")}F(this.renderer,o)}}getBoothPathColor(o){const t=this.booth;let e=i(o).hsl();if(t.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let f=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return i(f==="none"?r:f)}const s=i(r).hsl(),S=s.lightness()*this.boothShape.selectBgAnimationPart;e=e.hue(s.hue()).lightness(S)}else t.hover&&(e=e.darken(.1));return e}get defaultColor(){const o=this.booth;let t;if(o instanceof R)t=o.color||n.colors.booths.empty;else if(o instanceof P){if(u.isRebooking){if(!o.exhibitors?.length)return y[0].color.primary;const r=_((o.exhibitors??[]).map(s=>s.rebookingState));return r!==null?y[r].color.primary:"#000000"}const e=n.colors.booths;o.onHold?t=o.holdColor||e.defaultHold:o.exhibitors.length||o.reserved?t=o.soldColor||e.defaultSold:t=o.availColor||e.empty}(t==="#666"||t==="#666666")&&(t="rgba(0,0,0,0.172)");try{t==="none"&&(t=n.colors.booths.default),i(t)}catch(e){t=n.colors.booths.default,console.error("Booth: defaultColor",e)}return t}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(i(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),t=d.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return k([o,t])}getBoothColor(){const o=this.booth;let t;if(d.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),s=i(p.heatmapStore.getColorByClicks(r));return o.selected?(t=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),i(t==="none"?"#f33":t)):o.hover?s.darken(.2).alpha(s.alpha()*1.5):s}o.error?t="#f33":u.isRebooking?t=this.defaultColor:o.selected?t=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):t=this.defaultColor;let e;try{e=i(t==="none"?"#f33":t)}catch{e=i(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(e=e.darken(.2).alpha(e.alpha()*1.5)),(d.monochrome||d.heatmapYah)&&(e=e.grayscale()),e}}})();
1
+ import{__esDecorate as g,__runInitializers as k}from"tslib";import i from"color";import _ from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import p,{boothStore as D,layersStore as B,uiState as f}from"../../../../store";import{RegularBooth as I,SpecialBooth as v}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as y}from"../../../RebookingRadioGroup";import{Rect as w}from"./Rect";import{BoothDrawerBaseWithoutPainter as P}from"./BoothDrawerBase";import{LayersMode as x}from"../../../../store/LayerStore";import{createShapeDef as L,updateRenderer as R}from"./engine-core";import{buildPathDef as F}from"./config-bg";export default function A(s,a){return new O(s,a)}function W(s){if(s.length===0)return null;const a=s[0];return s.every(h=>h===a)?a:null}export function pathToShapeDef(s,a){const c=[];for(const h of s){const d=F({index:h.index,color:h.color,unblinking:h.unblinking},a);d&&c.push(d)}return c}let O=(()=>{let s=P,a=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,a),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,a),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}renderer=k(this,a);constructor(o,e){if(super(e),this.renderer=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==x.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?i(r.color).grayscale().rgb().string():this.getBoothColor().string("rgba");return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?D.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string("rgba");e.shapes=[L(w.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[B.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(B.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string("rgba")}R(this.renderer,o)}}getBoothPathColor(o){const e=this.booth;let t=i(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return i(m==="none"?r:m)}const l=i(r).hsl(),S=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(S)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof v)e=o.color||n.colors.booths.empty;else if(o instanceof I){if(u.isRebooking){if(!o.exhibitors?.length)return y[0].color.primary;const r=W((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?y[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}(e==="#666"||e==="#666666")&&(e="rgba(0,0,0,0.172)");try{e==="none"&&(e=n.colors.booths.default),i(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(i(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return _([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=i(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),i(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=i(e==="none"?"#f33":e)}catch{t=i(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
@@ -1 +1 @@
1
- import{layersStore as s,uiState as o}from"../../../../store";import{BoothDrawerBaseWithoutPainter as p}from"./BoothDrawerBase";import{Rect as i}from"./Rect";import{reaction as h}from"mobx";import{updateRenderer as m,createImageDef as c,createBookmarkCanvas as k,getClampedBoundsCanvas as l,getRotation as u}from"./engine-core";import{getRollValue as b}from"./engine-core/settings";import{updateRectRotation as f}from"./engine-core/update-def";export default function S(a,e){if(!o.kiosk)return new g(a,e)}class g extends p{renderer;shape;bookmarkId;canvas;rect;padding;constructor(e,t){super(t),this.renderer=e,this.padding=this.booth.borderWidth/2,this.rect=i.fromCoreRect(this.booth.rect,this.booth.rotate),this.canvas=k(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=c(this.canvas,i.fromCoreRect(this.booth.rect,this.booth.rotate),{hidden:!t.bookmarked}),h(()=>[t.bookmarked,s.layersLoaded,this.booth.skipDim],()=>this.update(t.bookmarked),{fireImmediately:t.bookmarked}),h(()=>o.mapSettings,({roll:d})=>{b(d)&&e.rollHandlers?.push({fn:n=>{const r=u(n,this.rect.rotation);return r!==void 0&&(this.rect=f(this.rect,r),this.updateBookmarkScale()),this.shape}})})}getShape=()=>this.shape;update(e){s.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.updateBookmarkScale(),this.shape.hidden?this.renderer.ptScaleHandlers=this.renderer.ptScaleHandlers.filter(t=>t.name!==this.bookmarkId):this.renderer.ptScaleHandlers.push({fn:this.updateBookmarkScale.bind(this),name:this.bookmarkId}),m(this.renderer,this.shape))}updateBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=l(this.rect,this.canvas,this.padding,e||this.renderer.scale),this.shape}}
1
+ import{layersStore as i,uiState as o}from"../../../../store";import{BoothDrawerBaseWithoutPainter as m}from"./BoothDrawerBase";import{Rect as s}from"./Rect";import{reaction as h}from"mobx";import{updateRenderer as p,createImageDef as k,createBookmarkCanvas as c,getClampedBoundsCanvas as l,getRotation as u}from"./engine-core";import{getRollValue as f}from"./engine-core/settings";import{updateRectRotation as b}from"./engine-core/update-def";export default function g(r,e){if(!o.kiosk)return new B(r,e)}class B extends m{renderer;shape;bookmarkId;canvas;rect;padding;constructor(e,t){super(t),this.renderer=e,this.padding=this.booth.borderWidth/2,this.rect=s.fromCoreRect(this.booth.rect,this.booth.rotate),this.canvas=c(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=k(this.canvas,s.fromCoreRect(this.booth.rect,this.booth.rotate),{hidden:!t.bookmarked}),h(()=>[t.bookmarked,i.layersLoaded,this.booth.skipDim],()=>this.update(t.bookmarked),{fireImmediately:t.bookmarked}),h(()=>o.mapSettings,({roll:d})=>{f(d)&&e.rollHandlers?.push({fn:n=>{const a=u(n,this.rect.rotation);return a!==void 0&&(this.rect=b(this.rect,a),this.updateBookmarkScale()),this.shape}})})}getShape=()=>this.shape;update(e){i.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.updateBookmarkScale(),this.shape.hidden?this.renderer.ptScaleHandlers=this.renderer.ptScaleHandlers.filter(t=>t.name!==this.bookmarkId):this.renderer.ptScaleHandlers.push({fn:this.updateBookmarkScale.bind(this),name:this.bookmarkId}),p(this.renderer,this.shape))}updateBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=l(this.rect,this.canvas,this.padding,e||this.renderer.scale),this.shape}}
@@ -1 +1 @@
1
- import u from"color";import{boothStore as a,layersStore as c}from"../../../../store";import p from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as m}from"@expofp/renderer";import{reaction as W}from"mobx";import g from"../../../../core/Polygon";import D from"../../../../core/Rect";import{updateRenderer as S,createShapeDef as B}from"./engine-core";export default function C(o,e){if(p.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!a.borderWidth||e.paths&&!e.pathsWithRect))return new R(o,e)}function P(o){const e=[{x:o.x1,y:o.y1},{x:o.x2,y:o.y2},{x:o.x3,y:o.y3},{x:o.x4,y:o.y4}],s=[[0,1,2],[2,3,0]];return new m(e,s)}class R extends w{shape;constructor(e,s){super(s);const d=u(s.selected?p.colors.booths.selectedBorder:s.borderColor),r=this.booth.rect,t=s.borderWidth||a.borderWidth,h=[],i=(y,f,x,b)=>{const l=P(g.fromRect(D.fromCxcywh(y,f,x,b)).rotate(s.rotate,r.cx,r.cy));h.push(l)};i(r.cx,r.cy-r.h/2,r.w+t,t),i(r.cx,r.cy+r.h/2,r.w+t,t),i(r.cx-r.w/2,r.cy,t,r.h+t),i(r.cx+r.w/2,r.cy,t,r.h+t);const n=m.merge(...h);this.shape=B(n,d.string("rgba")),W(()=>[this.booth.skipDim,c.layersLoaded],()=>{c.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,S(e,this.shape))})}getShape(){return this.shape}}
1
+ import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as h}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{updateRenderer as C,createShapeDef as D}from"./engine-core";export default function b(o,e){if(a.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!c.borderWidth||e.paths&&!e.pathsWithRect))return new S(o,e)}function R(o){const e=[{x:o.x1,y:o.y1},{x:o.x2,y:o.y2},{x:o.x3,y:o.y3},{x:o.x4,y:o.y4}],s=[[0,1,2],[2,3,0]];return new h(e,s)}class S extends w{shape;constructor(e,s){super(s);const y=g(s.selected?a.colors.booths.selectedBorder:s.borderColor),r=this.booth.rect,t=s.borderWidth||c.borderWidth,n=[],i=(p,f,l,x)=>{const u=R(P.fromRect(W.fromCxcywh(p,f,l,x)).rotate(s.rotate,r.cx,r.cy));n.push(u)};i(r.cx,r.cy-r.h/2,r.w+t,t),i(r.cx,r.cy+r.h/2,r.w+t,t),i(r.cx-r.w/2,r.cy,t,r.h+t),i(r.cx+r.w/2,r.cy,t,r.h+t);const m=h.merge(...n);this.shape=D(m,y.string("rgba")),B(()=>[this.booth.skipDim,d.layersLoaded],()=>{d.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,C(e,this.shape))})}getShape(){return this.shape}}
@@ -9,7 +9,7 @@ declare class BoothLabelSpecialDrawer extends BoothLabelDrawer {
9
9
  protected labelIsVertical: boolean;
10
10
  protected text: string;
11
11
  constructor(renderer: MapRenderer, booth: SpecialBooth);
12
- getShape(): (TextDef | import("@expofp/renderer").ImageDef)[];
12
+ getShape(): (import("@expofp/renderer").ImageDef | TextDef)[];
13
13
  setFactors(text: string): void;
14
14
  setText(): void;
15
15
  }