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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/dist/browser/{Debug-e8WG0DtG.js → Debug-C-eDLTyi.js} +2 -2
  2. package/dist/browser/{Demo-boypMSbE.js → Demo-Bz4sS4Cr.js} +3 -3
  3. package/dist/browser/{Free-CDDXe67y.js → Free-Dmh_yBTQ.js} +3 -3
  4. package/dist/browser/{Gallery-CzUOmw0W.js → Gallery-B0y19mXe.js} +3 -3
  5. package/dist/browser/{GpsLoader-fuJmNb6R.js → GpsLoader-CLuQFUMd.js} +3 -3
  6. package/dist/browser/{KioskStore-BFmurkVL.js → KioskStore-DfQRkubn.js} +3 -3
  7. package/dist/browser/{Mapbox-C51a0xP2.js → Mapbox-Bpxx-pxs.js} +4 -4
  8. package/dist/browser/{SetKioskMode-COh431a3.js → SetKioskMode-Dt6LsCTr.js} +4 -4
  9. package/dist/browser/{ShowKiosk-K-z2FMYd.js → ShowKiosk-nx3n9Hin.js} +3 -3
  10. package/dist/browser/{ThreeComponent-C8u-uHkz.js → ThreeComponent-DNb8u7Fd.js} +4 -4
  11. package/dist/browser/{boolean-editor-0qC2CaXN.js → boolean-editor-DngToQ6l.js} +3 -3
  12. package/dist/browser/bundle.json +25 -25
  13. package/dist/browser/{client-B3NWpX6M.js → client-JooIdiWR.js} +2 -2
  14. package/dist/browser/{data-B9sYqJWP.js → data-CquFs-CC.js} +2 -2
  15. package/dist/browser/{debug-overlay-w2mPZxWf.js → debug-overlay-uF5jExOh.js} +4 -4
  16. package/dist/browser/{debug-ui-BtilbmgE.js → debug-ui-KqARuDoS.js} +3 -3
  17. package/dist/browser/{fetch-retry.umd-BUYyExMA.js → fetch-retry.umd-BNw2UfCg.js} +1 -1
  18. package/dist/browser/{flex-C0ADIXpK.js → flex-DeTqedih.js} +2 -2
  19. package/dist/browser/{floorplan.ready-DOAwMGub.js → floorplan.ready-DlHsC7fv.js} +15 -15
  20. package/dist/browser/{index-saYO21xq.js → index-B85ohTnv.js} +4 -4
  21. package/dist/browser/{index-B2H3t32F.js → index-CETW_2Me.js} +1 -1
  22. package/dist/browser/{index-C6neMlVE.js → index-DDXYk8-M.js} +3 -3
  23. package/dist/browser/{index-cGFPJUkc.js → index-DLZUbodm.js} +2 -2
  24. package/dist/browser/{index-CvCRaJEu.js → index-J-CeK8EI.js} +2 -2
  25. package/dist/browser/{index-CKMnb1_8.js → index-tYEC7D5U.js} +4 -4
  26. package/dist/browser/index.js +1 -1
  27. package/dist/browser/{particles.min-qY9PxD2m.js → particles.min-ydes6zXA.js} +1 -1
  28. package/dist/esm/RouteCutIn.js +1 -1
  29. package/dist/esm/_misc_to_move/logBuildInfoImpl.js +1 -1
  30. package/dist/esm/components/Alert.js +1 -1
  31. package/dist/esm/components/Autocomplete.js +1 -1
  32. package/dist/esm/components/Badge.js +1 -1
  33. package/dist/esm/components/BaseFilterModal.js +1 -1
  34. package/dist/esm/components/Bookmarks.js +1 -1
  35. package/dist/esm/components/Booth/Booth.js +1 -1
  36. package/dist/esm/components/Booth/BoothOnHold.js +1 -1
  37. package/dist/esm/components/Booth/BoothReserved.js +1 -1
  38. package/dist/esm/components/Booth/BoothSpecial.js +1 -1
  39. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +1 -1
  40. package/dist/esm/components/BoothRow.js +1 -1
  41. package/dist/esm/components/Button.js +1 -1
  42. package/dist/esm/components/Category.js +1 -1
  43. package/dist/esm/components/CategoryFilterModal.js +1 -1
  44. package/dist/esm/components/Checkbox.js +1 -1
  45. package/dist/esm/components/CheckboxButton.js +1 -1
  46. package/dist/esm/components/Controls.js +1 -1
  47. package/dist/esm/components/CookieConsent.js +1 -1
  48. package/dist/esm/components/Debug.js +1 -1
  49. package/dist/esm/components/Demo.js +1 -1
  50. package/dist/esm/components/Draggable.js +1 -1
  51. package/dist/esm/components/EntityItem.js +1 -1
  52. package/dist/esm/components/EntityList.js +1 -1
  53. package/dist/esm/components/EntityListRow.js +1 -1
  54. package/dist/esm/components/Event.js +1 -1
  55. package/dist/esm/components/EventBadge.js +1 -1
  56. package/dist/esm/components/Exhibitor.js +1 -1
  57. package/dist/esm/components/ExhibitorRow.js +1 -1
  58. package/dist/esm/components/Filter.js +1 -1
  59. package/dist/esm/components/Free.js +1 -1
  60. package/dist/esm/components/Gallery/Gallery.js +1 -1
  61. package/dist/esm/components/Gallery/GalleryBadges/GalleryBadges.js +1 -1
  62. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.js +1 -1
  63. package/dist/esm/components/Gallery/GalleryImg/GalleryImg.js +1 -1
  64. package/dist/esm/components/Gallery/GalleryItem/GalleryItem.js +1 -1
  65. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +1 -1
  66. package/dist/esm/components/Gallery/GalleryPreLoader.js +1 -1
  67. package/dist/esm/components/Gallery/TransformImg/TransformImg.js +1 -1
  68. package/dist/esm/components/GlobalErrorMessage.js +1 -1
  69. package/dist/esm/components/GpsLoader.js +1 -1
  70. package/dist/esm/components/HeatmapLegend.js +1 -1
  71. package/dist/esm/components/HighlightText.js +1 -1
  72. package/dist/esm/components/Kiosk/KioskStore.js +1 -1
  73. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +1 -1
  74. package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +1 -1
  75. package/dist/esm/components/Kiosk/SetKiosk/Message/InfoMessage.js +1 -1
  76. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
  77. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
  78. package/dist/esm/components/Kiosk/SetKiosk/SetKioskStatusMessages.js +1 -1
  79. package/dist/esm/components/Kiosk/SetKioskMode.js +1 -1
  80. package/dist/esm/components/Kiosk/ShowKiosk.js +1 -1
  81. package/dist/esm/components/Kiosk/integrateKiosk.js +1 -1
  82. package/dist/esm/components/Kiosk/kioskUrlParam.js +1 -1
  83. package/dist/esm/components/Kiosk/recoverKioskFromUrlPrams.js +1 -1
  84. package/dist/esm/components/Kiosk/requestKioskKey.js +1 -1
  85. package/dist/esm/components/Language.js +1 -1
  86. package/dist/esm/components/LanguageRow.js +1 -1
  87. package/dist/esm/components/LargeMessage.js +1 -1
  88. package/dist/esm/components/LayersLoading.js +1 -1
  89. package/dist/esm/components/Layout.js +1 -1
  90. package/dist/esm/components/LevelBadge.js +1 -1
  91. package/dist/esm/components/LevelSelector.js +1 -1
  92. package/dist/esm/components/List.js +1 -1
  93. package/dist/esm/components/LogoOverlay.js +1 -1
  94. package/dist/esm/components/Map/Map.js +1 -1
  95. package/dist/esm/components/Map/booth-by-xy.js +1 -1
  96. package/dist/esm/components/Map/drawing/config/BoothShape.js +1 -1
  97. package/dist/esm/components/Map/drawing/config/Rect.js +1 -1
  98. package/dist/esm/components/Map/drawing/config/TextFitter.js +1 -1
  99. package/dist/esm/components/Map/drawing/config/canvases.js +1 -1
  100. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  101. package/dist/esm/components/Map/drawing/config/config-bg.js +1 -1
  102. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  103. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  104. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  105. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.d.ts +1 -1
  106. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  107. package/dist/esm/components/Map/drawing/config/config-booth-labels.d.ts +1 -1
  108. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  109. package/dist/esm/components/Map/drawing/config/config-booth-scaled.js +1 -1
  110. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  111. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  112. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  113. package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
  114. package/dist/esm/components/Map/drawing/config/config-yah.js +1 -1
  115. package/dist/esm/components/Map/drawing/config/engine-core/animation.js +1 -1
  116. package/dist/esm/components/Map/drawing/config/engine-core/canvases.js +1 -1
  117. package/dist/esm/components/Map/drawing/config/engine-core/defs.js +3 -3
  118. package/dist/esm/components/Map/drawing/config/engine-core/fonts.js +1 -1
  119. package/dist/esm/components/Map/drawing/config/engine-core/index.js +1 -1
  120. package/dist/esm/components/Map/drawing/config/engine-core/renderer.js +1 -1
  121. package/dist/esm/components/Map/drawing/config/engine-core/update-def.js +1 -1
  122. package/dist/esm/components/Map/drawing/config/engine-core/utils/rotation.js +1 -1
  123. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  124. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.js +1 -1
  125. package/dist/esm/components/Map/drawing/config/route-snapping/splitRouteByPoint.js +1 -1
  126. package/dist/esm/components/Map/drawing/config/route-snapping/utils.js +1 -1
  127. package/dist/esm/components/Map/traffic/trafficLayers.js +1 -1
  128. package/dist/esm/components/Map/traffic/useBuildRoute.js +5 -5
  129. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  130. package/dist/esm/components/Map/visibleArea.js +1 -1
  131. package/dist/esm/components/MapControls.js +1 -1
  132. package/dist/esm/components/Mapbox/Button.js +1 -1
  133. package/dist/esm/components/Mapbox/Dot.js +1 -1
  134. package/dist/esm/components/Mapbox/MapLoader.js +1 -1
  135. package/dist/esm/components/Mapbox/Mapbox.js +1 -1
  136. package/dist/esm/components/Mapbox/utils/data.js +1 -1
  137. package/dist/esm/components/MarketMaterialList.js +1 -1
  138. package/dist/esm/components/Menu.js +2 -2
  139. package/dist/esm/components/MobileToggleButton.js +1 -1
  140. package/dist/esm/components/Modal.js +1 -1
  141. package/dist/esm/components/MultiSelectGroups.js +1 -1
  142. package/dist/esm/components/Overlay.js +1 -1
  143. package/dist/esm/components/OverlayContainer.js +1 -1
  144. package/dist/esm/components/OverlayGrip.js +1 -1
  145. package/dist/esm/components/OverlayParticles.js +1 -1
  146. package/dist/esm/components/PermissionNotice/PermissionNotice.js +1 -1
  147. package/dist/esm/components/Radio.js +1 -1
  148. package/dist/esm/components/RebookingNotes.js +1 -1
  149. package/dist/esm/components/RebookingRadioGroup.js +1 -1
  150. package/dist/esm/components/RouteQR.js +1 -1
  151. package/dist/esm/components/Schedule.js +1 -1
  152. package/dist/esm/components/ScheduleRow.js +1 -1
  153. package/dist/esm/components/ScrollableRow.js +1 -1
  154. package/dist/esm/components/Search.js +1 -1
  155. package/dist/esm/components/SearchBox.js +1 -1
  156. package/dist/esm/components/SearchButtons/SearchButton.js +1 -1
  157. package/dist/esm/components/SearchButtons/SearchButtons.js +1 -1
  158. package/dist/esm/components/SearchButtons/SearchSubButton.js +1 -1
  159. package/dist/esm/components/SearchButtons/SearchSubButtons.js +1 -1
  160. package/dist/esm/components/Sessions.js +1 -1
  161. package/dist/esm/components/SessionsFiltersModal.js +1 -1
  162. package/dist/esm/components/Share.js +1 -1
  163. package/dist/esm/components/Shortcuts/ShortcutButton.js +1 -1
  164. package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +1 -1
  165. package/dist/esm/components/Shortcuts/ShortcutsToolbar.js +1 -1
  166. package/dist/esm/components/SidebarActions.js +1 -1
  167. package/dist/esm/components/SimpleRow.js +1 -1
  168. package/dist/esm/components/Speaker.js +1 -1
  169. package/dist/esm/components/Speakers.js +1 -1
  170. package/dist/esm/components/SpeakersFiltersModal.js +1 -1
  171. package/dist/esm/components/Threejs/ThreeComponent.js +1 -1
  172. package/dist/esm/components/Threejs/UIManager.js +1 -1
  173. package/dist/esm/components/Threejs/common/BoothMesh.js +1 -1
  174. package/dist/esm/components/Threejs/common/SpriteMesh.js +1 -1
  175. package/dist/esm/components/Threejs/common/dataLoader.js +1 -1
  176. package/dist/esm/components/Threejs/common/modelLoader.js +1 -1
  177. package/dist/esm/components/Threejs/common/sceneLoader.js +1 -1
  178. package/dist/esm/components/Threejs/index.js +1 -1
  179. package/dist/esm/components/Threejs/mapbox/index_mapbox.js +1 -1
  180. package/dist/esm/components/Threejs/utils/textureMerger.js +1 -1
  181. package/dist/esm/components/Toast/ToastContainer.js +1 -1
  182. package/dist/esm/components/Toast/ToastProvider.js +1 -1
  183. package/dist/esm/components/ToggleButton.js +1 -1
  184. package/dist/esm/components/ToggleSwitch.js +1 -1
  185. package/dist/esm/components/TouchHand.js +1 -1
  186. package/dist/esm/components/TourPoints.js +1 -1
  187. package/dist/esm/components/Tours.js +1 -1
  188. package/dist/esm/components/ToursList.js +1 -1
  189. package/dist/esm/components/Visited.js +1 -1
  190. package/dist/esm/components/WayInformation.js +1 -1
  191. package/dist/esm/components/Wayfinding.js +1 -1
  192. package/dist/esm/components/WayfindingFloorSelector.js +1 -1
  193. package/dist/esm/components/WayfindingTemplate.js +1 -1
  194. package/dist/esm/components/Ws.js +1 -1
  195. package/dist/esm/components/YahRow.js +1 -1
  196. package/dist/esm/components/gps/GpsManager.js +1 -1
  197. package/dist/esm/components/gps/GpsPermissionRequest.js +1 -1
  198. package/dist/esm/components/gps/useUserLocationAndHeading.js +1 -1
  199. package/dist/esm/components/gps/utils.js +1 -1
  200. package/dist/esm/components/stories/Alert.stories.js +1 -1
  201. package/dist/esm/components/stories/Autocomplete.stories.js +1 -1
  202. package/dist/esm/components/stories/Badge.stories.js +1 -1
  203. package/dist/esm/components/stories/Button.stories.js +1 -1
  204. package/dist/esm/components/stories/Checkbox.stories.js +1 -1
  205. package/dist/esm/components/stories/CheckboxButton.stories.js +1 -1
  206. package/dist/esm/components/stories/CookieConsent.stories.js +1 -1
  207. package/dist/esm/components/stories/Loading.stories.js +1 -1
  208. package/dist/esm/components/stories/MapControls.stories.js +1 -1
  209. package/dist/esm/components/stories/Modal.storiesss.js +1 -1
  210. package/dist/esm/components/stories/Overlay.stories.js +1 -1
  211. package/dist/esm/components/stories/RebookingNotes.stories.js +1 -1
  212. package/dist/esm/components/stories/RebookingRadioGroup.stories.js +1 -1
  213. package/dist/esm/components/stories/Share.storiesSS.js +1 -1
  214. package/dist/esm/components/stories/SidebarActions.stories.js +1 -1
  215. package/dist/esm/components/stories/Toast.stories.js +1 -1
  216. package/dist/esm/components/stories/ToggleButton.stories.js +1 -1
  217. package/dist/esm/components/stories/ToggleSwitch.stories.js +1 -1
  218. package/dist/esm/components/stories/TouchHand.stories.js +1 -1
  219. package/dist/esm/components/stories/WayfindingFloorSelector.storiesss.js +1 -1
  220. package/dist/esm/components/stories/WayfindingTemplate.storiesss.js +1 -1
  221. package/dist/esm/core/Line.js +1 -1
  222. package/dist/esm/core/Polygon.js +1 -1
  223. package/dist/esm/core/Rect.js +1 -1
  224. package/dist/esm/data/index.js +1 -1
  225. package/dist/esm/data/svg.js +1 -1
  226. package/dist/esm/data/validate-data.js +1 -1
  227. package/dist/esm/expofp-debug.js +1 -1
  228. package/dist/esm/floorplan.loader.js +1 -1
  229. package/dist/esm/floorplan.ready.js +1 -1
  230. package/dist/esm/hooks/useDragGesture.js +1 -1
  231. package/dist/esm/hooks/useURLFilters.js +1 -1
  232. package/dist/esm/hooks/useWindowSize.js +1 -1
  233. package/dist/esm/load.js +3 -3
  234. package/dist/esm/offline/offlineManager.js +1 -1
  235. package/dist/esm/offline/sw.js +1 -1
  236. package/dist/esm/services/URLFilterManager.js +1 -1
  237. package/dist/esm/services/routing.js +1 -1
  238. package/dist/esm/store/BaseFilterStore.js +1 -1
  239. package/dist/esm/store/BoothStore.js +1 -1
  240. package/dist/esm/store/CategoryFilterStore.js +1 -1
  241. package/dist/esm/store/CategoryStore.js +1 -1
  242. package/dist/esm/store/EventStore.js +1 -1
  243. package/dist/esm/store/ExhibitorStore.js +1 -1
  244. package/dist/esm/store/FuzzySearchEngineStore.js +1 -1
  245. package/dist/esm/store/HeatmapStore.js +1 -1
  246. package/dist/esm/store/LanguageStore.js +1 -1
  247. package/dist/esm/store/LayerStore.js +1 -1
  248. package/dist/esm/store/MapboxStore.js +1 -1
  249. package/dist/esm/store/RootStore.js +1 -1
  250. package/dist/esm/store/RouteStore.js +1 -1
  251. package/dist/esm/store/SearchStore.js +1 -1
  252. package/dist/esm/store/SessionsFilterStore.js +1 -1
  253. package/dist/esm/store/ShortcutRegistry.js +1 -1
  254. package/dist/esm/store/SpeakerFilterStore.js +1 -1
  255. package/dist/esm/store/SpeakerStore.js +1 -1
  256. package/dist/esm/store/ToursStore.js +1 -1
  257. package/dist/esm/store/UIState.d.ts +1 -1
  258. package/dist/esm/store/UIState.js +1 -1
  259. package/dist/esm/store/index.js +1 -1
  260. package/dist/esm/store/init/index.js +1 -1
  261. package/dist/esm/store/init/init-booths.js +1 -1
  262. package/dist/esm/store/init/init-categories.js +1 -1
  263. package/dist/esm/store/init/init-events.js +1 -1
  264. package/dist/esm/store/init/init-exhibitors.js +1 -1
  265. package/dist/esm/store/init/init-heatmap.js +1 -1
  266. package/dist/esm/store/init/init-language.js +1 -1
  267. package/dist/esm/store/init/init-layers.js +1 -1
  268. package/dist/esm/store/init/init-speakers.js +1 -1
  269. package/dist/esm/store/init/init-ui.js +1 -1
  270. package/dist/esm/store/providers/SearchShortcutProvider.js +1 -1
  271. package/dist/esm/store/providers/SessionsShortcutProvider.js +1 -1
  272. package/dist/esm/store/providers/SessionsSubButtonProvider.js +1 -1
  273. package/dist/esm/store/providers/SpeakerShortcutProvider.js +1 -1
  274. package/dist/esm/store/search-buttons/SearchButtonsActions.js +1 -1
  275. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +1 -1
  276. package/dist/esm/store/search-buttons/SearchButtonsFilters.js +1 -1
  277. package/dist/esm/store/search-buttons/SearchButtonsState.js +1 -1
  278. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  279. package/dist/esm/store/search-buttons/constants.js +1 -1
  280. package/dist/esm/store/search-buttons/utils.js +1 -1
  281. package/dist/esm/storybook/decorators/StoryWrapper.js +1 -1
  282. package/dist/esm/storybook/decorators/WithResize.js +1 -1
  283. package/dist/esm/tools/Color.js +1 -1
  284. package/dist/esm/tools/debounce.js +1 -1
  285. package/dist/esm/tools/gtag.js +1 -1
  286. package/dist/esm/tools/handleDebugMode.js +1 -1
  287. package/dist/esm/tools/loaders.js +1 -1
  288. package/dist/esm/tools/logger.js +1 -1
  289. package/dist/esm/tools/report-error.js +3 -3
  290. package/dist/esm/tools/reset.js +1 -1
  291. package/dist/esm/tools/sentry.js +1 -1
  292. package/dist/esm/tools/settings.js +1 -1
  293. package/dist/esm/tools/slug.js +1 -1
  294. package/dist/esm/tools/track-event.js +1 -1
  295. package/dist/esm/tools/webgl-logger.js +1 -1
  296. package/dist/esm/utils/calcSpeed.js +1 -1
  297. package/dist/esm/utils/customCommands.js +1 -1
  298. package/dist/esm/utils/detectLimitedModeViaImage.js +1 -1
  299. package/dist/esm/utils/entity-storage.js +1 -1
  300. package/dist/esm/utils/eventFullBadge.js +1 -1
  301. package/dist/esm/utils/eventTime.js +1 -1
  302. package/dist/esm/utils/getContrastTextColor.js +1 -1
  303. package/dist/esm/utils/getLogoUrl.js +1 -1
  304. package/dist/esm/utils/getMostFrequent.js +1 -1
  305. package/dist/esm/utils/getRenderTargetFromRoot.js +1 -1
  306. package/dist/esm/utils/gps.js +1 -1
  307. package/dist/esm/utils/i18n.js +1 -1
  308. package/dist/esm/utils/imageloader.js +1 -1
  309. package/dist/esm/utils/is-iframe.js +1 -1
  310. package/dist/esm/utils/loadCustomCss.js +1 -1
  311. package/dist/esm/utils/loadIcons.js +1 -1
  312. package/dist/esm/utils/loadImagesInBatches.js +1 -1
  313. package/dist/esm/utils/mapEntity.js +1 -1
  314. package/dist/esm/utils/mobx.js +1 -1
  315. package/dist/esm/utils/preview-exhibitor.js +1 -1
  316. package/dist/esm/utils/responsiveClass.js +1 -1
  317. package/dist/esm/utils/sanitizeHtml.js +1 -1
  318. package/dist/esm/utils/sanitizeText.js +1 -1
  319. package/dist/esm/utils/strEqual.js +1 -1
  320. package/dist/esm/utils/toRadians.js +1 -1
  321. package/dist/esm/utils/urlEncoding.js +1 -1
  322. package/dist/esm/utils/useHeatmapData.js +1 -1
  323. package/dist/esm/utils/useHeatmapOverlay.js +1 -1
  324. package/dist/esm/utils/useOnClickOutside.js +1 -1
  325. package/dist/esm/utils/useRenderTarget.js +1 -1
  326. package/dist/esm/utils/useTimeout.js +1 -1
  327. package/dist/esm/utils/wayfinding.js +1 -1
  328. package/dist/stats.html +1 -1
  329. package/package.json +14 -4
  330. package/dist/esm/components/Map/_NEW_booth-by-xy.d.ts +0 -11
  331. package/dist/esm/components/Map/_NEW_booth-by-xy.js +0 -1
  332. package/dist/esm/components/Map/drawing/Drawer1.d.ts +0 -28
  333. package/dist/esm/components/Map/drawing/Drawer1.js +0 -1
  334. package/dist/esm/components/Map/drawing/Matrix.d.ts +0 -33
  335. package/dist/esm/components/Map/drawing/Matrix.js +0 -1
  336. package/dist/esm/components/Map/drawing/config/NumberObserver.d.ts +0 -10
  337. package/dist/esm/components/Map/drawing/config/NumberObserver.js +0 -1
  338. package/dist/esm/components/Map/drawing/config/animate.d.ts +0 -2
  339. package/dist/esm/components/Map/drawing/config/animate.js +0 -1
  340. package/dist/esm/components/Map/drawing/config/config-canvas.d.ts +0 -3
  341. package/dist/esm/components/Map/drawing/config/config-canvas.js +0 -1
  342. package/dist/esm/components/Map/drawing/config/config-debug-circles.d.ts +0 -3
  343. package/dist/esm/components/Map/drawing/config/config-debug-circles.js +0 -1
  344. package/dist/esm/components/Map/drawing/config/config-dim.d.ts +0 -3
  345. package/dist/esm/components/Map/drawing/config/config-dim.js +0 -1
  346. package/dist/esm/components/Map/drawing/config/config-gps.d.ts +0 -2
  347. package/dist/esm/components/Map/drawing/config/config-gps.js +0 -1
  348. package/dist/esm/components/Map/drawing/config/config-img.d.ts +0 -4
  349. package/dist/esm/components/Map/drawing/config/config-img.js +0 -1
  350. package/dist/esm/components/Map/drawing/config/config-matrix.d.ts +0 -6
  351. package/dist/esm/components/Map/drawing/config/config-matrix.js +0 -1
  352. package/dist/esm/components/Map/drawing/config/config-sizes.d.ts +0 -3
  353. package/dist/esm/components/Map/drawing/config/config-sizes.js +0 -1
  354. package/dist/esm/components/Map/drawing/painters/BgPainter.d.ts +0 -28
  355. package/dist/esm/components/Map/drawing/painters/BgPainter.js +0 -25
  356. package/dist/esm/components/Map/drawing/painters/ImagePainter.d.ts +0 -82
  357. package/dist/esm/components/Map/drawing/painters/ImagePainter.js +0 -74
  358. package/dist/esm/components/Map/drawing/painters/Painter.d.ts +0 -12
  359. package/dist/esm/components/Map/drawing/painters/Painter.js +0 -1
  360. package/dist/esm/components/Map/drawing/painters/RectPainter.d.ts +0 -123
  361. package/dist/esm/components/Map/drawing/painters/RectPainter.js +0 -86
  362. package/dist/esm/components/Map/drawing/painters/Sprite.d.ts +0 -14
  363. package/dist/esm/components/Map/drawing/painters/Sprite.js +0 -1
  364. package/dist/esm/components/Map/drawing/painters/TrianglePainter.d.ts +0 -53
  365. package/dist/esm/components/Map/drawing/painters/TrianglePainter.js +0 -29
  366. package/dist/esm/components/Map/drawing/painters/common-glsl.d.ts +0 -2
  367. package/dist/esm/components/Map/drawing/painters/common-glsl.js +0 -14
  368. package/dist/esm/components/Map/marker-by-xy.d.ts +0 -3
  369. package/dist/esm/components/Map/marker-by-xy.js +0 -1
  370. package/dist/esm/components/Map/utils.d.ts +0 -3
  371. package/dist/esm/components/Map/utils.js +0 -1
  372. package/dist/esm/components/Map/zoom-bound.d.ts +0 -6
  373. package/dist/esm/components/Map/zoom-bound.js +0 -1
  374. package/dist/esm/components/Map/zoom-inertia.d.ts +0 -3
  375. package/dist/esm/components/Map/zoom-inertia.js +0 -1
  376. package/dist/esm/components/Map1/Map.d.ts +0 -25
  377. package/dist/esm/components/Map1/Map.js +0 -1
  378. package/dist/esm/components/Map1/booth-by-xy.d.ts +0 -3
  379. package/dist/esm/components/Map1/booth-by-xy.js +0 -1
  380. package/dist/esm/components/Map1/drawing/config/BoothDrawerBase.d.ts +0 -8
  381. package/dist/esm/components/Map1/drawing/config/BoothDrawerBase.js +0 -1
  382. package/dist/esm/components/Map1/drawing/config/BoothShape.d.ts +0 -8
  383. package/dist/esm/components/Map1/drawing/config/BoothShape.js +0 -1
  384. package/dist/esm/components/Map1/drawing/config/Rect.d.ts +0 -7
  385. package/dist/esm/components/Map1/drawing/config/Rect.js +0 -1
  386. package/dist/esm/components/Map1/drawing/config/TextFitter.d.ts +0 -11
  387. package/dist/esm/components/Map1/drawing/config/TextFitter.js +0 -1
  388. package/dist/esm/components/Map1/drawing/config/canvases.d.ts +0 -8
  389. package/dist/esm/components/Map1/drawing/config/canvases.js +0 -1
  390. package/dist/esm/components/Map1/drawing/config/config-all.d.ts +0 -5
  391. package/dist/esm/components/Map1/drawing/config/config-all.js +0 -1
  392. package/dist/esm/components/Map1/drawing/config/config-bg.d.ts +0 -9
  393. package/dist/esm/components/Map1/drawing/config/config-bg.js +0 -1
  394. package/dist/esm/components/Map1/drawing/config/config-booth-bg.d.ts +0 -20
  395. package/dist/esm/components/Map1/drawing/config/config-booth-bg.js +0 -1
  396. package/dist/esm/components/Map1/drawing/config/config-booth-bookmark.d.ts +0 -20
  397. package/dist/esm/components/Map1/drawing/config/config-booth-bookmark.js +0 -1
  398. package/dist/esm/components/Map1/drawing/config/config-booth-border.d.ts +0 -12
  399. package/dist/esm/components/Map1/drawing/config/config-booth-border.js +0 -1
  400. package/dist/esm/components/Map1/drawing/config/config-booth-labels-special.d.ts +0 -18
  401. package/dist/esm/components/Map1/drawing/config/config-booth-labels-special.js +0 -2
  402. package/dist/esm/components/Map1/drawing/config/config-booth-labels.d.ts +0 -43
  403. package/dist/esm/components/Map1/drawing/config/config-booth-labels.js +0 -1
  404. package/dist/esm/components/Map1/drawing/config/config-booth-scaled.d.ts +0 -14
  405. package/dist/esm/components/Map1/drawing/config/config-booth-scaled.js +0 -1
  406. package/dist/esm/components/Map1/drawing/config/config-booths.d.ts +0 -6
  407. package/dist/esm/components/Map1/drawing/config/config-booths.js +0 -1
  408. package/dist/esm/components/Map1/drawing/config/config-load-layer.d.ts +0 -5
  409. package/dist/esm/components/Map1/drawing/config/config-load-layer.js +0 -1
  410. package/dist/esm/components/Map1/drawing/config/config-markers.d.ts +0 -6
  411. package/dist/esm/components/Map1/drawing/config/config-markers.js +0 -1
  412. package/dist/esm/components/Map1/drawing/config/config-wf.d.ts +0 -11
  413. package/dist/esm/components/Map1/drawing/config/config-wf.js +0 -1
  414. package/dist/esm/components/Map1/drawing/config/config-yah.d.ts +0 -2
  415. package/dist/esm/components/Map1/drawing/config/config-yah.js +0 -1
  416. package/dist/esm/components/Map1/drawing/config/engine-core/animation.d.ts +0 -3
  417. package/dist/esm/components/Map1/drawing/config/engine-core/animation.js +0 -1
  418. package/dist/esm/components/Map1/drawing/config/engine-core/canvases.d.ts +0 -5
  419. package/dist/esm/components/Map1/drawing/config/engine-core/canvases.js +0 -1
  420. package/dist/esm/components/Map1/drawing/config/engine-core/defs.d.ts +0 -16
  421. package/dist/esm/components/Map1/drawing/config/engine-core/defs.js +0 -3
  422. package/dist/esm/components/Map1/drawing/config/engine-core/fonts.d.ts +0 -9
  423. package/dist/esm/components/Map1/drawing/config/engine-core/fonts.js +0 -1
  424. package/dist/esm/components/Map1/drawing/config/engine-core/index.d.ts +0 -20
  425. package/dist/esm/components/Map1/drawing/config/engine-core/index.js +0 -1
  426. package/dist/esm/components/Map1/drawing/config/engine-core/renderer.d.ts +0 -5
  427. package/dist/esm/components/Map1/drawing/config/engine-core/renderer.js +0 -1
  428. package/dist/esm/components/Map1/drawing/config/engine-core/settings.d.ts +0 -4
  429. package/dist/esm/components/Map1/drawing/config/engine-core/settings.js +0 -1
  430. package/dist/esm/components/Map1/drawing/config/engine-core/types.d.ts +0 -39
  431. package/dist/esm/components/Map1/drawing/config/engine-core/types.js +0 -1
  432. package/dist/esm/components/Map1/drawing/config/engine-core/update-def.d.ts +0 -12
  433. package/dist/esm/components/Map1/drawing/config/engine-core/update-def.js +0 -1
  434. package/dist/esm/components/Map1/drawing/config/engine-core/utils/rotation.d.ts +0 -5
  435. package/dist/esm/components/Map1/drawing/config/engine-core/utils/rotation.js +0 -1
  436. package/dist/esm/components/Map1/drawing/config/loadBoothsImages.d.ts +0 -12
  437. package/dist/esm/components/Map1/drawing/config/loadBoothsImages.js +0 -1
  438. package/dist/esm/components/Map1/drawing/config/route-snapping/index.d.ts +0 -6
  439. package/dist/esm/components/Map1/drawing/config/route-snapping/index.js +0 -1
  440. package/dist/esm/components/Map1/drawing/config/route-snapping/snapPositionToRoute.d.ts +0 -20
  441. package/dist/esm/components/Map1/drawing/config/route-snapping/snapPositionToRoute.js +0 -1
  442. package/dist/esm/components/Map1/drawing/config/route-snapping/snapThreshold.d.ts +0 -23
  443. package/dist/esm/components/Map1/drawing/config/route-snapping/snapThreshold.js +0 -1
  444. package/dist/esm/components/Map1/drawing/config/route-snapping/splitRouteByPoint.d.ts +0 -6
  445. package/dist/esm/components/Map1/drawing/config/route-snapping/splitRouteByPoint.js +0 -1
  446. package/dist/esm/components/Map1/drawing/config/route-snapping/types.d.ts +0 -20
  447. package/dist/esm/components/Map1/drawing/config/route-snapping/types.js +0 -1
  448. package/dist/esm/components/Map1/traffic/UpdateQueue.d.ts +0 -13
  449. package/dist/esm/components/Map1/traffic/UpdateQueue.js +0 -1
  450. package/dist/esm/components/Map1/traffic/trafficLayers.d.ts +0 -17
  451. package/dist/esm/components/Map1/traffic/trafficLayers.js +0 -1
  452. package/dist/esm/components/Map1/traffic/useBuildRoute.d.ts +0 -10
  453. package/dist/esm/components/Map1/traffic/useBuildRoute.js +0 -7
  454. package/dist/esm/components/Map1/traffic/useManageTraffic.d.ts +0 -11
  455. package/dist/esm/components/Map1/traffic/useManageTraffic.js +0 -1
  456. package/dist/esm/components/Map1/visibleArea.d.ts +0 -15
  457. package/dist/esm/components/Map1/visibleArea.js +0 -1
  458. package/dist/esm/lib/floorplan.d.ts +0 -2
  459. package/dist/esm/lib/floorplan.js +0 -1
  460. package/dist/esm/tools/debug.d.ts +0 -5
  461. package/dist/esm/tools/debug.js +0 -1
  462. package/dist/esm/tools/pdf.d.ts +0 -2
  463. package/dist/esm/tools/pdf.js +0 -1
@@ -1 +1 @@
1
- import{jsx as n}from"react/jsx-runtime";import{t as o}from"../../utils/i18n";import{PermissionNotice as r}from"../index";export default function s({isOpen:e,onAllow:t,onCancel:i}){return e?n(r,{title:o("Show your position on the map"),acceptText:o("Allow compass access"),rejectText:o("Not now"),onClickAccept:t,onClickReject:i,children:o("To display your current position and orient the map around you, we\u2019ll ask for permission to access your device orientation")}):null}
1
+ import{jsx as r}from"react/jsx-runtime";import{t as o}from"../../utils/i18n";import{PermissionNotice as n}from"../index";export default function s({isOpen:e,onAllow:t,onCancel:i}){return e?r(n,{title:o("Show your position on the map"),acceptText:o("Allow compass access"),rejectText:o("Not now"),onClickAccept:t,onClickReject:i,children:o("To display your current position and orient the map around you, we\u2019ll ask for permission to access your device orientation")}):null}
@@ -1 +1 @@
1
- import{useCallback as H,useRef as e}from"react";import{hasMeaningfulChange as E,MOVE_THRESHOLD_M as v,normalizeHeading as L}from"./utils";import O from"../../tools/logger";import{distance as b}from"../../utils/gps";const A=120,C=3e3,G=360;export function useUserLocationAndHeading(m){const o=e(null),s=e(null),d=e(0),a=e(null),g=e(!1),r=e(null),l=e(!1),i=e(null),h=n=>m(n),f=n=>{const t=Date.now();if(t-d.current<A)return;const c=a.current;if(!r.current){r.current=n,d.current=t,a.current=n,h(n);return}const w=b(r.current.lat,r.current.lng,n.lat,n.lng);let u;l.current?w<=v?(l.current=!1,r.current=n,u={...r.current,heading:n.heading}):(r.current=n,u=n):w>=v?(l.current=!0,r.current=n,i.current=null,u=n):(i.current==null&&(i.current=t),t-i.current>C&&(r.current=n),u={...r.current,heading:n.heading}),!(c&&!E(c,u))&&(d.current=t,a.current=u,h(u))},p=H(n=>{const t=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(t==null)return;const c=L(t);s.current!==c&&(s.current=c,a.current&&f({...a.current,heading:c}))},[m]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{f({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>O.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{g.current||(g.current=!0,window.addEventListener("deviceorientation",p,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),r.current=null,l.current=!1},stopOrientation:()=>{g.current=!1,window.removeEventListener("deviceorientation",p,!0)}}}
1
+ import{useCallback as A,useRef as e}from"react";import{hasMeaningfulChange as O,MOVE_THRESHOLD_M as E,normalizeHeading as v}from"./utils";import H from"../../tools/logger";import{distance as L}from"../../utils/gps";const _=120,C=3e3,G=360;export function useUserLocationAndHeading(g){const o=e(null),s=e(null),f=e(0),u=e(null),d=e(!1),t=e(null),a=e(!1),l=e(null),h=n=>g(n),m=n=>{const r=Date.now();if(r-f.current<_)return;const i=u.current;if(!t.current){t.current=n,f.current=r,u.current=n,h(n);return}const w=L(t.current.lat,t.current.lng,n.lat,n.lng);let c;a.current?w<=E?(a.current=!1,t.current=n,c={...t.current,heading:n.heading}):(t.current=n,c=n):w>=E?(a.current=!0,t.current=n,l.current=null,c=n):(l.current==null&&(l.current=r),r-l.current>C&&(t.current=n),c={...t.current,heading:n.heading}),!(i&&!O(i,c))&&(f.current=r,u.current=c,h(c))},R=A(n=>{const r=n.webkitCompassHeading??(n.alpha!=null?G-n.alpha:null);if(r==null)return;const i=v(r);s.current!==i&&(s.current=i,u.current&&m({...u.current,heading:i}))},[g]);return{startGeolocation:()=>{o.current==null&&(o.current=navigator.geolocation.watchPosition(n=>{m({lat:n.coords.latitude,lng:n.coords.longitude,heading:s.current})},n=>H.warn("Geolocation watch error:",n),{enableHighAccuracy:!0,maximumAge:0}))},startOrientation:()=>{d.current||(d.current=!0,window.addEventListener("deviceorientation",R,!0))},stopGeolocation:()=>{o.current!=null&&(navigator.geolocation.clearWatch(o.current),o.current=null),t.current=null,a.current=!1},stopOrientation:()=>{d.current=!1,window.removeEventListener("deviceorientation",R,!0)}}}
@@ -1 +1 @@
1
- import{distance as t}from"../../utils/gps";export const MOVE_THRESHOLD_M=3;export function normalizeHeading(n){return Math.floor(n)}export function hasMeaningfulChange(n,a){return t(n.lat,n.lng,a.lat,a.lng)>=MOVE_THRESHOLD_M?!0:n.heading!==a.heading}
1
+ import{distance as e}from"../../utils/gps";export const MOVE_THRESHOLD_M=3;export function normalizeHeading(n){return Math.floor(n)}export function hasMeaningfulChange(n,t){return e(n.lat,n.lng,t.lat,t.lng)>=MOVE_THRESHOLD_M?!0:n.heading!==t.heading}
@@ -1 +1 @@
1
- import{jsx as t,Fragment as s,jsxs as l}from"react/jsx-runtime";import{useState as m}from"react";import{action as p}from"@storybook/addon-actions";import r from"../Alert";export default{title:"Components/Alert",component:r,parameters:{usePadding:!0}};const a=n=>{const[o,e]=m(!0),i=()=>{e(!o),p("onClose")(!0)};return l(s,{children:[t("div",{className:"sb-data sb-data--top",children:t("button",{onClick:()=>e(!o),children:o?"Hide alert":"Show alert"})}),o?t(r,{...n,onClose:i,children:t("a",{href:"https://google.com",target:"_blank",rel:"noopener noreferrer",children:"Read how to optimize it"})}):null]})};export const Base=a.bind({}),Position=a.bind({});Base.args={variant:"warning",title:"This floor plan is too big",closable:!0},Position.args={position:"bottomRight",variant:"warning",title:"This floor plan is too big",closable:!1};
1
+ import{jsx as e,Fragment as i,jsxs as l}from"react/jsx-runtime";import{useState as p}from"react";import{action as m}from"@storybook/addon-actions";import r from"../Alert";export default{title:"Components/Alert",component:r,parameters:{usePadding:!0}};const n=a=>{const[t,o]=p(!0),s=()=>{o(!t),m("onClose")(!0)};return l(i,{children:[e("div",{className:"sb-data sb-data--top",children:e("button",{onClick:()=>o(!t),children:t?"Hide alert":"Show alert"})}),t?e(r,{...a,onClose:s,children:e("a",{href:"https://google.com",target:"_blank",rel:"noopener noreferrer",children:"Read how to optimize it"})}):null]})};export const Base=n.bind({}),Position=n.bind({});Base.args={variant:"warning",title:"This floor plan is too big",closable:!0},Position.args={position:"bottomRight",variant:"warning",title:"This floor plan is too big",closable:!1};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as a,Fragment as s}from"react/jsx-runtime";import{useState as i}from"react";import t from"../Autocomplete";export default{title:"Components/Autocomplete",component:t,parameters:{usePadding:!0}};const r=l=>{const[e,n]=i("02");return a(s,{children:[o(t,{...l,onChange:n,value:e}),a("div",{className:"sb-data",children:[o("strong",{children:"Current value: "}),e]})]})};export const arrayOfStrings=r.bind({});arrayOfStrings.args={placeholder:"Select Direction from",options:["one1","one2","02","two1","two2","three1","three2","four","four2","five","five2","six","six2"]};export const arrayOfObjects=r.bind({});arrayOfObjects.args={placeholder:"Select Direction from",options:[{value:"01",label:"Event Engine - 01"},{value:"02",label:"EventMobi - 02"},{value:"03",label:"Lumishore - 03"},{value:"04",label:"Navico - 04"},{value:"05",label:"Nabuus - 05"},{value:"06",label:"Namokq - 06"}]};
1
+ import{jsx as t,jsxs as a,Fragment as s}from"react/jsx-runtime";import{useState as i}from"react";import o from"../Autocomplete";export default{title:"Components/Autocomplete",component:o,parameters:{usePadding:!0}};const r=l=>{const[e,n]=i("02");return a(s,{children:[t(o,{...l,onChange:n,value:e}),a("div",{className:"sb-data",children:[t("strong",{children:"Current value: "}),e]})]})};export const arrayOfStrings=r.bind({});arrayOfStrings.args={placeholder:"Select Direction from",options:["one1","one2","02","two1","two2","three1","three2","four","four2","five","five2","six","six2"]};export const arrayOfObjects=r.bind({});arrayOfObjects.args={placeholder:"Select Direction from",options:[{value:"01",label:"Event Engine - 01"},{value:"02",label:"EventMobi - 02"},{value:"03",label:"Lumishore - 03"},{value:"04",label:"Navico - 04"},{value:"05",label:"Nabuus - 05"},{value:"06",label:"Namokq - 06"}]};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n}from"react/jsx-runtime";import o from"../Badge";export default{title:"Components/Badge",component:o,parameters:{usePadding:!0}};const s=a=>n(o,{...a,children:[e("i",{className:"icon-hand-solid"}),"On hold"]});export const Base=s.bind({});Base.args={variant:"orange"};
1
+ import{jsx as a,jsxs as o}from"react/jsx-runtime";import e from"../Badge";export default{title:"Components/Badge",component:e,parameters:{usePadding:!0}};const t=s=>o(e,{...s,children:[a("i",{className:"icon-hand-solid"}),"On hold"]});export const Base=t.bind({});Base.args={variant:"orange"};
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{action as n}from"@storybook/addon-actions";import t from"../Button";export default{title:"Components/Button",component:t,parameters:{usePadding:!0}};const r=o=>i(t,{...o,onClick:()=>n("onClick")(!0)});export const Base=r.bind({});Base.args={children:"Button",variant:"primary",size:"lg",disabled:!1,inline:!1,withBadge:!1};
1
+ import{jsx as o}from"react/jsx-runtime";import{action as n}from"@storybook/addon-actions";import t from"../Button";export default{title:"Components/Button",component:t,parameters:{usePadding:!0}};const r=e=>o(t,{...e,onClick:()=>n("onClick")(!0)});export const Base=r.bind({});Base.args={children:"Button",variant:"primary",size:"lg",disabled:!1,inline:!1,withBadge:!1};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as r,Fragment as a}from"react/jsx-runtime";import{useState as m}from"react";import s from"../Checkbox";export default{title:"Components/Checkbox",component:s,parameters:{usePadding:!0}};const c=n=>{const[e,o]=m(!0);return r(a,{children:[t(s,{...n,onChange:o,value:e}),r("div",{className:"sb-data",children:[t("strong",{children:"Current checked: "}),e.toString()]})]})};export const Base=c.bind({});Base.args={name:"test",label:"Some"};
1
+ import{jsx as t,jsxs as r,Fragment as o}from"react/jsx-runtime";import{useState as m}from"react";import s from"../Checkbox";export default{title:"Components/Checkbox",component:s,parameters:{usePadding:!0}};const c=a=>{const[e,n]=m(!0);return r(o,{children:[t(s,{...a,onChange:n,value:e}),r("div",{className:"sb-data",children:[t("strong",{children:"Current checked: "}),e.toString()]})]})};export const Base=c.bind({});Base.args={name:"test",label:"Some"};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as s}from"react/jsx-runtime";import{useState as a}from"react";import o from"../CheckboxButton";export default{title:"Components/CheckboxButton",component:o,parameters:{usePadding:!0}};const m=n=>{const[t,r]=a(!1);return e(s,{children:e(o,{...n,checked:t,onClick:()=>r(!t)})})};export const Base=m.bind({});Base.args={label:"Visited"};
1
+ import{jsx as t,Fragment as n}from"react/jsx-runtime";import{useState as s}from"react";import o from"../CheckboxButton";export default{title:"Components/CheckboxButton",component:o,parameters:{usePadding:!0}};const m=r=>{const[e,a]=s(!1);return t(n,{children:t(o,{...r,checked:e,onClick:()=>a(!e)})})};export const Base=m.bind({});Base.args={label:"Visited"};
@@ -1 +1 @@
1
- import{jsx as o,Fragment as r,jsxs as a}from"react/jsx-runtime";import{useState as m}from"react";import{action as p}from"@storybook/addon-actions";import e from"../CookieConsent";export default{title:"Components/CookieConsent",component:e};const l=s=>{const[n,c]=m(!0),t=i=>{c(!1),p(i?"onClickAccept":"onClickReject")(!0)};return a(r,{children:[o("iframe",{src:"https://canneslions2023.expofp.com/",className:"sb-iframe",title:"test"}),n?o(e,{...s,onClickAccept:()=>t(!0),onClickReject:()=>t(!1)}):null]})};export const Base=l.bind({});Base.args={link:"https://expofp.com"};
1
+ import{jsx as o,Fragment as i,jsxs as a}from"react/jsx-runtime";import{useState as m}from"react";import{action as l}from"@storybook/addon-actions";import t from"../CookieConsent";export default{title:"Components/CookieConsent",component:t};const p=s=>{const[n,c]=m(!0),e=r=>{c(!1),l(r?"onClickAccept":"onClickReject")(!0)};return a(i,{children:[o("iframe",{src:"https://canneslions2023.expofp.com/",className:"sb-iframe",title:"test"}),n?o(t,{...s,onClickAccept:()=>e(!0),onClickReject:()=>e(!1)}):null]})};export const Base=p.bind({});Base.args={link:"https://expofp.com"};
@@ -1 +1 @@
1
- import{jsx as t,Fragment as m,jsxs as n}from"react/jsx-runtime";import{useEffect as i,useState as c}from"react";import s from"../LayersLoading";export default{title:"Components/LayersLoading",component:s};const p=f=>{const[o,e]=c(!1);return i(()=>{const r=setTimeout(()=>{e(!0)},3e3),a=setTimeout(()=>{e(!1)},9e3);return()=>{clearTimeout(r),clearTimeout(a)}},[]),n(m,{children:[t("iframe",{src:"https://canneslions2023.expofp.com/",className:"sb-iframe",title:"test"}),t(s,{active:o})]})};export const Base=p.bind({});
1
+ import{jsx as t,Fragment as r,jsxs as i}from"react/jsx-runtime";import{useEffect as m,useState as c}from"react";import s from"../LayersLoading";export default{title:"Components/LayersLoading",component:s};const l=f=>{const[o,e]=c(!1);return m(()=>{const a=setTimeout(()=>{e(!0)},3e3),n=setTimeout(()=>{e(!1)},9e3);return()=>{clearTimeout(a),clearTimeout(n)}},[]),i(r,{children:[t("iframe",{src:"https://canneslions2023.expofp.com/",className:"sb-iframe",title:"test"}),t(s,{active:o})]})};export const Base=l.bind({});
@@ -1 +1 @@
1
- import{jsx as i,Fragment as c,jsxs as d}from"react/jsx-runtime";import{useContext as p,useState as u}from"react";import{action as a}from"@storybook/addon-actions";import n from"../MapControls";import h from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/MapControls",component:n};const C=t=>{const[o,r]=u(t.layersActiveItems),l=p(h),m={position:"absolute",bottom:"30px",right:"10px",opacity:1},y=e=>{let s=[...o];o.includes(e)?s.splice(o.indexOf(e),1):s=[...o,e],r(s),a("onChangeLayers")(e)};return d(c,{children:[i("aside",{className:"sidebar",children:"Hops& Highways Lounge"}),i(n,{...t,className:l,style:m,layersActiveItems:o,onClickZoomIn:()=>a("onClickZoomIn")(!0),onClickZoomOut:()=>a("onClickZoomOut")(!0),onClickByWidth:()=>a("onClickByWidth")(!0),onChangeLayers:e=>y(e)})]})};export const Base=C.bind({});Base.args={className:"fixedControls",titles:["Zoom In","Zoom Out","By Screen Width","Show Layouts"],layersOpen:!1,layersList:[{id:"layer1",name:"Sizes"},{id:"layer2",name:"General Building"},{id:"layer3",name:"No Build"},{id:"layer4",name:"Venue Walls & Bay Numbers"},{id:"layer5",name:"Booths"},{id:"layer6",name:"Grid"},{id:"layer7",name:"Mapbox"}],layersActiveItems:["layer4","layer5"],layersWidth:200};
1
+ import{jsx as n,Fragment as y,jsxs as p}from"react/jsx-runtime";import{useContext as d,useState as u}from"react";import{action as t}from"@storybook/addon-actions";import i from"../MapControls";import C from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/MapControls",component:i};const h=a=>{const[s,r]=u(a.layersActiveItems),l=d(C),m={position:"absolute",bottom:"30px",right:"10px",opacity:1},c=e=>{let o=[...s];s.includes(e)?o.splice(s.indexOf(e),1):o=[...s,e],r(o),t("onChangeLayers")(e)};return p(y,{children:[n("aside",{className:"sidebar",children:"Hops& Highways Lounge"}),n(i,{...a,className:l,style:m,layersActiveItems:s,onClickZoomIn:()=>t("onClickZoomIn")(!0),onClickZoomOut:()=>t("onClickZoomOut")(!0),onClickByWidth:()=>t("onClickByWidth")(!0),onChangeLayers:e=>c(e)})]})};export const Base=h.bind({});Base.args={className:"fixedControls",titles:["Zoom In","Zoom Out","By Screen Width","Show Layouts"],layersOpen:!1,layersList:[{id:"layer1",name:"Sizes"},{id:"layer2",name:"General Building"},{id:"layer3",name:"No Build"},{id:"layer4",name:"Venue Walls & Bay Numbers"},{id:"layer5",name:"Booths"},{id:"layer6",name:"Grid"},{id:"layer7",name:"Mapbox"}],layersActiveItems:["layer4","layer5"],layersWidth:200};
@@ -1 +1 @@
1
- import{jsx as o,Fragment as i,jsxs as l}from"react/jsx-runtime";import{useContext as m,useState as h}from"react";import{action as p}from"@storybook/addon-actions";import s from"../Modal";import c from"../Button";import f from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/Modal",component:s,parameters:{usePadding:!0}};const d=t=>{const[r,e]=h(t.open),a=m(f),n=()=>{e(!1),p("onClickClose")(!0)};return l(i,{children:[o(c,{onClick:()=>e(!0),children:"Open modal"}),o(s,{...t,className:a,open:r,onClickClose:n,children:"While Earth is only the fifth largest planet in the solar system, it is the only world in our solar system with liquid water on the surface. Just slightly larger than nearby Venus, Earth is the biggest of the four planets closest to the Sun, all of which are made of rock and metal."})]})};export const Base=d.bind({});Base.args={open:!1};
1
+ import{jsx as s,Fragment as l,jsxs as i}from"react/jsx-runtime";import{useContext as m,useState as p}from"react";import{action as c}from"@storybook/addon-actions";import o from"../Modal";import h from"../Button";import f from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/Modal",component:o,parameters:{usePadding:!0}};const u=e=>{const[n,t]=p(e.open),r=m(f),a=()=>{t(!1),c("onClickClose")(!0)};return i(l,{children:[s(h,{onClick:()=>t(!0),children:"Open modal"}),s(o,{...e,className:r,open:n,onClickClose:a,children:"While Earth is only the fifth largest planet in the solar system, it is the only world in our solar system with liquid water on the surface. Just slightly larger than nearby Venus, Earth is the biggest of the four planets closest to the Sun, all of which are made of rock and metal."})]})};export const Base=u.bind({});Base.args={open:!1};
@@ -1 +1 @@
1
- import{jsx as i,jsxs as n}from"react/jsx-runtime";import m,{useState as r}from"react";import{Virtuoso as h}from"react-virtuoso";import c from"../Overlay";const g={title:"Components/Overlay",component:c,parameters:{layout:"fullscreen"},tags:["autodocs"]};export default g;const f=()=>n("div",{style:{padding:"0px 16px 16px"},children:[i("strong",{children:"Overlay Content"}),i("p",{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque."}),i("p",{children:"More content..."}),i("div",{style:{height:1e3,background:"#f5f5f5",margin:"16px 0",padding:"16px"},children:"Scrollable area - drag to resize on mobile"}),i("p",{children:"End of content."})]}),b=({index:e})=>n("div",{style:{padding:"16px",borderBottom:"1px solid #e0e0e0",backgroundColor:e%2===0?"#f8f9fa":"#ffffff",display:"flex",alignItems:"center",gap:"12px"},children:[i("div",{style:{width:"40px",height:"40px",borderRadius:"50%",backgroundColor:`hsl(${e*137.5%360}, 70%, 60%)`,display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontWeight:"bold",fontSize:"14px"},children:e+1}),n("div",{style:{flex:1},children:[n("div",{style:{fontWeight:"600",marginBottom:"4px"},children:["Item #",e+1]}),i("div",{style:{fontSize:"14px",color:"#666"},children:"This is a sample item with some descriptive text. It demonstrates how Virtuoso efficiently renders large lists."})]}),i("div",{style:{padding:"4px 8px",backgroundColor:"#e3f2fd",color:"#1976d2",borderRadius:"12px",fontSize:"12px",fontWeight:"500"},children:e%3===0?"New":e%3===1?"Active":"Pending"})]}),w=()=>{const e=Array.from({length:200},(d,t)=>t);return console.log("VirtuosoContent rendered with items:",e.length,"first item:",e[0]),i("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i(h,{data:e,itemContent:(d,t)=>i(b,{index:t}),style:{height:"100%",minHeight:"1px"},overscan:5})})};export const Default={render:()=>{const[e,d]=r(!1),[t,o]=r("medium"),[l,a]=r(window.innerWidth),[p,s]=r(window.innerHeight);m.useEffect(()=>{const u=()=>{a(window.innerWidth),s(window.innerHeight)};return window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]);const x=l<=768;return n("div",{style:{overflow:"hidden",background:"#f0f0f0"},children:[n("div",{style:{position:"fixed",top:20,right:20,zIndex:9999,background:"white",padding:"16px",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"14px",fontFamily:"monospace"},children:[n("div",{style:{marginBottom:"8px"},children:["Open: ",i("strong",{children:e?"Yes":"No"})]}),n("div",{style:{marginBottom:"8px"},children:["Current Size: ",i("strong",{children:t})]}),n("div",{style:{marginBottom:"8px"},children:["Viewport:"," ",n("strong",{children:[x?"Mobile":"Desktop"," (",l,"px)"]})]}),i("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"8px"},children:i("button",{onClick:()=>d(!e),style:{padding:"4px 8px",background:e?"#dc3545":"#28a745",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"12px"},children:e?"Close":"Open"})}),n("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[i("button",{onClick:()=>o("medium"),disabled:!e,style:{padding:"4px 8px",background:t==="medium"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Medium"}),i("button",{onClick:()=>o("full"),disabled:!e,style:{padding:"4px 8px",background:t==="full"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Full"})]})]}),i(c,{open:e,size:t,onChangeSize:o,children:i(f,{})})]})}},WithVirtuoso={render:()=>{const[e,d]=r(!1),[t,o]=r("full"),[l,a]=r(window.innerWidth);m.useEffect(()=>{const s=()=>{a(window.innerWidth)};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]);const p=l<=768;return n("div",{style:{overflow:"hidden",background:"#f0f0f0"},children:[n("div",{style:{position:"fixed",top:20,right:20,zIndex:9999,background:"white",padding:"16px",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"14px",fontFamily:"monospace"},children:[n("div",{style:{marginBottom:"8px"},children:["Open: ",i("strong",{children:e?"Yes":"No"})]}),n("div",{style:{marginBottom:"8px"},children:["Current Size: ",i("strong",{children:t})]}),n("div",{style:{marginBottom:"8px"},children:["Viewport:"," ",n("strong",{children:[p?"Mobile":"Desktop"," (",l,"px)"]})]}),n("div",{style:{marginBottom:"8px"},children:["Items: ",i("strong",{children:"200"})]}),i("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"8px"},children:i("button",{onClick:()=>d(!e),style:{padding:"4px 8px",background:e?"#dc3545":"#28a745",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"12px"},children:e?"Close":"Open"})}),n("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[i("button",{onClick:()=>o("medium"),disabled:!e,style:{padding:"4px 8px",background:t==="medium"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Medium"}),i("button",{onClick:()=>o("full"),disabled:!e,style:{padding:"4px 8px",background:t==="full"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Full"})]})]}),i(c,{open:e,size:t,onChangeSize:o,children:i(w,{})})]})}};
1
+ import{jsx as i,jsxs as n}from"react/jsx-runtime";import m,{useState as r}from"react";import{Virtuoso as x}from"react-virtuoso";import c from"../Overlay";const g={title:"Components/Overlay",component:c,parameters:{layout:"fullscreen"},tags:["autodocs"]};export default g;const f=()=>n("div",{style:{padding:"0px 16px 16px"},children:[i("strong",{children:"Overlay Content"}),i("p",{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque."}),i("p",{children:"More content..."}),i("div",{style:{height:1e3,background:"#f5f5f5",margin:"16px 0",padding:"16px"},children:"Scrollable area - drag to resize on mobile"}),i("p",{children:"End of content."})]}),b=({index:e})=>n("div",{style:{padding:"16px",borderBottom:"1px solid #e0e0e0",backgroundColor:e%2===0?"#f8f9fa":"#ffffff",display:"flex",alignItems:"center",gap:"12px"},children:[i("div",{style:{width:"40px",height:"40px",borderRadius:"50%",backgroundColor:`hsl(${e*137.5%360}, 70%, 60%)`,display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontWeight:"bold",fontSize:"14px"},children:e+1}),n("div",{style:{flex:1},children:[n("div",{style:{fontWeight:"600",marginBottom:"4px"},children:["Item #",e+1]}),i("div",{style:{fontSize:"14px",color:"#666"},children:"This is a sample item with some descriptive text. It demonstrates how Virtuoso efficiently renders large lists."})]}),i("div",{style:{padding:"4px 8px",backgroundColor:"#e3f2fd",color:"#1976d2",borderRadius:"12px",fontSize:"12px",fontWeight:"500"},children:e%3===0?"New":e%3===1?"Active":"Pending"})]}),w=()=>{const e=Array.from({length:200},(d,t)=>t);return console.log("VirtuosoContent rendered with items:",e.length,"first item:",e[0]),i("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i(x,{data:e,itemContent:(d,t)=>i(b,{index:t}),style:{height:"100%",minHeight:"1px"},overscan:5})})};export const Default={render:()=>{const[e,d]=r(!1),[t,o]=r("medium"),[s,a]=r(window.innerWidth),[p,l]=r(window.innerHeight);m.useEffect(()=>{const u=()=>{a(window.innerWidth),l(window.innerHeight)};return window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]);const h=s<=768;return n("div",{style:{overflow:"hidden",background:"#f0f0f0"},children:[n("div",{style:{position:"fixed",top:20,right:20,zIndex:9999,background:"white",padding:"16px",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"14px",fontFamily:"monospace"},children:[n("div",{style:{marginBottom:"8px"},children:["Open: ",i("strong",{children:e?"Yes":"No"})]}),n("div",{style:{marginBottom:"8px"},children:["Current Size: ",i("strong",{children:t})]}),n("div",{style:{marginBottom:"8px"},children:["Viewport:"," ",n("strong",{children:[h?"Mobile":"Desktop"," (",s,"px)"]})]}),i("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"8px"},children:i("button",{onClick:()=>d(!e),style:{padding:"4px 8px",background:e?"#dc3545":"#28a745",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"12px"},children:e?"Close":"Open"})}),n("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[i("button",{onClick:()=>o("medium"),disabled:!e,style:{padding:"4px 8px",background:t==="medium"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Medium"}),i("button",{onClick:()=>o("full"),disabled:!e,style:{padding:"4px 8px",background:t==="full"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Full"})]})]}),i(c,{open:e,size:t,onChangeSize:o,children:i(f,{})})]})}},WithVirtuoso={render:()=>{const[e,d]=r(!1),[t,o]=r("full"),[s,a]=r(window.innerWidth);m.useEffect(()=>{const l=()=>{a(window.innerWidth)};return window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[]);const p=s<=768;return n("div",{style:{overflow:"hidden",background:"#f0f0f0"},children:[n("div",{style:{position:"fixed",top:20,right:20,zIndex:9999,background:"white",padding:"16px",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"14px",fontFamily:"monospace"},children:[n("div",{style:{marginBottom:"8px"},children:["Open: ",i("strong",{children:e?"Yes":"No"})]}),n("div",{style:{marginBottom:"8px"},children:["Current Size: ",i("strong",{children:t})]}),n("div",{style:{marginBottom:"8px"},children:["Viewport:"," ",n("strong",{children:[p?"Mobile":"Desktop"," (",s,"px)"]})]}),n("div",{style:{marginBottom:"8px"},children:["Items: ",i("strong",{children:"200"})]}),i("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"8px"},children:i("button",{onClick:()=>d(!e),style:{padding:"4px 8px",background:e?"#dc3545":"#28a745",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"12px"},children:e?"Close":"Open"})}),n("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[i("button",{onClick:()=>o("medium"),disabled:!e,style:{padding:"4px 8px",background:t==="medium"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Medium"}),i("button",{onClick:()=>o("full"),disabled:!e,style:{padding:"4px 8px",background:t==="full"?"#007bff":"#6c757d",color:"white",border:"none",borderRadius:"4px",cursor:e?"pointer":"not-allowed",fontSize:"12px",opacity:e?1:.6},children:"Full"})]})]}),i(c,{open:e,size:t,onChangeSize:o,children:i(w,{})})]})}};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{useState as l}from"react";import c,{defaultRebookingOptions as o}from"../RebookingRadioGroup";import t from"../RebookingNotes";export default{title:"Components/RebookingNotes",component:t};const p=s=>{const[a,n]=l(o[1].value);return e("div",{className:"map layout",children:i("aside",{className:"sidebar",children:[e(c,{showTitle:!1,options:o,checked:a,onChange:r=>{n(r.target.value)}}),e(t,{...s})]})})};export const Base=p.bind({});Base.args={value:"A tech floor plan is a blueprint of a building or office space that outlines the locations of technology infrastructure such as network cables, servers, and computer workstations. The plan typically includes details such as the placement of electrical outlets, network ports, and other essential components necessary for efficient technology operations."};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useState as c}from"react";import l,{defaultRebookingOptions as o}from"../RebookingRadioGroup";import t from"../RebookingNotes";export default{title:"Components/RebookingNotes",component:t};const p=s=>{const[n,a]=c(o[1].value);return e("div",{className:"map layout",children:r("aside",{className:"sidebar",children:[e(l,{showTitle:!1,options:o,checked:n,onChange:i=>{a(i.target.value)}}),e(t,{...s})]})})};export const Base=p.bind({});Base.args={value:"A tech floor plan is a blueprint of a building or office space that outlines the locations of technology infrastructure such as network cables, servers, and computer workstations. The plan typically includes details such as the placement of electrical outlets, network ports, and other essential components necessary for efficient technology operations."};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useState as i}from"react";import{action as m}from"@storybook/addon-actions";import t,{defaultRebookingOptions as p}from"../RebookingRadioGroup";import{useToast as c}from"../Toast/index";export default{title:"Components/RebookingRadioGroup",component:t};const d=e=>{const[s,n]=i(e.options[1].value),r=c();return o("div",{className:"map layout",children:o("aside",{className:"sidebar",children:o(t,{...e,checked:s,onChange:a=>{n(a.target.value),r.open("Changes saved",2e3),m("onChange")(a.target.value)}})})})};export const Base=d.bind({});Base.args={showTitle:!1,options:p};
1
+ import{jsx as o}from"react/jsx-runtime";import{useState as p}from"react";import{action as r}from"@storybook/addon-actions";import n,{defaultRebookingOptions as c}from"../RebookingRadioGroup";import{useToast as m}from"../Toast/index";export default{title:"Components/RebookingRadioGroup",component:n};const d=e=>{const[a,s]=p(e.options[1].value),i=m();return o("div",{className:"map layout",children:o("aside",{className:"sidebar",children:o(n,{...e,checked:a,onChange:t=>{s(t.target.value),i.open("Changes saved",2e3),r("onChange")(t.target.value)}})})})};export const Base=d.bind({});Base.args={showTitle:!1,options:c};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as i}from"react/jsx-runtime";import{useState as m}from"react";import n from"../Button";import p from"../Modal";import e from"../Share";export default{title:"Components/Share",component:e};const a=r=>{const[s,t]=m(!1);return i("div",{className:"layout sb-layout",children:[o(n,{onClick:()=>t(!0),children:"Share"}),o(p,{type:"share",open:s,onClickClose:()=>t(!1),children:o(e,{...r})})]})};export const Base=a.bind({});Base.args={title:"4imprint",url:"https://demo.expofp.com/?4imprint"};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useState as n}from"react";import l from"../Button";import m from"../Modal";import t from"../Share";export default{title:"Components/Share",component:t};const p=r=>{const[s,o]=n(!1);return a("div",{className:"layout sb-layout",children:[e(l,{onClick:()=>o(!0),children:"Share"}),e(m,{type:"share",open:s,onClickClose:()=>o(!1),children:e(t,{...r})})]})};export const Base=p.bind({});Base.args={title:"4imprint",url:"https://demo.expofp.com/?4imprint"};
@@ -1 +1 @@
1
- import{jsx as i,jsxs as m,Fragment as d}from"react/jsx-runtime";import{useState as r}from"react";import{action as o}from"@storybook/addon-actions";import t from"../SidebarActions";export default{title:"Components/SidebarActions",component:t};const k=e=>{const[n,a]=r(e.inBookmark),[s,c]=r(e.visited);return i(d,{children:i("div",{className:"map layout",children:i("aside",{className:"sidebar",children:m("div",{className:"sidebar-container",children:[i(t,{...e,inBookmark:n,visited:s,onClickBookmark:()=>{o("onClickBookmark")(!0),a(!n)},onClickVisited:()=>{o("onClickVisited")(!0),c(!s)},onClickDirections:()=>o("onClickDirections")(!0),onClickShare:()=>o("onClickShare")(!0)}),"content"]})})})})};export const Base=k.bind({});Base.args={inBookmark:!1,visited:!1,showDirections:!0,showShare:!0,showVisited:!0};
1
+ import{jsx as o,jsxs as c,Fragment as k}from"react/jsx-runtime";import{useState as r}from"react";import{action as i}from"@storybook/addon-actions";import a from"../SidebarActions";export default{title:"Components/SidebarActions",component:a};const m=e=>{const[s,n]=r(e.inBookmark),[t,d]=r(e.visited);return o(k,{children:o("div",{className:"map layout",children:o("aside",{className:"sidebar",children:c("div",{className:"sidebar-container",children:[o(a,{...e,inBookmark:s,visited:t,onClickBookmark:()=>{i("onClickBookmark")(!0),n(!s)},onClickVisited:()=>{i("onClickVisited")(!0),d(!t)},onClickDirections:()=>i("onClickDirections")(!0),onClickShare:()=>i("onClickShare")(!0)}),"content"]})})})})};export const Base=m.bind({});Base.args={inBookmark:!1,visited:!1,showDirections:!0,showShare:!0,showVisited:!0};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useToast as o}from"../Toast/index";export default{title:"Components/Toast"};const t=()=>{const s=o();return e("div",{className:"map layout",children:e("aside",{className:"sidebar",children:e("button",{onClick:()=>{s.open("Changes saved",2e3)},children:"Open Toast"})})})};export const Base=t.bind({});
1
+ import{jsx as t}from"react/jsx-runtime";import{useToast as o}from"../Toast/index";export default{title:"Components/Toast"};const s=()=>{const e=o();return t("div",{className:"map layout",children:t("aside",{className:"sidebar",children:t("button",{onClick:()=>{e.open("Changes saved",2e3)},children:"Open Toast"})})})};export const Base=s.bind({});
@@ -1 +1 @@
1
- import{jsx as e,Fragment as n}from"react/jsx-runtime";import{useState as a}from"react";import o from"../ToggleButton";export default{title:"Components/ToggleButton",component:o,parameters:{usePadding:!0}};const i=r=>{const[t,s]=a(!1);return e(n,{children:e(o,{...r,toggled:t,onClick:()=>s(!t)})})};export const Base=i.bind({});Base.args={label:"Visited"};
1
+ import{jsx as t,Fragment as n}from"react/jsx-runtime";import{useState as s}from"react";import o from"../ToggleButton";export default{title:"Components/ToggleButton",component:o,parameters:{usePadding:!0}};const l=r=>{const[e,a]=s(!1);return t(n,{children:t(o,{...r,toggled:e,onClick:()=>a(!e)})})};export const Base=l.bind({});Base.args={label:"Visited"};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useContext as l,useState as m}from"react";import o from"../ToggleSwitch";import c from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/ToggleSwitch",component:o};const i=s=>{const[e,r]=m(!0),a=l(c);return n("div",{className:"layout sb-layout",children:[t(o,{...s,className:a,onChange:r,value:e}),t("br",{}),t("br",{}),t("strong",{children:"Current checked: "}),e.toString()]})};export const Base=i.bind({});Base.args={name:"test",label:"Test label"};
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useContext as l,useState as i}from"react";import s from"../ToggleSwitch";import m from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/ToggleSwitch",component:s};const c=o=>{const[t,r]=i(!0),a=l(m);return n("div",{className:"layout sb-layout",children:[e(s,{...o,className:a,onChange:r,value:t}),e("br",{}),e("br",{}),e("strong",{children:"Current checked: "}),t.toString()]})};export const Base=c.bind({});Base.args={name:"test",label:"Test label"};
@@ -1 +1 @@
1
- import{jsx as t,Fragment as e,jsxs as o}from"react/jsx-runtime";import s from"../TouchHand";export default{title:"Components/TouchHand",component:s};const a=m=>o(e,{children:[t("iframe",{src:"https://sample.expofp.com",className:"sb-iframe",title:"test"}),t(s,{})]});export const Base=a.bind({});
1
+ import{jsx as s,Fragment as e,jsxs as a}from"react/jsx-runtime";import t from"../TouchHand";export default{title:"Components/TouchHand",component:t};const o=r=>a(e,{children:[s("iframe",{src:"https://sample.expofp.com",className:"sb-iframe",title:"test"}),s(t,{})]});export const Base=o.bind({});
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useState as i}from"react";import{action as m}from"@storybook/addon-actions";import a from"../WayfindingFloorSelector";export default{title:"Components/WayfindingFloorSelector",component:a};const s=r=>{const[n,t]=i(r.current);return o("div",{className:"map layout",children:o("aside",{className:"sidebar",children:o(a,{...r,current:n,onClickFloor:e=>{t(e),m("onClickFloor")(e)}})})})};export const Base=s.bind({});Base.args={floors:[{id:1,name:"1"},{id:2,name:"2"},{id:3,name:"3"},{id:4,name:"4"},{id:5,name:"5"}],current:{id:2,name:"2"}};
1
+ import{jsx as o}from"react/jsx-runtime";import{useState as a}from"react";import{action as c}from"@storybook/addon-actions";import n from"../WayfindingFloorSelector";export default{title:"Components/WayfindingFloorSelector",component:n};const l=e=>{const[t,i]=a(e.current);return o("div",{className:"map layout",children:o("aside",{className:"sidebar",children:o(n,{...e,current:t,onClickFloor:r=>{i(r),c("onClickFloor")(r)}})})})};export const Base=l.bind({});Base.args={floors:[{id:1,name:"1"},{id:2,name:"2"},{id:3,name:"3"},{id:4,name:"4"},{id:5,name:"5"}],current:{id:2,name:"2"}};
@@ -1 +1 @@
1
- import{jsx as r,jsxs as c}from"react/jsx-runtime";import{useState as s}from"react";import{action as o}from"@storybook/addon-actions";import h from"../WayfindingTemplate";export default{title:"Templates/Wayfinding",component:h};const T=a=>{const[t,m]=s(a.options[1].value),[n,u]=s(a.options[6].value),[C,v]=s(a.currentFloor),p=e=>{const d=[],l=Math.round(e/1.4);let i=new Date;i.setMinutes(i.getMinutes()+l/60);const x=i.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return d.push({title:"Travel time",text:l<60?"< 1 min":`~ ${Math.round(l/60)} min`},{title:"Distance",text:Math.round(e)+" m"},{title:"Est arrival",text:x}),d},b=e=>{m(e),o("onChangeFrom")(e)},f=e=>{u(e),o("onChangeTo")(e)},g=()=>{m(n),u(t),o("onSwitch")(!0)},F=e=>{v(e),o("onClickFloor")(e)};return r("div",{className:"map layout",children:c("aside",{className:"sidebar",children:[r(h,{...a,fromValue:t,toValue:n,onChangeFrom:b,onChangeTo:f,infoItems:p(400),onClickInfo:()=>o("onClickInfo")(!0),onSwitch:g,currentFloor:C,onClickFloor:F}),c("div",{className:"sb-data",children:[r("strong",{children:"From-To:"}),t||"undefined"," - ",n||"undefined"]})]})})};export const Base=T.bind({});Base.args={options:[{value:"4241",label:"42Chat"},{value:"6243",label:"Airways Freight Corporation"},{value:"434",label:"American Tradeshow Services LLC"},{value:"442",label:"ASM Global"},{value:"25442",label:"Austin Convention Center"},{value:"854",label:"Boomer Commerce"},{value:"65",label:"CadmiumCD"},{value:"y635",label:"Choose Chicago"},{value:"6353",label:"CompuSystems, Inc."},{value:"6455",label:"Corporate Events New England"}],showInfo:!0,routeFound:!0,floors:[{id:1,name:"1"},{id:2,name:"2"},{id:3,name:"3"},{id:4,name:"4"},{id:5,name:"5"}],currentFloor:{id:1,name:"1"}};
1
+ import{jsx as l,jsxs as d}from"react/jsx-runtime";import{useState as s}from"react";import{action as o}from"@storybook/addon-actions";import h from"../WayfindingTemplate";export default{title:"Templates/Wayfinding",component:h};const x=t=>{const[n,m]=s(t.options[1].value),[a,u]=s(t.options[6].value),[C,f]=s(t.currentFloor),p=e=>{const c=[],r=Math.round(e/1.4);let i=new Date;i.setMinutes(i.getMinutes()+r/60);const T=i.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return c.push({title:"Travel time",text:r<60?"< 1 min":`~ ${Math.round(r/60)} min`},{title:"Distance",text:Math.round(e)+" m"},{title:"Est arrival",text:T}),c},g=e=>{m(e),o("onChangeFrom")(e)},v=e=>{u(e),o("onChangeTo")(e)},F=()=>{m(a),u(n),o("onSwitch")(!0)},b=e=>{f(e),o("onClickFloor")(e)};return l("div",{className:"map layout",children:d("aside",{className:"sidebar",children:[l(h,{...t,fromValue:n,toValue:a,onChangeFrom:g,onChangeTo:v,infoItems:p(400),onClickInfo:()=>o("onClickInfo")(!0),onSwitch:F,currentFloor:C,onClickFloor:b}),d("div",{className:"sb-data",children:[l("strong",{children:"From-To:"}),n||"undefined"," - ",a||"undefined"]})]})})};export const Base=x.bind({});Base.args={options:[{value:"4241",label:"42Chat"},{value:"6243",label:"Airways Freight Corporation"},{value:"434",label:"American Tradeshow Services LLC"},{value:"442",label:"ASM Global"},{value:"25442",label:"Austin Convention Center"},{value:"854",label:"Boomer Commerce"},{value:"65",label:"CadmiumCD"},{value:"y635",label:"Choose Chicago"},{value:"6353",label:"CompuSystems, Inc."},{value:"6455",label:"Corporate Events New England"}],showInfo:!0,routeFound:!0,floors:[{id:1,name:"1"},{id:2,name:"2"},{id:3,name:"3"},{id:4,name:"4"},{id:5,name:"5"}],currentFloor:{id:1,name:"1"}};
@@ -1 +1 @@
1
- export default class e{x1;x2;y1;y2;constructor(t,i,y,x){this.x1=t,this.y1=i,this.x2=y,this.y2=x}static fromSvgLineElement(t){return new e(t.x1.baseVal.value,t.y1.baseVal.value,t.x2.baseVal.value,t.y2.baseVal.value)}static fromRect(t){return[new e(t.x1,t.y1,t.x2,t.y1),new e(t.x2,t.y1,t.x2,t.y2),new e(t.x2,t.y2,t.x1,t.y2),new e(t.x1,t.y2,t.x1,t.y1)]}intersects(t){const i=this.x1>this.x2||this.x1===this.x2&&this.y2<this.y1,y=i?this.x2:this.x1,x=i?this.x1:this.x2,h=i?this.y2:this.y1,a=i?this.y1:this.y2;return x>=t.x1&&y<=t.x2&&a>=t.y1&&h<=t.y2}}
1
+ export default class s{x1;x2;y1;y2;constructor(t,x,y,h){this.x1=t,this.y1=x,this.x2=y,this.y2=h}static fromSvgLineElement(t){return new s(t.x1.baseVal.value,t.y1.baseVal.value,t.x2.baseVal.value,t.y2.baseVal.value)}static fromRect(t){return[new s(t.x1,t.y1,t.x2,t.y1),new s(t.x2,t.y1,t.x2,t.y2),new s(t.x2,t.y2,t.x1,t.y2),new s(t.x1,t.y2,t.x1,t.y1)]}intersects(t){const x=this.x1>this.x2||this.x1===this.x2&&this.y2<this.y1,y=x?this.x2:this.x1,h=x?this.x1:this.x2,a=x?this.y2:this.y1,e=x?this.y1:this.y2;return h>=t.x1&&y<=t.x2&&e>=t.y1&&a<=t.y2}}
@@ -1 +1 @@
1
- export default class r{x1;y1;x2;y2;x3;y3;x4;y4;constructor(t,i,h,x,y,s,n,o){this.x1=t,this.y1=i,this.x2=h,this.y2=x,this.x3=y,this.y3=s,this.x4=n,this.y4=o}static fromRect(t){return new r(t.x1,t.y1,t.x2,t.y1,t.x2,t.y2,t.x1,t.y2)}rotate(t,i,h){if(!t)return this;const x=Math.sin(t),y=Math.cos(t);function s(e,u){const a=e-i,c=u-h,m=a*y+c*x,p=c*y-a*x;return e=i+m,u=h+p,[e,u]}const[n,o]=s(this.x1,this.y1),[f,l]=s(this.x2,this.y2),[w,M]=s(this.x3,this.y3),[d,g]=s(this.x4,this.y4);return new r(n,o,f,l,w,M,d,g)}toTriangles(){return[[[this.x1,this.y1],[this.x2,this.y2],[this.x4,this.y4]],[[this.x2,this.y2],[this.x4,this.y4],[this.x3,this.y3]]]}}
1
+ export default class n{x1;y1;x2;y2;x3;y3;x4;y4;constructor(t,i,h,x,y,s,o,c){this.x1=t,this.y1=i,this.x2=h,this.y2=x,this.x3=y,this.y3=s,this.x4=o,this.y4=c}static fromRect(t){return new n(t.x1,t.y1,t.x2,t.y1,t.x2,t.y2,t.x1,t.y2)}rotate(t,i,h){if(!t)return this;const x=Math.sin(t),y=Math.cos(t);function s(e,r){const u=e-i,a=r-h,m=u*y+a*x,p=a*y-u*x;return e=i+m,r=h+p,[e,r]}const[o,c]=s(this.x1,this.y1),[f,w]=s(this.x2,this.y2),[l,D]=s(this.x3,this.y3),[M,d]=s(this.x4,this.y4);return new n(o,c,f,w,l,D,M,d)}toTriangles(){return[[[this.x1,this.y1],[this.x2,this.y2],[this.x4,this.y4]],[[this.x2,this.y2],[this.x4,this.y4],[this.x3,this.y3]]]}}
@@ -1 +1 @@
1
- export default class y{x1;x2;y1;y2;get h(){return Math.abs(this.y2-this.y1)}get w(){return Math.abs(this.x2-this.x1)}get cx(){return(this.x1+this.x2)/2}get cy(){return(this.y1+this.y2)/2}constructor(t,i,s,h){if(t>s){const r=t;t=s,s=r}if(i>h){const r=i;i=h,h=r}if(t>s||i>h)throw new Error(`Invalid rect ${t} ${s} ${i} ${h}`);this.x1=t,this.y1=i,this.x2=s,this.y2=h}static fromX1y1x2y2(t,i,s,h){return new y(t,i,s,h)}static fromXywh(t,i,s,h){return this.fromX1y1x2y2(t,i,t+s,i+h)}static fromCxcywh(t,i,s,h){return this.fromX1y1x2y2(t-s/2,i-h/2,t+s/2,i+h/2)}static fromXywhRect(t){return this.fromX1y1x2y2(t.x,t.y,t.x+t.w,t.y+t.h)}static fromSvgRectElement(t){return this.fromXywh(t.x.baseVal.value,t.y.baseVal.value,t.width.baseVal.value,t.height.baseVal.value)}static fromMultiple(t){return y.fromX1y1x2y2(Math.min(...t.map(i=>i.x1)),Math.min(...t.map(i=>i.y1)),Math.max(...t.map(i=>i.x2)),Math.max(...t.map(i=>i.y2)))}contains(t){return t.x1>=this.x1&&t.x2<=this.x2&&t.y1>=this.y1&&t.y2<=this.y2}intersects(t){const i=Math.max(this.x1,t.x1),s=Math.min(this.x2,t.x2),h=Math.max(this.y1,t.y1),r=Math.min(this.y2,t.y2);return s>=i&&r>=h}getIntersection(t){const i=Math.max(this.x1,t.x1),s=Math.min(this.x2,t.x2),h=Math.max(this.y1,t.y1),r=Math.min(this.y2,t.y2);return s>=i&&r>=h?y.fromX1y1x2y2(i,h,s,r):y.fromX1y1x2y2(0,0,0,0)}getRotated90(){return y.fromCxcywh(this.cx,this.cy,this.h,this.w)}normalize(t,i){const s=this.x1/t,h=this.x2/t,r=this.y1/i,x=this.y2/i;return y.fromX1y1x2y2(s,r,h,x)}withPadding(t,i=t){return this.w<t*2||this.h<i*2?this:y.fromCxcywh(this.cx,this.cy,this.w-t*2,this.h-i*2)}scale(t){return y.fromX1y1x2y2(this.x1*t,this.y1*t,this.x2*t,this.y2*t)}getArea(){return this.w*this.h}clone(){return new y(this.x1,this.y1,this.x2,this.y2)}translate(t,i){return this.x1+=t,this.x2+=t,this.y1+=i,this.y2+=i,this}equals(t){return t.x1===this.x1&&t.x2===this.x2&&t.y1===this.y1&&t.y2===this.y2}toString(){return this.x1+","+this.y1+","+this.w+","+this.h}containsPoint(t,i){return t>=this.x1&&t<=this.x2&&i>=this.y1&&i<=this.y2}}
1
+ export default class n{x1;x2;y1;y2;get h(){return Math.abs(this.y2-this.y1)}get w(){return Math.abs(this.x2-this.x1)}get cx(){return(this.x1+this.x2)/2}get cy(){return(this.y1+this.y2)/2}constructor(t,i,s,h){if(t>s){const r=t;t=s,s=r}if(i>h){const r=i;i=h,h=r}if(t>s||i>h)throw new Error(`Invalid rect ${t} ${s} ${i} ${h}`);this.x1=t,this.y1=i,this.x2=s,this.y2=h}static fromX1y1x2y2(t,i,s,h){return new n(t,i,s,h)}static fromXywh(t,i,s,h){return this.fromX1y1x2y2(t,i,t+s,i+h)}static fromCxcywh(t,i,s,h){return this.fromX1y1x2y2(t-s/2,i-h/2,t+s/2,i+h/2)}static fromXywhRect(t){return this.fromX1y1x2y2(t.x,t.y,t.x+t.w,t.y+t.h)}static fromSvgRectElement(t){return this.fromXywh(t.x.baseVal.value,t.y.baseVal.value,t.width.baseVal.value,t.height.baseVal.value)}static fromMultiple(t){return n.fromX1y1x2y2(Math.min(...t.map(i=>i.x1)),Math.min(...t.map(i=>i.y1)),Math.max(...t.map(i=>i.x2)),Math.max(...t.map(i=>i.y2)))}contains(t){return t.x1>=this.x1&&t.x2<=this.x2&&t.y1>=this.y1&&t.y2<=this.y2}intersects(t){const i=Math.max(this.x1,t.x1),s=Math.min(this.x2,t.x2),h=Math.max(this.y1,t.y1),r=Math.min(this.y2,t.y2);return s>=i&&r>=h}getIntersection(t){const i=Math.max(this.x1,t.x1),s=Math.min(this.x2,t.x2),h=Math.max(this.y1,t.y1),r=Math.min(this.y2,t.y2);return s>=i&&r>=h?n.fromX1y1x2y2(i,h,s,r):n.fromX1y1x2y2(0,0,0,0)}getRotated90(){return n.fromCxcywh(this.cx,this.cy,this.h,this.w)}normalize(t,i){const s=this.x1/t,h=this.x2/t,r=this.y1/i,y=this.y2/i;return n.fromX1y1x2y2(s,r,h,y)}withPadding(t,i=t){return this.w<t*2||this.h<i*2?this:n.fromCxcywh(this.cx,this.cy,this.w-t*2,this.h-i*2)}scale(t){return n.fromX1y1x2y2(this.x1*t,this.y1*t,this.x2*t,this.y2*t)}getArea(){return this.w*this.h}clone(){return new n(this.x1,this.y1,this.x2,this.y2)}translate(t,i){return this.x1+=t,this.x2+=t,this.y1+=i,this.y2+=i,this}equals(t){return t.x1===this.x1&&t.x2===this.x2&&t.y1===this.y1&&t.y2===this.y2}toString(){return this.x1+","+this.y1+","+this.w+","+this.h}containsPoint(t,i){return t>=this.x1&&t<=this.x2&&i>=this.y1&&i<=this.y2}}
@@ -1 +1 @@
1
- import t from"./validate-data";const o=window.__data;t(o);export default o;
1
+ import t from"./validate-data";const a=window.__data;t(a);export default a;
@@ -1 +1 @@
1
- import*as a from"d3-selection";import P from".";import w from"../core/Rect";import _ from"../tools/logger";import A from"../tools/settings";import{STRING_META_DELIMITER as u}from"../constants";import{extractMetaFromString as v}from"../utils/extractMetaFromString";const r=new Map;function g(t,n=""){if(r.has(n))return r.get(n);const e=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;e.firstChild.tagName==="parsererror"&&_.error("Parsed svg with error: ",c);const s=new Map;return a.select(e).selectAll("style").each(function(){const o=this.textContent,l=/\.([a-z0-9.]+)\s*{[^}]*fill\s*:\s*([^};]+);[^}]*}/gi;let p;for(;(p=l.exec(o))!==null;){const x=p[1],y=p[2];s.set(x,y)}}),a.select(e).selectAll("*[class]").each(function(){const o=this;o.style.fill=s.get(o.className.baseVal)}),b(e),r.set(n,e),e}let c=g(window.__fp);const m=window.__viewbox,d=a.select(c).select("rect#VIEWBOX").node(),h=c.viewBox.baseVal,i=w.fromXywh(h.x,h.y,h.width,h.height);let f;m?(f=w.fromXywh(m.x,m.y,m.width,m.height),d?.remove()):d?(f=w.fromSvgRectElement(d),d.remove()):f=i.withPadding(-i.w*.05,-i.h*.05),a.select(c).attr("width",i.w),a.select(c).attr("height",i.h),_.log("svgArea",f,"svgViewBox",i),A.wayfinding=!!(!P.hideDirections&&window.__wfData);let M=window.__fpLayersMode?a.select(c).selectAll("[data-floor]").nodes().map(t=>(t.remove(),{name:t.dataset.floor,rect:w.fromSvgRectElement(t)})).sort():[];export{f as svgArea,i as svgViewBox,M as floors};export function getTrianglesFromFpPaths(t,n){const e=gtePathByIndex(t,n);for(const o of e.positions)o[1]=Math.abs(o[1]),o.length=2;const s=[];for(const o of e.cells)s.push([e.positions[o[0]],e.positions[o[1]],e.positions[o[2]]]);return s}export let gtePathByIndex=(t,n="")=>{try{return window[`__fpPaths${n}`][t]}catch{return window.__fpPaths[t]}},getLayerSvg=(t="")=>typeof t=="string"?r.has(t)?r.get(t):window[`__fp${t}`]?g(window[`__fp${t}`],t):r.get(""):t.rootParent?r.has(t.rootParent.name)?r.get(t.rootParent.name):window[`__fp${t.rootParent.name}`]?g(window[`__fp${t.rootParent.name}`],t.rootParent.name):r.get(""):window[`__fp${t.name}`]?g(window[`__fp${t.name}`],t.name):r.get("");function b(t){a.select(t).selectAll("[id], [data-name]").each(function(){const n=this;let e={};const s=n.getAttribute("data-name");if(s&&s.includes(u)){const{meta:l}=v(s);e={...e,...l}}const o=n.getAttribute("id");if(o&&o.includes(u)){const{meta:l}=v(o);e={...e,...l}}n.setAttribute("data-meta",JSON.stringify(e))})}
1
+ import*as a from"d3-selection";import b from".";import w from"../core/Rect";import u from"../tools/logger";import A from"../tools/settings";import{STRING_META_DELIMITER as _}from"../constants";import{extractMetaFromString as v}from"../utils/extractMetaFromString";const r=new Map;function g(t,n=""){if(r.has(n))return r.get(n);const s=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;s.firstChild.tagName==="parsererror"&&u.error("Parsed svg with error: ",l);const e=new Map;return a.select(s).selectAll("style").each(function(){const i=this.textContent,x=/\.([a-z0-9.]+)\s*{[^}]*fill\s*:\s*([^};]+);[^}]*}/gi;let h;for(;(h=x.exec(i))!==null;){const P=h[1],M=h[2];e.set(P,M)}}),a.select(s).selectAll("*[class]").each(function(){const i=this;i.style.fill=e.get(i.className.baseVal)}),S(s),r.set(n,s),s}let l=g(window.__fp);const m=window.__viewbox,d=a.select(l).select("rect#VIEWBOX").node(),p=l.viewBox.baseVal,c=w.fromXywh(p.x,p.y,p.width,p.height);let f;m?(f=w.fromXywh(m.x,m.y,m.width,m.height),d?.remove()):d?(f=w.fromSvgRectElement(d),d.remove()):f=c.withPadding(-c.w*.05,-c.h*.05),a.select(l).attr("width",c.w),a.select(l).attr("height",c.h),u.log("svgArea",f,"svgViewBox",c),A.wayfinding=!!(!b.hideDirections&&window.__wfData);let E=window.__fpLayersMode?a.select(l).selectAll("[data-floor]").nodes().map(t=>(t.remove(),{name:t.dataset.floor,rect:w.fromSvgRectElement(t)})).sort():[];export{f as svgArea,c as svgViewBox,E as floors};export function getTrianglesFromFpPaths(t,n){const o=gtePathByIndex(t,n);for(const e of o.positions)e[1]=Math.abs(e[1]),e.length=2;const s=[];for(const e of o.cells)s.push([o.positions[e[0]],o.positions[e[1]],o.positions[e[2]]]);return s}export let gtePathByIndex=(t,n="")=>{try{return window[`__fpPaths${n}`][t]}catch{return window.__fpPaths[t]}},getLayerSvg=(t="")=>typeof t=="string"?r.has(t)?r.get(t):window[`__fp${t}`]?g(window[`__fp${t}`],t):r.get(""):t.rootParent?r.has(t.rootParent.name)?r.get(t.rootParent.name):window[`__fp${t.rootParent.name}`]?g(window[`__fp${t.rootParent.name}`],t.rootParent.name):r.get(""):window[`__fp${t.name}`]?g(window[`__fp${t.name}`],t.name):r.get("");function S(t){a.select(t).selectAll("[id], [data-name]").each(function(){const n=this;let o={};const s=n.getAttribute("data-name");if(s&&s.includes(_)){const{meta:i}=v(s);o={...o,...i}}const e=n.getAttribute("id");if(e&&e.includes(_)){const{meta:i}=v(e);o={...o,...i}}n.setAttribute("data-meta",JSON.stringify(o))})}
@@ -1 +1 @@
1
- import f from"../tools/logger";import n from"../tools/settings";import m from"../utils/is-debug";import{isLocalStorageAvailable as d}from"../utils/localStorage";export default function c(e){const i=n.EXPO;if(e.exhibitors||(e.exhibitors=[]),e.booths||(e.booths=[]),e.categories||(e.categories=[]),e.hide3dMapDefault===void 0&&(e.hide3dMapDefault=!1),e.exhibitors.length>0)for(const t of e.booths)delete t.reserved;if(e.free&&(e.noFeatured=!0,e.expoFpAd=!0),(t=>{if(t){const o=new Date().getTime(),r=new Date(t).getTime();o<r&&(e.isTrial=!0)}})(e.trialExpiresAt),m||d&&localStorage.getItem("validate")==="1")for(const t of Object.keys(e)){if(e[t][Symbol.iterator]!=="function")continue;const o=new Set;for(const r of e[t]){const l=Object.keys(r);for(const a of l){const s=r[a];s===""?o.add(`data.${t}.${a} is sometimes empty string. Don't pass empty strings.`):s===!1?o.add(`data.${t}.${a} is sometimes false. Don't pass false for booleans.`):Array.isArray(s)&&s.length===0&&o.add(`data.${t}.${a} is sometimes empty array. Don't pass empty arrays.`)}}o.forEach(r=>f.warn(r))}if(!e.logo&&i==="expo"&&(e.logo="../logo.svg"),e.logo||(e.logo="../"+i+"-logo.png"),!e.homeUrl&&i==="jtrade19"&&(e.homeUrl="https://www.jtrade.co.uk/"),e.boothTerm||(e.boothTerm="Booth"),e.exhibitorTermPlural||(e.exhibitorTermPlural="Exhibitors"),e.levelTerm||(e.levelTerm=""),i==="expo"){const t=[2567,2704,2681,2592,2740,2709,2482,2609,2734,2696,2840,2566,2736];e.exhibitors.filter(o=>o.logo&&t.indexOf(o.id)!==-1).forEach(o=>o.advertise=!0)}for(const t of e.booths){const o=t;if(!t.special){const r=t;typeof r.onHold>"u"&&(r.onHold=o.isOnHold),typeof r.availColor>"u"&&(r.availColor=o.availableColor),typeof r.type>"u"&&(r.type=o.boothTypeName)}t.exhibitors=t.exhibitors||[]}for(const t of e.exhibitors){const o=t;typeof t.featured>"u"&&(t.featured=o.isFeatured),typeof t.email>"u"&&(t.email=o.publicEmail),t.categories=t.categories||[]}e.noFeatured&&e.exhibitors.forEach(t=>t.featured=!1)}
1
+ import n from"../tools/logger";import m from"../tools/settings";import c from"../utils/is-debug";import{isLocalStorageAvailable as b}from"../utils/localStorage";export default function h(e){const t=m.EXPO;if(e.exhibitors||(e.exhibitors=[]),e.booths||(e.booths=[]),e.categories||(e.categories=[]),e.hide3dMapDefault===void 0&&(e.hide3dMapDefault=!1),e.exhibitors.length>0)for(const o of e.booths)delete o.reserved;if(e.free&&(e.noFeatured=!0,e.expoFpAd=!0),(o=>{if(o){const i=new Date().getTime(),r=new Date(o).getTime();i<r&&(e.isTrial=!0)}})(e.trialExpiresAt),c||b&&localStorage.getItem("validate")==="1")for(const o of Object.keys(e)){if(e[o][Symbol.iterator]!=="function")continue;const i=new Set;for(const r of e[o]){const l=Object.keys(r);for(const s of l){const f=r[s];f===""?i.add(`data.${o}.${s} is sometimes empty string. Don't pass empty strings.`):f===!1?i.add(`data.${o}.${s} is sometimes false. Don't pass false for booleans.`):Array.isArray(f)&&f.length===0&&i.add(`data.${o}.${s} is sometimes empty array. Don't pass empty arrays.`)}}i.forEach(r=>n.warn(r))}if(!e.logo&&t==="expo"&&(e.logo="../logo.svg"),e.logo||(e.logo="../"+t+"-logo.png"),!e.homeUrl&&t==="jtrade19"&&(e.homeUrl="https://www.jtrade.co.uk/"),e.boothTerm||(e.boothTerm="Booth"),e.exhibitorTermPlural||(e.exhibitorTermPlural="Exhibitors"),e.levelTerm||(e.levelTerm=""),t==="expo"){const o=[2567,2704,2681,2592,2740,2709,2482,2609,2734,2696,2840,2566,2736];e.exhibitors.filter(i=>i.logo&&o.indexOf(i.id)!==-1).forEach(i=>i.advertise=!0)}for(const o of e.booths){const i=o;if(!o.special){const r=o;typeof r.onHold>"u"&&(r.onHold=i.isOnHold),typeof r.availColor>"u"&&(r.availColor=i.availableColor),typeof r.type>"u"&&(r.type=i.boothTypeName)}o.exhibitors=o.exhibitors||[]}for(const o of e.exhibitors){const i=o;typeof o.featured>"u"&&(o.featured=i.isFeatured),typeof o.email>"u"&&(o.email=i.publicEmail),o.categories=o.categories||[]}e.noFeatured&&e.exhibitors.forEach(o=>o.featured=!1)}
@@ -1 +1 @@
1
- import"array-flat-polyfill";import r from"document-ready";import o from"./floorplan.loader";import"./public-path.js";import t from"./tools/report-error";import{getWebInstrumentations as s,initializeFaro as i}from"@grafana/faro-web-sdk";import{TracingInstrumentation as p}from"@grafana/faro-web-tracing";window.addEventListener("error",t),window.__efpStyleElements=[],i({url:process.env.FARO_COLLECTOR_URL,app:{name:process.env.FARO_APP_NAME,version:process.env.FARO_APP_VERSION,environment:process.env.FARO_APP_ENVIRONMENT},instrumentations:[...s(),new p],sessionTracking:{session:{attributes:{publicPath:__webpack_public_path__}}}}),r(async()=>{const e=document.querySelectorAll(".expofp-floorplan");for(const n of Array.from(e))window.___fp=new o({element:n})});export const FloorPlan=o;
1
+ import"array-flat-polyfill";import n from"document-ready";import o from"./floorplan.loader";import"./public-path.js";import t from"./tools/report-error";import{getWebInstrumentations as i,initializeFaro as s}from"@grafana/faro-web-sdk";import{TracingInstrumentation as p}from"@grafana/faro-web-tracing";window.addEventListener("error",t),window.__efpStyleElements=[],s({url:process.env.FARO_COLLECTOR_URL,app:{name:process.env.FARO_APP_NAME,version:process.env.FARO_APP_VERSION,environment:process.env.FARO_APP_ENVIRONMENT},instrumentations:[...i(),new p],sessionTracking:{session:{attributes:{publicPath:__webpack_public_path__}}}}),n(async()=>{const r=document.querySelectorAll(".expofp-floorplan");for(const e of Array.from(r))window.___fp=new o({element:e})});export const FloorPlan=o;
@@ -1 +1 @@
1
- import{PREVIEW_MODE_ATTRIBUTE as F}from"./constants";import d from"./tools/base-runtime-url";import{buildRebookingUrl as M,getRebookingToken as V,retainRebookingToken as z}from"./tools/rebookingUrl";import{loadCss as v,loadFont as f,loadJs as k}from"./tools/loaders";import R from"./tools/logger";import{sleep as H}from"./utils";import{initI18n as G}from"./utils/i18n";import I from"./utils/is-webview";import{loadCustomCss as N}from"./utils/loadCustomCss";import{loadIcons as Q}from"./utils/loadIcons";import q from"./utils/mergeExhibitors";import S from"./utils/use-shadow";import $ from"./utils/is-debug";import J from"./utils/is-localhost";import{initSentry as K}from"./tools/sentry";function t(){throw new Error("FloorPlan not ready")}export default class W{options;renderTarget;_ready;element;eventId;dataUrl;noOverlay;offHistory;ignoreQuery;allowConsent;onInit;disableRuntimeAlerts;efpStyleLoadHandler;resolveReady;icons=new Map;enableRotation=!0;alwaysShowSidebar=!1;get ready(){return this._ready}get previewMode(){return this.options.previewMode||this.element.hasAttribute(F)}onBoothClick;onBookmarkClick;onVisitedClick;onCategoryClick;onFpConfigured;onDirection;onDetails;onExhibitorCustomButtonClick;onGetCoordsClick;onMarkerClick;selectBooth(e){t()}selectExhibitor(e){t()}selectRoute(e,i){t()}getOptimizedRoutes(e){t()}selectCurrentPosition(e,i,h){t()}setBookmarks(e){t()}setEntitiesBookmarks(e){t()}setEntitiesVisited(e){t()}setMarkers(e){t()}updateLayerVisibility(e,i){t()}getCenterCoordinates(){t()}applyParameters(e){t()}exhibitorsList(){t()}boothsList(){t()}categoriesList(){t()}selectCategory(e){t()}getVisibility(){t()}setVisibility(e){t()}findLocation(){t()}zoomIn(){t()}zoomOut(){t()}zoomTo(e,i){t()}switchView(){t()}fitBounds(){t()}getBounds(e){t()}getBoothRect(e){t()}convertToGeo(e,i){t()}unstable_destroy(){t()}highlightExhibitors(e){t()}highlightBooths(e){t()}onCurrentPositionChanged(e){t()}search(e){t()}getFloors(){t()}onFloorActivated(e){t()}activateFloor(e){t()}showPathway(e,i){t()}showPathwayOnly(e,i){t()}hidePathways(){t()}showSearch(){t()}changeLanguage(e){t()}isGpsTrackingEnabled(){t()}setGpsTrackingEnabled(e){t()}constructor(e){this.options=e,this.noOverlay=!!e.noOverlay,this.offHistory=!!e.offHistory,this.ignoreQuery=e.ignoreQuery,this.allowConsent=J&&!$?!1:e.allowConsent,this.onBoothClick=e.onBoothClick,this.onBookmarkClick=e.onBookmarkClick,this.onVisitedClick=e.onVisitedClick,this.onCategoryClick=e.onCategoryClick,this.onDetails=e.onDetails,this.onExhibitorCustomButtonClick=e.onExhibitorCustomButtonClick,this.onGetCoordsClick=e.onGetCoordsClick,this.onMarkerClick=e.onMarkerClick,this.onFpConfigured=e.onFpConfigured,this.onDirection=e.onDirection,this.onInit=e.onInit,this.onCurrentPositionChanged=e.onCurrentPositionChanged,this.onFloorActivated=e.onFloorActivated,this.disableRuntimeAlerts=e.disableRuntimeAlerts??!0,this._ready=new Promise((r,a)=>{this.resolveReady=r});const i=e.element;if(this.element=i,i.__expofp)throw new Error("Element already in use");if(i.__expofp=this,i.getAttribute("data-event-id")||i.getAttribute("data-event"))throw new Error("data-xxx attributes are removed, use options instead");const h=e.expo||e.event;if(!h)throw new Error("`expo` option is required");K({eventId:h||"",isWebview:I}),this.eventId=h,window.__efpEvent=h,window.__efpElement=i;const x=[...i.classList];i.classList.remove(...x),i.classList.add("expofp-floorplan-default",...x);const U=document.head||document.getElementsByTagName("head")[0],E=document.createElement("style");U.prepend(E),E.textContent=".expofp-floorplan-default { width: 100%; height: 100%;}";const p=document.createElement("div");p.style.height="100%",p.style.width="100%",i.appendChild(p);let l;if(I&&(this.allowConsent=!0),e.allowConsent===void 0){const r=new URL(window.location.href).searchParams.get("allowConsent");r&&(this.allowConsent=r==="true")}if(S){l=p.attachShadow({mode:"open"});const r=l,a=document;r.createElement=(...n)=>a.createElement(...n),r.createElementNS=(...n)=>a.createElementNS(...n),r.createTextNode=(...n)=>a.createTextNode(...n)}else l=p;const g=document.createElement("div");if(g.style.height="100%",g.style.width="100%",l.appendChild(g),S&&Object.defineProperty(g,"ownerDocument",{value:l}),this.renderTarget=g,i.getAttribute("data-data-url"))throw new Error("data-xxx attributes are removed, use options instead");const y=e.legacyDataUrlBase;window.__dataUrlBase=y,this.dataUrl=y,R.log("Instantiating ExpoFP floorplan",e.element,h);const B=y+"data.js",L=y+"wf.data.js",_=y+"fp.svg.js",T=[k(L),k(B),k(_)];let b=0;this.efpStyleLoadHandler=function(r){const a=window.__efpStyleElements;for(;b<a.length;){const n=a[b];l.appendChild(n),b++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const u=this;(async function(){await Promise.all(T);let r=0;for(;window.__fpPending&&!window.__fp;)await H(2e3),await k(_+`?v=${++r}`);const a=window.__data;await G();const n=new URLSearchParams(window.location.search);let m,C;if(a?.trackerUrl)try{m=new URL(a.trackerUrl),C=m.searchParams.get("expoId")}catch(o){console.error(o)}const P=async o=>{if(!m||!C)return Promise.reject(new Error("trackerUrl or expoId is missing"));const s=new URL(o.dataUrl,m.origin),c=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:C,token:decodeURIComponent(n.get("t"))})});let w=[];c.ok&&(w=(await c.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:w}};if(n.get("heatmap")==="true")try{if(n.get("type")==="yah")n.get("subtype")==="kiosk"?await P({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await P({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,s)=>({...o,name:`QR Code #${s+1}`})});else{const o=new URL("/api/fp-stats/get",m.origin);o.searchParams.set("expoId",C),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(n.get("t")));const s=new URL("api/fp-stats/get",m.origin);s.searchParams.set("expoId",C),s.searchParams.set("type","exview"),s.searchParams.set("t",decodeURIComponent(n.get("t")));const[c,w]=await Promise.all([fetch(o.toString()),fetch(s.toString())]),[D,j]=await Promise.all([c.json(),w.json()]);window.__heatmapData={booths:D,exhibitors:j}}}catch(o){console.error("Heatmap: Initialization error",o)}try{const o=V();if(o){z(o);const s=M("api/rebooking-data",{rt:o,expoKey:h}),c=await fetch(s);if(c.ok){const w=await c.json();q(a,w)}a.isRebooking=c.ok}else a.isRebooking=!1}catch(o){console.error(o)}const O=[v(d+"vendor/sanitize-css/sanitize.css",l),v(d+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",l),v(d+"vendor/mapbox/mapbox-gl.css",l),f("Oswald",d+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),f("Oswald",d+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),f("Inter",d+"fonts/inter-400.woff2",{weight:400}),f("Inter",d+"fonts/inter-500.woff2",{weight:500}),f("Inter",d+"fonts/inter-600.woff2",{weight:600}),f("efp-symbols",d+"fonts/efp-symbols.woff",{weight:400}),N(a),Q(u.icons)];await Promise.all(O),u.enableRotation=a?.enableRotation??!1,u.alwaysShowSidebar=a?.alwaysShowSidebar??!1,R.log("Data loaded");const{default:A}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());i.firstChild&&i.firstChild!==p;)i.removeChild(i.firstChild);Object.setPrototypeOf(u,A.prototype).init()})()}}
1
+ import{PREVIEW_MODE_ATTRIBUTE as M}from"./constants";import l from"./tools/base-runtime-url";import{buildRebookingUrl as V,getRebookingToken as H,retainRebookingToken as z}from"./tools/rebookingUrl";import{loadCss as x,loadFont as g,loadJs as b}from"./tools/loaders";import U from"./tools/logger";import{sleep as G}from"./utils";import{initI18n as N}from"./utils/i18n";import S from"./utils/is-webview";import{loadCustomCss as Q}from"./utils/loadCustomCss";import{loadIcons as q}from"./utils/loadIcons";import W from"./utils/mergeExhibitors";import L from"./utils/use-shadow";import $ from"./utils/is-debug";import J from"./utils/is-localhost";import{initSentry as K}from"./tools/sentry";function t(){throw new Error("FloorPlan not ready")}export default class Y{options;renderTarget;_ready;element;eventId;dataUrl;noOverlay;offHistory;ignoreQuery;allowConsent;onInit;disableRuntimeAlerts;efpStyleLoadHandler;resolveReady;icons=new Map;enableRotation=!0;alwaysShowSidebar=!1;get ready(){return this._ready}get previewMode(){return this.options.previewMode||this.element.hasAttribute(M)}onBoothClick;onBookmarkClick;onVisitedClick;onCategoryClick;onFpConfigured;onDirection;onDetails;onExhibitorCustomButtonClick;onGetCoordsClick;onMarkerClick;selectBooth(e){t()}selectExhibitor(e){t()}selectRoute(e,a){t()}getOptimizedRoutes(e){t()}selectCurrentPosition(e,a,h){t()}setBookmarks(e){t()}setEntitiesBookmarks(e){t()}setEntitiesVisited(e){t()}setMarkers(e){t()}updateLayerVisibility(e,a){t()}getCenterCoordinates(){t()}applyParameters(e){t()}exhibitorsList(){t()}boothsList(){t()}categoriesList(){t()}selectCategory(e){t()}getVisibility(){t()}setVisibility(e){t()}findLocation(){t()}zoomIn(){t()}zoomOut(){t()}zoomTo(e,a){t()}switchView(){t()}fitBounds(){t()}getBounds(e){t()}getBoothRect(e){t()}convertToGeo(e,a){t()}unstable_destroy(){t()}highlightExhibitors(e){t()}highlightBooths(e){t()}onCurrentPositionChanged(e){t()}search(e){t()}getFloors(){t()}onFloorActivated(e){t()}activateFloor(e){t()}showPathway(e,a){t()}showPathwayOnly(e,a){t()}hidePathways(){t()}showSearch(){t()}changeLanguage(e){t()}isGpsTrackingEnabled(){t()}setGpsTrackingEnabled(e){t()}constructor(e){this.options=e,this.noOverlay=!!e.noOverlay,this.offHistory=!!e.offHistory,this.ignoreQuery=e.ignoreQuery,this.allowConsent=J&&!$?!1:e.allowConsent,this.onBoothClick=e.onBoothClick,this.onBookmarkClick=e.onBookmarkClick,this.onVisitedClick=e.onVisitedClick,this.onCategoryClick=e.onCategoryClick,this.onDetails=e.onDetails,this.onExhibitorCustomButtonClick=e.onExhibitorCustomButtonClick,this.onGetCoordsClick=e.onGetCoordsClick,this.onMarkerClick=e.onMarkerClick,this.onFpConfigured=e.onFpConfigured,this.onDirection=e.onDirection,this.onInit=e.onInit,this.onCurrentPositionChanged=e.onCurrentPositionChanged,this.onFloorActivated=e.onFloorActivated,this.disableRuntimeAlerts=e.disableRuntimeAlerts??!0,this._ready=new Promise((d,i)=>{this.resolveReady=d});const a=e.element;if(this.element=a,a.__expofp)throw new Error("Element already in use");if(a.__expofp=this,a.getAttribute("data-event-id")||a.getAttribute("data-event"))throw new Error("data-xxx attributes are removed, use options instead");const h=e.expo||e.event;if(!h)throw new Error("`expo` option is required");K({eventId:h||"",isWebview:S}),this.eventId=h,window.__efpEvent=h,window.__efpElement=a;const E=[...a.classList];a.classList.remove(...E),a.classList.add("expofp-floorplan-default",...E);const B=document.head||document.getElementsByTagName("head")[0],P=document.createElement("style");B.prepend(P),P.textContent=".expofp-floorplan-default { width: 100%; height: 100%;}";const m=document.createElement("div");m.style.height="100%",m.style.width="100%",a.appendChild(m);let s;if(S&&(this.allowConsent=!0),e.allowConsent===void 0){const i=new URL(window.location.href).searchParams.get("allowConsent");i&&(this.allowConsent=i==="true")}if(L){s=m.attachShadow({mode:"open"});const d=s,i=document;d.createElement=(...r)=>i.createElement(...r),d.createElementNS=(...r)=>i.createElementNS(...r),d.createTextNode=(...r)=>i.createTextNode(...r)}else s=m;const y=document.createElement("div");if(y.style.height="100%",y.style.width="100%",s.appendChild(y),L&&Object.defineProperty(y,"ownerDocument",{value:s}),this.renderTarget=y,a.getAttribute("data-data-url"))throw new Error("data-xxx attributes are removed, use options instead");const u=e.legacyDataUrlBase;window.__dataUrlBase=u,this.dataUrl=u,U.log("Instantiating ExpoFP floorplan",e.element,h);const O=u+"data.js",j=u+"wf.data.js",I=u+"fp.svg.js",D=[b(j),b(O),b(I)];let v=0;this.efpStyleLoadHandler=function(d){const i=window.__efpStyleElements;for(;v<i.length;){const r=i[v];s.appendChild(r),v++}},window.addEventListener("__efpStyleLoad",this.efpStyleLoadHandler);const k=this;(async function(){await Promise.all(D);let i=0;for(;window.__fpPending&&!window.__fp;)await G(2e3),await b(I+`?v=${++i}`);const r=window.__data;await N();const f=new URLSearchParams(window.location.search);let w,C;if(r?.trackerUrl)try{w=new URL(r.trackerUrl),C=w.searchParams.get("expoId")}catch(o){console.error(o)}const R=async o=>{if(!w||!C)return Promise.reject(new Error("trackerUrl or expoId is missing"));const n=new URL(o.dataUrl,w.origin),c=await fetch(n.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expoId:C,token:decodeURIComponent(f.get("t"))})});let p=[];c.ok&&(p=(await c.json()).map(o.dataMapper)),window.__heatmapDataYah={yah:p}};if(f.get("heatmap")==="true")try{if(f.get("type")==="yah")f.get("subtype")==="kiosk"?await R({dataUrl:"/api/kiosks/list/viewer",dataMapper:o=>({...o,id:o.key,name:`Kiosk ${o.key}`})}):await R({dataUrl:"/api/v1/you-are-here/qr-code/list/viewer",dataMapper:(o,n)=>({...o,name:`QR Code #${n+1}`})});else{const o=new URL("/api/fp-stats/get",w.origin);o.searchParams.set("expoId",C),o.searchParams.set("type","booview"),o.searchParams.set("t",decodeURIComponent(f.get("t")));const n=new URL("api/fp-stats/get",w.origin);n.searchParams.set("expoId",C),n.searchParams.set("type","exview"),n.searchParams.set("t",decodeURIComponent(f.get("t")));const[c,p]=await Promise.all([fetch(o.toString()),fetch(n.toString())]),[_,A]=await Promise.all([c.json(),p.json()]);window.__heatmapData={booths:_,exhibitors:A}}}catch(o){console.error("Heatmap: Initialization error",o)}try{const o=H();if(o){z(o);const n=V("api/rebooking-data",{rt:o,expoKey:h}),c=await fetch(n);if(c.ok){const p=await c.json();W(r,p)}r.isRebooking=c.ok}else r.isRebooking=!1}catch(o){console.error(o)}const T=[x(l+"vendor/sanitize-css/sanitize.css",s),x(l+"vendor/perfect-scrollbar/css/perfect-scrollbar.css",s),x(l+"vendor/mapbox/mapbox-gl.css",s),g("Oswald",l+"fonts/oswald-v17-cyrillic_latin-300.woff",{weight:300}),g("Oswald",l+"fonts/oswald-v17-cyrillic_latin-500.woff",{weight:500}),g("Inter",l+"fonts/inter-400.woff2",{weight:400}),g("Inter",l+"fonts/inter-500.woff2",{weight:500}),g("Inter",l+"fonts/inter-600.woff2",{weight:600}),g("efp-symbols",l+"fonts/efp-symbols.woff",{weight:400}),Q(r),q(k.icons)];await Promise.all(T),k.enableRotation=r?.enableRotation??!1,k.alwaysShowSidebar=r?.alwaysShowSidebar??!1,U.log("Data loaded");const{default:F}=await import("./floorplan.ready");for(document.querySelectorAll(".expofp-floorplan-loader").forEach(o=>o.remove());a.firstChild&&a.firstChild!==m;)a.removeChild(a.firstChild);Object.setPrototypeOf(k,F.prototype).init()})()}}
@@ -1 +1 @@
1
- import{jsx as y,Fragment as k,jsxs as A}from"react/jsx-runtime";import{reaction as L}from"mobx";import{createRoot as T}from"react-dom/client";import{install as C}from"resize-observer";import R from"./components/Layout";import O from"./floorplan.loader";import{applyParameters as $,destroyHistory as M,initRouting as V}from"./services/routing";import r from"./store";import{Route as g,findBooth as b,separateExternalIds as x}from"./store/RouteStore";import{destroyUiHandlers as z}from"./store/init/init-ui";import{GaEventActions as S,destroyGtag as G,sendEventToGa as E,setConsentSettings as j}from"./tools/gtag";import q from"./tools/report-error";import{resetGlobalVariables as N}from"./tools/reset";import _ from"./tools/track-event";import{fpGeo as P}from"./components/Mapbox/utils/fpGeo";import{convertLocalToGps as H,isValidPointCoords as u}from"./utils/gps";import{DistanceOptimizedRoute as w}from"./utils/wayfinding";import{mapEntity as f}from"./utils/mapEntity";import{LANG_KEY as W,PATHWAY_KEY as D}from"./constants";import{getStorage as v}from"./utils/entity-storage";import{ErrorBoundary as K}from"@sentry/react";import{POISelectorsSchema as B,BoundsSchema as U,ZoomToOptionsSchema as I}from"./schemas/sdk.schemas";import X from"debug";const p=X("efp:api");C();export default class Y extends O{root;init(){this.ignoreQuery||V(this.offHistory),_("load"),r.fp=this,j(this.allowConsent),E(S.Load,""),this.root=T(this.renderTarget),this.root.render(y(K,{children:y(R,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),E(S.Rendered,""),L(()=>r.layerStore.layersLoaded,()=>{this.resolveReady(),r.initialized||this.onInit?.(this),r.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){n("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const o=r.boothStore.booths.filter(s=>typeof e=="string"?s.name===e||s.externalId===e:e.includes(s.name)||e.includes(s.externalId));r.selectBooth(o)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){n("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){r.uiState.menu=!1,r.searchStore.resetSearchBox(),r.uiState.details=null;return}const o=r.exhibitorStore.exhibitors.filter(i=>typeof e=="string"?i.name===e||i.externalId===e:e.includes(i.name)||e.includes(i.externalId));if(!o?.length)return;if(typeof e=="string"){r.selectExhibitor(o[0]),r.moveToList([o[0]]);return}const s=o.flatMap(i=>i.booths.map(t=>t.layer)),{description:a}=s.reduce((i,t)=>(i.freq[t.description]=(i.freq[t.description]||0)+1,i.freq[t.description]>i.maxCount&&(i.maxCount=i.freq[t.description],i.mostFrequent=t),i),{freq:{},mostFrequent:s[0],maxCount:0}).mostFrequent;r.layerStore.updateVisibility(a,!0),r.uiState.menu=!1,r.searchStore.resetSearchBox(),r.uiState.details=null,r.uiState.list={type:"filter",items:o,query:{key:"exhibitors",value:o.map(i=>i.externalId).join(",")}},r.moveToList()}highlightExhibitors(e){Array.isArray(e)||n("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),r.boothStore.highlightedByExternalIds=[],r.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||n("highlightBooths","Parameter must be an array of strings.","EFP000300"),r.exhibitorStore.highlightedByExternalIds=[],r.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||n("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:o,exhibitorExternalIds:s}=x(e);r.boothStore.highlightedByExternalIds=[...o],r.exhibitorStore.highlightedByExternalIds=[...s]}selectRoute(e,o){if(Array.isArray(e)){let s=[...e];const a=s.shift(),i=s.pop(),t=8;if(s.length>t&&(s=s.slice(0,t),n("selectRoute",`The maximum number of waypoints is ${t}.`,"EFP000400")),!a||!i){n("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}r.routeStore.selectRoute(new g(m(a),m(i),s.map(m)));return}e||n("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),r.routeStore.selectRoute(new g(m(e),m(o)))}getOptimizedRoutes(e){Array.isArray(e)||n("getOptimizedRoutes","Parameter must be an array.","EFP000500");const o=e.map(m).filter(i=>!!i);if(!o.length)return e;const s=o.reduce((i,t)=>{const l=t.layer?.name;return l&&(i.has(l)||i.set(l,new Set),i.get(l).add(t)),i},new Map);let a=e;return s.size?a=Array.from(s.values(),i=>new w(Array.from(i,t=>[t.name,t.rect]))).flatMap(i=>i.waypoints):a=new w(o.map(i=>[i.name,i.rect])).waypoints,[{waypoints:a}]}selectCurrentPosition(e,o,s){const a=u(e.x)&&u(e.y),i=u(e.lng)&&u(e.lat);!a&&!i&&n("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),r.routeStore.selectCurrentPosition(e,o,s),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&n("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(o=>{const s=r.exhibitorStore.exhibitors.find(a=>a.name===o.name||a.externalId===o.externalId);s&&(s.bookmarked=o.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){n("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const o=["exhibitor","event","speaker","booth"],s=e.find(t=>!t.type||!o.includes(t.type));if(s){n("setEntitiesBookmarks",`Invalid entity type: ${s.type}. Must be one of: ${o.join(", ")}.`,"EFP000702");return}const a=v("bookmarked"),i={exhibitor:{existingIds:new Set(a.exhibitors||[]),finder:t=>r.exhibitorStore.findExhibitor(t),replacer:t=>r.exhibitorStore.replaceBookmarked(t)},event:{existingIds:new Set(a.events||[]),finder:t=>r.eventStore.findByNameOrSlug(t),replacer:t=>r.eventStore.replaceBookmarked(t)},speaker:{existingIds:new Set(a.speakers||[]),finder:t=>r.speakerStore.speakers.find(l=>l.name===t||l.externalId===t||l.slug===t),replacer:t=>r.speakerStore.replaceBookmarked(t)},booth:{existingIds:new Set(a.booths||[]),finder:t=>{const l=r.boothStore.findBooth(t);return l?.exhibitors.length===0?l:void 0},replacer:t=>r.boothStore.replaceBookmarked(t)}};e.forEach(t=>{const l=i[t.type],d=t.name||t.externalId||"",h=l.finder(d);h?t.bookmarked?l.existingIds.add(h.id):l.existingIds.delete(h.id):console.warn(`Entity not found: ${t.type} with query "${d}"`)}),Object.values(i).forEach(t=>{t.replacer(Array.from(t.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){n("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const o=["exhibitor","event"],s=e.find(t=>!t.type||!o.includes(t.type));if(s){n("setEntitiesVisited",`Invalid entity type: ${s.type}. Must be one of: ${o.join(", ")}.`,"EFP000704");return}const a=v("visited"),i={exhibitor:{existingIds:new Set(a.exhibitors||[]),finder:t=>r.exhibitorStore.findExhibitor(t),replacer:t=>r.exhibitorStore.replaceVisited(t)},event:{existingIds:new Set(a.events||[]),finder:t=>r.eventStore.findByNameOrSlug(t),replacer:t=>r.eventStore.replaceVisited(t)}};e.forEach(t=>{const l=i[t.type],d=t.name||t.externalId||"",h=l.finder(d);h?t.visited?l.existingIds.add(h.id):l.existingIds.delete(h.id):console.warn(`Entity not found: ${t.type} with query "${d}"`)}),Object.values(i).forEach(t=>{t.replacer(Array.from(t.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){n("setMarkers","Invalid input.","EFP000800");return}r.routeStore.setMarkers(e)}selectMarker(e,o=!0){return typeof e!="string"&&n("selectMarker","The identifier must be passed.","EFP000900"),r.routeStore.selectMarker(e,o)}drawCircles(e){Array.isArray(e)||n("drawCircles","Invalid input.","EFP000A00"),r.uiState.debugCircles=e}checkRoutes(){r.routeStore.checkRoutes()}updateLayerVisibility(e,o){typeof e!="string"&&n("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),o||n("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),r.layerStore.updateVisibility(e,o)}getCenterCoordinates(){return r.fp.getCenterCoordinates()}exhibitorsList(){return r.exhibitorStore.exhibitors.map(e=>f(e))}boothsList(){return r.boothStore.booths.map(e=>f(e))}categoriesList(){return r.categoryStore.categories.map(e=>f(e))}selectCategory(e){if(e==null||typeof e!="string"){r.searchStore.selectSearch();return}const o=e?.toLowerCase(),s=r.categoryStore.categories.find(({name:a,slug:i})=>a?.toLowerCase()===o||i?.toLowerCase()===o);if(!s){n("selectCategory",`Category ${e} not found.`,"EFP000C01");return}r.selectCategory(s)}applyParameters(e){typeof e!="string"&&n("applyParameters","A query string must be passed.","EFP000D00"),$(e)}getVisibility(){return r.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&n("setVisibility","The parameter must be passed.","EFP000E00"),r.uiState.setVisibility(e)}findLocation(){r.routeStore.findLocation()}zoomIn(){r.uiState.zoomIn()}zoomOut(){r.uiState.zoomOut()}switchView(){r.mapboxStore.activateMapbox()}zoomTo(e,o){p("zoomTo called with selectors=%O options=%O",e,o);const s=B.safeParse(e);if(!s.success){n("zoomTo",s.error.message,"EFP001600");return}const a=I.safeParse(o);if(!a.success){n("zoomTo",a.error.message,"EFP001601");return}const i=this.getBounds(e);i&&this.fitBounds(i,o)}getBounds(e){p("getBounds called with selectors=%O",e);const o=B.safeParse(e);if(!o.success){n("getBounds",o.error.message,"EFP001400");return}const s=[];if(e.booths?.forEach(i=>{let t;i.externalId?t=r.boothStore.boothByExternalId.get(i.externalId):i.name&&(t=r.boothStore.boothByName.get(i.name.toLowerCase())),t?.rect&&s.push(t.rect)}),e.exhibitors?.forEach(i=>{let t;i.externalId?t=r.exhibitorStore.exhibitorByExternalId.get(i.externalId):i.name&&(t=r.exhibitorStore.exhibitorByName.get(i.name.toLowerCase())),t?.booths?.forEach(l=>{l.rect&&s.push(l.rect)})}),s.length===0)return;const a=Rect.fromMultiple(s);return{leftTop:{x:a.x1,y:a.y1},rightBottom:{x:a.x2,y:a.y2}}}fitBounds(e,o){if(p("fitBounds called with bounds=%O options=%O",e,o),!e){r.uiState.fitBounds();return}const s=U.safeParse(e);if(!s.success){n("fitBounds",s.error.message,"EFP001500");return}const a=I.safeParse(o);if(!a.success){n("fitBounds",a.error.message,"EFP001501");return}let i;if(o?.padding){const t=o.padding;i=Rect.fromX1y1x2y2(e.leftTop.x-t,e.leftTop.y-t,e.rightBottom.x+t,e.rightBottom.y+t)}else i=Rect.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);r.uiState.moveToRect=i}getBoothRect(e){return typeof e!="string"&&n("getBoothRect","A booth name must be passed.","EFP000F00"),b(e)?.rect}convertToGeo(e,o){if(!P?.properties?.config){n("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!o){n("convertToGeo","Both coordinates must be passed.","EFP001001");return}return H(e,o,P.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;N(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",q),M(),z(),G(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&n("search","A search string must be passed.","EFP001100"),r.fuzzySearchEngineStore.loadEngine().then(()=>(r.searchStore.selectSearch(e),r.uiState.fuzzySearchItems.map(o=>({item:f(o.item),score:o.score}))))}getFloors(){return r.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){n("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const o=this.getFloors();if(e.name){const s=o.find(a=>a.name===e.name||a.shortName===e.name);if(!s){n("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(s.active)return;this.updateLayerVisibility(s.name,!0);return}if(e.index!==null){const s=o[e.index]?.name;if(!s){n("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(o[e.index].active)return;this.updateLayerVisibility(s,!0);return}}showPathway(e,o){const s=new URLSearchParams;if(s.set(D,e),o?.length){const{boothExternalIds:a,exhibitorExternalIds:i}=x(o);a.length>0&&s.set("booths",a.join(",")),i.length>0&&s.set("exhibitors",i.join(","))}this.applyParameters(s.toString())}showPathwayOnly(e,o){this.activateFloor({name:o}),r.layerStore.showPathWay(e),r.uiState.setPathwayOnlyMode(!0);const s=r.layerStore.findLayer(e),a=r.layerStore.findLayer(o),i=s?.rect||s?.viewbox?s:a;if(i?.rect||i?.viewbox){const t=i.viewbox??i.rect;r.uiState.moveToRect=Rect.fromX1y1x2y2(t.x1,t.y1,t.x2,t.y2)}}hidePathways(){this.highlightBooths([]),r.layerStore.hidePathways(),r.uiState.setPathwayOnlyMode(!1)}showSearch(){r.selectSearch("")}changeLanguage(e){const o=e?.toLowerCase?.();if(!r.languageStore.languageIds.has(o)){n("changeLanguage",`Language "${e}" was not found. Available languages: ${[...r.languageStore.languageIds].join(",")}`,"EFP001300");return}const s=new URLSearchParams;s.set(W,o),this.applyParameters(s.toString())}isGpsTrackingEnabled(){return r.routeStore.gpsEnabled}setGpsTrackingEnabled(e){r.routeStore.setGpsTrackingEnabled(e)}}function m(c){return typeof c=="string"?b(c):r.routeStore.getNearestBooth(c)}let F=0;function n(c,e,o){const s=`Error calling "${c}" SDK method.`,a=`${e.endsWith(".")?e:e+"."} More information at`;let i="https://developer.expofp.com/guide/java-script-api-reference";if(o&&(i+=`#error-${o}`),console.error(`${s} ${a} ${i}`),r.fp.disableRuntimeAlerts)return;r.uiState.setGlobalErrorMessage({title:s,body:A(k,{children:[a," ",y("a",{href:i,target:"_blank",rel:"noreferrer",children:i})]})}),clearTimeout(F);const t=8e3;F=window.setTimeout(()=>{const l=async()=>{r.uiState.globalErrorMessages.length>0&&(r.uiState.popGlobalErrorMessage(),await new Promise(d=>setTimeout(d,t/2)),l())};l()},t)}
1
+ import{jsx as y,Fragment as L,jsxs as k}from"react/jsx-runtime";import{reaction as T}from"mobx";import{createRoot as C}from"react-dom/client";import{install as R}from"resize-observer";import I from"./components/Layout";import V from"./floorplan.loader";import{applyParameters as M,destroyHistory as $,initRouting as z}from"./services/routing";import r from"./store";import{Route as p,findBooth as S,separateExternalIds as b}from"./store/RouteStore";import{destroyUiHandlers as j}from"./store/init/init-ui";import{GaEventActions as x,destroyGtag as G,sendEventToGa as E,setConsentSettings as _}from"./tools/gtag";import q from"./tools/report-error";import{resetGlobalVariables as N}from"./tools/reset";import H from"./tools/track-event";import{fpGeo as P}from"./components/Mapbox/utils/fpGeo";import{convertLocalToGps as Y,isValidPointCoords as d}from"./utils/gps";import{DistanceOptimizedRoute as w}from"./utils/wayfinding";import{mapEntity as m}from"./utils/mapEntity";import{LANG_KEY as X,PATHWAY_KEY as D}from"./constants";import{getStorage as v}from"./utils/entity-storage";import{ErrorBoundary as K}from"@sentry/react";import{POISelectorsSchema as B,BoundsSchema as O,ZoomToOptionsSchema as F}from"./schemas/sdk.schemas";import U from"debug";const g=U("efp:api");R();export default class W extends V{root;init(){this.ignoreQuery||z(this.offHistory),H("load"),r.fp=this,_(this.allowConsent),E(x.Load,""),this.root=C(this.renderTarget),this.root.render(y(K,{children:y(I,{offHistory:this.offHistory,allowConsent:this.allowConsent})})),E(x.Rendered,""),T(()=>r.layerStore.layersLoaded,()=>{this.resolveReady(),r.initialized||this.onInit?.(this),r.initialized=!0})}selectBooth(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectBooth","Parameter must be a string or an array of strings.","EFP000000");return}const s=r.boothStore.booths.filter(o=>typeof e=="string"?o.name===e||o.externalId===e:e.includes(o.name)||e.includes(o.externalId));r.selectBooth(s)}selectExhibitor(e){if(typeof e!="string"&&!Array.isArray(e)){a("selectExhibitor","Parameter must be a string or an array of strings.","EFP000100");return}if(!e?.length){r.uiState.menu=!1,r.searchStore.resetSearchBox(),r.uiState.details=null;return}const s=r.exhibitorStore.exhibitors.filter(i=>typeof e=="string"?i.name===e||i.externalId===e:e.includes(i.name)||e.includes(i.externalId));if(!s?.length)return;if(typeof e=="string"){r.selectExhibitor(s[0]),r.moveToList([s[0]]);return}const o=s.flatMap(i=>i.booths.map(t=>t.layer)),{description:n}=o.reduce((i,t)=>(i.freq[t.description]=(i.freq[t.description]||0)+1,i.freq[t.description]>i.maxCount&&(i.maxCount=i.freq[t.description],i.mostFrequent=t),i),{freq:{},mostFrequent:o[0],maxCount:0}).mostFrequent;r.layerStore.updateVisibility(n,!0),r.uiState.menu=!1,r.searchStore.resetSearchBox(),r.uiState.details=null,r.uiState.list={type:"filter",items:s,query:{key:"exhibitors",value:s.map(i=>i.externalId).join(",")}},r.moveToList()}highlightExhibitors(e){Array.isArray(e)||a("highlightExhibitors","Parameter must be an array of strings.","EFP000200"),r.boothStore.highlightedByExternalIds=[],r.exhibitorStore.highlightedByExternalIds=[...e]}highlightBooths(e){Array.isArray(e)||a("highlightBooths","Parameter must be an array of strings.","EFP000300"),r.exhibitorStore.highlightedByExternalIds=[],r.boothStore.highlightedByExternalIds=[...e]}highlightEntities(e){Array.isArray(e)||a("highlightEntities","Parameter must be an array of strings.","EFP000400");const{boothExternalIds:s,exhibitorExternalIds:o}=b(e);r.boothStore.highlightedByExternalIds=[...s],r.exhibitorStore.highlightedByExternalIds=[...o]}selectRoute(e,s){if(Array.isArray(e)){let o=[...e];const n=o.shift(),i=o.pop(),t=8;if(o.length>t&&(o=o.slice(0,t),a("selectRoute",`The maximum number of waypoints is ${t}.`,"EFP000400")),!n||!i){a("selectRoute","Invalid route format: When providing an array, it must include at least two points: a start and a destination.","EFP000401");return}r.routeStore.selectRoute(new p(u(n),u(i),o.map(u)));return}e||a("selectRoute","At a minimum, the starting point must be passed.","EFP000402"),r.routeStore.selectRoute(new p(u(e),u(s)))}getOptimizedRoutes(e){Array.isArray(e)||a("getOptimizedRoutes","Parameter must be an array.","EFP000500");const s=e.map(u).filter(i=>!!i);if(!s.length)return e;const o=s.reduce((i,t)=>{const l=t.layer?.name;return l&&(i.has(l)||i.set(l,new Set),i.get(l).add(t)),i},new Map);let n=e;return o.size?n=Array.from(o.values(),i=>new w(Array.from(i,t=>[t.name,t.rect]))).flatMap(i=>i.waypoints):n=new w(s.map(i=>[i.name,i.rect])).waypoints,[{waypoints:n}]}selectCurrentPosition(e,s,o){const n=d(e.x)&&d(e.y),i=d(e.lng)&&d(e.lat);!n&&!i&&a("selectCurrentPosition","A point must be passed. Either (x,y) or (lat,lng) are required.","EFP000600"),r.routeStore.selectCurrentPosition(e,s,o),this.onCurrentPositionChanged?.(e)}setBookmarks(e){(!Array.isArray(e)||!e.length)&&a("setBookmarks","Parameter must be an array.","EFP000700"),e.forEach(s=>{const o=r.exhibitorStore.exhibitors.find(n=>n.name===s.name||n.externalId===s.externalId);o&&(o.bookmarked=s.bookmarked)})}setEntitiesBookmarks(e){if(!Array.isArray(e)||!e.length){a("setEntitiesBookmarks","Parameter must be an array.","EFP000701");return}const s=["exhibitor","event","speaker","booth"],o=e.find(t=>!t.type||!s.includes(t.type));if(o){a("setEntitiesBookmarks",`Invalid entity type: ${o.type}. Must be one of: ${s.join(", ")}.`,"EFP000702");return}const n=v("bookmarked"),i={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:t=>r.exhibitorStore.findExhibitor(t),replacer:t=>r.exhibitorStore.replaceBookmarked(t)},event:{existingIds:new Set(n.events||[]),finder:t=>r.eventStore.findByNameOrSlug(t),replacer:t=>r.eventStore.replaceBookmarked(t)},speaker:{existingIds:new Set(n.speakers||[]),finder:t=>r.speakerStore.speakers.find(l=>l.name===t||l.externalId===t||l.slug===t),replacer:t=>r.speakerStore.replaceBookmarked(t)},booth:{existingIds:new Set(n.booths||[]),finder:t=>{const l=r.boothStore.findBooth(t);return l?.exhibitors.length===0?l:void 0},replacer:t=>r.boothStore.replaceBookmarked(t)}};e.forEach(t=>{const l=i[t.type],h=t.name||t.externalId||"",c=l.finder(h);c?t.bookmarked?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${t.type} with query "${h}"`)}),Object.values(i).forEach(t=>{t.replacer(Array.from(t.existingIds))})}setEntitiesVisited(e){if(!Array.isArray(e)||!e.length){a("setEntitiesVisited","Parameter must be an array.","EFP000703");return}const s=["exhibitor","event"],o=e.find(t=>!t.type||!s.includes(t.type));if(o){a("setEntitiesVisited",`Invalid entity type: ${o.type}. Must be one of: ${s.join(", ")}.`,"EFP000704");return}const n=v("visited"),i={exhibitor:{existingIds:new Set(n.exhibitors||[]),finder:t=>r.exhibitorStore.findExhibitor(t),replacer:t=>r.exhibitorStore.replaceVisited(t)},event:{existingIds:new Set(n.events||[]),finder:t=>r.eventStore.findByNameOrSlug(t),replacer:t=>r.eventStore.replaceVisited(t)}};e.forEach(t=>{const l=i[t.type],h=t.name||t.externalId||"",c=l.finder(h);c?t.visited?l.existingIds.add(c.id):l.existingIds.delete(c.id):console.warn(`Entity not found: ${t.type} with query "${h}"`)}),Object.values(i).forEach(t=>{t.replacer(Array.from(t.existingIds))})}setMarkers(e){if(!e||!Array.isArray(e.icons)||!Array.isArray(e.markers)){a("setMarkers","Invalid input.","EFP000800");return}r.routeStore.setMarkers(e)}selectMarker(e,s=!0){return typeof e!="string"&&a("selectMarker","The identifier must be passed.","EFP000900"),r.routeStore.selectMarker(e,s)}drawCircles(e){Array.isArray(e)||a("drawCircles","Invalid input.","EFP000A00"),r.uiState.debugCircles=e}checkRoutes(){r.routeStore.checkRoutes()}updateLayerVisibility(e,s){typeof e!="string"&&a("updateLayerVisibility","The layer name (string) must be passed.","EFP000B00"),s||a("updateLayerVisibility","Passing a false value to visible will have no effect.","EFP000B01"),r.layerStore.updateVisibility(e,s)}getCenterCoordinates(){return r.fp.getCenterCoordinates()}exhibitorsList(){return r.exhibitorStore.exhibitors.map(e=>m(e))}boothsList(){return r.boothStore.booths.map(e=>m(e))}categoriesList(){return r.categoryStore.categories.map(e=>m(e))}selectCategory(e){if(e==null||typeof e!="string"){r.searchStore.selectSearch();return}const s=e?.toLowerCase(),o=r.categoryStore.categories.find(({name:n,slug:i})=>n?.toLowerCase()===s||i?.toLowerCase()===s);if(!o){a("selectCategory",`Category ${e} not found.`,"EFP000C01");return}r.selectCategory(o)}applyParameters(e){typeof e!="string"&&a("applyParameters","A query string must be passed.","EFP000D00"),M(e)}getVisibility(){return r.uiState.visibility}setVisibility(e){(typeof e!="object"||!Object.keys(e).length)&&a("setVisibility","The parameter must be passed.","EFP000E00"),r.uiState.setVisibility(e)}findLocation(){r.routeStore.findLocation()}zoomIn(){r.uiState.zoomIn()}zoomOut(){r.uiState.zoomOut()}switchView(){r.mapboxStore.activateMapbox()}zoomTo(e,s){g("zoomTo called with selectors=%O options=%O",e,s);const o=B.safeParse(e);if(!o.success){a("zoomTo",o.error.message,"EFP001600");return}const n=F.safeParse(s);if(!n.success){a("zoomTo",n.error.message,"EFP001601");return}const i=this.getBounds(e);i&&this.fitBounds(i,s)}getBounds(e){g("getBounds called with selectors=%O",e);const s=B.safeParse(e);if(!s.success){a("getBounds",s.error.message,"EFP001400");return}const o=[];if(e.booths?.forEach(i=>{let t;i.externalId?t=r.boothStore.boothByExternalId.get(i.externalId):i.name&&(t=r.boothStore.boothByName.get(i.name.toLowerCase())),t?.rect&&o.push(t.rect)}),e.exhibitors?.forEach(i=>{let t;i.externalId?t=r.exhibitorStore.exhibitorByExternalId.get(i.externalId):i.name&&(t=r.exhibitorStore.exhibitorByName.get(i.name.toLowerCase())),t?.booths?.forEach(l=>{l.rect&&o.push(l.rect)})}),o.length===0)return;const n=Rect.fromMultiple(o);return{leftTop:{x:n.x1,y:n.y1},rightBottom:{x:n.x2,y:n.y2}}}fitBounds(e,s){if(g("fitBounds called with bounds=%O options=%O",e,s),!e){r.uiState.fitBounds();return}const o=O.safeParse(e);if(!o.success){a("fitBounds",o.error.message,"EFP001500");return}const n=F.safeParse(s);if(!n.success){a("fitBounds",n.error.message,"EFP001501");return}let i;if(s?.padding){const t=s.padding;i=Rect.fromX1y1x2y2(e.leftTop.x-t,e.leftTop.y-t,e.rightBottom.x+t,e.rightBottom.y+t)}else i=Rect.fromX1y1x2y2(e.leftTop.x,e.leftTop.y,e.rightBottom.x,e.rightBottom.y);r.uiState.moveToRect=i}getBoothRect(e){return typeof e!="string"&&a("getBoothRect","A booth name must be passed.","EFP000F00"),S(e)?.rect}convertToGeo(e,s){if(!P?.properties?.config){a("convertToGeo","The coordinates cannot be converted because the GPS configuration is not defined.","EFP001000");return}if(!e||!s){a("convertToGeo","Both coordinates must be passed.","EFP001001");return}return Y(e,s,P.properties.config)}unstable_destroy(){let e=window.__efpElement.firstChild;N(),window.removeEventListener("__efpStyleLoad",this.efpStyleLoadHandler),window.removeEventListener("error",q),$(),j(),G(),[...document.getElementsByTagName("script")].filter(o=>o.src.indexOf("/fp.svg")>-1||o.src.indexOf("/wf.data.js")>-1||o.src.indexOf("/data.js")>-1).forEach(o=>o.remove()),this.root.unmount(),e.remove()}search(e){return typeof e!="string"&&a("search","A search string must be passed.","EFP001100"),r.fuzzySearchEngineStore.loadEngine().then(()=>(r.searchStore.selectSearch(e),r.uiState.fuzzySearchItems.map(s=>({item:m(s.item),score:s.score}))))}getFloors(){return r.layerStore.floors.map(e=>({name:e.name,shortName:e.shortName,description:e.description,active:e.active,disabled:e.disabled,index:e.index}))}activateFloor(e){if(!e?.name&&e?.index==null){a("activateFloor","Invalid floorId. It must contain either a name or an index.","EFP001200");return}const s=this.getFloors();if(e.name){const o=s.find(n=>n.name===e.name||n.shortName===e.name);if(!o){a("activateFloor",`Floor with name "${e.name}" not found.`,"EFP001201");return}if(o.active)return;this.updateLayerVisibility(o.name,!0);return}if(e.index!==null){const o=s[e.index]?.name;if(!o){a("activateFloor",`Floor at index ${e.index} does not exist.`,"EFP001203");return}if(s[e.index].active)return;this.updateLayerVisibility(o,!0);return}}showPathway(e,s){const o=new URLSearchParams;if(o.set(D,e),s?.length){const{boothExternalIds:n,exhibitorExternalIds:i}=b(s);n.length>0&&o.set("booths",n.join(",")),i.length>0&&o.set("exhibitors",i.join(","))}this.applyParameters(o.toString())}showPathwayOnly(e,s){this.activateFloor({name:s}),r.layerStore.showPathWay(e),r.uiState.setPathwayOnlyMode(!0);const o=r.layerStore.findLayer(e),n=r.layerStore.findLayer(s),i=o?.rect||o?.viewbox?o:n;if(i?.rect||i?.viewbox){const t=i.viewbox??i.rect;r.uiState.moveToRect=Rect.fromX1y1x2y2(t.x1,t.y1,t.x2,t.y2)}}hidePathways(){this.highlightBooths([]),r.layerStore.hidePathways(),r.uiState.setPathwayOnlyMode(!1)}showSearch(){r.selectSearch("")}changeLanguage(e){const s=e?.toLowerCase?.();if(!r.languageStore.languageIds.has(s)){a("changeLanguage",`Language "${e}" was not found. Available languages: ${[...r.languageStore.languageIds].join(",")}`,"EFP001300");return}const o=new URLSearchParams;o.set(X,s),this.applyParameters(o.toString())}isGpsTrackingEnabled(){return r.routeStore.gpsEnabled}setGpsTrackingEnabled(e){r.routeStore.setGpsTrackingEnabled(e)}}function u(f){return typeof f=="string"?S(f):r.routeStore.getNearestBooth(f)}let A=0;function a(f,e,s){const o=`Error calling "${f}" SDK method.`,n=`${e.endsWith(".")?e:e+"."} More information at`;let i="https://developer.expofp.com/guide/java-script-api-reference";if(s&&(i+=`#error-${s}`),console.error(`${o} ${n} ${i}`),r.fp.disableRuntimeAlerts)return;r.uiState.setGlobalErrorMessage({title:o,body:k(L,{children:[n," ",y("a",{href:i,target:"_blank",rel:"noreferrer",children:i})]})}),clearTimeout(A);const t=8e3;A=window.setTimeout(()=>{const l=async()=>{r.uiState.globalErrorMessages.length>0&&(r.uiState.popGlobalErrorMessage(),await new Promise(h=>setTimeout(h,t/2)),l())};l()},t)}
@@ -1 +1 @@
1
- import{useRef as i,useCallback as o}from"react";export const useDragGesture=({onDragStart:n,onDragMove:c,onDragEnd:t})=>{const e=i(!1),u=o(r=>{e.current=!0,n(r.touches[0].clientY)},[n]),s=o(r=>{e.current&&c(r.touches[0].clientY)},[c]),a=o(()=>{e.current&&(e.current=!1,t())},[t]),l=o(r=>{e.current=!0,n(r.clientY)},[n]),h=o(r=>{e.current&&c(r.clientY)},[c]),M=o(()=>{e.current&&(e.current=!1,t())},[t]);return{touchHandlers:{onTouchStart:u,onTouchMove:s,onTouchEnd:a},mouseHandlers:{onMouseDown:l,onMouseMove:h,onMouseUp:M}}};
1
+ import{useRef as d,useCallback as t}from"react";export const useDragGesture=({onDragStart:n,onDragMove:c,onDragEnd:r})=>{const e=d(!1),s=t(u=>{e.current=!0,n(u.touches[0].clientY)},[n]),o=t(u=>{e.current&&c(u.touches[0].clientY)},[c]),l=t(()=>{e.current&&(e.current=!1,r())},[r]),h=t(u=>{e.current=!0,n(u.clientY)},[n]),i=t(u=>{e.current&&c(u.clientY)},[c]),f=t(()=>{e.current&&(e.current=!1,r())},[r]);return{touchHandlers:{onTouchStart:s,onTouchMove:o,onTouchEnd:l},mouseHandlers:{onMouseDown:h,onMouseMove:i,onMouseUp:f}}};
@@ -1 +1 @@
1
- import{useEffect as c,useCallback as s}from"react";import{useObserver as p}from"mobx-react-lite";import F from"../store";export const useURLFilters=()=>{const{urlFilterManager:e,uiState:t}=F,r=p(()=>({categories:t.selectedCategoryFilters.map(i=>i.name),poiType:t.selectedPoiTypeFilters.length>0?t.selectedPoiTypeFilters[0].name:null,exhibitors:e.currentFilters.exhibitors,isActive:t.hasAppliedFilters||e.currentFilters.exhibitors})),l=s(i=>{e.isInitialized&&e.setCategories(i)},[e]),a=s(i=>{e.isInitialized&&e.setPoiType(i)},[e]),o=s(()=>{e.isInitialized&&e.clearAllFilters()},[e]),n=s(i=>e.validateFilters(i),[e]);return c(()=>{e.isInitialized||e.initialize()},[e]),{currentFilters:r,setCategories:l,setPoiType:a,clearAllFilters:o,validateFilters:n,isInitialized:e.isInitialized}};
1
+ import{useEffect as c,useCallback as s}from"react";import{useObserver as p}from"mobx-react-lite";import F from"../store";export const useURLFilters=()=>{const{urlFilterManager:e,uiState:t}=F,r=p(()=>({categories:t.selectedCategoryFilters.map(i=>i.name),poiType:t.selectedPoiTypeFilters.length>0?t.selectedPoiTypeFilters[0].name:null,exhibitors:e.currentFilters.exhibitors,isActive:t.hasAppliedFilters||e.currentFilters.exhibitors})),l=s(i=>{e.isInitialized&&e.setCategories(i)},[e]),o=s(i=>{e.isInitialized&&e.setPoiType(i)},[e]),a=s(()=>{e.isInitialized&&e.clearAllFilters()},[e]),n=s(i=>e.validateFilters(i),[e]);return c(()=>{e.isInitialized||e.initialize()},[e]),{currentFilters:r,setCategories:l,setPoiType:o,clearAllFilters:a,validateFilters:n,isInitialized:e.isInitialized}};
@@ -1 +1 @@
1
- import{useState as o,useEffect as d}from"react";export const useWindowSize=()=>{const[n,i]=o(()=>window!==window.top?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight});return d(()=>{const e=()=>{const t=window!==window.top;i(t?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[]),n};
1
+ import{useState as o,useEffect as d}from"react";export const useWindowSize=()=>{const[i,n]=o(()=>window!==window.top?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight});return d(()=>{const e=()=>{const t=window!==window.top;n(t?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[]),i};
package/dist/esm/load.js CHANGED
@@ -1,4 +1,4 @@
1
- import{resolve as c}from"@expofp/resolve";import f from"debug";import{initHtmlHead as m}from"./_misc_to_move/initHtmlHead";import{logBuildInfo as p}from"./_misc_to_move/logBuildInfoImpl";import h from"./floorplan.loader";const l=f("efp:load");export async function load(i,t){m(),p();const r={...await c(i),...t},n=r.element;let o;if(typeof n=="string"){const a=document.querySelector(n);if(!a)throw new Error(`Element not found for selector: ${n}`);o=a}else n?o=n:(o=document.getElementById("floorplan"),o||(o=document.createElement("div"),u(o),document.body.appendChild(o)));const e=o.style;e.width=e.width||"100vw",e.height=e.height||"100vh",e.position=e.position||"fixed",e.touchAction=e.touchAction||"none",e.background=e.background||"#fff",e.transition=e.transition||"background-color 2s ease",e.overflow=e.overflow||"hidden",requestAnimationFrame(()=>{e.backgroundColor="#ebebeb"});const d=r.legacyDataUrlBase;if(l("legacyDataUrlBase",d),r.legacyDataVersion)try{const{version:a}=await c(r.legacyDataVersion);globalThis.__fpDataVersion=a}catch{l("Could not resolve version")}const s=new h({...r,element:o});return window.___fp=s,import("@expofp/debug").then(({initDebug:a})=>a()).catch(()=>{}),s}function u(i){if(!document.adoptedStyleSheets)return;const t="efp-runtime-loader-spinner",r=`
1
+ import{resolve as c}from"@expofp/resolve";import m from"debug";import{initHtmlHead as p}from"./_misc_to_move/initHtmlHead";import{logBuildInfo as h}from"./_misc_to_move/logBuildInfoImpl";import u from"./floorplan.loader";const d=m("efp:load");export async function load(s,t){p(),h();const n={...await c(s),...t},r=n.element;let o;if(typeof r=="string"){const a=document.querySelector(r);if(!a)throw new Error(`Element not found for selector: ${r}`);o=a}else r?o=r:(o=document.getElementById("floorplan"),o||(o=document.createElement("div"),y(o),document.body.appendChild(o)));const e=o.style;e.width=e.width||"100vw",e.height=e.height||"100vh",e.position=e.position||"fixed",e.touchAction=e.touchAction||"none",e.background=e.background||"#fff",e.transition=e.transition||"background-color 2s ease",e.overflow=e.overflow||"hidden",requestAnimationFrame(()=>{e.backgroundColor="#ebebeb"});const f=n.legacyDataUrlBase;if(d("legacyDataUrlBase",f),n.legacyDataVersion)try{const{version:a}=await c(n.legacyDataVersion);globalThis.__fpDataVersion=a}catch{d("Could not resolve version")}const l=new u({...n,element:o});return window.___fp=l,import("@expofp/debug").then(({initDebug:a})=>a()).catch(()=>{}),l}function y(s){if(!document.adoptedStyleSheets)return;const t="efp-runtime-loader-spinner",i=`
2
2
  .${t} {
3
3
  position: fixed;
4
4
  top: 50%;
@@ -49,8 +49,8 @@ import{resolve as c}from"@expofp/resolve";import f from"debug";import{initHtmlHe
49
49
  100% {
50
50
  stroke-dashoffset: -125px;
51
51
  }
52
- }`,n=new CSSStyleSheet;n.replaceSync(r),document.adoptedStyleSheets=[...document.adoptedStyleSheets,n],i.innerHTML=`<div class="${t}">
52
+ }`,n=new CSSStyleSheet;n.replaceSync(i),document.adoptedStyleSheets=[...document.adoptedStyleSheets,n],s.innerHTML=`<div class="${t}">
53
53
  <svg viewBox="25 25 50 50">
54
54
  <circle r="20" cy="50" cx="50"></circle>
55
55
  </svg>
56
- </div>`,requestAnimationFrame(()=>{const o=i.querySelector(`.${t}`);o.style.opacity="1"})}
56
+ </div>`,requestAnimationFrame(()=>{const r=s.querySelector(`.${t}`);r.style.opacity="1"})}
@@ -1 +1 @@
1
- import w from"../utils/is-webview";import{BROADCAST_CHANNEL_NAME as E,MESSAGE_CACHE as y,MESSAGE_CACHE_BUNDLE as m,MESSAGE_REFRESH as u}from"./constants";export async function initOfflineManager(r,t,i=[]){try{let a=function(e){n.has(e.data?.type)&&e.data?.payload&&n.delete(e.data?.type)},g=function(e){return r?`${r}${e}`:e},d=function(){if(navigator.serviceWorker.controller){const e="expofp_cache_refresh_ready";localStorage.getItem(e)==="1"?c({type:u}):localStorage.setItem(e,"1")}};if(!("serviceWorker"in navigator)||w)return;const o=new URLSearchParams(window.location.search),p=o.get("sw"),v="/",f=i.some(e=>o.has(e)&&o.get(e)!=="0"&&o.get(e)!=="none");if(p==="1"||f?(await navigator.serviceWorker.register(g("sw.js"),{scope:v}),await navigator.serviceWorker.ready):await(await navigator.serviceWorker.getRegistration(v))?.unregister(),!await navigator.serviceWorker.getRegistration())return;navigator.serviceWorker.controller||await navigator.serviceWorker.ready;const s=new BroadcastChannel(E),n=new Set;S(),s.removeEventListener("message",a),s.addEventListener("message",a),c({type:y,payload:t}),c({type:m,payload:g("bundle.json")}),d();async function c(e){const l=()=>{!navigator.serviceWorker.controller||n.has(e.type)||!navigator.onLine||(s.postMessage(e),n.add(e.type))};l(),navigator.serviceWorker.controller||navigator.serviceWorker.addEventListener("controllerchange",l,{once:!0})}}catch(a){console.error(a)}}function S(){const r="expofp_persisted_storage_requested";if(sessionStorage.getItem(r)||!navigator.storage)return;const t=()=>{navigator.storage.persisted().then(i=>!i&&navigator.storage.persist()).catch(console.warn).finally(()=>{sessionStorage.setItem(r,"true"),window.removeEventListener("click",t)})};window.addEventListener("click",t)}
1
+ import w from"../utils/is-webview";import{BROADCAST_CHANNEL_NAME as u,MESSAGE_CACHE as y,MESSAGE_CACHE_BUNDLE as E,MESSAGE_REFRESH as h}from"./constants";export async function initOfflineManager(t,a,n=[]){try{let g=function(e){o.has(e.data?.type)&&e.data?.payload&&o.delete(e.data?.type)},l=function(e){return t?`${t}${e}`:e},p=function(){if(navigator.serviceWorker.controller){const e="expofp_cache_refresh_ready";localStorage.getItem(e)==="1"?s({type:h}):localStorage.setItem(e,"1")}};if(!("serviceWorker"in navigator)||w)return;const r=new URLSearchParams(window.location.search),d=r.get("sw"),c="/",f=n.some(e=>r.has(e)&&r.get(e)!=="0"&&r.get(e)!=="none");if(d==="1"||f?(await navigator.serviceWorker.register(l("sw.js"),{scope:c}),await navigator.serviceWorker.ready):await(await navigator.serviceWorker.getRegistration(c))?.unregister(),!await navigator.serviceWorker.getRegistration())return;navigator.serviceWorker.controller||await navigator.serviceWorker.ready;const i=new BroadcastChannel(u),o=new Set;m(),i.removeEventListener("message",g),i.addEventListener("message",g),s({type:y,payload:a}),s({type:E,payload:l("bundle.json")}),p();async function s(e){const v=()=>{!navigator.serviceWorker.controller||o.has(e.type)||!navigator.onLine||(i.postMessage(e),o.add(e.type))};v(),navigator.serviceWorker.controller||navigator.serviceWorker.addEventListener("controllerchange",v,{once:!0})}}catch(r){console.error(r)}}function m(){const t="expofp_persisted_storage_requested";if(sessionStorage.getItem(t)||!navigator.storage)return;const a=()=>{navigator.storage.persisted().then(n=>!n&&navigator.storage.persist()).catch(console.warn).finally(()=>{sessionStorage.setItem(t,"true"),window.removeEventListener("click",a)})};window.addEventListener("click",a)}
@@ -1 +1 @@
1
- import{BROADCAST_CHANNEL_NAME as h,MESSAGE_CACHE as o,MESSAGE_CACHE_BUNDLE as i,MESSAGE_REFRESH as l}from"./constants";const r="EXPOFP_CACHE_V4",c="SW";self.addEventListener("install",e=>{self.skipWaiting(),e.waitUntil((async()=>{await(await caches.open(r)).addAll(["/"])})())}),self.addEventListener("activate",e=>{e.waitUntil((async()=>{const t=await caches.keys();await Promise.all(t.filter(a=>a!==r).map(a=>caches.delete(a))),await self.clients.claim()})())}),self.addEventListener("error",e=>console.error(c,e.error||e.message)),self.addEventListener("unhandledrejection",e=>console.error(c,e.reason)),self.addEventListener("fetch",e=>{if(e.request.method!=="GET")return;const t=e.request.url;t.indexOf("expofp.com")===-1&&t.indexOf("localhost")===-1||t.indexOf("bundle.json")===-1&&e.respondWith((async()=>{const a=await caches.open(r),s=await a.match(e.request,{ignoreSearch:!0});if(s)return s;const n=await fetch(e.request);return n.status<400&&await a.put(e.request,n.clone()),n})())});const d=new BroadcastChannel(h);d.addEventListener("message",e=>{const t=a=>{e instanceof ExtendableMessageEvent&&"waitUntil"in e?e.waitUntil(a()):a()};switch(e.data?.type){case i:t(async()=>{try{const a=await fetch(e.data?.payload);if(a.status<400){const s=await a.json();await p(i,s)}}catch(a){console.error(c,i,a)}finally{d.postMessage({type:i,payload:!0})}});break;case o:t(async()=>{try{await p(o,e.data?.payload)}catch(a){console.error(c,o,a)}finally{d.postMessage({type:o,payload:!0})}});break;case l:t(async()=>{try{const a=await(await caches.open(r)).keys();await p(l,a.map(s=>s.url))}catch(a){console.error(c,l,a)}finally{d.postMessage({type:l,payload:!0})}});break}});async function p(e,t){try{const a=await caches.open(r),s={type:e,successes:[],errors:[]};for(const n of t)try{const f=await fetch(n);f.status<400&&(await a.put(n,f.clone()),s.successes.push(n))}catch{s.errors.push(n)}console.warn(c,"Cache resources:",s)}catch(a){console.error(c,"Cache error:",a)}}
1
+ import{BROADCAST_CHANNEL_NAME as f,MESSAGE_CACHE as n,MESSAGE_CACHE_BUNDLE as i,MESSAGE_REFRESH as l}from"./constants";const o="EXPOFP_CACHE_V4",c="SW";self.addEventListener("install",e=>{self.skipWaiting(),e.waitUntil((async()=>{await(await caches.open(o)).addAll(["/"])})())}),self.addEventListener("activate",e=>{e.waitUntil((async()=>{const s=await caches.keys();await Promise.all(s.filter(a=>a!==o).map(a=>caches.delete(a))),await self.clients.claim()})())}),self.addEventListener("error",e=>console.error(c,e.error||e.message)),self.addEventListener("unhandledrejection",e=>console.error(c,e.reason)),self.addEventListener("fetch",e=>{if(e.request.method!=="GET")return;const s=e.request.url;s.indexOf("expofp.com")===-1&&s.indexOf("localhost")===-1||s.indexOf("bundle.json")===-1&&e.respondWith((async()=>{const a=await caches.open(o),t=await a.match(e.request,{ignoreSearch:!0});if(t)return t;const r=await fetch(e.request);return r.status<400&&await a.put(e.request,r.clone()),r})())});const h=new BroadcastChannel(f);h.addEventListener("message",e=>{const s=a=>{e instanceof ExtendableMessageEvent&&"waitUntil"in e?e.waitUntil(a()):a()};switch(e.data?.type){case i:s(async()=>{try{const a=await fetch(e.data?.payload);if(a.status<400){const t=await a.json();await u(i,t)}}catch(a){console.error(c,i,a)}finally{h.postMessage({type:i,payload:!0})}});break;case n:s(async()=>{try{await u(n,e.data?.payload)}catch(a){console.error(c,n,a)}finally{h.postMessage({type:n,payload:!0})}});break;case l:s(async()=>{try{const t=await(await caches.open(o)).keys();await u(l,t.map(r=>r.url))}catch(a){console.error(c,l,a)}finally{h.postMessage({type:l,payload:!0})}});break}});async function u(e,s){try{const a=await caches.open(o),t={type:e,successes:[],errors:[]};for(const r of s)try{const d=await fetch(r);d.status<400&&(await a.put(r,d.clone()),t.successes.push(r))}catch{t.errors.push(r)}console.warn(c,"Cache resources:",t)}catch(a){console.error(c,"Cache error:",a)}}