@expofp/floorplan 3.18.1 → 3.19.0

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 (93) hide show
  1. package/dist/browser/{Button-D24xOa4I.js → Button-CSjGwCw8.js} +5 -5
  2. package/dist/browser/{CookieConsent-BTzsoyoV.js → CookieConsent-DoKq6i8L.js} +7 -7
  3. package/dist/browser/{Debug-CqKhUi06.js → Debug-5zEiNUyg.js} +7 -7
  4. package/dist/browser/{Demo-B3EOY0Xq.js → Demo-gYGSSAX-.js} +9 -9
  5. package/dist/browser/{Free-pY7M8m4h.js → Free-3I9CaGED.js} +9 -9
  6. package/dist/browser/{Gallery-A8cqqrTJ.js → Gallery-DvczhcFU.js} +9 -9
  7. package/dist/browser/{GpsLoader-DpJhUdzw.js → GpsLoader-CkmCme_P.js} +28 -28
  8. package/dist/browser/{KioskStore-DICU_c9W.js → KioskStore-Dkc03BJk.js} +7 -7
  9. package/dist/browser/{MaplibreAdapter-DDSPODNR.js → MaplibreAdapter-DRlvaZ7C.js} +2268 -2027
  10. package/dist/browser/{ModalContainer-DnwGQgDt.js → ModalContainer-h3TovgWF.js} +10 -10
  11. package/dist/browser/{PermissionNotice-Gw1lUPnc.js → PermissionNotice-B8j8TR_D.js} +6 -6
  12. package/dist/browser/{SetKioskMode-mh3piul9.js → SetKioskMode-C4NKwotU.js} +9 -9
  13. package/dist/browser/{ShowKiosk-zkF-CXr8.js → ShowKiosk-BBmrToaF.js} +12 -12
  14. package/dist/browser/{TouchHand-DWec6Hd2.js → TouchHand-DRif3YH_.js} +4 -4
  15. package/dist/browser/{ViewerMenuPanel-C_wp1AsD.js → ViewerMenuPanel-YpBiORHt.js} +10 -10
  16. package/dist/browser/{add-debug-secret-listener-DVLr6HP8.js → add-debug-secret-listener-CFqwaslU.js} +1 -1
  17. package/dist/browser/{adopt-global-settings-Btj0VnLn.js → adopt-global-settings-B0JmlKXZ.js} +9 -9
  18. package/dist/browser/{boolean-editor-BpIQdba3.js → boolean-editor-XhzKDQsF.js} +9 -9
  19. package/dist/browser/{bootIntercom-DSg-Cxkq.js → bootIntercom-CL4Wwt09.js} +2 -2
  20. package/dist/browser/{booth-by-xy-BvNNTs6Q.js → booth-by-xy-CNodwywv.js} +296 -296
  21. package/dist/browser/bundle.json +66 -66
  22. package/dist/browser/{classnames-CFZOol_A.js → classnames-D7bHkaTv.js} +2 -2
  23. package/dist/browser/{client-BSrj7kzz.js → client-FmZunq3E.js} +4 -4
  24. package/dist/browser/{components-6Db-nRo5.js → components-BxYu3VSQ.js} +1364 -1364
  25. package/dist/browser/{debug-overlay-Bt6DNp-8.js → debug-overlay-Col3kun-.js} +10 -10
  26. package/dist/browser/{debug-ui-X9kyhrgx.js → debug-ui-DP-m_PQY.js} +6 -6
  27. package/dist/browser/{dist-HS_i2V3o.js → dist--UfxHNpB.js} +6 -6
  28. package/dist/browser/{dist-H1U2_uEE.js → dist-DKuVdnM1.js} +5 -5
  29. package/dist/browser/{dist-CSjEqv2k.js → dist-j_Dvhg_B.js} +3 -3
  30. package/dist/browser/{efp-debug-init-D0_xHeMm.js → efp-debug-init-DLVidU_L.js} +3 -3
  31. package/dist/browser/{enum-editor-Y3eY0GZN.js → enum-editor-Cl34zB7v.js} +4 -4
  32. package/dist/browser/{es5-Bnh-FuEf.js → es5-vcEukkmw.js} +2 -2
  33. package/dist/browser/{event-not-found-DaBAYGFy.js → event-not-found-ChZDmcvK.js} +1 -1
  34. package/dist/browser/{exports-pRH9fRPj.js → exports-BXJy6Kmw.js} +1 -1
  35. package/dist/browser/{favicon-eVAPrhqR.js → favicon-_NCvfFvc.js} +1 -1
  36. package/dist/browser/{fetch-retry.umd-CU86oApr.js → fetch-retry.umd-3LUIAd6l.js} +2 -2
  37. package/dist/browser/{flex-CBHNyrZ4.js → flex-DzUPTjql.js} +5 -5
  38. package/dist/browser/{floorplan.loader-C2Uhu9rp.js → floorplan.loader-Cq6lnFlH.js} +10 -10
  39. package/dist/browser/{floorplan.ready-D1uAmP_v.js → floorplan.ready-CVvdDLK9.js} +198 -198
  40. package/dist/browser/{fuse-N8kU4K-S.js → fuse-DFMgyIxf.js} +2 -2
  41. package/dist/browser/{i18n-BtP9mFz3.js → i18n-DWMPMvpq.js} +729 -724
  42. package/dist/browser/index.js +28 -28
  43. package/dist/browser/{index.module-BsJ6W9of.js → index.module-CwWKL3qT.js} +4 -4
  44. package/dist/browser/{integrateKiosk-3pSiw3dQ.js → integrateKiosk-DDctkdW5.js} +4 -4
  45. package/dist/browser/{is-webview-Cta8T4n3.js → is-webview-Dh3BOm5s.js} +1 -1
  46. package/dist/browser/{jsx-runtime-BEbKJk0I.js → jsx-runtime-BT-4UVZK.js} +2 -2
  47. package/dist/browser/{kiosk-record-CqwMLWxV.js → kiosk-record-DAkjgI5d.js} +1 -1
  48. package/dist/browser/{lib-I9l3N_qn.js → lib-DSN5rncL.js} +3 -3
  49. package/dist/browser/{loadImage-Dss1EbV-.js → loadImage-6MtT3dR2.js} +4 -4
  50. package/dist/browser/{logDeviceInfo-C71JR2gm.js → logDeviceInfo-C9v2HsL2.js} +9 -9
  51. package/dist/browser/{main-CfBwT8A1.js → main-CGLB-evp.js} +1 -1
  52. package/dist/browser/{mobx-BczBqzzL.js → mobx-Dykg-ki-.js} +4 -4
  53. package/dist/browser/{optional-boolean-editor-DzQfvreW.js → optional-boolean-editor-Ds90tVAe.js} +3 -3
  54. package/dist/browser/{optional-enum-editor-CLMliNto.js → optional-enum-editor-DwpbJFlC.js} +4 -4
  55. package/dist/browser/{optional-string-editor-_KGdUVEY.js → optional-string-editor-C_MgikTV.js} +4 -4
  56. package/dist/browser/{particles.min-B1MXziWd.js → particles.min-BrRwE_cB.js} +2 -2
  57. package/dist/browser/{react-DGnrgmGu.js → react-D3BZ05ZR.js} +2 -2
  58. package/dist/browser/{react-dom-Cw00D2pA.js → react-dom-hZlmCSGa.js} +3 -3
  59. package/dist/browser/{rolldown-runtime-BwZ60izJ.js → rolldown-runtime-BA6mgZXd.js} +1 -1
  60. package/dist/browser/{select-D1YJPbva.js → select-D23T81nr.js} +10 -10
  61. package/dist/browser/{settings-Bi32JyQ7.js → settings-Br2xGZpf.js} +2 -2
  62. package/dist/browser/{settings-item-SFeXQJg_.js → settings-item-uLGrYZVO.js} +6 -6
  63. package/dist/browser/{store-D3AM4bNd.js → store-F1P0xfXS.js} +6605 -6466
  64. package/dist/browser/{string-editor-CDi_Yy04.js → string-editor-Cco_LbQO.js} +4 -4
  65. package/dist/browser/{text-field-BtEculxh.js → text-field-rxoXlZbL.js} +5 -5
  66. package/dist/browser/{theme-DDvtl3pp.js → theme-teEFcmm4.js} +8 -8
  67. package/dist/browser/{ui-xJEwvFPJ.js → ui-D6A9bSSx.js} +8 -8
  68. package/dist/browser/{useRenderTarget-Cswo9eRB.js → useRenderTarget-CqdzcoGw.js} +4 -4
  69. package/dist/esm/components/Map/drawing/config/canvases.d.ts +9 -0
  70. package/dist/esm/components/Map/drawing/config/canvases.js +1 -1
  71. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  72. package/dist/esm/components/Map/drawing/config/config-outdoor-poi.d.ts +31 -0
  73. package/dist/esm/components/Map/drawing/config/config-outdoor-poi.js +1 -0
  74. package/dist/esm/components/Maplibre/MaplibreAdapter.js +1 -1
  75. package/dist/esm/components/Maplibre/useCameraReactions.js +1 -1
  76. package/dist/esm/components/Maplibre/useDimming.d.ts +9 -0
  77. package/dist/esm/components/Maplibre/useDimming.js +1 -1
  78. package/dist/esm/components/Maplibre/usePoiMarkers.d.ts +26 -0
  79. package/dist/esm/components/Maplibre/usePoiMarkers.js +1 -0
  80. package/dist/esm/components/Maplibre/useRendererEvents.js +1 -1
  81. package/dist/esm/components/Maplibre/utils/geo-config.d.ts +2 -0
  82. package/dist/esm/components/Maplibre/utils/geo-config.js +1 -1
  83. package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +16 -0
  84. package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.js +1 -0
  85. package/dist/esm/constants.d.ts +11 -0
  86. package/dist/esm/constants.js +1 -1
  87. package/dist/esm/store/PoiMarkerStore.d.ts +76 -0
  88. package/dist/esm/store/PoiMarkerStore.js +1 -0
  89. package/dist/esm/store/RootStore.d.ts +2 -0
  90. package/dist/esm/store/RootStore.js +1 -1
  91. package/dist/esm/store/outdoor-poi-filter.d.ts +21 -0
  92. package/dist/esm/store/outdoor-poi-filter.js +1 -0
  93. package/package.json +8 -8
@@ -1 +1 @@
1
- import{__decorate as i}from"tslib";import{action as s,computed as m,observable as u,runInAction as S}from"mobx";import{LANGUAGE_TYPE as d}from"../constants";import{RendererService as y}from"../renderer";import{URLFilterManager as b}from"../services/URLFilterManager";import{GaEventActions as w}from"../tools/gtag";import g from"../tools/logger";import{isWebGlSupported as v}from"../utils";import{resetLocale as k}from"../utils/i18n";import h from"../utils/is-mobile";import n from"../utils/is-webview";import{sanitizeSearch as x}from"../utils/sanitizeText";import B from"./BookmarksStore";import _,{BoothBase as c,RegularBooth as L}from"./BoothStore";import C from"./CategoryFilterStore";import E,{Category as T}from"./CategoryStore";import I,{EventItem as F}from"./EventStore";import M,{Exhibitor as p}from"./ExhibitorStore";import O from"./FuzzySearchEngineStore";import z from"./HeatmapStore";import R from"./IntercomStore";import A,{LayersMode as f}from"./LayerStore";import P from"./MaplibreStore";import V from"./PoiTypeStore";import{SearchShortcutProvider as G}from"./providers/SearchShortcutProvider";import{SessionsShortcutProvider as q}from"./providers/SessionsShortcutProvider";import{SpeakerShortcutProvider as N}from"./providers/SpeakerShortcutProvider";import U from"./RoutePlannerStore";import W from"./RouteStore";import j from"./SearchButtonsStore";import H from"./SearchStore";import K from"./SessionsFilterStore";import{ShortcutRegistry as Y}from"./ShortcutRegistry";import $ from"./SpeakerFilterStore";import D from"./SpeakerStore";import{SpeakerItem as J}from"./SpeakerStore";import Q from"./ToursStore";import X from"./UIState";export default class e{setResetCameraFn(t){this.resetCameraFn=t}constructor(){this.rendererService=new y,this.initialized=!1,this.categoryStore=new E(this),this.exhibitorStore=new M(this),this.boothStore=new _(this),this.routeStore=new W(this),this.routePlannerStore=new U(this),this.toursStore=new Q(this),this.uiState=new X(this),this.maplibreStore=new P(this),this.layerStore=new A,this.intercomStore=new R,this.eventStore=new I(this),this.heatmapStore=new z,this.poiTypeStore=new V(this),this.fuzzySearchEngineStore=new O(["name","title","fullName","booths.name"]),this.categoryFilterStore=new C(this),this.sessionsFilterStore=new K(this),this.speakerStore=new D(this),this.speakerFilterStore=new $(this),this.searchStore=new H(this),this.searchButtonsStore=new j(this),this.bookmarksStore=new B(this),this.urlFilterManager=new b(this),this.shortcutRegistry=new Y,this.registerShortcutProviders()}selectExhibitor(t,r=!0){this.uiState.hoveredExhibitor=null,this.uiState.details=t;var o=t.booths.filter(a=>a.visible),l=t.booths.filter(a=>!a.visible);!o.length&&l.length&&this.layerStore.updateVisibility(l[0].layer,!0),r&&setTimeout(()=>this.moveToList(t.booths.filter(a=>a.visible)),n||h?500:50)}selectBooth(t,r=!0){let o=Array.isArray(t)?t:[t];this.uiState.details=o[0],o.length===1&&o[0].schedule?.length&&(this.uiState.desiredOverlaySize="medium"),o.length===1&&o[0].layer&&!o[0].visible&&this.layerStore.mode===f.Radio&&this.layerStore.updateVisibility(o[0].layer,!0),r&&setTimeout(()=>this.moveToList(o),n||h?500:50)}reset(){const t=window.__searchi;t&&t.querySelector&&t.querySelector("input[type=search]")&&t.querySelector("input[type=search]").blur&&t.querySelector("input[type=search]").blur(),window.setTimeout(()=>{this.uiState.setKioskModeEnabled||k().then(()=>{S(()=>{this.selectSearch(""),this.uiState.details=null,this.resetCameraFn?.(),this.uiState.menu=!1,this.searchStore.resetSearchBox(),this.searchButtonsStore.clearAllFilters()}),setTimeout(()=>{S(()=>{this.uiState.inIdle=!0})},100)})},1e3)}selectNone(){window.__resett&&window.__resett(),this.uiState.details=this.uiState.selectedCategory}selectBookmarks(){this.uiState.details=null,this.uiState.list={type:"bookmarks"}}selectVisited(){this.uiState.details=null,this.uiState.list={type:"visited"}}selectLanguage(){this.uiState.details=null,this.uiState.list={type:d}}selectCategory(t){window.__resett&&window.__resett(),this.uiState.details=t,this.uiState.list={type:"category",category:t},this.uiState.desiredOverlaySize="full",t.exhibitors.find(o=>o.booths.find(l=>l.visible))||this.layerStore.updateVisibility(t.exhibitors[0]?.booths[0]?.layer,!0),setTimeout(()=>{this.uiState.moveToBooths=t.exhibitors.filter(o=>o.booths.find(l=>l.visible)).flatMap(o=>o.booths)},200)}selectEventItem(t,r=!0){if(this.uiState.hoveredExhibitor=null,this.uiState.details=t,this.uiState.desiredOverlaySize="medium",t.boothId){const o=this.boothStore.booths.find(l=>l.id===t.boothId);o&&o.layer&&!o.visible&&this.layerStore.mode===f.Radio&&this.layerStore.updateVisibility(o.layer,!0)}r&&setTimeout(()=>{if(t.boothId){const o=this.boothStore.booths.find(l=>l.id===t.boothId);o&&this.moveToList([o])}},n||h?500:50)}selectSearch(t){window.__resett&&window.__resett(),this.uiState.details=null,this.speakerStore.clearSelectedSpeaker(),this.uiState.list={type:"search",text:x(t,Object.keys(this.uiState.mapSettings).map(r=>`${r}=`)),focused:!1},this.uiState.activeListIndex=-1}clickBookmarks(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectBookmarks(),this.moveToList(),this.showMap()}clickVisited(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectVisited(),this.moveToList(),this.showMap()}clickLanguage(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectLanguage()}clickCategory(t){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectCategory(t),this.uiState.onCategoryClick&&this.uiState.onCategoryClick({id:t.id,name:t.name,exhibitors:t.exhibitors.map(r=>r.id)}),setTimeout(()=>{this.moveToList(),this.showMap()},100)}clickSeminars(){this.clickCategory(this.categoryStore.seminarsCategory)}clickBoothInList(t){window.__resett&&window.__resett(),this.uiState.hoveredBooth=null,this.selectBooth(t),this.moveToList([t]),this.showMap()}clickBoothInList2(t){window.__resett&&window.__resett(),this.uiState.hoveredBooth=null,this.selectBooth(t,!1),window.setTimeout(()=>{this.moveToList([t]),this.showMap()},navigator.userAgent.toLowerCase().indexOf("android")>-1?400:50)}clickBooth(t){if(this.uiState.menu=!1,this.uiState.list.type==="sessions"&&this.searchStore.selectSearch(),this.uiState.list.type==="speakers"&&this.searchStore.selectSearch(),this.uiState.list.type==="tours"&&this.searchStore.selectSearch(),this.uiState.list.type==="multi-point-tour"&&this.searchStore.selectSearch(),!(this.uiState.selectedRoute?.from&&this.uiState.selectedRoute?.to)){if(this.uiState.selectedRoute?.to&&!this.uiState.selectedRoute?.from&&t){this.routeStore.setStartPoint(t);return}if(t)this.routeStore.tempToBooth=t;else{this.uiState.details=null,this.fp.hidePathways(),this.uiState.list={type:"search",text:"",focused:!1},this.uiState.onBoothClick&&this.uiState.onBoothClick({target:null});return}if(this.uiState.onBoothClick){const r={name:"",description:""},o={target:{...t,layer:t.layer||r}};this.uiState.onBoothClick(o)}t.exhibitors.length===1&&t instanceof L?(this.heatmapStore.forceTrack={action:w.ViewBooth,label:t.name},this.selectExhibitor(t.exhibitors[0],!1)):this.selectBooth(t,!1),this.showMap()}}clickExhibitor2(t){this.selectExhibitor(t,!0),this.showMap()}clickExhibitor(t){window.setTimeout(()=>{this.clickExhibitor2(t)},navigator.userAgent.toLowerCase().indexOf("android")>-1?400:50)}showMap(){this.uiState.overlayPosition==="bottom"&&v&&(this.uiState.desiredOverlaySize="medium")}showOverlay(){this.uiState.overlayPosition==="bottom"&&(this.uiState.desiredOverlaySize="full")}toggleMapOverlay(){this.uiState.overlayPosition==="bottom"&&this.uiState.overlaySize==="full"?this.uiState.desiredOverlaySize="medium":this.uiState.overlayPosition==="bottom"&&this.uiState.overlaySize!=="full"&&(this.uiState.desiredOverlaySize="full")}moveToList(t){t=t||this.uiState.listItems;const r=[];t.forEach(o=>{if(o instanceof p)r.push(...o.booths.filter(l=>l.visible));else if(o instanceof c)o.visible&&r.push(o);else if(o instanceof F&&o.boothId){const l=this.boothStore.boothById.get(o.boothId);l?.visible&&r.push(l)}else o instanceof J&&this.speakerStore.getEventsBySpeaker(o.id).forEach(l=>{if(!l.boothId)return;const a=this.boothStore.boothById.get(l.boothId);a?.visible&&r.push(a)})}),this.uiState.moveToBooths=r}moveToExhibitor(t){this.moveToList([t])}changeActiveListIndex(t){let r=this.uiState.activeListIndex+t;r=Math.max(0,Math.min(this.uiState.listItems.length-1,r)),this.uiState.activeListIndex=r}toggleModal(t){this.uiState.modalActive[t]=!this.uiState.modalActive[t]}openGallery(){this.uiState.galleryActive=!0}closeGallery(){this.uiState.galleryActive=!1}openActiveListItem(){const t=this.uiState.listItems[this.uiState.activeListIndex];t&&(g.log("Opening",t),t instanceof p?this.clickExhibitor(t):t instanceof T?this.clickCategory(t):t instanceof c&&this.clickBoothInList2(t))}toggleCategoryFilter(){this.uiState.categoryFilterOpen=!this.uiState.categoryFilterOpen}applyCategoryFilters(t){this.uiState.selectedCategoryFilters=t,this.uiState.categoryFilterOpen=!1}get filteredExhibitors(){return this.uiState.selectedCategoryFilters.length===0?this.exhibitorStore.exhibitors:this.exhibitorStore.exhibitors.filter(t=>this.uiState.selectedCategoryFilters.some(r=>t.categories.some(o=>o.id===r.id)))}selectSessions(){this.uiState.list={type:"sessions",text:"",focused:!1},this.uiState.menu=!1,this.uiState.selectedTrack=null,this.searchButtonsStore.setSubButtonId(null),this.searchButtonsStore.subButtonsEnabled&&this.searchButtonsStore.showSubButtons("sessions"),h&&(this.uiState.desiredOverlaySize="full")}selectExhibitors(){this.uiState.list={type:"exhibitors",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectTours(){this.uiState.list={type:"tours",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectSpeakers(){this.uiState.list={type:"speakers",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectSpeaker(t,r=!0){this.speakerStore.selectSpeaker(t,r)}resetFilters(){this.searchButtonsStore.clearAllFilters()}registerShortcutProviders(){this.shortcutRegistry.register(new q(this)),this.shortcutRegistry.register(new N(this)),this.shortcutRegistry.register(new G(this))}}i([u],e.prototype,"initialized",void 0),i([u],e.prototype,"resetCameraFn",void 0),i([s],e.prototype,"setResetCameraFn",null),i([s],e.prototype,"selectExhibitor",null),i([s],e.prototype,"selectBooth",null),i([s],e.prototype,"reset",null),i([s],e.prototype,"selectNone",null),i([s],e.prototype,"selectBookmarks",null),i([s],e.prototype,"selectVisited",null),i([s],e.prototype,"selectLanguage",null),i([s],e.prototype,"selectCategory",null),i([s],e.prototype,"selectEventItem",null),i([s],e.prototype,"selectSearch",null),i([s],e.prototype,"clickBookmarks",null),i([s],e.prototype,"clickVisited",null),i([s],e.prototype,"clickLanguage",null),i([s],e.prototype,"clickCategory",null),i([s],e.prototype,"clickSeminars",null),i([s],e.prototype,"clickBoothInList",null),i([s],e.prototype,"clickBoothInList2",null),i([s],e.prototype,"clickBooth",null),i([s],e.prototype,"clickExhibitor2",null),i([s],e.prototype,"clickExhibitor",null),i([s],e.prototype,"showMap",null),i([s],e.prototype,"showOverlay",null),i([s],e.prototype,"toggleMapOverlay",null),i([s],e.prototype,"moveToList",null),i([s],e.prototype,"moveToExhibitor",null),i([s],e.prototype,"changeActiveListIndex",null),i([s],e.prototype,"toggleModal",null),i([s],e.prototype,"openGallery",null),i([s],e.prototype,"closeGallery",null),i([s],e.prototype,"openActiveListItem",null),i([s],e.prototype,"toggleCategoryFilter",null),i([s],e.prototype,"applyCategoryFilters",null),i([m],e.prototype,"filteredExhibitors",null),i([s],e.prototype,"selectSessions",null),i([s],e.prototype,"selectExhibitors",null),i([s],e.prototype,"selectTours",null),i([s],e.prototype,"selectSpeakers",null),i([s],e.prototype,"selectSpeaker",null),i([s],e.prototype,"resetFilters",null);
1
+ import{__decorate as i}from"tslib";import{action as s,computed as m,observable as u,runInAction as S}from"mobx";import{LANGUAGE_TYPE as d}from"../constants";import{RendererService as y}from"../renderer";import{URLFilterManager as w}from"../services/URLFilterManager";import{GaEventActions as b}from"../tools/gtag";import g from"../tools/logger";import{isWebGlSupported as v}from"../utils";import{resetLocale as k}from"../utils/i18n";import h from"../utils/is-mobile";import n from"../utils/is-webview";import{sanitizeSearch as x}from"../utils/sanitizeText";import B from"./BookmarksStore";import _,{BoothBase as c,RegularBooth as L}from"./BoothStore";import C from"./CategoryFilterStore";import E,{Category as T}from"./CategoryStore";import I,{EventItem as F}from"./EventStore";import M,{Exhibitor as p}from"./ExhibitorStore";import O from"./FuzzySearchEngineStore";import z from"./HeatmapStore";import R from"./IntercomStore";import A,{LayersMode as f}from"./LayerStore";import P from"./MaplibreStore";import V from"./PoiMarkerStore";import G from"./PoiTypeStore";import{SearchShortcutProvider as q}from"./providers/SearchShortcutProvider";import{SessionsShortcutProvider as N}from"./providers/SessionsShortcutProvider";import{SpeakerShortcutProvider as U}from"./providers/SpeakerShortcutProvider";import W from"./RoutePlannerStore";import j from"./RouteStore";import H from"./SearchButtonsStore";import K from"./SearchStore";import Y from"./SessionsFilterStore";import{ShortcutRegistry as $}from"./ShortcutRegistry";import D from"./SpeakerFilterStore";import J from"./SpeakerStore";import{SpeakerItem as Q}from"./SpeakerStore";import X from"./ToursStore";import Z from"./UIState";export default class e{setResetCameraFn(t){this.resetCameraFn=t}constructor(){this.rendererService=new y,this.initialized=!1,this.categoryStore=new E(this),this.exhibitorStore=new M(this),this.boothStore=new _(this),this.routeStore=new j(this),this.routePlannerStore=new W(this),this.toursStore=new X(this),this.uiState=new Z(this),this.maplibreStore=new P(this),this.layerStore=new A,this.intercomStore=new R,this.eventStore=new I(this),this.heatmapStore=new z,this.poiTypeStore=new G(this),this.poiMarkerStore=new V(this),this.fuzzySearchEngineStore=new O(["name","title","fullName","booths.name"]),this.categoryFilterStore=new C(this),this.sessionsFilterStore=new Y(this),this.speakerStore=new J(this),this.speakerFilterStore=new D(this),this.searchStore=new K(this),this.searchButtonsStore=new H(this),this.bookmarksStore=new B(this),this.urlFilterManager=new w(this),this.shortcutRegistry=new $,this.registerShortcutProviders()}selectExhibitor(t,r=!0){this.uiState.hoveredExhibitor=null,this.uiState.details=t;var o=t.booths.filter(a=>a.visible),l=t.booths.filter(a=>!a.visible);!o.length&&l.length&&this.layerStore.updateVisibility(l[0].layer,!0),r&&setTimeout(()=>this.moveToList(t.booths.filter(a=>a.visible)),n||h?500:50)}selectBooth(t,r=!0){let o=Array.isArray(t)?t:[t];this.uiState.details=o[0],o.length===1&&o[0].schedule?.length&&(this.uiState.desiredOverlaySize="medium"),o.length===1&&o[0].layer&&!o[0].visible&&this.layerStore.mode===f.Radio&&this.layerStore.updateVisibility(o[0].layer,!0),r&&setTimeout(()=>this.moveToList(o),n||h?500:50)}reset(){const t=window.__searchi;t&&t.querySelector&&t.querySelector("input[type=search]")&&t.querySelector("input[type=search]").blur&&t.querySelector("input[type=search]").blur(),window.setTimeout(()=>{this.uiState.setKioskModeEnabled||k().then(()=>{S(()=>{this.selectSearch(""),this.uiState.details=null,this.resetCameraFn?.(),this.uiState.menu=!1,this.searchStore.resetSearchBox(),this.searchButtonsStore.clearAllFilters()}),setTimeout(()=>{S(()=>{this.uiState.inIdle=!0})},100)})},1e3)}selectNone(){window.__resett&&window.__resett(),this.uiState.details=this.uiState.selectedCategory}selectBookmarks(){this.uiState.details=null,this.uiState.list={type:"bookmarks"}}selectVisited(){this.uiState.details=null,this.uiState.list={type:"visited"}}selectLanguage(){this.uiState.details=null,this.uiState.list={type:d}}selectCategory(t){window.__resett&&window.__resett(),this.uiState.details=t,this.uiState.list={type:"category",category:t},this.uiState.desiredOverlaySize="full",t.exhibitors.find(o=>o.booths.find(l=>l.visible))||this.layerStore.updateVisibility(t.exhibitors[0]?.booths[0]?.layer,!0),setTimeout(()=>{this.uiState.moveToBooths=t.exhibitors.filter(o=>o.booths.find(l=>l.visible)).flatMap(o=>o.booths)},200)}selectEventItem(t,r=!0){if(this.uiState.hoveredExhibitor=null,this.uiState.details=t,this.uiState.desiredOverlaySize="medium",t.boothId){const o=this.boothStore.booths.find(l=>l.id===t.boothId);o&&o.layer&&!o.visible&&this.layerStore.mode===f.Radio&&this.layerStore.updateVisibility(o.layer,!0)}r&&setTimeout(()=>{if(t.boothId){const o=this.boothStore.booths.find(l=>l.id===t.boothId);o&&this.moveToList([o])}},n||h?500:50)}selectSearch(t){window.__resett&&window.__resett(),this.uiState.details=null,this.speakerStore.clearSelectedSpeaker(),this.uiState.list={type:"search",text:x(t,Object.keys(this.uiState.mapSettings).map(r=>`${r}=`)),focused:!1},this.uiState.activeListIndex=-1}clickBookmarks(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectBookmarks(),this.moveToList(),this.showMap()}clickVisited(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectVisited(),this.moveToList(),this.showMap()}clickLanguage(){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectLanguage()}clickCategory(t){window.__resett&&window.__resett(),this.uiState.menu=!1,this.selectCategory(t),this.uiState.onCategoryClick&&this.uiState.onCategoryClick({id:t.id,name:t.name,exhibitors:t.exhibitors.map(r=>r.id)}),setTimeout(()=>{this.moveToList(),this.showMap()},100)}clickSeminars(){this.clickCategory(this.categoryStore.seminarsCategory)}clickBoothInList(t){window.__resett&&window.__resett(),this.uiState.hoveredBooth=null,this.selectBooth(t),this.moveToList([t]),this.showMap()}clickBoothInList2(t){window.__resett&&window.__resett(),this.uiState.hoveredBooth=null,this.selectBooth(t,!1),window.setTimeout(()=>{this.moveToList([t]),this.showMap()},navigator.userAgent.toLowerCase().indexOf("android")>-1?400:50)}clickBooth(t){if(this.uiState.menu=!1,this.uiState.list.type==="sessions"&&this.searchStore.selectSearch(),this.uiState.list.type==="speakers"&&this.searchStore.selectSearch(),this.uiState.list.type==="tours"&&this.searchStore.selectSearch(),this.uiState.list.type==="multi-point-tour"&&this.searchStore.selectSearch(),!(this.uiState.selectedRoute?.from&&this.uiState.selectedRoute?.to)){if(this.uiState.selectedRoute?.to&&!this.uiState.selectedRoute?.from&&t){this.routeStore.setStartPoint(t);return}if(t)this.routeStore.tempToBooth=t;else{this.uiState.details=null,this.fp.hidePathways(),this.uiState.list={type:"search",text:"",focused:!1},this.uiState.onBoothClick&&this.uiState.onBoothClick({target:null});return}if(this.uiState.onBoothClick){const r={name:"",description:""},o={target:{...t,layer:t.layer||r}};this.uiState.onBoothClick(o)}t.exhibitors.length===1&&t instanceof L?(this.heatmapStore.forceTrack={action:b.ViewBooth,label:t.name},this.selectExhibitor(t.exhibitors[0],!1)):this.selectBooth(t,!1),this.showMap()}}clickExhibitor2(t){this.selectExhibitor(t,!0),this.showMap()}clickExhibitor(t){window.setTimeout(()=>{this.clickExhibitor2(t)},navigator.userAgent.toLowerCase().indexOf("android")>-1?400:50)}showMap(){this.uiState.overlayPosition==="bottom"&&v&&(this.uiState.desiredOverlaySize="medium")}showOverlay(){this.uiState.overlayPosition==="bottom"&&(this.uiState.desiredOverlaySize="full")}toggleMapOverlay(){this.uiState.overlayPosition==="bottom"&&this.uiState.overlaySize==="full"?this.uiState.desiredOverlaySize="medium":this.uiState.overlayPosition==="bottom"&&this.uiState.overlaySize!=="full"&&(this.uiState.desiredOverlaySize="full")}moveToList(t){t=t||this.uiState.listItems;const r=[];t.forEach(o=>{if(o instanceof p)r.push(...o.booths.filter(l=>l.visible));else if(o instanceof c)o.visible&&r.push(o);else if(o instanceof F&&o.boothId){const l=this.boothStore.boothById.get(o.boothId);l?.visible&&r.push(l)}else o instanceof Q&&this.speakerStore.getEventsBySpeaker(o.id).forEach(l=>{if(!l.boothId)return;const a=this.boothStore.boothById.get(l.boothId);a?.visible&&r.push(a)})}),this.uiState.moveToBooths=r}moveToExhibitor(t){this.moveToList([t])}changeActiveListIndex(t){let r=this.uiState.activeListIndex+t;r=Math.max(0,Math.min(this.uiState.listItems.length-1,r)),this.uiState.activeListIndex=r}toggleModal(t){this.uiState.modalActive[t]=!this.uiState.modalActive[t]}openGallery(){this.uiState.galleryActive=!0}closeGallery(){this.uiState.galleryActive=!1}openActiveListItem(){const t=this.uiState.listItems[this.uiState.activeListIndex];t&&(g.log("Opening",t),t instanceof p?this.clickExhibitor(t):t instanceof T?this.clickCategory(t):t instanceof c&&this.clickBoothInList2(t))}toggleCategoryFilter(){this.uiState.categoryFilterOpen=!this.uiState.categoryFilterOpen}applyCategoryFilters(t){this.uiState.selectedCategoryFilters=t,this.uiState.categoryFilterOpen=!1}get filteredExhibitors(){return this.uiState.selectedCategoryFilters.length===0?this.exhibitorStore.exhibitors:this.exhibitorStore.exhibitors.filter(t=>this.uiState.selectedCategoryFilters.some(r=>t.categories.some(o=>o.id===r.id)))}selectSessions(){this.uiState.list={type:"sessions",text:"",focused:!1},this.uiState.menu=!1,this.uiState.selectedTrack=null,this.searchButtonsStore.setSubButtonId(null),this.searchButtonsStore.subButtonsEnabled&&this.searchButtonsStore.showSubButtons("sessions"),h&&(this.uiState.desiredOverlaySize="full")}selectExhibitors(){this.uiState.list={type:"exhibitors",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectTours(){this.uiState.list={type:"tours",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectSpeakers(){this.uiState.list={type:"speakers",text:"",focused:!1},this.uiState.menu=!1,h&&(this.uiState.desiredOverlaySize="full")}selectSpeaker(t,r=!0){this.speakerStore.selectSpeaker(t,r)}resetFilters(){this.searchButtonsStore.clearAllFilters()}registerShortcutProviders(){this.shortcutRegistry.register(new N(this)),this.shortcutRegistry.register(new U(this)),this.shortcutRegistry.register(new q(this))}}i([u],e.prototype,"initialized",void 0),i([u],e.prototype,"resetCameraFn",void 0),i([s],e.prototype,"setResetCameraFn",null),i([s],e.prototype,"selectExhibitor",null),i([s],e.prototype,"selectBooth",null),i([s],e.prototype,"reset",null),i([s],e.prototype,"selectNone",null),i([s],e.prototype,"selectBookmarks",null),i([s],e.prototype,"selectVisited",null),i([s],e.prototype,"selectLanguage",null),i([s],e.prototype,"selectCategory",null),i([s],e.prototype,"selectEventItem",null),i([s],e.prototype,"selectSearch",null),i([s],e.prototype,"clickBookmarks",null),i([s],e.prototype,"clickVisited",null),i([s],e.prototype,"clickLanguage",null),i([s],e.prototype,"clickCategory",null),i([s],e.prototype,"clickSeminars",null),i([s],e.prototype,"clickBoothInList",null),i([s],e.prototype,"clickBoothInList2",null),i([s],e.prototype,"clickBooth",null),i([s],e.prototype,"clickExhibitor2",null),i([s],e.prototype,"clickExhibitor",null),i([s],e.prototype,"showMap",null),i([s],e.prototype,"showOverlay",null),i([s],e.prototype,"toggleMapOverlay",null),i([s],e.prototype,"moveToList",null),i([s],e.prototype,"moveToExhibitor",null),i([s],e.prototype,"changeActiveListIndex",null),i([s],e.prototype,"toggleModal",null),i([s],e.prototype,"openGallery",null),i([s],e.prototype,"closeGallery",null),i([s],e.prototype,"openActiveListItem",null),i([s],e.prototype,"toggleCategoryFilter",null),i([s],e.prototype,"applyCategoryFilters",null),i([m],e.prototype,"filteredExhibitors",null),i([s],e.prototype,"selectSessions",null),i([s],e.prototype,"selectExhibitors",null),i([s],e.prototype,"selectTours",null),i([s],e.prototype,"selectSpeakers",null),i([s],e.prototype,"selectSpeaker",null),i([s],e.prototype,"resetFilters",null);
@@ -0,0 +1,21 @@
1
+ import { type PoiMarker } from './PoiMarkerStore';
2
+ export interface OutdoorPoiFilterState {
3
+ active: boolean;
4
+ /** Stable key over the matching booth ids — the change signal for reactions. */
5
+ key: string;
6
+ matchingMarkers: PoiMarker[];
7
+ }
8
+ export declare const EMPTY_OUTDOOR_POI_FILTER_STATE: OutdoorPoiFilterState;
9
+ /** The subset of a booth the outdoor PoI filter looks at. */
10
+ export interface PoiFilterBooth {
11
+ id: number;
12
+ poiTypeId?: number | null;
13
+ }
14
+ /**
15
+ * Pure core of `PoiMarkerStore.outdoorFilter`. The filter targets the
16
+ * *rendered* outdoor markers: booths matching the selected poiType but without
17
+ * a marker (indoor booths sharing the type, or markers still rasterizing) are
18
+ * skipped, and the filter is inactive only when no marker matched at all.
19
+ */
20
+ export declare function computeOutdoorPoiFilterState(selectedPoiTypeIds: readonly number[], hasCategoryFilters: boolean, booths: readonly PoiFilterBooth[], markers: readonly PoiMarker[]): OutdoorPoiFilterState;
21
+ //# sourceMappingURL=outdoor-poi-filter.d.ts.map
@@ -0,0 +1 @@
1
+ export const EMPTY_OUTDOOR_POI_FILTER_STATE={active:!1,key:"",matchingMarkers:[]};export function computeOutdoorPoiFilterState(n,r,i,c){if(!n.length||r)return EMPTY_OUTDOOR_POI_FILTER_STATE;const a=new Set(n),s=new Map(c.map(t=>[t.boothId,t])),e=[];for(const t of i){if(t.poiTypeId==null||!a.has(t.poiTypeId))continue;const o=s.get(t.id);o&&e.push(o)}return e.length?{active:!0,key:[...new Set(e.map(t=>t.boothId))].sort((t,o)=>t-o).join(","),matchingMarkers:e}:EMPTY_OUTDOOR_POI_FILTER_STATE}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.18.1",
3
+ "version": "3.19.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/expofp/efp-app.git",
@@ -72,13 +72,13 @@
72
72
  "tslib": "^2.3.0",
73
73
  "uuid": "^9.0.1",
74
74
  "zod": "4.4.3",
75
- "@expofp/config": "3.18.1",
76
- "@expofp/debug": "3.18.1",
77
- "@expofp/geometry": "3.18.1",
78
- "@expofp/resolve": "3.18.1",
79
- "@expofp/schema": "3.18.1",
80
- "@expofp/wayfinding": "3.18.1",
81
- "@expofp/utils": "3.18.1"
75
+ "@expofp/config": "3.19.0",
76
+ "@expofp/debug": "3.19.0",
77
+ "@expofp/geometry": "3.19.0",
78
+ "@expofp/resolve": "3.19.0",
79
+ "@expofp/schema": "3.19.0",
80
+ "@expofp/utils": "3.19.0",
81
+ "@expofp/wayfinding": "3.19.0"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@babel/plugin-proposal-decorators": "^8.0.2",