@expofp/floorplan 3.23.0 → 3.23.1

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 (117) hide show
  1. package/dist/browser/{Button-Cdcme0dW.js → Button-Cu9clsSR.js} +5 -5
  2. package/dist/browser/{CookieConsent-B7cDBqp6.js → CookieConsent-mvgZy0jC.js} +8 -8
  3. package/dist/browser/{Debug-C1YnJvnk.js → Debug-CnnGHGZJ.js} +10 -10
  4. package/dist/browser/{Demo-BIM3wFq3.js → Demo-DQlgp6cY.js} +10 -10
  5. package/dist/browser/{Free-D7U5AEcf.js → Free-DgGCDTNd.js} +12 -12
  6. package/dist/browser/{Gallery-BXlz1tz4.js → GalleryContainer-ixlqlJ9Q.js} +714 -589
  7. package/dist/browser/{GpsLoader-BdUzK_Wq.js → GpsLoader-9JLK7S2S.js} +31 -31
  8. package/dist/browser/{KioskStore-t38ARgcW.js → KioskStore-ZtZBfHyG.js} +34 -34
  9. package/dist/browser/{MaplibreAdapter-CSAShUgd.js → MaplibreAdapter-C__Oc26V.js} +835 -835
  10. package/dist/browser/{ModalContainer-B33HKAAU.js → ModalContainer-DsyDwSqY.js} +59 -54
  11. package/dist/browser/{PermissionNotice-F6g9pz0M.js → PermissionNotice-CZ4QlKe_.js} +6 -6
  12. package/dist/browser/{SetKioskMode-CJoi2gHM.js → SetKioskMode-Bf4b4bnh.js} +15 -15
  13. package/dist/browser/{ShowKiosk-H4rnBUGh.js → ShowKiosk-BdAccxwG.js} +11 -11
  14. package/dist/browser/{ViewerMenuPanel-BmJhh8Ln.js → ViewerMenuPanel-_Y9M630H.js} +18 -18
  15. package/dist/browser/{add-debug-secret-listener-BNoe6VU3.js → add-debug-secret-listener-DQl3P4ki.js} +1 -1
  16. package/dist/browser/{adopt-global-settings-DIweHmmO.js → adopt-global-settings-DTFmFw7D.js} +9 -9
  17. package/dist/browser/{boolean-editor-C9fqoeTB.js → boolean-editor-DRaZvwNE.js} +9 -9
  18. package/dist/browser/{bootIntercom-BB5HdKln.js → bootIntercom-Bxi_kVm1.js} +2 -2
  19. package/dist/browser/{booth-by-xy-BP9IYJhy.js → booth-by-xy-RZ4XM07z.js} +287 -287
  20. package/dist/browser/bundle.json +65 -65
  21. package/dist/browser/{classnames-Dmeqek3o.js → classnames-yCHhGUHk.js} +2 -2
  22. package/dist/browser/{client-CBb2454O.js → client-dzWvVFIu.js} +4 -4
  23. package/dist/browser/{components-DyDFRZBC.js → components-DiWraxYJ.js} +2032 -2034
  24. package/dist/browser/{debug-overlay-DXOrtUeJ.js → debug-overlay-By2JKe98.js} +10 -10
  25. package/dist/browser/{debug-ui-tNUnR4wz.js → debug-ui-B7iMFZL2.js} +6 -6
  26. package/dist/browser/{dist-DcOtrqGG.js → dist-BJYZuYz5.js} +3 -3
  27. package/dist/browser/{dist-BIFUFe-T.js → dist-D0sDuIMU.js} +5 -5
  28. package/dist/browser/{dist-DZfEO0RJ.js → dist-XtgimJG-.js} +6 -6
  29. package/dist/browser/{efp-debug-init-B4ddpmiL.js → efp-debug-init-Cm4noHZv.js} +3 -3
  30. package/dist/browser/{enum-editor-CJB3E-Vh.js → enum-editor-CmI32f5A.js} +4 -4
  31. package/dist/browser/{es5-DeTUpXm2.js → es5-97nOnIxB.js} +2 -2
  32. package/dist/browser/{event-not-found-WRXwMJms.js → event-not-found-Gs3WorrR.js} +1 -1
  33. package/dist/browser/{exports-C5uYtLxL.js → exports-BzI9isE4.js} +1 -1
  34. package/dist/browser/{favicon-5gTCZLy9.js → favicon-NX_igce1.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-BoyaQteS.js → fetch-retry.umd-BdBGrOUm.js} +2 -2
  36. package/dist/browser/{flex-DjFgAKFt.js → flex-D0Cx6ssp.js} +5 -5
  37. package/dist/browser/{floorplan.loader-Ck3XnezM.js → floorplan.loader-BNASIC9N.js} +10 -10
  38. package/dist/browser/{floorplan.ready-CzTR8qqL.js → floorplan.ready-Bdm_nBoS.js} +269 -269
  39. package/dist/browser/{fuse-BR27GheK.js → fuse-CArwLmpE.js} +2 -2
  40. package/dist/browser/{i18n-DNH3sP4D.js → i18n-DJDkRNUS.js} +5 -5
  41. package/dist/browser/index.js +14 -14
  42. package/dist/browser/{index.module-DzGptmYn.js → index.module-AN1k6qf9.js} +4 -4
  43. package/dist/browser/{integrateKiosk-DN5HgMdz.js → integrateKiosk-BHslPH6W.js} +5 -5
  44. package/dist/browser/{is-webview-CEqtlsy5.js → is-webview-CpxNA1hf.js} +1 -1
  45. package/dist/browser/{jsx-runtime-BRUHXGcL.js → jsx-runtime-BTmKWYLh.js} +2 -2
  46. package/dist/browser/{kiosk-record-C6KsyYH0.js → kiosk-record-Dar5bcb3.js} +1 -1
  47. package/dist/browser/{lib-BoYL1Y22.js → lib-CH0lKOWr.js} +3 -3
  48. package/dist/browser/{loadImage-2JV_4hsV.js → loadImage-Cyucj9ZO.js} +4 -4
  49. package/dist/browser/{logDeviceInfo-Bga4LjdT.js → logDeviceInfo-DrWNwkiz.js} +9 -9
  50. package/dist/browser/{main-BUSluy8y.js → main-DDG4oAN0.js} +1 -1
  51. package/dist/browser/{mobx-Cp-RXiD6.js → mobx-CCrzy0oK.js} +4 -4
  52. package/dist/browser/{optional-boolean-editor-biZOa4EF.js → optional-boolean-editor-B9ghixUw.js} +3 -3
  53. package/dist/browser/{optional-enum-editor-BuzYWVhL.js → optional-enum-editor-ymdwpZCG.js} +4 -4
  54. package/dist/browser/{optional-string-editor-1Gxph7oU.js → optional-string-editor-B7GvxUp0.js} +4 -4
  55. package/dist/browser/{particles.min-Cq5SYO7P.js → particles.min-DR9RAdSY.js} +2 -2
  56. package/dist/browser/{react-BCiZTNvQ.js → react-Di1u_Olu.js} +2 -2
  57. package/dist/browser/{react-dom-Gayzbfmi.js → react-dom-DgZLuRw2.js} +3 -3
  58. package/dist/browser/{rolldown-runtime-C4CgTizo.js → rolldown-runtime-Bq2YTOlP.js} +1 -1
  59. package/dist/browser/{select-BEAG7sfR.js → select-1HLg5zVy.js} +10 -10
  60. package/dist/browser/{settings-BJrS0XMO.js → settings-CiVCMVtK.js} +2 -2
  61. package/dist/browser/{settings-item-C-rqGE6m.js → settings-item-BdvpCLdo.js} +6 -6
  62. package/dist/browser/{store-DH91iUcL.js → store-CYrJjLi8.js} +5581 -5554
  63. package/dist/browser/{string-editor-fs3xB248.js → string-editor-OFy8aOQQ.js} +4 -4
  64. package/dist/browser/{text-field-CN-pynRC.js → text-field-BXXmJXFF.js} +5 -5
  65. package/dist/browser/{theme-78GgHmsO.js → theme-DpPZfgKy.js} +8 -8
  66. package/dist/browser/{ui-BFQlKtKk.js → ui-CJ0nQkSv.js} +8 -8
  67. package/dist/browser/useRenderTarget-roc5qoAU.js +57 -0
  68. package/dist/esm/components/EntityList.js +1 -1
  69. package/dist/esm/components/Exhibitor.js +1 -1
  70. package/dist/esm/components/GalleryContainer.d.ts +6 -0
  71. package/dist/esm/components/GalleryContainer.js +1 -0
  72. package/dist/esm/components/OverlayContainer.d.ts +1 -2
  73. package/dist/esm/components/OverlayContainer.js +1 -1
  74. package/dist/esm/components/index.d.ts +1 -3
  75. package/dist/esm/components/index.js +1 -1
  76. package/dist/esm/store/OverlayStore.d.ts +19 -0
  77. package/dist/esm/store/OverlayStore.js +1 -0
  78. package/dist/esm/store/RootStore.d.ts +2 -0
  79. package/dist/esm/store/RootStore.js +1 -1
  80. package/dist/esm/store/UIState.d.ts +0 -1
  81. package/dist/esm/store/UIState.js +1 -1
  82. package/dist/esm/store/index.d.ts +1 -0
  83. package/dist/esm/store/index.js +1 -1
  84. package/package.json +9 -11
  85. package/dist/browser/useRenderTarget-CtWSXh71.js +0 -48
  86. package/dist/esm/components/Gallery/Gallery.d.ts +0 -13
  87. package/dist/esm/components/Gallery/Gallery.js +0 -1
  88. package/dist/esm/components/Gallery/GalleryBadges/GalleryBadges.d.ts +0 -8
  89. package/dist/esm/components/Gallery/GalleryBadges/GalleryBadges.js +0 -1
  90. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.d.ts +0 -9
  91. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.js +0 -1
  92. package/dist/esm/components/Gallery/GalleryImg/GalleryImg.d.ts +0 -14
  93. package/dist/esm/components/Gallery/GalleryImg/GalleryImg.js +0 -1
  94. package/dist/esm/components/Gallery/GalleryItem/GalleryItem.d.ts +0 -13
  95. package/dist/esm/components/Gallery/GalleryItem/GalleryItem.js +0 -1
  96. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.d.ts +0 -12
  97. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +0 -1
  98. package/dist/esm/components/Gallery/GalleryPreLoader.d.ts +0 -7
  99. package/dist/esm/components/Gallery/GalleryPreLoader.js +0 -1
  100. package/dist/esm/components/Gallery/TransformImg/TransformImg.d.ts +0 -10
  101. package/dist/esm/components/Gallery/TransformImg/TransformImg.js +0 -1
  102. package/dist/esm/components/Overlay.d.ts +0 -23
  103. package/dist/esm/components/Overlay.js +0 -1
  104. package/dist/esm/components/Toast/ToastContainer.d.ts +0 -12
  105. package/dist/esm/components/Toast/ToastContainer.js +0 -1
  106. package/dist/esm/components/Toast/ToastContext.d.ts +0 -2
  107. package/dist/esm/components/Toast/ToastContext.js +0 -1
  108. package/dist/esm/components/Toast/ToastProvider.d.ts +0 -6
  109. package/dist/esm/components/Toast/ToastProvider.js +0 -1
  110. package/dist/esm/components/Toast/index.d.ts +0 -2
  111. package/dist/esm/components/Toast/index.js +0 -1
  112. package/dist/esm/hooks/useDragGesture.d.ts +0 -19
  113. package/dist/esm/hooks/useDragGesture.js +0 -1
  114. package/dist/esm/hooks/useWindowSize.d.ts +0 -5
  115. package/dist/esm/hooks/useWindowSize.js +0 -1
  116. package/dist/esm/utils/useTimeout.d.ts +0 -2
  117. package/dist/esm/utils/useTimeout.js +0 -1
@@ -1 +1 @@
1
- import{__decorate as e}from"tslib";import{Box as it}from"@expofp/geometry";import{action as u,computed as n,observable as a}from"mobx";import{setKioskUrlParams as st}from"../components/Kiosk/kioskUrlParam";import{LANGUAGE_TYPE as E,LEGACY_PREVIEW_MODE_STORAGE_KEY as rt,LEGACY_UI_SCALE_STORAGE_KEY as N,LEGACY_VIEWER_MODE_STORAGE_KEY as lt,MOBILE_BREAKPOINT as at,PREVIEW_MODE_STORAGE_KEY as nt,UI_SCALE_STORAGE_KEY as U,VIEWER_MODE_STORAGE_KEY as ht,VISIBILITY_STORAGE_KEY as W}from"../constants";import C from"../data";import{svgArea as H,svgAreaExplicit as ct}from"../data/svg";import{readFreeBannerDismissed as pt}from"../tools/freeBanner";import{hasUserConsent as dt}from"../tools/gtag";import{hasHtmlTags as X}from"../tools/has-html-tags";import ut from"../tools/logger";import L from"../tools/settings";import{stripHtml as j}from"../tools/strip-html";import{remsToPixels as D}from"../utils";import Z from"../utils/browser";import{getLocale as ft,getLocales as yt,t as v}from"../utils/i18n";import{isLocalStorageAvailable as w}from"../utils/localStorage";import{getResponsiveClass as mt}from"../utils/responsiveClass";import{sanitizeStr as J}from"../utils/sanitizeText";import{fitRectIsFraming as gt,getVenueFitMarginPercent as St,resolveVenueFitRect as vt}from"../utils/scene-bounds";import{uiState as P}from".";import{BoothBase as I,RegularBooth as M,SpecialBooth as _}from"./BoothStore";import{EventItem as R}from"./EventStore";import{Exhibitor as x}from"./ExhibitorStore";import{findEntityByExternalId as bt,Route as T}from"./RouteStore";import{SpeakerItem as V}from"./SpeakerStore";const It=["dimensions25"];export default class t{setSelectedCategoryFilters(o){this.selectedCategoryFilters=o}resetCategoryFilter(){this.selectedCategoryFilters=[],this.categoryFilterOpen=!1}setSearchClearMode(o){this.searchClearMode=o}setRouteTitle(o){this.routeTitle=o}setRouteDescription(o){this.routeDescription=o}setIsMultiPointRoute(o){this.isMultiPointRoute=o}setTourTitle(o){this.tourTitle=o}setTourDescription(o){this.tourDescription=o}setIsMultiPointTour(o){this.isMultiPointTour=o}setPathwayOnlyMode(o){this.pathwayOnlyMode=o}setMultiPointTourList(o){this.list={type:"multi-point-tour",tourId:o}}get activePathwayLayers(){return this.list?.type==="multi-point-tour"?this.rootStore.toursStore.getTourById(this.list.tourId)?.layers?.map(l=>l.id)||[]:[]}get highlightedBooths(){const o=new Set(this.rootStore.exhibitorStore.highlightedByExternalIds),l=new Set(this.rootStore.boothStore.highlightedByExternalIds),s=new Set([this.rootStore.exhibitorStore.exhibitors.filter(i=>o.has(i.externalId)).flatMap(i=>i.booths.filter(r=>r instanceof M)).map(i=>i.id.toString()),this.rootStore.boothStore.booths.filter(i=>l.has(i.externalId)).map(i=>i.id.toString())].flat());if(this.list?.type==="search"&&this.list?.text?.trim().length){s.clear();const i=this.fuzzySearchItems.filter(r=>r.score===0).map(r=>r.item);i.length?F(i,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(r=>s.add(r.id.toString())):this.listBooths.forEach(r=>s.add(r.id.toString()))}if(this.list?.type==="filter"&&(s.clear(),this.list.items.flatMap(i=>i.booths.filter(r=>r instanceof M)).forEach(i=>s.add(i.id.toString()))),this.categoryFilterOpen&&this.selectedCategoryFilters.length>0?(s.clear(),this.selectedCategoryFilters.forEach(i=>{i.exhibitors.flatMap(r=>r.booths).forEach(r=>s.add(r.id.toString()))})):this.list?.type==="category"&&(s.clear(),this.list.category.exhibitors.flatMap(i=>i.booths).forEach(i=>s.add(i.id.toString()))),this.list?.type==="bookmarks"&&(s.clear(),F(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(i=>s.add(i.id.toString()))),this.list?.type==="visited"&&(s.clear(),F(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(i=>s.add(i.id.toString()))),this.list?.type==="exhibitors"){s.clear();const i=this.list.text?.toLowerCase().trim();let r=this.rootStore.exhibitorStore.exhibitors;i&&(r=r.filter(d=>d.name.toLowerCase().includes(i))),r.flatMap(d=>d.booths.filter(f=>f instanceof M)).forEach(d=>s.add(d.id.toString()))}if(this.selectedPoiTypeFilters.length>0&&(s.clear(),this.selectedPoiTypeFilters.forEach(i=>{this.rootStore.boothStore.booths.filter(r=>r.poiTypeId===i.id).forEach(r=>s.add(r.id.toString()))})),this.details instanceof T&&(s.clear(),this.details.from instanceof I&&s.add(this.details.from.id.toString()),this.details.to instanceof I&&s.add(this.details.to.id.toString()),this.details.waypoints?.forEach(i=>s.add(i.id.toString()))),this.details instanceof I&&(s.clear(),s.add(this.details.id.toString())),this.details instanceof x&&(s.clear(),this.details.booths.filter(i=>i instanceof M).forEach(i=>s.add(i.id.toString()))),this.details instanceof R){const i=this.details;if(i.boothId){s.clear();const r=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);r&&s.add(r.id.toString())}}return s.delete(void 0),s.delete(null),s}constructor(o){this.interfaceMetadata=Object.freeze([{id:"menu",className:"efp-overlay-menu",priority:80,isActive:()=>this.menu,searchBoxConfig:()=>({mode:"interface",title:v("Menu")})},{id:"exhibitor",className:"efp-overlay-exhibitor",priority:70,isActive:()=>this.details instanceof x,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"booth",className:"efp-overlay-booth",priority:70,isActive:()=>this.details instanceof I,searchBoxConfig:()=>{const l=this.details;return{mode:"details",title:l.title||l.name}}},{id:"event",className:"efp-overlay-event",priority:70,isActive:()=>this.details instanceof R,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"route",className:"efp-overlay-route",priority:70,isActive:()=>this.details instanceof T,searchBoxConfig:()=>{const l=this.details;return{mode:"details",title:v("Directions")}}},{id:"search",className:"efp-overlay-search",priority:60,isActive:()=>!this.details&&!this.menu&&this.list.type==="search"&&(this.rootStore.fp.alwaysShowSidebar&&!this.overlayOnDemand||this.heatmap||this.searchFocused||this.list.text.length>0||this.searchClearMode),searchBoxConfig:()=>({mode:"search",title:v("Search")})},{id:"exhibitors",className:"efp-overlay-exhibitors",priority:50,isActive:()=>this.list.type==="exhibitors"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Exhibitors")})},{id:"filter",className:"efp-overlay-filter",priority:50,isActive:()=>this.list.type==="filter"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Filter")})},{id:"bookmarks",className:"efp-overlay-bookmarks",priority:50,isActive:()=>this.list.type==="bookmarks"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:v("Bookmarks"),badge:this.rootStore.bookmarksStore.total})},{id:"visited",className:"efp-overlay-visited",priority:50,isActive:()=>this.list.type==="visited"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:v("Visited"),badge:this.rootStore.exhibitorStore.visited.length})},{id:E,className:"efp-overlay-language",priority:50,isActive:()=>this.list.type===E,searchBoxConfig:()=>({mode:"interface",title:v("Language")})},{id:"category",className:"efp-overlay-category",priority:50,isActive:()=>!P.menu&&!!P.selectedCategory,searchBoxConfig:()=>({mode:"interface",title:this.list.type==="category"&&this.list.category?.name||v("Categories")})},{id:"sessions",className:"efp-overlay-sessions",priority:50,isActive:()=>this.list.type==="sessions"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Sessions"),subtitle:this.selectedTrack?this.selectedTrack.name:void 0})},{id:"speakers",className:"efp-overlay-speakers",priority:50,isActive:()=>this.list.type==="speakers"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Speakers")})},{id:"speaker",className:"efp-overlay-speaker",priority:50,isActive:()=>this.details instanceof V,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"tours",className:"efp-overlay-tours",priority:50,isActive:()=>this.list.type==="tours"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Guided Tours")})},{id:"multi-point-wayfinding",className:"efp-overlay-multi-point",priority:75,isActive:()=>!!(this.isMultiPointRoute&&this.selectedRoute&&this.list.type!=="route-planner"),searchBoxConfig:()=>({mode:"interface",title:this.routeTitle||v("Multi-point route")})},{id:"multi-point-tour",className:"efp-overlay-multi-point-tour",priority:75,isActive:()=>this.list.type==="multi-point-tour"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:this.tourTitle||v("Multi-point route")})},{id:"route-planner",className:"efp-overlay-route-planner",priority:76,isActive:()=>this.list.type==="route-planner"&&(!this.details||this.details instanceof T),searchBoxConfig:()=>({mode:"interface",title:v("Route planner")})}].sort((l,s)=>s.priority-l.priority)),this.list={type:"search",text:"",focused:!1},this.details=null,this.hoveredExhibitor=null,this.hoveredBooth=null,this.zoomBy=null,this.rollReset=!1,this.moveToBooths=null,this.moveToRect=null,this.moveToRectPaddingPercent=null,this.moveToLocation=!1,this.menu=!1,this.searchFocused=!1,this.searchClearMode=!1,this.printingPdf=!1,this.overlayShowsAll=!1,this.centerMap=!1,this.zoomAfTransformK=1,this.activeListIndex=-1,this.devicePixelRatio=window.devicePixelRatio,this.previewExhibitor=null,this.wsStarted=!1,this.canvasStarted=!1,this.kiosk=!1,this.inIdle=!1,this.modalActive={share:!1},this.galleryActive=!1,this.hideOverlay=!1,this.searchButtonsOverride=null,this.hideCookieConsent=!!dt(),this.hideHeaderLogo=!1,this.hideLogoInBooth=!1,this.disableBookmarked=!1,this.hideLanguage=!1,this.monochrome=!1,this.heatmap=!1,this.heatmapYah=!1,this.debugCircles=[],this.mapControlsHidden=!1,this.floorsControlHidden=!1,this.hideFreeOrDemo=!1,this.freeBannerDismissed=pt(sessionStorage),this.currentBanner=null,this.sceneDefReady=!1,this.categoryFilterOpen=!1,this.selectedCategoryFilters=[],this.selectedPoiTypeFilters=[],this.selectedTrack=null,this.subButtonsVisible=!1,this.searchBoxMode="search",this.searchBoxTitle="",this.isMultiPointRoute=!1,this.isMultiPointTour=!1,this.pathwayOnlyMode=!1,this.isOverlayScrolled=!1,this.listScrollTop=0,this.listScrollItemId=null,this.listScrollIndex=0,this.scrollPositions=new Map,this.scrollItemIds=new Map,this._customUIScale=null,this.searchFilterHeightPx=54,this.searchInputHeightPx=54,this.overlayUISizePx=390,this.overlayKioskSizePx=450,this.overlayMediumHeightRems=10,this.forceDim=!1,this.mapSettings={...this.defaultMapSettings},this.forceShowDetails=!1,this.buildRoute=!1,this.globalErrorMessages=[],this.minUIScale=.8,this.maxUIScale=1.4,this.setKioskModeEnabled=!1,this.rootStore=o,this.initializeUIScale()}get rtl(){const o=ft();return o==="ar"||o==="he"}get noOverlay(){return this.rootStore.fp.noOverlay||this.hideOverlay}get overlayOnDemand(){return this.noOverlay&&this.searchButtonsOverride===!0}get overlayHiddenNow(){return this.noOverlay&&!(this.overlayOnDemand&&this.isOverlayOpen)}get onBoothClick(){return this.rootStore.fp.onBoothClick}get onMarkerClick(){return this.rootStore.fp.onMarkerClick}get onBookmarkClick(){return this.rootStore.fp.onBookmarkClick}get onVisitedClick(){return this.rootStore.fp.onVisitedClick}get onCategoryClick(){return this.rootStore.fp.onCategoryClick}get onDirection(){return this.rootStore.fp.onDirection}get onDetails(){return this.rootStore.fp.onDetails}get onExhibitorCustomButtonClick(){return this.rootStore.fp.onExhibitorCustomButtonClick}get onGetCoordsClick(){return this.rootStore.fp.onGetCoordsClick}get selectedExhibitor(){return this.details instanceof x?this.details:null}get selectedBooth(){return this.details instanceof I?this.details:null}get selectedCategory(){return this.list.type==="category"?this.list.category:null}get selectedRoute(){return this.details instanceof T?this.details:null}get selectedSpeaker(){return this.details instanceof V?this.details:null}get uiScale(){return this._customUIScale!==null?this._customUIScale:this.kiosk?1.2:1}get isGuidedToursActive(){return this.rootStore.toursStore.isActive}get getRouteNextFloor(){const o=this.rootStore.routeStore.pathLayers,l=this.rootStore.routeStore.currentRouteLayer?.name;if(!l)return null;const s=o.findIndex(c=>c.layer?.name===l);return s===-1?null:o[s+1]?.layer?.name}get headerHeightRem(){return 0}get headerHeightPx(){return D(this.headerHeightRem)}get overlayPosition(){return!this.screenSize||this.screenSize.width>at||this.kiosk?"left":"bottom"}get overlayCollapsed(){return this.kiosk&&this.overlayPosition==="left"&&!this.searchFocused&&!this.menu&&!this.details&&!this.selectedCategory&&!this.selectedExhibitor&&this.list.type!=="bookmarks"&&this.list.type!==E&&!this.list.text?.length}get overlaySize(){return this.overlayLeft?"full":this.desiredOverlaySize}get overlayBottom(){return this.overlayPosition==="bottom"}get overlayLeft(){return this.overlayPosition==="left"}get overlayWidthPx(){return this.overlayHiddenNow?0:this.overlayLeft?this.kiosk?this.overlayKioskSizePx:this.overlayUISizePx:D(this.screenSize.width)}get wsImageHeightPx(){return 44}get wsPaddingPx(){return D(.25)}get wsOccupiedHeightPx(){return this.wsShown?this.wsImageHeightPx+this.wsPaddingPx*2:0}get wsShown(){return!this.hideHeaderLogo&&this.rootStore.exhibitorStore.advertised.length>0}get wsDesktopPosition(){return L.EXPO==="cbresupplypartner"?"bottom":"top"}get wsPosition(){return this.overlayBottom?"top":this.wsDesktopPosition}get responsiveClass(){return mt(this.screenSize.width)}get mapVisibleTop(){return(this.wsPosition==="top"?this.wsOccupiedHeightPx:0)+this.headerHeightPx}get mapVisibleBottom(){return this.overlayLeft||this.overlayHiddenNow?this.wsPosition==="bottom"?this.wsOccupiedHeightPx:0:D(this.overlayMediumHeightRems)}get mapVisibleStart(){return 0}get searchActionsHeightPx(){return this.overlayPosition==="bottom"?this.searchInputHeightPx+this.searchFilterHeightPx:this.searchInputHeightPx}get fullSizeOffset(){const o=this.wsShown?54:0,l=this.bannerType==="free"&&!this.freeBannerDismissed?40:0,s=20;if(this.details&&!(this.details instanceof T))return o+l+s;const c=54,i=this.shouldShowSearchButtons?54:0;return o+l+c+s+i}get shouldShowSearchButtons(){return this.rootStore.searchButtonsStore.hasAnySearchButtons&&!this.details&&!this.menu&&![E,"filter"].includes(this.list.type)}get shouldShowMobileToggle(){const o=this.list.type==="route-planner";return this.overlayPosition==="bottom"&&(o||!this.details&&!this.menu&&this.list.type!==E&&this.list.type!=="bookmarks"&&this.list.type!=="sessions")}get mobileToggleIsListMode(){return!this.isOverlayOpen||this.overlaySize!=="full"}get canvasVisibleRectPx(){const o=this.screenSize;return it.fromMinMax({x:P.rtl?0:this.mapVisibleStart,y:this.mapVisibleTop+this.searchActionsHeightPx},{x:P.rtl?o.width-this.mapVisibleStart:o.width,y:o.height-this.mapVisibleBottom})}get shouldShiftMapRect(){return this.overlayPosition==="left"&&(this.details||this.hasAppliedFilters||this.selectedRoute)}get hasAppliedFilters(){return this.selectedCategoryFilters.length>0||this.selectedPoiTypeFilters.length>0}get canvasVisibleRectPt(){return this.canvasVisibleRectPx.scale(this.devicePixelRatio,{x:0,y:0})}get canvasSizePt(){return this.screenSize.multiply(this.devicePixelRatio)}get shouldUseBackdrop(){if(P.overlayCollapsed)return!1;if(w&&localStorage.getItem("forcebackdrop")==="1")return!0;if(this.overlayBottom||this.selectedExhibitor?.leadingImageUrl&&!this.selectedExhibitor?.leadingImageLinkUrl)return!1;const o=Z.satisfies({safari:">=13"}),l=Z.satisfies({chrome:">=77"});var s=/(android)/i.test(navigator.userAgent);return s?!1:o||l&&P.canvasSizePt.height*P.canvasSizePt.width<3e6}setForceDim(o){this.forceDim=o}get dimmed(){return this.forceDim||this.pathwayOnlyMode?!0:this.highlightedBooths.size>0||this.list?.type==="search"&&this.list?.text?.trim().length>0||this.list?.type==="exhibitors"}get defaultSearchItems(){const{exhibitorStore:o,categoryStore:l,boothStore:s,heatmapStore:c}=this.rootStore;let i=o.exhibitors;const r=l.categories.filter(y=>y.exhibitors.length),d=s.booths;this.selectedPoiTypeFilters.length>0&&(i=i.filter(y=>y.booths.some(m=>this.selectedPoiTypeFilters.some(S=>m.poiTypeId===S.id))));let f=[];const k=!this.selectedCategoryFilters.length&&C.showCategories?r.filter(y=>It.includes(L.EXPO)?!y.name.includes("/"):!0):[],A=d.filter(y=>y instanceof _);return this.selectedCategoryFilters.length>0?f=[...i]:(C.showCompaniesAndBooths&&(f=f.concat(i)),C.showOtherSpaces&&(f=f.concat(A))),this.heatmap?[...i,...d].sort((m,S)=>c.getClicksByType(S)-c.getClicksByType(m)):this.heatmapYah?c.heatmapData?.yah?.sort((y,m)=>c.getClicksByType(m)-c.getClicksByType(y))||[]:i.length===0?d:k.concat(f.sort((y,m)=>{const S=y instanceof x&&y.featured!==void 0,B=m instanceof x&&m.featured!==void 0;if(S!==B)return S?-1:1;const O=y instanceof _&&y.title?y.title:y.name,z=m instanceof _&&m.title?m.title:m.name;return O.localeCompare(z,void 0,{sensitivity:"base",numeric:!0})}))}get searchItems(){if(this.list.type!=="search")return[];let o=this.list.text?.trim().toLowerCase()||"";const{exhibitorStore:l,categoryStore:s,boothStore:c,eventStore:i,speakerStore:r,heatmapStore:d}=this.rootStore;let f=l.exhibitors;const k=s.categories.filter(h=>h.exhibitors.length),A=c.booths,y=i.eventItems,m=r.speakers;if(this.selectedCategoryFilters.length>0&&(f=f.filter(h=>this.selectedCategoryFilters.some(p=>h.categories.some(g=>g.id===p.id)))),this.selectedPoiTypeFilters.length>0&&(f=f.filter(h=>h.booths.some(p=>this.selectedPoiTypeFilters.some(g=>p.poiTypeId===g.id)))),!o)return this.defaultSearchItems;const S=[o.replace(/&[^&=]+=[^&]+/g,"")];if(this.heatmapYah)return d.heatmapData.yah.filter(p=>Number.isNaN(Number(o))?p:p.viewCount>=Number(o)).sort((p,g)=>d.getClicksByType(g)-d.getClicksByType(p));const B=[],O=new Set,z=new Set,G=new Set,q=new Set;function Y(h){return h?h.replace(/[!@#$%^*-\.,\(\)^#$%:?_+'"\/]/g," ").replace(/\s\s+/g," "):""}function b(h,p){return!h||!p?!1:Y(h).toLowerCase().includes(Y(p).toLowerCase())}function Q(h,p){return h?b(h,p)||b(C.levelTerm+" "+h,p):!1}f.forEach(h=>{S.some(p=>b(h.name,p)||h.booths.some(g=>!p&&b(g.name,p)||Q(g.layer?.name??null,p)))&&O.add(h)}),this.selectedCategoryFilters.length>0&&A.forEach(h=>{(this.heatmap||!(h instanceof M)||!Array.from(O).find(g=>g.booths.includes(h)))&&S.some(g=>b(h.title||"",g)||b(h.name,g)||b(h.fullName,g)||Q(h.layer?.name??null,g))&&z.add(h)});const tt=y,et=m;if(tt.forEach(h=>{S.some(p=>b(h.name||"",p)||b(h.description||"",p))&&G.add(h)}),et.forEach(h=>{S.some(p=>b(h.name,p)||b(h.company,p)||b(h.jobTitle,p))&&q.add(h)}),B.push(...G),B.push(...O),this.heatmap)return B.sort((h,p)=>d.getClicksByType(p)-d.getClicksByType(h));const ot=new Map(B.map(h=>[h.id,h]));return B.map(h=>{if(!h.name)return null;const p=J(h instanceof I&&h.fullName.toLowerCase()||h.name.toLowerCase()),g=p.indexOf(J(o));if(g===-1)return null;const $={id:h.id,position:g,lowerCaseName:p,featured:!1};return h instanceof x&&($.featured=h.featured),$}).filter(Boolean).sort((h,p)=>(h.featured||p.featured)&&h.featured!==p.featured?h.featured?-1:1:h.position!==p.position?h.position-p.position:h.lowerCaseName.localeCompare(p.lowerCaseName)||String(h.id).localeCompare(String(p.id))).map(({id:h})=>ot.get(h))}get searchList(){return[...this.rootStore.eventStore.eventItems,...this.rootStore.speakerStore.speakers,...this.rootStore.categoryStore.categories.filter(o=>o.exhibitors.length),...this.rootStore.exhibitorStore.exhibitors,...this.rootStore.boothStore.booths]}get foundInDescription(){if(this.list?.type!=="search")return[];const o=this.list?.text?.trim().toLowerCase();if(!o)return[];const l=this.fuzzySearchItems.map(({item:r})=>r),s=new Set(l.map(r=>r.name)),c=this.categoryFilteredSearchList.filter(r=>!s.has(r.name)),i=[];for(const r of c){const d=r.description;if(!d)continue;const k=(X(d)?j(d):d).toLowerCase().indexOf(o);k!==-1&&i.push({item:r,pos:k})}return i.sort((r,d)=>r.pos-d.pos),i.map(r=>r.item)}get foundInDescriptionStruct(){const o={};if(this.list?.type!=="search")return o;const l=this.list?.text?.trim().toLowerCase();return this.foundInDescription.forEach(s=>{let c=s.description;if(!c)return;X(c)&&(c=j(c));const i=c.toLowerCase().indexOf(l);if(i===-1)return;const r=3,d=i>r?i-r:0,f=c.substring(d).trim();o[s.id]=i>0?`...${f}`:f}),o}get categoryFilteredSearchList(){return this.selectedCategoryFilters.length===0?this.searchList:this.searchList.filter(o=>o instanceof x&&this.selectedCategoryFilters.some(l=>o.categories.some(s=>s.id===l.id)))}get fuzzySearchItems(){if(this.list?.type!=="search")return[];const o=this.list?.text?.trim().toLowerCase();if(!o)return this.defaultSearchItems.map(i=>({item:i,score:0,matches:[]}));const l=this.rootStore.fuzzySearchEngineStore.search(this.categoryFilteredSearchList,o),s=[],c=[];for(const i of l){const r=i.item,d=r.entity.type,f=d==="booth"?r:null,k=d==="exhibitor"?r:null,A=[r.name?.toLowerCase()??"",f?.title?.toLowerCase()??"",f?.fullName?.toLowerCase()??"",...k?.booths?.map(m=>m.name?.toLowerCase()??"")??[]];let y=1/0;for(const m of A){const S=m.indexOf(o);S!==-1&&S<y&&(y=S)}y!==1/0?s.push({result:{item:r,score:0},pos:y}):c.push(i)}return s.sort((i,r)=>i.pos-r.pos),[...s.map(i=>i.result),...c]}get listItems(){if(this.details instanceof T&&this.list.type!=="multi-point-tour")return[this.details.from,this.details.to].filter(o=>o instanceof I);switch(this.list.type){case"search":let o=!(this.heatmap||this.heatmapYah)&&this.rootStore.fuzzySearchEngineStore.engine?this.fuzzySearchItems.map(({item:i})=>i).concat(this.foundInDescription):this.searchItems;return o=o.filter(i=>i.entity.type==="booth"?!i.exhibitors.length:!0),this.hasAppliedFilters?o.filter(i=>{if(this.selectedCategoryFilters.length>0&&i instanceof x&&!this.selectedCategoryFilters.some(r=>i.categories.some(d=>d.id===r.id)))return!1;if(this.selectedPoiTypeFilters.length>0){if(i instanceof x&&!i.booths.some(r=>this.selectedPoiTypeFilters.some(d=>r.poiTypeId===d.id))||i instanceof I&&!this.selectedPoiTypeFilters.some(r=>i.poiTypeId===r.id))return!1;if(i instanceof R&&i.boothId){const r=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);if(!r||!this.selectedPoiTypeFilters.some(d=>r.poiTypeId===d.id))return!1}}return!0}):o;case"bookmarks":return[...this.rootStore.exhibitorStore.bookmarked,...this.rootStore.eventStore.bookmarked,...this.rootStore.speakerStore.bookmarked,...this.rootStore.boothStore.booths.filter(i=>i.exhibitors.length===0&&i.bookmarkedDirectly)];case"visited":return[...this.rootStore.exhibitorStore.visited,...this.rootStore.eventStore.visited];case"category":return this.list.category.exhibitors;case E:return yt();case"filter":return this.list.items;case"sessions":return this.rootStore.eventStore.eventItems;case"exhibitors":const l=this.rootStore.exhibitorStore.exhibitors,s=this.list.text?.toLowerCase().trim();return s?l.filter(i=>i.name.toLowerCase().includes(s)):l;case"multi-point-tour":const c=this.rootStore.toursStore.getTourById(this.list.tourId);return c?!c.points||c.points.length===0?[]:c.points.map(i=>{const r=parseInt(i);if(!isNaN(r)){const f=this.rootStore.boothStore.boothById.get(r);if(f)return f}return bt(i)?.entity||null}).filter(Boolean):[];case"route-planner":return this.rootStore.routePlannerStore.resolvedBooths}throw new Error("Unknown list.type")}get listBooths(){return F(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems)}get selectedBooths(){let o=[];this.selectedExhibitor?o=this.selectedExhibitor.booths:this.selectedBooth&&(o=[this.selectedBooth]);const l=this.selectedRoute,s=[l?.from,l?.to,...l?.waypoints??[]].filter(c=>c instanceof I);return o.push(...s),new Set(o)}get hoveredBooths(){let o;return this.hoveredBooth?o=[this.hoveredBooth]:this.hoveredExhibitor&&(o=this.hoveredExhibitor.booths),new Set(o)}get visibility(){return{controls:!this.mapControlsHidden,levels:!this.floorsControlHidden,header:this.wsShown,overlay:!this.hideOverlay,searchButtons:this.searchButtonsOverride??!this.hideOverlay}}setVisibility(o){const l=["controls","levels","header","overlay"],s={...l.reduce((i,r)=>({...i,[r]:!0}),{}),...Object.keys(o).filter(i=>l.includes(i)).reduce((i,r)=>({...i,[r]:o[r]}),{})},c=typeof o.searchButtons=="boolean"?o.searchButtons:null;w&&(Object.values(s).every(Boolean)&&c===null?localStorage.removeItem(W):localStorage.setItem(W,JSON.stringify(c===null?s:{...s,searchButtons:c}))),this.mapControlsHidden=!s.controls,this.floorsControlHidden=!s.levels,this.hideHeaderLogo=!s.header,this.hideFreeOrDemo=!s.header,this.hideOverlay=!s.overlay,this.searchButtonsOverride=c}toggleMapOverlay(){this.overlayPosition==="bottom"&&this.overlaySize==="full"?this.desiredOverlaySize="medium":this.overlayPosition==="bottom"&&this.overlaySize!=="full"&&(this.desiredOverlaySize="full")}changeZoom(o){this.zoomBy=o}zoomIn(){this.changeZoom(1.5)}zoomOut(){this.changeZoom(.66)}fitBounds(){const{rect:o,source:l}=vt({layerViewbox:this.rootStore.layerStore.viewboxRectangle,explicitArea:ct?H:null,layerRectangle:this.rootStore.layerStore.rectangle,sceneDef:this.rootStore.rendererService.scene,svgArea:H});this.moveToRect=o,this.moveToRectPaddingPercent=gt(l)?0:St(o,H),this.rollReset=!0}get previewMode(){const o=w?localStorage.getItem(nt)??localStorage.getItem(rt):null;return o==="true"||o==="1"||this.rootStore.fp.previewMode}get viewerMode(){const o=w?localStorage.getItem(ht)??localStorage.getItem(lt):null;return o==="true"||o==="1"||this.rootStore.fp.viewerMode}get selectedEventItem(){return this.details instanceof R?this.details:null}get defaultMapSettings(){return{zoomtime:500,center:void 0,centerxy:void 0,z:void 0,bearing:0,roll:1}}setMapSettings(o){const l={};for(const s in o)o[s]!=null&&(s==="zoomtime"?l[s]=Math.min(Math.max(o[s]||this.mapSettings.zoomtime,500),5e3):l[s]=o[s]);this.mapSettings={...this.mapSettings,...l}}resetMapSettings(){this.mapSettings={...this.defaultMapSettings}}get baseQRCodeUrl(){return`https://${L.EXPO}.expofp.com`}get viewMapOnPhoneQRCodeUrl(){if(C?.customKioskQrCodeUrl)return C.customKioskQrCodeUrl;const o=new URL(this.baseQRCodeUrl);o.search=window.location.search;const l=o.toString();return console.log("View Map On Phone QR Code Url",l),l}get routeQRCodeUrl(){const o=new URL(this.baseQRCodeUrl),l=this.selectedRoute?.from,s=this.selectedRoute?.to,c=l instanceof I?l.slug:"",i=s instanceof I?s.slug:"";o.search=`?route%3A${encodeURIComponent(i)}%3A${encodeURIComponent(c)}%3Afalse`,st(o.searchParams,this.kioskData,["x","y","z"]);const r=o.toString();return console.log("Route QR Code Url",r),r}get isFeaturedExhibitorActive(){return this.details instanceof x&&!!this.details.featured}get activeInterfaceData(){for(const o of this.interfaceMetadata)if(o.isActive())return o;return null}get searchBoxConfig(){const o=this.activeInterfaceData;return!o||!o.searchBoxConfig?{mode:"search",title:"",subtitle:void 0,badge:void 0,icon:void 0}:o.searchBoxConfig()||{mode:"search",title:"",subtitle:void 0,badge:void 0,icon:void 0}}get searchBoxActions(){return this.activeInterfaceData?.actions?.()??[]}get overlayInterfaceClasses(){const o=[],l=this.activeInterfaceData;return l&&(o.push(l.className),l.additionalClasses&&o.push(...l.additionalClasses())),this.details&&o.push("overlay-has-details"),this.list.type&&o.push(`overlay-list-${this.list.type}`),this.isFeaturedExhibitorActive&&o.push("overlay-exhibitor-featured"),o}get isOverlayOpen(){return this.noOverlay&&!this.overlayOnDemand?!1:this.activeInterfaceData!==null}setOverlayScrolled(o){this.isOverlayScrolled=o}setListScrollTop(o,l){this.listScrollTop=l,this.scrollPositions.set(o,l)}setListScrollItemId(o,l){this.listScrollItemId=l,this.scrollItemIds.set(o,l)}getListScrollTop(o){return this.scrollPositions.get(o)||0}getListScrollItemId(o){return this.scrollItemIds.get(o)||null}clearListScroll(o){this.scrollPositions.delete(o),this.scrollItemIds.delete(o),this.list.type===o&&(this.listScrollTop=0,this.listScrollItemId=null)}get bannerType(){return this.hideFreeOrDemo||this.heatmap?null:L.EXPO==="expo"?"demo":C.expoFpAd||C.isTrial?"free":null}get isBannerVisible(){return this.bannerType!==null}setCurrentBanner(o){this.currentBanner=o}setForceShowDetails(o){this.forceShowDetails=o}get showRouteInstantly(){return!!(this.kiosk&&!this.forceShowDetails)}startBuildRoute(){this.rootStore.selectSearch(""),this.mapControlsHidden=!0,this.floorsControlHidden=!0,this.hideHeaderLogo=!0,this.hideFreeOrDemo=!0,this.hideOverlay=!0,this.hideCookieConsent=!0,this.buildRoute=!0}setGlobalErrorMessage(o){this.globalErrorMessages.push(o)}popGlobalErrorMessage(){this.globalErrorMessages.pop()}initializeUIScale(){if(new URLSearchParams(window.location.search).get("kiosk")!=="0"&&w){const l=localStorage.getItem(U)??localStorage.getItem(N);if(l){const s=parseFloat(l);!isNaN(s)&&s>=.8&&s<=1.4&&(this._customUIScale=s)}}}setUIScale(o,l=!0){if(isNaN(o)||o<this.minUIScale||o>this.maxUIScale){ut.warn(`Invalid ui-scale value: ${o}. Must be between ${this.minUIScale} and ${this.maxUIScale}.`);return}this._customUIScale=o,l&&w&&(localStorage.setItem(U,o.toString()),localStorage.removeItem(N))}resetUIScale(){this._customUIScale=null,w&&(localStorage.removeItem(U),localStorage.removeItem(N))}enableSetKioskMode(o){this.setKioskModeEnabled=o}setKioskData(o){this.kioskData=o}}e([a.struct],t.prototype,"list",void 0),e([a.ref],t.prototype,"details",void 0),e([a.ref],t.prototype,"hoveredExhibitor",void 0),e([a.ref],t.prototype,"hoveredBooth",void 0),e([a],t.prototype,"zoomBy",void 0),e([a],t.prototype,"rollReset",void 0),e([a],t.prototype,"moveToBooths",void 0),e([a],t.prototype,"moveToRect",void 0),e([a],t.prototype,"moveToRectPaddingPercent",void 0),e([a],t.prototype,"moveToLocation",void 0),e([a],t.prototype,"menu",void 0),e([a],t.prototype,"searchFocused",void 0),e([a],t.prototype,"searchClearMode",void 0),e([a],t.prototype,"printingPdf",void 0),e([a.struct],t.prototype,"screenSize",void 0),e([a],t.prototype,"desiredOverlaySize",void 0),e([a],t.prototype,"overlayShowsAll",void 0),e([a],t.prototype,"centerMap",void 0),e([a],t.prototype,"zoomAfTransformK",void 0),e([a],t.prototype,"activeListIndex",void 0),e([a],t.prototype,"devicePixelRatio",void 0),e([a],t.prototype,"wsStarted",void 0),e([a],t.prototype,"canvasStarted",void 0),e([a],t.prototype,"kiosk",void 0),e([a],t.prototype,"inIdle",void 0),e([a],t.prototype,"modalActive",void 0),e([a],t.prototype,"galleryActive",void 0),e([a],t.prototype,"hideOverlay",void 0),e([a],t.prototype,"searchButtonsOverride",void 0),e([a],t.prototype,"hideCookieConsent",void 0),e([a],t.prototype,"hideHeaderLogo",void 0),e([a],t.prototype,"hideLogoInBooth",void 0),e([a],t.prototype,"disableBookmarked",void 0),e([a],t.prototype,"hideLanguage",void 0),e([a],t.prototype,"monochrome",void 0),e([a],t.prototype,"heatmap",void 0),e([a],t.prototype,"heatmapYah",void 0),e([a],t.prototype,"debugCircles",void 0),e([a],t.prototype,"mapControlsHidden",void 0),e([a],t.prototype,"floorsControlHidden",void 0),e([a],t.prototype,"hideFreeOrDemo",void 0),e([a],t.prototype,"freeBannerDismissed",void 0),e([a],t.prototype,"currentBanner",void 0),e([a],t.prototype,"sceneDefReady",void 0),e([a],t.prototype,"categoryFilterOpen",void 0),e([a],t.prototype,"selectedCategoryFilters",void 0),e([a],t.prototype,"selectedPoiTypeFilters",void 0),e([a],t.prototype,"selectedTrack",void 0),e([a],t.prototype,"subButtonsVisible",void 0),e([a],t.prototype,"mapControlsDOMRect",void 0),e([a],t.prototype,"searchBoxMode",void 0),e([a],t.prototype,"searchBoxTitle",void 0),e([a],t.prototype,"searchBoxSubtitle",void 0),e([a],t.prototype,"routeTitle",void 0),e([a],t.prototype,"routeDescription",void 0),e([a],t.prototype,"isMultiPointRoute",void 0),e([a],t.prototype,"tourTitle",void 0),e([a],t.prototype,"tourDescription",void 0),e([a],t.prototype,"isMultiPointTour",void 0),e([a],t.prototype,"pathwayOnlyMode",void 0),e([a],t.prototype,"isOverlayScrolled",void 0),e([a],t.prototype,"listScrollTop",void 0),e([a],t.prototype,"listScrollItemId",void 0),e([a],t.prototype,"listScrollIndex",void 0),e([a],t.prototype,"_customUIScale",void 0),e([u],t.prototype,"setSelectedCategoryFilters",null),e([u],t.prototype,"resetCategoryFilter",null),e([u],t.prototype,"setSearchClearMode",null),e([u],t.prototype,"setRouteTitle",null),e([u],t.prototype,"setRouteDescription",null),e([u],t.prototype,"setIsMultiPointRoute",null),e([u],t.prototype,"setTourTitle",null),e([u],t.prototype,"setTourDescription",null),e([u],t.prototype,"setIsMultiPointTour",null),e([u],t.prototype,"setPathwayOnlyMode",null),e([u],t.prototype,"setMultiPointTourList",null),e([n],t.prototype,"activePathwayLayers",null),e([n],t.prototype,"highlightedBooths",null),e([n],t.prototype,"rtl",null),e([n({keepAlive:!0})],t.prototype,"noOverlay",null),e([n],t.prototype,"overlayOnDemand",null),e([n],t.prototype,"overlayHiddenNow",null),e([n({keepAlive:!0})],t.prototype,"selectedExhibitor",null),e([n({keepAlive:!0})],t.prototype,"selectedBooth",null),e([n({keepAlive:!0})],t.prototype,"selectedCategory",null),e([n({keepAlive:!0})],t.prototype,"selectedRoute",null),e([n({keepAlive:!0})],t.prototype,"selectedSpeaker",null),e([n({keepAlive:!0})],t.prototype,"uiScale",null),e([n({keepAlive:!0})],t.prototype,"isGuidedToursActive",null),e([n({keepAlive:!0})],t.prototype,"getRouteNextFloor",null),e([n],t.prototype,"headerHeightRem",null),e([n],t.prototype,"headerHeightPx",null),e([n],t.prototype,"overlayPosition",null),e([n],t.prototype,"overlayCollapsed",null),e([n],t.prototype,"overlaySize",null),e([n],t.prototype,"overlayBottom",null),e([n],t.prototype,"overlayLeft",null),e([n],t.prototype,"overlayWidthPx",null),e([n({keepAlive:!0})],t.prototype,"wsImageHeightPx",null),e([n],t.prototype,"wsPaddingPx",null),e([n],t.prototype,"wsOccupiedHeightPx",null),e([n({keepAlive:!0})],t.prototype,"wsShown",null),e([n],t.prototype,"wsDesktopPosition",null),e([n],t.prototype,"wsPosition",null),e([n],t.prototype,"responsiveClass",null),e([n],t.prototype,"mapVisibleTop",null),e([n],t.prototype,"mapVisibleBottom",null),e([n],t.prototype,"mapVisibleStart",null),e([n],t.prototype,"searchActionsHeightPx",null),e([n],t.prototype,"fullSizeOffset",null),e([n],t.prototype,"shouldShowSearchButtons",null),e([n],t.prototype,"shouldShowMobileToggle",null),e([n],t.prototype,"mobileToggleIsListMode",null),e([n],t.prototype,"canvasVisibleRectPx",null),e([n],t.prototype,"shouldShiftMapRect",null),e([n],t.prototype,"hasAppliedFilters",null),e([n],t.prototype,"canvasVisibleRectPt",null),e([n],t.prototype,"canvasSizePt",null),e([n({keepAlive:!0})],t.prototype,"shouldUseBackdrop",null),e([a],t.prototype,"forceDim",void 0),e([u],t.prototype,"setForceDim",null),e([n],t.prototype,"dimmed",null),e([n],t.prototype,"defaultSearchItems",null),e([n],t.prototype,"searchItems",null),e([n],t.prototype,"searchList",null),e([n],t.prototype,"foundInDescription",null),e([n],t.prototype,"foundInDescriptionStruct",null),e([n],t.prototype,"categoryFilteredSearchList",null),e([n],t.prototype,"fuzzySearchItems",null),e([n],t.prototype,"listItems",null),e([n({keepAlive:!0})],t.prototype,"listBooths",null),e([n({keepAlive:!0})],t.prototype,"selectedBooths",null),e([n({keepAlive:!0})],t.prototype,"hoveredBooths",null),e([n],t.prototype,"visibility",null),e([u],t.prototype,"setVisibility",null),e([u],t.prototype,"toggleMapOverlay",null),e([u],t.prototype,"changeZoom",null),e([u],t.prototype,"zoomIn",null),e([u],t.prototype,"zoomOut",null),e([u],t.prototype,"fitBounds",null),e([n({keepAlive:!0})],t.prototype,"selectedEventItem",null),e([a],t.prototype,"mapSettings",void 0),e([u],t.prototype,"setMapSettings",null),e([u],t.prototype,"resetMapSettings",null),e([n],t.prototype,"baseQRCodeUrl",null),e([n],t.prototype,"viewMapOnPhoneQRCodeUrl",null),e([n],t.prototype,"routeQRCodeUrl",null),e([n],t.prototype,"isFeaturedExhibitorActive",null),e([n],t.prototype,"activeInterfaceData",null),e([n],t.prototype,"searchBoxConfig",null),e([n],t.prototype,"searchBoxActions",null),e([n],t.prototype,"overlayInterfaceClasses",null),e([n],t.prototype,"isOverlayOpen",null),e([u],t.prototype,"setOverlayScrolled",null),e([u],t.prototype,"setListScrollTop",null),e([u],t.prototype,"setListScrollItemId",null),e([u],t.prototype,"getListScrollTop",null),e([u],t.prototype,"getListScrollItemId",null),e([u],t.prototype,"clearListScroll",null),e([n],t.prototype,"bannerType",null),e([n],t.prototype,"isBannerVisible",null),e([u],t.prototype,"setCurrentBanner",null),e([a],t.prototype,"forceShowDetails",void 0),e([u],t.prototype,"setForceShowDetails",null),e([n],t.prototype,"showRouteInstantly",null),e([a],t.prototype,"buildRoute",void 0),e([u],t.prototype,"startBuildRoute",null),e([a],t.prototype,"globalErrorMessages",void 0),e([u],t.prototype,"setGlobalErrorMessage",null),e([u],t.prototype,"popGlobalErrorMessage",null),e([u],t.prototype,"initializeUIScale",null),e([u],t.prototype,"setUIScale",null),e([u],t.prototype,"resetUIScale",null),e([a],t.prototype,"setKioskModeEnabled",void 0),e([u],t.prototype,"enableSetKioskMode",null),e([a],t.prototype,"kioskData",void 0),e([u],t.prototype,"setKioskData",null);function F(K,o,l=[]){const s=[];return K.forEach(c=>{c instanceof x?s.push(...c.booths):c instanceof I?s.push(c):c instanceof R?c.boothId&&s.push(o.find(i=>i.id===c.boothId)):c instanceof V&&l.filter(i=>i.speakers.some(r=>r.id===c.id)&&i.boothId).forEach(i=>s.push(o.find(r=>r.id===i.boothId)))}),new Set(s.filter(Boolean))}
1
+ import{__decorate as e}from"tslib";import{Box as it}from"@expofp/geometry";import{action as u,computed as n,observable as l}from"mobx";import{setKioskUrlParams as st}from"../components/Kiosk/kioskUrlParam";import{LANGUAGE_TYPE as E,LEGACY_PREVIEW_MODE_STORAGE_KEY as rt,LEGACY_UI_SCALE_STORAGE_KEY as N,LEGACY_VIEWER_MODE_STORAGE_KEY as lt,MOBILE_BREAKPOINT as at,PREVIEW_MODE_STORAGE_KEY as nt,UI_SCALE_STORAGE_KEY as U,VIEWER_MODE_STORAGE_KEY as ht,VISIBILITY_STORAGE_KEY as W}from"../constants";import C from"../data";import{svgArea as H,svgAreaExplicit as ct}from"../data/svg";import{readFreeBannerDismissed as pt}from"../tools/freeBanner";import{hasUserConsent as dt}from"../tools/gtag";import{hasHtmlTags as X}from"../tools/has-html-tags";import ut from"../tools/logger";import L from"../tools/settings";import{stripHtml as j}from"../tools/strip-html";import{remsToPixels as F}from"../utils";import Z from"../utils/browser";import{getLocale as ft,getLocales as yt,t as v}from"../utils/i18n";import{isLocalStorageAvailable as w}from"../utils/localStorage";import{getResponsiveClass as mt}from"../utils/responsiveClass";import{sanitizeStr as J}from"../utils/sanitizeText";import{fitRectIsFraming as gt,getVenueFitMarginPercent as St,resolveVenueFitRect as vt}from"../utils/scene-bounds";import{uiState as P}from".";import{BoothBase as I,RegularBooth as M,SpecialBooth as _}from"./BoothStore";import{EventItem as O}from"./EventStore";import{Exhibitor as x}from"./ExhibitorStore";import{findEntityByExternalId as bt,Route as R}from"./RouteStore";import{SpeakerItem as V}from"./SpeakerStore";const It=["dimensions25"];export default class t{setSelectedCategoryFilters(o){this.selectedCategoryFilters=o}resetCategoryFilter(){this.selectedCategoryFilters=[],this.categoryFilterOpen=!1}setSearchClearMode(o){this.searchClearMode=o}setRouteTitle(o){this.routeTitle=o}setRouteDescription(o){this.routeDescription=o}setIsMultiPointRoute(o){this.isMultiPointRoute=o}setTourTitle(o){this.tourTitle=o}setTourDescription(o){this.tourDescription=o}setIsMultiPointTour(o){this.isMultiPointTour=o}setPathwayOnlyMode(o){this.pathwayOnlyMode=o}setMultiPointTourList(o){this.list={type:"multi-point-tour",tourId:o}}get activePathwayLayers(){return this.list?.type==="multi-point-tour"?this.rootStore.toursStore.getTourById(this.list.tourId)?.layers?.map(a=>a.id)||[]:[]}get highlightedBooths(){const o=new Set(this.rootStore.exhibitorStore.highlightedByExternalIds),a=new Set(this.rootStore.boothStore.highlightedByExternalIds),s=new Set([this.rootStore.exhibitorStore.exhibitors.filter(i=>o.has(i.externalId)).flatMap(i=>i.booths.filter(r=>r instanceof M)).map(i=>i.id.toString()),this.rootStore.boothStore.booths.filter(i=>a.has(i.externalId)).map(i=>i.id.toString())].flat());if(this.list?.type==="search"&&this.list?.text?.trim().length){s.clear();const i=this.fuzzySearchItems.filter(r=>r.score===0).map(r=>r.item);i.length?D(i,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(r=>s.add(r.id.toString())):this.listBooths.forEach(r=>s.add(r.id.toString()))}if(this.list?.type==="filter"&&(s.clear(),this.list.items.flatMap(i=>i.booths.filter(r=>r instanceof M)).forEach(i=>s.add(i.id.toString()))),this.categoryFilterOpen&&this.selectedCategoryFilters.length>0?(s.clear(),this.selectedCategoryFilters.forEach(i=>{i.exhibitors.flatMap(r=>r.booths).forEach(r=>s.add(r.id.toString()))})):this.list?.type==="category"&&(s.clear(),this.list.category.exhibitors.flatMap(i=>i.booths).forEach(i=>s.add(i.id.toString()))),this.list?.type==="bookmarks"&&(s.clear(),D(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(i=>s.add(i.id.toString()))),this.list?.type==="visited"&&(s.clear(),D(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(i=>s.add(i.id.toString()))),this.list?.type==="exhibitors"){s.clear();const i=this.list.text?.toLowerCase().trim();let r=this.rootStore.exhibitorStore.exhibitors;i&&(r=r.filter(d=>d.name.toLowerCase().includes(i))),r.flatMap(d=>d.booths.filter(f=>f instanceof M)).forEach(d=>s.add(d.id.toString()))}if(this.selectedPoiTypeFilters.length>0&&(s.clear(),this.selectedPoiTypeFilters.forEach(i=>{this.rootStore.boothStore.booths.filter(r=>r.poiTypeId===i.id).forEach(r=>s.add(r.id.toString()))})),this.details instanceof R&&(s.clear(),this.details.from instanceof I&&s.add(this.details.from.id.toString()),this.details.to instanceof I&&s.add(this.details.to.id.toString()),this.details.waypoints?.forEach(i=>s.add(i.id.toString()))),this.details instanceof I&&(s.clear(),s.add(this.details.id.toString())),this.details instanceof x&&(s.clear(),this.details.booths.filter(i=>i instanceof M).forEach(i=>s.add(i.id.toString()))),this.details instanceof O){const i=this.details;if(i.boothId){s.clear();const r=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);r&&s.add(r.id.toString())}}return s.delete(void 0),s.delete(null),s}constructor(o){this.interfaceMetadata=Object.freeze([{id:"menu",className:"efp-overlay-menu",priority:80,isActive:()=>this.menu,searchBoxConfig:()=>({mode:"interface",title:v("Menu")})},{id:"exhibitor",className:"efp-overlay-exhibitor",priority:70,isActive:()=>this.details instanceof x,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"booth",className:"efp-overlay-booth",priority:70,isActive:()=>this.details instanceof I,searchBoxConfig:()=>{const a=this.details;return{mode:"details",title:a.title||a.name}}},{id:"event",className:"efp-overlay-event",priority:70,isActive:()=>this.details instanceof O,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"route",className:"efp-overlay-route",priority:70,isActive:()=>this.details instanceof R,searchBoxConfig:()=>{const a=this.details;return{mode:"details",title:v("Directions")}}},{id:"search",className:"efp-overlay-search",priority:60,isActive:()=>!this.details&&!this.menu&&this.list.type==="search"&&(this.rootStore.fp.alwaysShowSidebar&&!this.overlayOnDemand||this.heatmap||this.searchFocused||this.list.text.length>0||this.searchClearMode),searchBoxConfig:()=>({mode:"search",title:v("Search")})},{id:"exhibitors",className:"efp-overlay-exhibitors",priority:50,isActive:()=>this.list.type==="exhibitors"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Exhibitors")})},{id:"filter",className:"efp-overlay-filter",priority:50,isActive:()=>this.list.type==="filter"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Filter")})},{id:"bookmarks",className:"efp-overlay-bookmarks",priority:50,isActive:()=>this.list.type==="bookmarks"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:v("Bookmarks"),badge:this.rootStore.bookmarksStore.total})},{id:"visited",className:"efp-overlay-visited",priority:50,isActive:()=>this.list.type==="visited"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:v("Visited"),badge:this.rootStore.exhibitorStore.visited.length})},{id:E,className:"efp-overlay-language",priority:50,isActive:()=>this.list.type===E,searchBoxConfig:()=>({mode:"interface",title:v("Language")})},{id:"category",className:"efp-overlay-category",priority:50,isActive:()=>!P.menu&&!!P.selectedCategory,searchBoxConfig:()=>({mode:"interface",title:this.list.type==="category"&&this.list.category?.name||v("Categories")})},{id:"sessions",className:"efp-overlay-sessions",priority:50,isActive:()=>this.list.type==="sessions"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Sessions"),subtitle:this.selectedTrack?this.selectedTrack.name:void 0})},{id:"speakers",className:"efp-overlay-speakers",priority:50,isActive:()=>this.list.type==="speakers"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Speakers")})},{id:"speaker",className:"efp-overlay-speaker",priority:50,isActive:()=>this.details instanceof V,searchBoxConfig:()=>({mode:"details",title:this.details.name})},{id:"tours",className:"efp-overlay-tours",priority:50,isActive:()=>this.list.type==="tours"&&!this.details,searchBoxConfig:()=>({mode:"search",title:v("Guided Tours")})},{id:"multi-point-wayfinding",className:"efp-overlay-multi-point",priority:75,isActive:()=>!!(this.isMultiPointRoute&&this.selectedRoute&&this.list.type!=="route-planner"),searchBoxConfig:()=>({mode:"interface",title:this.routeTitle||v("Multi-point route")})},{id:"multi-point-tour",className:"efp-overlay-multi-point-tour",priority:75,isActive:()=>this.list.type==="multi-point-tour"&&!this.details,searchBoxConfig:()=>({mode:"interface",title:this.tourTitle||v("Multi-point route")})},{id:"route-planner",className:"efp-overlay-route-planner",priority:76,isActive:()=>this.list.type==="route-planner"&&(!this.details||this.details instanceof R),searchBoxConfig:()=>({mode:"interface",title:v("Route planner")})}].sort((a,s)=>s.priority-a.priority)),this.list={type:"search",text:"",focused:!1},this.details=null,this.hoveredExhibitor=null,this.hoveredBooth=null,this.zoomBy=null,this.rollReset=!1,this.moveToBooths=null,this.moveToRect=null,this.moveToRectPaddingPercent=null,this.moveToLocation=!1,this.menu=!1,this.searchFocused=!1,this.searchClearMode=!1,this.printingPdf=!1,this.overlayShowsAll=!1,this.centerMap=!1,this.zoomAfTransformK=1,this.activeListIndex=-1,this.devicePixelRatio=window.devicePixelRatio,this.previewExhibitor=null,this.wsStarted=!1,this.canvasStarted=!1,this.kiosk=!1,this.inIdle=!1,this.modalActive={share:!1},this.galleryActive=!1,this.hideOverlay=!1,this.searchButtonsOverride=null,this.hideCookieConsent=!!dt(),this.hideHeaderLogo=!1,this.hideLogoInBooth=!1,this.disableBookmarked=!1,this.hideLanguage=!1,this.monochrome=!1,this.heatmap=!1,this.heatmapYah=!1,this.debugCircles=[],this.mapControlsHidden=!1,this.floorsControlHidden=!1,this.hideFreeOrDemo=!1,this.freeBannerDismissed=pt(sessionStorage),this.currentBanner=null,this.sceneDefReady=!1,this.categoryFilterOpen=!1,this.selectedCategoryFilters=[],this.selectedPoiTypeFilters=[],this.selectedTrack=null,this.subButtonsVisible=!1,this.searchBoxMode="search",this.searchBoxTitle="",this.isMultiPointRoute=!1,this.isMultiPointTour=!1,this.pathwayOnlyMode=!1,this.isOverlayScrolled=!1,this.listScrollTop=0,this.listScrollItemId=null,this.listScrollIndex=0,this.scrollPositions=new Map,this.scrollItemIds=new Map,this._customUIScale=null,this.searchFilterHeightPx=54,this.searchInputHeightPx=54,this.overlayUISizePx=390,this.overlayKioskSizePx=450,this.overlayMediumHeightRems=10,this.forceDim=!1,this.mapSettings={...this.defaultMapSettings},this.forceShowDetails=!1,this.buildRoute=!1,this.globalErrorMessages=[],this.minUIScale=.8,this.maxUIScale=1.4,this.setKioskModeEnabled=!1,this.rootStore=o,this.initializeUIScale()}get rtl(){const o=ft();return o==="ar"||o==="he"}get noOverlay(){return this.rootStore.fp.noOverlay||this.hideOverlay}get overlayOnDemand(){return this.noOverlay&&this.searchButtonsOverride===!0}get overlayHiddenNow(){return this.noOverlay&&!(this.overlayOnDemand&&this.isOverlayOpen)}get onBoothClick(){return this.rootStore.fp.onBoothClick}get onMarkerClick(){return this.rootStore.fp.onMarkerClick}get onBookmarkClick(){return this.rootStore.fp.onBookmarkClick}get onVisitedClick(){return this.rootStore.fp.onVisitedClick}get onCategoryClick(){return this.rootStore.fp.onCategoryClick}get onDirection(){return this.rootStore.fp.onDirection}get onDetails(){return this.rootStore.fp.onDetails}get onExhibitorCustomButtonClick(){return this.rootStore.fp.onExhibitorCustomButtonClick}get onGetCoordsClick(){return this.rootStore.fp.onGetCoordsClick}get selectedExhibitor(){return this.details instanceof x?this.details:null}get selectedBooth(){return this.details instanceof I?this.details:null}get selectedCategory(){return this.list.type==="category"?this.list.category:null}get selectedRoute(){return this.details instanceof R?this.details:null}get selectedSpeaker(){return this.details instanceof V?this.details:null}get uiScale(){return this._customUIScale!==null?this._customUIScale:this.kiosk?1.2:1}get isGuidedToursActive(){return this.rootStore.toursStore.isActive}get getRouteNextFloor(){const o=this.rootStore.routeStore.pathLayers,a=this.rootStore.routeStore.currentRouteLayer?.name;if(!a)return null;const s=o.findIndex(c=>c.layer?.name===a);return s===-1?null:o[s+1]?.layer?.name}get headerHeightRem(){return 0}get headerHeightPx(){return F(this.headerHeightRem)}get overlayPosition(){return!this.screenSize||this.screenSize.width>at||this.kiosk?"left":"bottom"}get overlayCollapsed(){return this.kiosk&&this.overlayPosition==="left"&&!this.searchFocused&&!this.menu&&!this.details&&!this.selectedCategory&&!this.selectedExhibitor&&this.list.type!=="bookmarks"&&this.list.type!==E&&!this.list.text?.length}get overlaySize(){return this.overlayLeft?"full":this.desiredOverlaySize}get overlayBottom(){return this.overlayPosition==="bottom"}get overlayLeft(){return this.overlayPosition==="left"}get overlayWidthPx(){return this.overlayHiddenNow?0:this.overlayLeft?this.kiosk?this.overlayKioskSizePx:this.overlayUISizePx:F(this.screenSize.width)}get wsImageHeightPx(){return 44}get wsPaddingPx(){return F(.25)}get wsOccupiedHeightPx(){return this.wsShown?this.wsImageHeightPx+this.wsPaddingPx*2:0}get wsShown(){return!this.hideHeaderLogo&&this.rootStore.exhibitorStore.advertised.length>0}get wsDesktopPosition(){return L.EXPO==="cbresupplypartner"?"bottom":"top"}get wsPosition(){return this.overlayBottom?"top":this.wsDesktopPosition}get responsiveClass(){return mt(this.screenSize.width)}get mapVisibleTop(){return(this.wsPosition==="top"?this.wsOccupiedHeightPx:0)+this.headerHeightPx}get mapVisibleBottom(){return this.overlayLeft||this.overlayHiddenNow?this.wsPosition==="bottom"?this.wsOccupiedHeightPx:0:F(this.overlayMediumHeightRems)}get mapVisibleStart(){return 0}get searchActionsHeightPx(){return this.overlayPosition==="bottom"?this.searchInputHeightPx+this.searchFilterHeightPx:this.searchInputHeightPx}get shouldShowSearchButtons(){return this.rootStore.searchButtonsStore.hasAnySearchButtons&&!this.details&&!this.menu&&![E,"filter"].includes(this.list.type)}get shouldShowMobileToggle(){const o=this.list.type==="route-planner";return this.overlayPosition==="bottom"&&(o||!this.details&&!this.menu&&this.list.type!==E&&this.list.type!=="bookmarks"&&this.list.type!=="sessions")}get mobileToggleIsListMode(){return!this.isOverlayOpen||this.overlaySize!=="full"}get canvasVisibleRectPx(){const o=this.screenSize;return it.fromMinMax({x:P.rtl?0:this.mapVisibleStart,y:this.mapVisibleTop+this.searchActionsHeightPx},{x:P.rtl?o.width-this.mapVisibleStart:o.width,y:o.height-this.mapVisibleBottom})}get shouldShiftMapRect(){return this.overlayPosition==="left"&&(this.details||this.hasAppliedFilters||this.selectedRoute)}get hasAppliedFilters(){return this.selectedCategoryFilters.length>0||this.selectedPoiTypeFilters.length>0}get canvasVisibleRectPt(){return this.canvasVisibleRectPx.scale(this.devicePixelRatio,{x:0,y:0})}get canvasSizePt(){return this.screenSize.multiply(this.devicePixelRatio)}get shouldUseBackdrop(){if(P.overlayCollapsed)return!1;if(w&&localStorage.getItem("forcebackdrop")==="1")return!0;if(this.overlayBottom||this.selectedExhibitor?.leadingImageUrl&&!this.selectedExhibitor?.leadingImageLinkUrl)return!1;const o=Z.satisfies({safari:">=13"}),a=Z.satisfies({chrome:">=77"});var s=/(android)/i.test(navigator.userAgent);return s?!1:o||a&&P.canvasSizePt.height*P.canvasSizePt.width<3e6}setForceDim(o){this.forceDim=o}get dimmed(){return this.forceDim||this.pathwayOnlyMode?!0:this.highlightedBooths.size>0||this.list?.type==="search"&&this.list?.text?.trim().length>0||this.list?.type==="exhibitors"}get defaultSearchItems(){const{exhibitorStore:o,categoryStore:a,boothStore:s,heatmapStore:c}=this.rootStore;let i=o.exhibitors;const r=a.categories.filter(y=>y.exhibitors.length),d=s.booths;this.selectedPoiTypeFilters.length>0&&(i=i.filter(y=>y.booths.some(m=>this.selectedPoiTypeFilters.some(S=>m.poiTypeId===S.id))));let f=[];const k=!this.selectedCategoryFilters.length&&C.showCategories?r.filter(y=>It.includes(L.EXPO)?!y.name.includes("/"):!0):[],T=d.filter(y=>y instanceof _);return this.selectedCategoryFilters.length>0?f=[...i]:(C.showCompaniesAndBooths&&(f=f.concat(i)),C.showOtherSpaces&&(f=f.concat(T))),this.heatmap?[...i,...d].sort((m,S)=>c.getClicksByType(S)-c.getClicksByType(m)):this.heatmapYah?c.heatmapData?.yah?.sort((y,m)=>c.getClicksByType(m)-c.getClicksByType(y))||[]:i.length===0?d:k.concat(f.sort((y,m)=>{const S=y instanceof x&&y.featured!==void 0,B=m instanceof x&&m.featured!==void 0;if(S!==B)return S?-1:1;const A=y instanceof _&&y.title?y.title:y.name,z=m instanceof _&&m.title?m.title:m.name;return A.localeCompare(z,void 0,{sensitivity:"base",numeric:!0})}))}get searchItems(){if(this.list.type!=="search")return[];let o=this.list.text?.trim().toLowerCase()||"";const{exhibitorStore:a,categoryStore:s,boothStore:c,eventStore:i,speakerStore:r,heatmapStore:d}=this.rootStore;let f=a.exhibitors;const k=s.categories.filter(h=>h.exhibitors.length),T=c.booths,y=i.eventItems,m=r.speakers;if(this.selectedCategoryFilters.length>0&&(f=f.filter(h=>this.selectedCategoryFilters.some(p=>h.categories.some(g=>g.id===p.id)))),this.selectedPoiTypeFilters.length>0&&(f=f.filter(h=>h.booths.some(p=>this.selectedPoiTypeFilters.some(g=>p.poiTypeId===g.id)))),!o)return this.defaultSearchItems;const S=[o.replace(/&[^&=]+=[^&]+/g,"")];if(this.heatmapYah)return d.heatmapData.yah.filter(p=>Number.isNaN(Number(o))?p:p.viewCount>=Number(o)).sort((p,g)=>d.getClicksByType(g)-d.getClicksByType(p));const B=[],A=new Set,z=new Set,G=new Set,q=new Set;function Y(h){return h?h.replace(/[!@#$%^*-\.,\(\)^#$%:?_+'"\/]/g," ").replace(/\s\s+/g," "):""}function b(h,p){return!h||!p?!1:Y(h).toLowerCase().includes(Y(p).toLowerCase())}function Q(h,p){return h?b(h,p)||b(C.levelTerm+" "+h,p):!1}f.forEach(h=>{S.some(p=>b(h.name,p)||h.booths.some(g=>!p&&b(g.name,p)||Q(g.layer?.name??null,p)))&&A.add(h)}),this.selectedCategoryFilters.length>0&&T.forEach(h=>{(this.heatmap||!(h instanceof M)||!Array.from(A).find(g=>g.booths.includes(h)))&&S.some(g=>b(h.title||"",g)||b(h.name,g)||b(h.fullName,g)||Q(h.layer?.name??null,g))&&z.add(h)});const tt=y,et=m;if(tt.forEach(h=>{S.some(p=>b(h.name||"",p)||b(h.description||"",p))&&G.add(h)}),et.forEach(h=>{S.some(p=>b(h.name,p)||b(h.company,p)||b(h.jobTitle,p))&&q.add(h)}),B.push(...G),B.push(...A),this.heatmap)return B.sort((h,p)=>d.getClicksByType(p)-d.getClicksByType(h));const ot=new Map(B.map(h=>[h.id,h]));return B.map(h=>{if(!h.name)return null;const p=J(h instanceof I&&h.fullName.toLowerCase()||h.name.toLowerCase()),g=p.indexOf(J(o));if(g===-1)return null;const $={id:h.id,position:g,lowerCaseName:p,featured:!1};return h instanceof x&&($.featured=h.featured),$}).filter(Boolean).sort((h,p)=>(h.featured||p.featured)&&h.featured!==p.featured?h.featured?-1:1:h.position!==p.position?h.position-p.position:h.lowerCaseName.localeCompare(p.lowerCaseName)||String(h.id).localeCompare(String(p.id))).map(({id:h})=>ot.get(h))}get searchList(){return[...this.rootStore.eventStore.eventItems,...this.rootStore.speakerStore.speakers,...this.rootStore.categoryStore.categories.filter(o=>o.exhibitors.length),...this.rootStore.exhibitorStore.exhibitors,...this.rootStore.boothStore.booths]}get foundInDescription(){if(this.list?.type!=="search")return[];const o=this.list?.text?.trim().toLowerCase();if(!o)return[];const a=this.fuzzySearchItems.map(({item:r})=>r),s=new Set(a.map(r=>r.name)),c=this.categoryFilteredSearchList.filter(r=>!s.has(r.name)),i=[];for(const r of c){const d=r.description;if(!d)continue;const k=(X(d)?j(d):d).toLowerCase().indexOf(o);k!==-1&&i.push({item:r,pos:k})}return i.sort((r,d)=>r.pos-d.pos),i.map(r=>r.item)}get foundInDescriptionStruct(){const o={};if(this.list?.type!=="search")return o;const a=this.list?.text?.trim().toLowerCase();return this.foundInDescription.forEach(s=>{let c=s.description;if(!c)return;X(c)&&(c=j(c));const i=c.toLowerCase().indexOf(a);if(i===-1)return;const r=3,d=i>r?i-r:0,f=c.substring(d).trim();o[s.id]=i>0?`...${f}`:f}),o}get categoryFilteredSearchList(){return this.selectedCategoryFilters.length===0?this.searchList:this.searchList.filter(o=>o instanceof x&&this.selectedCategoryFilters.some(a=>o.categories.some(s=>s.id===a.id)))}get fuzzySearchItems(){if(this.list?.type!=="search")return[];const o=this.list?.text?.trim().toLowerCase();if(!o)return this.defaultSearchItems.map(i=>({item:i,score:0,matches:[]}));const a=this.rootStore.fuzzySearchEngineStore.search(this.categoryFilteredSearchList,o),s=[],c=[];for(const i of a){const r=i.item,d=r.entity.type,f=d==="booth"?r:null,k=d==="exhibitor"?r:null,T=[r.name?.toLowerCase()??"",f?.title?.toLowerCase()??"",f?.fullName?.toLowerCase()??"",...k?.booths?.map(m=>m.name?.toLowerCase()??"")??[]];let y=1/0;for(const m of T){const S=m.indexOf(o);S!==-1&&S<y&&(y=S)}y!==1/0?s.push({result:{item:r,score:0},pos:y}):c.push(i)}return s.sort((i,r)=>i.pos-r.pos),[...s.map(i=>i.result),...c]}get listItems(){if(this.details instanceof R&&this.list.type!=="multi-point-tour")return[this.details.from,this.details.to].filter(o=>o instanceof I);switch(this.list.type){case"search":let o=!(this.heatmap||this.heatmapYah)&&this.rootStore.fuzzySearchEngineStore.engine?this.fuzzySearchItems.map(({item:i})=>i).concat(this.foundInDescription):this.searchItems;return o=o.filter(i=>i.entity.type==="booth"?!i.exhibitors.length:!0),this.hasAppliedFilters?o.filter(i=>{if(this.selectedCategoryFilters.length>0&&i instanceof x&&!this.selectedCategoryFilters.some(r=>i.categories.some(d=>d.id===r.id)))return!1;if(this.selectedPoiTypeFilters.length>0){if(i instanceof x&&!i.booths.some(r=>this.selectedPoiTypeFilters.some(d=>r.poiTypeId===d.id))||i instanceof I&&!this.selectedPoiTypeFilters.some(r=>i.poiTypeId===r.id))return!1;if(i instanceof O&&i.boothId){const r=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);if(!r||!this.selectedPoiTypeFilters.some(d=>r.poiTypeId===d.id))return!1}}return!0}):o;case"bookmarks":return[...this.rootStore.exhibitorStore.bookmarked,...this.rootStore.eventStore.bookmarked,...this.rootStore.speakerStore.bookmarked,...this.rootStore.boothStore.booths.filter(i=>i.exhibitors.length===0&&i.bookmarkedDirectly)];case"visited":return[...this.rootStore.exhibitorStore.visited,...this.rootStore.eventStore.visited];case"category":return this.list.category.exhibitors;case E:return yt();case"filter":return this.list.items;case"sessions":return this.rootStore.eventStore.eventItems;case"exhibitors":const a=this.rootStore.exhibitorStore.exhibitors,s=this.list.text?.toLowerCase().trim();return s?a.filter(i=>i.name.toLowerCase().includes(s)):a;case"multi-point-tour":const c=this.rootStore.toursStore.getTourById(this.list.tourId);return c?!c.points||c.points.length===0?[]:c.points.map(i=>{const r=parseInt(i);if(!isNaN(r)){const f=this.rootStore.boothStore.boothById.get(r);if(f)return f}return bt(i)?.entity||null}).filter(Boolean):[];case"route-planner":return this.rootStore.routePlannerStore.resolvedBooths}throw new Error("Unknown list.type")}get listBooths(){return D(this.listItems,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems)}get selectedBooths(){let o=[];this.selectedExhibitor?o=this.selectedExhibitor.booths:this.selectedBooth&&(o=[this.selectedBooth]);const a=this.selectedRoute,s=[a?.from,a?.to,...a?.waypoints??[]].filter(c=>c instanceof I);return o.push(...s),new Set(o)}get hoveredBooths(){let o;return this.hoveredBooth?o=[this.hoveredBooth]:this.hoveredExhibitor&&(o=this.hoveredExhibitor.booths),new Set(o)}get visibility(){return{controls:!this.mapControlsHidden,levels:!this.floorsControlHidden,header:this.wsShown,overlay:!this.hideOverlay,searchButtons:this.searchButtonsOverride??!this.hideOverlay}}setVisibility(o){const a=["controls","levels","header","overlay"],s={...a.reduce((i,r)=>({...i,[r]:!0}),{}),...Object.keys(o).filter(i=>a.includes(i)).reduce((i,r)=>({...i,[r]:o[r]}),{})},c=typeof o.searchButtons=="boolean"?o.searchButtons:null;w&&(Object.values(s).every(Boolean)&&c===null?localStorage.removeItem(W):localStorage.setItem(W,JSON.stringify(c===null?s:{...s,searchButtons:c}))),this.mapControlsHidden=!s.controls,this.floorsControlHidden=!s.levels,this.hideHeaderLogo=!s.header,this.hideFreeOrDemo=!s.header,this.hideOverlay=!s.overlay,this.searchButtonsOverride=c}toggleMapOverlay(){this.overlayPosition==="bottom"&&this.overlaySize==="full"?this.desiredOverlaySize="medium":this.overlayPosition==="bottom"&&this.overlaySize!=="full"&&(this.desiredOverlaySize="full")}changeZoom(o){this.zoomBy=o}zoomIn(){this.changeZoom(1.5)}zoomOut(){this.changeZoom(.66)}fitBounds(){const{rect:o,source:a}=vt({layerViewbox:this.rootStore.layerStore.viewboxRectangle,explicitArea:ct?H:null,layerRectangle:this.rootStore.layerStore.rectangle,sceneDef:this.rootStore.rendererService.scene,svgArea:H});this.moveToRect=o,this.moveToRectPaddingPercent=gt(a)?0:St(o,H),this.rollReset=!0}get previewMode(){const o=w?localStorage.getItem(nt)??localStorage.getItem(rt):null;return o==="true"||o==="1"||this.rootStore.fp.previewMode}get viewerMode(){const o=w?localStorage.getItem(ht)??localStorage.getItem(lt):null;return o==="true"||o==="1"||this.rootStore.fp.viewerMode}get selectedEventItem(){return this.details instanceof O?this.details:null}get defaultMapSettings(){return{zoomtime:500,center:void 0,centerxy:void 0,z:void 0,bearing:0,roll:1}}setMapSettings(o){const a={};for(const s in o)o[s]!=null&&(s==="zoomtime"?a[s]=Math.min(Math.max(o[s]||this.mapSettings.zoomtime,500),5e3):a[s]=o[s]);this.mapSettings={...this.mapSettings,...a}}resetMapSettings(){this.mapSettings={...this.defaultMapSettings}}get baseQRCodeUrl(){return`https://${L.EXPO}.expofp.com`}get viewMapOnPhoneQRCodeUrl(){if(C?.customKioskQrCodeUrl)return C.customKioskQrCodeUrl;const o=new URL(this.baseQRCodeUrl);o.search=window.location.search;const a=o.toString();return console.log("View Map On Phone QR Code Url",a),a}get routeQRCodeUrl(){const o=new URL(this.baseQRCodeUrl),a=this.selectedRoute?.from,s=this.selectedRoute?.to,c=a instanceof I?a.slug:"",i=s instanceof I?s.slug:"";o.search=`?route%3A${encodeURIComponent(i)}%3A${encodeURIComponent(c)}%3Afalse`,st(o.searchParams,this.kioskData,["x","y","z"]);const r=o.toString();return console.log("Route QR Code Url",r),r}get isFeaturedExhibitorActive(){return this.details instanceof x&&!!this.details.featured}get activeInterfaceData(){for(const o of this.interfaceMetadata)if(o.isActive())return o;return null}get searchBoxConfig(){const o=this.activeInterfaceData;return!o||!o.searchBoxConfig?{mode:"search",title:"",subtitle:void 0,badge:void 0,icon:void 0}:o.searchBoxConfig()||{mode:"search",title:"",subtitle:void 0,badge:void 0,icon:void 0}}get searchBoxActions(){return this.activeInterfaceData?.actions?.()??[]}get overlayInterfaceClasses(){const o=[],a=this.activeInterfaceData;return a&&(o.push(a.className),a.additionalClasses&&o.push(...a.additionalClasses())),this.details&&o.push("overlay-has-details"),this.list.type&&o.push(`overlay-list-${this.list.type}`),this.isFeaturedExhibitorActive&&o.push("overlay-exhibitor-featured"),o}get isOverlayOpen(){return this.noOverlay&&!this.overlayOnDemand?!1:this.activeInterfaceData!==null}setOverlayScrolled(o){this.isOverlayScrolled=o}setListScrollTop(o,a){this.listScrollTop=a,this.scrollPositions.set(o,a)}setListScrollItemId(o,a){this.listScrollItemId=a,this.scrollItemIds.set(o,a)}getListScrollTop(o){return this.scrollPositions.get(o)||0}getListScrollItemId(o){return this.scrollItemIds.get(o)||null}clearListScroll(o){this.scrollPositions.delete(o),this.scrollItemIds.delete(o),this.list.type===o&&(this.listScrollTop=0,this.listScrollItemId=null)}get bannerType(){return this.hideFreeOrDemo||this.heatmap?null:L.EXPO==="expo"?"demo":C.expoFpAd||C.isTrial?"free":null}get isBannerVisible(){return this.bannerType!==null}setCurrentBanner(o){this.currentBanner=o}setForceShowDetails(o){this.forceShowDetails=o}get showRouteInstantly(){return!!(this.kiosk&&!this.forceShowDetails)}startBuildRoute(){this.rootStore.selectSearch(""),this.mapControlsHidden=!0,this.floorsControlHidden=!0,this.hideHeaderLogo=!0,this.hideFreeOrDemo=!0,this.hideOverlay=!0,this.hideCookieConsent=!0,this.buildRoute=!0}setGlobalErrorMessage(o){this.globalErrorMessages.push(o)}popGlobalErrorMessage(){this.globalErrorMessages.pop()}initializeUIScale(){if(new URLSearchParams(window.location.search).get("kiosk")!=="0"&&w){const a=localStorage.getItem(U)??localStorage.getItem(N);if(a){const s=parseFloat(a);!isNaN(s)&&s>=.8&&s<=1.4&&(this._customUIScale=s)}}}setUIScale(o,a=!0){if(isNaN(o)||o<this.minUIScale||o>this.maxUIScale){ut.warn(`Invalid ui-scale value: ${o}. Must be between ${this.minUIScale} and ${this.maxUIScale}.`);return}this._customUIScale=o,a&&w&&(localStorage.setItem(U,o.toString()),localStorage.removeItem(N))}resetUIScale(){this._customUIScale=null,w&&(localStorage.removeItem(U),localStorage.removeItem(N))}enableSetKioskMode(o){this.setKioskModeEnabled=o}setKioskData(o){this.kioskData=o}}e([l.struct],t.prototype,"list",void 0),e([l.ref],t.prototype,"details",void 0),e([l.ref],t.prototype,"hoveredExhibitor",void 0),e([l.ref],t.prototype,"hoveredBooth",void 0),e([l],t.prototype,"zoomBy",void 0),e([l],t.prototype,"rollReset",void 0),e([l],t.prototype,"moveToBooths",void 0),e([l],t.prototype,"moveToRect",void 0),e([l],t.prototype,"moveToRectPaddingPercent",void 0),e([l],t.prototype,"moveToLocation",void 0),e([l],t.prototype,"menu",void 0),e([l],t.prototype,"searchFocused",void 0),e([l],t.prototype,"searchClearMode",void 0),e([l],t.prototype,"printingPdf",void 0),e([l.struct],t.prototype,"screenSize",void 0),e([l],t.prototype,"desiredOverlaySize",void 0),e([l],t.prototype,"overlayShowsAll",void 0),e([l],t.prototype,"centerMap",void 0),e([l],t.prototype,"zoomAfTransformK",void 0),e([l],t.prototype,"activeListIndex",void 0),e([l],t.prototype,"devicePixelRatio",void 0),e([l],t.prototype,"wsStarted",void 0),e([l],t.prototype,"canvasStarted",void 0),e([l],t.prototype,"kiosk",void 0),e([l],t.prototype,"inIdle",void 0),e([l],t.prototype,"modalActive",void 0),e([l],t.prototype,"galleryActive",void 0),e([l],t.prototype,"hideOverlay",void 0),e([l],t.prototype,"searchButtonsOverride",void 0),e([l],t.prototype,"hideCookieConsent",void 0),e([l],t.prototype,"hideHeaderLogo",void 0),e([l],t.prototype,"hideLogoInBooth",void 0),e([l],t.prototype,"disableBookmarked",void 0),e([l],t.prototype,"hideLanguage",void 0),e([l],t.prototype,"monochrome",void 0),e([l],t.prototype,"heatmap",void 0),e([l],t.prototype,"heatmapYah",void 0),e([l],t.prototype,"debugCircles",void 0),e([l],t.prototype,"mapControlsHidden",void 0),e([l],t.prototype,"floorsControlHidden",void 0),e([l],t.prototype,"hideFreeOrDemo",void 0),e([l],t.prototype,"freeBannerDismissed",void 0),e([l],t.prototype,"currentBanner",void 0),e([l],t.prototype,"sceneDefReady",void 0),e([l],t.prototype,"categoryFilterOpen",void 0),e([l],t.prototype,"selectedCategoryFilters",void 0),e([l],t.prototype,"selectedPoiTypeFilters",void 0),e([l],t.prototype,"selectedTrack",void 0),e([l],t.prototype,"subButtonsVisible",void 0),e([l],t.prototype,"mapControlsDOMRect",void 0),e([l],t.prototype,"searchBoxMode",void 0),e([l],t.prototype,"searchBoxTitle",void 0),e([l],t.prototype,"searchBoxSubtitle",void 0),e([l],t.prototype,"routeTitle",void 0),e([l],t.prototype,"routeDescription",void 0),e([l],t.prototype,"isMultiPointRoute",void 0),e([l],t.prototype,"tourTitle",void 0),e([l],t.prototype,"tourDescription",void 0),e([l],t.prototype,"isMultiPointTour",void 0),e([l],t.prototype,"pathwayOnlyMode",void 0),e([l],t.prototype,"isOverlayScrolled",void 0),e([l],t.prototype,"listScrollTop",void 0),e([l],t.prototype,"listScrollItemId",void 0),e([l],t.prototype,"listScrollIndex",void 0),e([l],t.prototype,"_customUIScale",void 0),e([u],t.prototype,"setSelectedCategoryFilters",null),e([u],t.prototype,"resetCategoryFilter",null),e([u],t.prototype,"setSearchClearMode",null),e([u],t.prototype,"setRouteTitle",null),e([u],t.prototype,"setRouteDescription",null),e([u],t.prototype,"setIsMultiPointRoute",null),e([u],t.prototype,"setTourTitle",null),e([u],t.prototype,"setTourDescription",null),e([u],t.prototype,"setIsMultiPointTour",null),e([u],t.prototype,"setPathwayOnlyMode",null),e([u],t.prototype,"setMultiPointTourList",null),e([n],t.prototype,"activePathwayLayers",null),e([n],t.prototype,"highlightedBooths",null),e([n],t.prototype,"rtl",null),e([n({keepAlive:!0})],t.prototype,"noOverlay",null),e([n],t.prototype,"overlayOnDemand",null),e([n],t.prototype,"overlayHiddenNow",null),e([n({keepAlive:!0})],t.prototype,"selectedExhibitor",null),e([n({keepAlive:!0})],t.prototype,"selectedBooth",null),e([n({keepAlive:!0})],t.prototype,"selectedCategory",null),e([n({keepAlive:!0})],t.prototype,"selectedRoute",null),e([n({keepAlive:!0})],t.prototype,"selectedSpeaker",null),e([n({keepAlive:!0})],t.prototype,"uiScale",null),e([n({keepAlive:!0})],t.prototype,"isGuidedToursActive",null),e([n({keepAlive:!0})],t.prototype,"getRouteNextFloor",null),e([n],t.prototype,"headerHeightRem",null),e([n],t.prototype,"headerHeightPx",null),e([n],t.prototype,"overlayPosition",null),e([n],t.prototype,"overlayCollapsed",null),e([n],t.prototype,"overlaySize",null),e([n],t.prototype,"overlayBottom",null),e([n],t.prototype,"overlayLeft",null),e([n],t.prototype,"overlayWidthPx",null),e([n({keepAlive:!0})],t.prototype,"wsImageHeightPx",null),e([n],t.prototype,"wsPaddingPx",null),e([n],t.prototype,"wsOccupiedHeightPx",null),e([n({keepAlive:!0})],t.prototype,"wsShown",null),e([n],t.prototype,"wsDesktopPosition",null),e([n],t.prototype,"wsPosition",null),e([n],t.prototype,"responsiveClass",null),e([n],t.prototype,"mapVisibleTop",null),e([n],t.prototype,"mapVisibleBottom",null),e([n],t.prototype,"mapVisibleStart",null),e([n],t.prototype,"searchActionsHeightPx",null),e([n],t.prototype,"shouldShowSearchButtons",null),e([n],t.prototype,"shouldShowMobileToggle",null),e([n],t.prototype,"mobileToggleIsListMode",null),e([n],t.prototype,"canvasVisibleRectPx",null),e([n],t.prototype,"shouldShiftMapRect",null),e([n],t.prototype,"hasAppliedFilters",null),e([n],t.prototype,"canvasVisibleRectPt",null),e([n],t.prototype,"canvasSizePt",null),e([n({keepAlive:!0})],t.prototype,"shouldUseBackdrop",null),e([l],t.prototype,"forceDim",void 0),e([u],t.prototype,"setForceDim",null),e([n],t.prototype,"dimmed",null),e([n],t.prototype,"defaultSearchItems",null),e([n],t.prototype,"searchItems",null),e([n],t.prototype,"searchList",null),e([n],t.prototype,"foundInDescription",null),e([n],t.prototype,"foundInDescriptionStruct",null),e([n],t.prototype,"categoryFilteredSearchList",null),e([n],t.prototype,"fuzzySearchItems",null),e([n],t.prototype,"listItems",null),e([n({keepAlive:!0})],t.prototype,"listBooths",null),e([n({keepAlive:!0})],t.prototype,"selectedBooths",null),e([n({keepAlive:!0})],t.prototype,"hoveredBooths",null),e([n],t.prototype,"visibility",null),e([u],t.prototype,"setVisibility",null),e([u],t.prototype,"toggleMapOverlay",null),e([u],t.prototype,"changeZoom",null),e([u],t.prototype,"zoomIn",null),e([u],t.prototype,"zoomOut",null),e([u],t.prototype,"fitBounds",null),e([n({keepAlive:!0})],t.prototype,"selectedEventItem",null),e([l],t.prototype,"mapSettings",void 0),e([u],t.prototype,"setMapSettings",null),e([u],t.prototype,"resetMapSettings",null),e([n],t.prototype,"baseQRCodeUrl",null),e([n],t.prototype,"viewMapOnPhoneQRCodeUrl",null),e([n],t.prototype,"routeQRCodeUrl",null),e([n],t.prototype,"isFeaturedExhibitorActive",null),e([n],t.prototype,"activeInterfaceData",null),e([n],t.prototype,"searchBoxConfig",null),e([n],t.prototype,"searchBoxActions",null),e([n],t.prototype,"overlayInterfaceClasses",null),e([n],t.prototype,"isOverlayOpen",null),e([u],t.prototype,"setOverlayScrolled",null),e([u],t.prototype,"setListScrollTop",null),e([u],t.prototype,"setListScrollItemId",null),e([u],t.prototype,"getListScrollTop",null),e([u],t.prototype,"getListScrollItemId",null),e([u],t.prototype,"clearListScroll",null),e([n],t.prototype,"bannerType",null),e([n],t.prototype,"isBannerVisible",null),e([u],t.prototype,"setCurrentBanner",null),e([l],t.prototype,"forceShowDetails",void 0),e([u],t.prototype,"setForceShowDetails",null),e([n],t.prototype,"showRouteInstantly",null),e([l],t.prototype,"buildRoute",void 0),e([u],t.prototype,"startBuildRoute",null),e([l],t.prototype,"globalErrorMessages",void 0),e([u],t.prototype,"setGlobalErrorMessage",null),e([u],t.prototype,"popGlobalErrorMessage",null),e([u],t.prototype,"initializeUIScale",null),e([u],t.prototype,"setUIScale",null),e([u],t.prototype,"resetUIScale",null),e([l],t.prototype,"setKioskModeEnabled",void 0),e([u],t.prototype,"enableSetKioskMode",null),e([l],t.prototype,"kioskData",void 0),e([u],t.prototype,"setKioskData",null);function D(K,o,a=[]){const s=[];return K.forEach(c=>{c instanceof x?s.push(...c.booths):c instanceof I?s.push(c):c instanceof O?c.boothId&&s.push(o.find(i=>i.id===c.boothId)):c instanceof V&&a.filter(i=>i.speakers.some(r=>r.id===c.id)&&i.boothId).forEach(i=>s.push(o.find(r=>r.id===i.boothId)))}),new Set(s.filter(Boolean))}
@@ -2,6 +2,7 @@ import RootStore from './RootStore';
2
2
  declare const store: RootStore;
3
3
  export default store;
4
4
  export declare const uiState: import("./UIState").default;
5
+ export declare const overlayStore: import("./OverlayStore").default;
5
6
  export declare const exhibitorStore: import("./ExhibitorStore").default;
6
7
  export declare const boothStore: import("./BoothStore").default;
7
8
  export declare const categoryStore: import("./CategoryStore").default;
@@ -1 +1 @@
1
- import{configure as t}from"mobx";import e from"./init";import r from"./RootStore";if(!window.__storeInitAllowed)throw new Error("Store initialization is not allowed before data is loaded");t({computedRequiresReaction:!0});const o=new r;e(o);export default o;export const uiState=o.uiState,exhibitorStore=o.exhibitorStore,boothStore=o.boothStore,categoryStore=o.categoryStore,layersStore=o.layerStore,heatmapStore=o.heatmapStore,searchStore=o.searchStore,toursStore=o.toursStore,intercomStore=o.intercomStore;window.__store=o;
1
+ import{configure as t}from"mobx";import e from"./init";import r from"./RootStore";if(!window.__storeInitAllowed)throw new Error("Store initialization is not allowed before data is loaded");t({computedRequiresReaction:!0});const o=new r;e(o);export default o;export const uiState=o.uiState,overlayStore=o.overlayStore,exhibitorStore=o.exhibitorStore,boothStore=o.boothStore,categoryStore=o.categoryStore,layersStore=o.layerStore,heatmapStore=o.heatmapStore,searchStore=o.searchStore,toursStore=o.toursStore,intercomStore=o.intercomStore;window.__store=o;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.23.0",
3
+ "version": "3.23.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/expofp/efp-app.git",
@@ -64,22 +64,20 @@
64
64
  "react-qr-code": "^2.0.9",
65
65
  "react-transition-group": "^4.4.5",
66
66
  "react-virtuoso": "^4.12.6",
67
- "react-zoom-pan-pinch-sr": "^0.2.0",
68
67
  "resize-observer": "^1.0.4",
69
68
  "slugify": "1.6.6",
70
69
  "stats-gl": "^3.6.0",
71
- "swiper": "^9.1.0",
72
70
  "tslib": "^2.3.0",
73
71
  "uuid": "^9.0.1",
74
72
  "zod": "4.4.3",
75
- "@expofp/config": "3.23.0",
76
- "@expofp/debug": "3.23.0",
77
- "@expofp/resolve": "3.23.0",
78
- "@expofp/geometry": "3.23.0",
79
- "@expofp/schema": "3.23.0",
80
- "@expofp/ui": "3.23.0",
81
- "@expofp/wayfinding": "3.23.0",
82
- "@expofp/utils": "3.23.0"
73
+ "@expofp/config": "3.23.1",
74
+ "@expofp/debug": "3.23.1",
75
+ "@expofp/geometry": "3.23.1",
76
+ "@expofp/resolve": "3.23.1",
77
+ "@expofp/schema": "3.23.1",
78
+ "@expofp/ui": "3.23.1",
79
+ "@expofp/utils": "3.23.1",
80
+ "@expofp/wayfinding": "3.23.1"
83
81
  },
84
82
  "devDependencies": {
85
83
  "@babel/plugin-proposal-decorators": "^8.0.2",
@@ -1,48 +0,0 @@
1
- (function() {
2
- try {
3
- var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
- e.SENTRY_RELEASE = { id: "3.23.0" };
5
- var t = new e.Error().stack;
6
- t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d8257710-401b-4433-989c-d77176101db5", e._sentryDebugIdIdentifier = "sentry-dbid-d8257710-401b-4433-989c-d77176101db5");
7
- } catch {}
8
- })();
9
- import { r as e } from "./rolldown-runtime-C4CgTizo.js";
10
- import { t } from "./react-BCiZTNvQ.js";
11
- import { c as n } from "./store-DH91iUcL.js";
12
- //#region src/utils/getRenderTargetFromRoot.ts
13
- var r = /* @__PURE__ */ e(t(), 1);
14
- function i(e) {
15
- var t;
16
- if (!e) return console.error("[getRenderTargetFromRoot] rootElement is null"), null;
17
- let n = e.firstElementChild;
18
- if (n && n.shadowRoot) {
19
- let e = n.shadowRoot.querySelector("#efp-layout");
20
- if (e) return e;
21
- }
22
- return ((t = e.querySelector) == null ? void 0 : t.call(e, "#efp-layout")) || (console.error("[getRenderTargetFromRoot] rootElement is null"), null);
23
- }
24
- //#endregion
25
- //#region src/utils/useRenderTarget.ts
26
- var a = () => {
27
- let [e, t] = (0, r.useState)(() => i(n.rootElement));
28
- return (0, r.useEffect)(() => {
29
- var e, r;
30
- if (typeof window > "u" || !n.rootElement) return;
31
- let a = !1, o = null, s = () => {
32
- let e = i(n.rootElement);
33
- return e && !a ? (t((t) => t === e ? t : e), !0) : !1;
34
- };
35
- if (s()) return;
36
- let c = (e = (r = n.rootElement.firstElementChild) == null ? void 0 : r.shadowRoot) == null ? n.rootElement : e;
37
- return o = new MutationObserver(() => {
38
- s() && o && o.disconnect();
39
- }), o.observe(c, {
40
- childList: !0,
41
- subtree: !0
42
- }), () => {
43
- a = !0, o && o.disconnect();
44
- };
45
- }, [n.rootElement]), e;
46
- };
47
- //#endregion
48
- export { a as t };
@@ -1,13 +0,0 @@
1
- import './Gallery.scss';
2
- import React from 'react';
3
- export interface GalleryProps {
4
- images: string[];
5
- leading?: boolean;
6
- onImageLoadHeightUpdate?: () => void;
7
- onOpenGallery?: () => void;
8
- onCloseGallery?: () => void;
9
- className?: string;
10
- }
11
- declare const Gallery: React.FC<GalleryProps>;
12
- export default Gallery;
13
- //# sourceMappingURL=Gallery.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as o,jsxs as h}from"react/jsx-runtime";import"./Gallery.scss";import j from"classnames";import C,{useEffect as E,useState as s}from"react";import U from"./GalleryBadges/GalleryBadges";import u from"./GalleryItem/GalleryItem";import k from"./GalleryModal/GalleryModal";import H from"./GalleryPreLoader";const L=x=>{const{images:a,leading:t=!1,onImageLoadHeightUpdate:n,onOpenGallery:c,onCloseGallery:m,className:d}=x,[y,g]=s(!1),[I,G]=s(0),[M,p]=s(!1),i=e=>{G(e),g(!0),c&&c()},O=()=>{g(!1),m&&m()},N=e=>{let l=e.split("/");const r=l[l.length-1];return r.indexOf("original-")===-1&&(l[l.length-1]="original-"+r),l.join("/")},f=(e,l)=>l?N(e):e;return E(()=>{(async()=>{if(a.length>0){const l=f(a[0],!0);try{await H.load(l),p(!0)}catch{p(!1)}}})()},[a]),h(C.Fragment,{children:[h("div",{className:j("gallery",{"gallery-leading":t},d),children:[o("div",{className:"gallery__wrapper",children:t?o(u,{url:a[0],leading:t,setHeight:!0,fillMode:"contain",onClick:()=>i(0),onImageLoadHeightUpdate:n}):a.map((e,l)=>o(u,{url:e,position:"top",fillMode:"cover",onClick:()=>i(l),onImageLoadHeightUpdate:n},e+l))}),!t&&o(U,{onFullscreen:()=>i(0),count:a.length})]}),y&&o(k,{className:d,images:a.map(e=>f(e,M)),leading:t,initialSlideIndex:I,onClose:O})]})};export default L;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface GalleryBadgesProps {
3
- count: number;
4
- onFullscreen: () => void;
5
- }
6
- declare const GalleryBadges: React.FC<GalleryBadgesProps>;
7
- export default GalleryBadges;
8
- //# sourceMappingURL=GalleryBadges.d.ts.map
@@ -1 +0,0 @@
1
- import{Fragment as r,jsx as a,jsxs as e}from"react/jsx-runtime";const i=({count:l,onFullscreen:s})=>e(r,{children:[e("div",{className:"gallery__badge gallery__badge-count",children:[a("i",{className:"icon-image"}),a("span",{children:l})]}),a("div",{className:"gallery__badge gallery__badge-fullscreen",onClick:s,children:a("i",{className:"icon-maximize"})})]});export default i;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface GalleryControlsProps {
3
- zoomIn: () => void;
4
- zoomOut: () => void;
5
- onClose: () => void;
6
- }
7
- declare const _default: React.FunctionComponent<GalleryControlsProps>;
8
- export default _default;
9
- //# sourceMappingURL=GalleryControls.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as l,jsxs as r}from"react/jsx-runtime";import{observer as s}from"mobx-react-lite";import{t as o}from"../../../utils/i18n";const t=({zoomIn:e,zoomOut:a,onClose:i})=>r("div",{className:"gallery-slider__controls",children:[l("button",{className:"gallery-slider__btn close",title:o("Close"),"aria-label":o("Close"),onClick:i,children:l("i",{className:"icon-close","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-in",title:o("Zoom In"),"aria-label":o("Zoom In"),onClick:()=>e(),children:l("i",{className:"icon-zoom-in","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-out",title:o("Zoom Out"),"aria-label":o("Zoom Out"),onClick:()=>a(),children:l("i",{className:"icon-zoom-out","aria-hidden":"true"})})]});export default s(t);
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- type FillMode = 'cover' | 'contain';
3
- interface GalleryImgProps {
4
- url: string;
5
- fillMode?: FillMode;
6
- leading?: boolean;
7
- setHeight?: boolean;
8
- isFullscreen?: boolean;
9
- position?: 'center' | 'top';
10
- onImageLoadHeightUpdate?: () => void;
11
- }
12
- declare const GalleryImg: React.FC<GalleryImgProps>;
13
- export default GalleryImg;
14
- //# sourceMappingURL=GalleryImg.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as s}from"react/jsx-runtime";import{useEffect as h,useRef as c}from"react";import y from"../GalleryPreLoader";const p=({url:r,setHeight:i=!1,position:l="center",isFullscreen:f=!1,leading:t=!1,fillMode:u="contain",onImageLoadHeightUpdate:a})=>{const o=c(null),e=c(null);h(()=>{!o.current||!e.current||!t||d(r)},[r]);const d=async g=>{if(i)try{const n=await y.load(g);e.current.style.height=n.height*e.current.clientWidth/n.width+"px",a&&a()}catch{}},m={backgroundImage:`url("${r}")`,backgroundSize:u,backgroundRepeat:"no-repeat",transition:t?"all 0.5s ease 0s":"none",backgroundPosition:l};return s("div",{ref:e,style:{width:"100%",height:t&&!f?"250px":"100%"},children:s("div",{ref:o,className:"gallery__img",style:m})})};export default p;
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- interface GalleryItemProps {
3
- url: string;
4
- leading?: boolean;
5
- setHeight?: boolean;
6
- fillMode?: 'cover' | 'contain';
7
- position?: 'center' | 'top';
8
- onClick: () => void;
9
- onImageLoadHeightUpdate?: () => void;
10
- }
11
- declare const GalleryItem: React.FC<GalleryItemProps>;
12
- export default GalleryItem;
13
- //# sourceMappingURL=GalleryItem.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import m from"../GalleryImg/GalleryImg";const n=({url:l,position:t="center",leading:a=!1,setHeight:r=!1,fillMode:i,onClick:o,onImageLoadHeightUpdate:s})=>e("div",{className:"gallery__item",onClick:o,children:e(m,{position:t,fillMode:i,url:l,leading:a,setHeight:r,onImageLoadHeightUpdate:s})});export default n;
@@ -1,12 +0,0 @@
1
- import './GalleryModal.scss';
2
- import React from 'react';
3
- interface GalleryModalProps {
4
- images: string[];
5
- leading: boolean;
6
- initialSlideIndex: number;
7
- onClose: () => void;
8
- className?: string;
9
- }
10
- declare const _default: React.FunctionComponent<GalleryModalProps>;
11
- export default _default;
12
- //# sourceMappingURL=GalleryModal.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as e,jsxs as w}from"react/jsx-runtime";import"./GalleryModal.scss";import z from"classnames";import{observer as y}from"mobx-react-lite";import{useRef as n,useState as d}from"react";import{createPortal as R}from"react-dom";import{TransformWrapper as _}from"react-zoom-pan-pinch-sr";import{Navigation as j}from"swiper";import{Swiper as T,SwiperSlide as O}from"swiper/react";import{t as p}from"../../../utils/i18n";import{useRenderTarget as P}from"../../../utils/useRenderTarget";import E from"../GalleryControls/GalleryControls";import G from"../TransformImg/TransformImg";const U=f=>{const{images:l,leading:u,initialSlideIndex:t,onClose:g,className:x}=f,i=P(),[s,h]=d(t),[o,S]=d([]),a=n(null),m=n(null),c=n(null),v={initialSlide:t,draggable:!1,modules:[j],spaceBetween:50,slidesPerView:1,navigation:{prevEl:m.current,nextEl:c.current},grabCursor:!0},C=e("div",{className:z("gallery-modal",x),children:w(T,{onSwiper:r=>a.current=r,className:"gallery-slider",onSlideChange:r=>{h(r.activeIndex),o[r.previousIndex]?.resetTransform()},...v,children:[o.length?e(E,{onClose:g,zoomIn:o[s].zoomIn,zoomOut:o[s].zoomOut}):null,l.length>1&&e("button",{ref:c,title:p("Next slide"),"aria-label":"\u02C3",className:"gallery-slider__btn next",children:e("i",{className:"icon-chevron-right"})}),l.length>1&&e("button",{ref:m,title:p("Prev slide"),"aria-label":"\u02C2",className:"gallery-slider__btn prev",children:e("i",{className:"icon-chevron-left"})}),l.map((r,N)=>e(O,{children:e(_,{initialScale:1,alignmentAnimation:{sizeX:0,sizeY:0},onInit:b=>{S(I=>[...I,b])},children:e(G,{leading:u,swiperRef:a,url:r})})},r+N))]})});return i?R(C,i):null};export default y(U);
@@ -1,7 +0,0 @@
1
- declare class GalleryPreLoader {
2
- cache: HTMLImageElement[];
3
- load: (url: string) => Promise<HTMLImageElement>;
4
- }
5
- declare const _default: GalleryPreLoader;
6
- export default _default;
7
- //# sourceMappingURL=GalleryPreLoader.d.ts.map
@@ -1 +0,0 @@
1
- class h{constructor(){this.cache=[],this.load=c=>new Promise((s,i)=>{c||s(null);var e=this.cache.filter(a=>a.src===c)[0];e?s(e):(e=new Image,e.crossOrigin="anonymous",e.src=c,e.onload=()=>{this.cache.length>10&&this.cache.shift(),this.cache.push(e),s(e)},e.onerror=a=>{i(a)})})}}export default new h;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { type Swiper as SwiperInstance } from 'swiper';
3
- interface TransformImgProps {
4
- swiperRef: React.RefObject<SwiperInstance>;
5
- url: string;
6
- leading: boolean;
7
- }
8
- declare const TransformImg: React.FC<TransformImgProps>;
9
- export default TransformImg;
10
- //# sourceMappingURL=TransformImg.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{TransformComponent as t,useTransformEffect as m}from"react-zoom-pan-pinch-sr";import i from"../GalleryImg/GalleryImg";const a=({swiperRef:o,leading:l,url:n})=>(m(({state:r,instance:s})=>{o.current&&(o.current.allowTouchMove=r.scale===1,r.scale===1&&r.positionX!==0&&r.positionY!==0&&s.setCenter())}),e(t,{wrapperClass:"gallery-slider__zoom",contentClass:"gallery-slider__zoom-content",children:e(i,{isFullscreen:!0,leading:l,url:n})}));export default a;
@@ -1,23 +0,0 @@
1
- import './Overlay.scss';
2
- import React, { type ReactNode } from 'react';
3
- export type Size = 'small' | 'medium' | 'full';
4
- export interface OverlayPanelProps {
5
- children?: ReactNode;
6
- open: boolean;
7
- size?: Size;
8
- particles?: boolean;
9
- className?: string;
10
- smallSizeMultiplier?: number;
11
- mediumSizeMultiplier?: number;
12
- fullSizeOffset?: number;
13
- scrollThreshold?: number;
14
- disableDrag?: boolean;
15
- forceFull?: boolean;
16
- scrollResetKey?: unknown;
17
- onChangeSize?: (size: Size) => void;
18
- onScrollStateChange?: (isScrolled: boolean) => void;
19
- }
20
- export declare const OverlayScrollContext: React.Context<HTMLDivElement | null>;
21
- declare const Overlay: React.FC<OverlayPanelProps>;
22
- export default Overlay;
23
- //# sourceMappingURL=Overlay.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as _,jsxs as J}from"react/jsx-runtime";import"./Overlay.scss";import fe from"classnames";import{createContext as de,useCallback as a,useEffect as R,useMemo as Q,useRef as v,useState as m}from"react";import{MOBILE_BREAKPOINT as X}from"../constants";import{useDragGesture as ae}from"../hooks/useDragGesture";import{useWindowSize as me}from"../hooks/useWindowSize";import ge from"../tools/debounce";import{t as he}from"../utils/i18n";import ve from"./OverlayParticles";export const OverlayScrollContext=de(null);const Y=70,we="0.3s",pe=10,x=()=>window!==window.top&&(document.documentElement.clientHeight||document.body.clientHeight)||window.innerHeight,Z=(u=x(),r,s,I)=>({small:u/r,medium:u/s,full:u-I}),ye=({children:u,open:r,size:s="medium",particles:I=!1,className:$,onChangeSize:C,onScrollStateChange:w,smallSizeMultiplier:D=12.6,mediumSizeMultiplier:O=2.6,fullSizeOffset:A=0,scrollThreshold:G=pe,disableDrag:N=!1,forceFull:S=!1,scrollResetKey:V})=>{const{width:M,height:z}=me(),[t,ee]=m(()=>Z(x(),D,O,A)),[l,te]=m(()=>M<=X),[L,W]=m(!1),[i,ne]=m(()=>t[s]),[h,P]=m(()=>t[s]),[g,p]=m(!1),[b,j]=m(!1),oe=r||g,k=v(void 0),B=v(void 0),K=v(null),q=v(null),f=v(null),c=a(e=>{const n=t[e];ne(n),P(n),C?.(e)},[t,C]),re=Q(()=>l?S&&r?{height:x()}:{height:r||g?h:0}:{height:r?"auto":void 0},[l,r,h,g,S]),F=a(e=>{const n=[t.small,t.medium,t.full].sort();if(e>=t.full){c("full");return}if(e<=t.small){c("small");return}const o=i||t.medium,d=e>o?n.find(T=>T+Y>=e)||t.full:n.reverse().find(T=>T-Y<=e)||t.small;d===t.full?c("full"):d===t.medium?c("medium"):c("small")},[t,i,c]),se=a(e=>{W(!0),k.current=e},[]),le=a(e=>{const n=k.current;if(n===void 0)return;const o=f.current;if((o?.scrollTop??0)>0&&i===t.full)return;const d=n-e;let E=(i||t.medium)+d;o&&i===t.full&&E<i&&(o.style.overflow="hidden"),E=Math.min(Math.max(E,t.small),t.full),B.current=d,P(E)},[i,t]),ie=a(()=>{W(!1),k.current=void 0;const e=f.current;e&&e.style.removeProperty("overflow");const n=B.current;B.current=void 0,n!==void 0&&h!==void 0&&F(h)},[h,F]),U=a(e=>{if(L)return;c(s==="small"?"medium":s==="medium"?"full":"small")},[L,s,c]),{touchHandlers:y,mouseHandlers:H}=ae({onDragStart:se,onDragMove:le,onDragEnd:ie}),ce=a(()=>{const e=f.current;if(!e)return;const o=e.scrollTop>=G;b!==o&&(j(o),w?.(o))},[G,b,w]),ue=Q(()=>ge(()=>{window.__resett?.()},250),[]);return R(()=>{if(!l||N)return;const e=K.current,n=q.current,o=f.current;e&&(e.ontouchstart=y.onTouchStart,e.ontouchend=y.onTouchEnd,window.ontouchmove=y.onTouchMove,e.onmousedown=H.onMouseDown,e.onmouseup=H.onMouseUp,window.onmousemove=H.onMouseMove),n&&n.addEventListener("mouseup",U);const d=()=>{i&&i<t.full&&o&&(o.style.overflow="hidden")};return o&&(o.ontouchstart=d),()=>{e&&(window.ontouchmove=null,window.onmousemove=null),n&&n.removeEventListener("mouseup",U)}},[l,N,y,H,U,i,t]),R(()=>{te(M<=X);const e=x();ee(Z(e,D,O,A))},[M,z,D,O,A]),R(()=>{if(r){p(!0);const e=setTimeout(()=>{c(s),p(!1)},10);return()=>clearTimeout(e)}else{p(!0),l&&P(0);const e=setTimeout(()=>{p(!1),j(!1)},parseFloat(we)*1e3);return()=>clearTimeout(e)}},[r,s,c,l]),R(()=>{r&&!g&&(f.current?.scrollTo({top:0}),j(!1),w?.(!1))},[r,g,w,V]),oe?_(OverlayScrollContext.Provider,{value:f.current,children:J("div",{className:fe("efp-overlay",{"is-open":r,"is-draggable":L,"is-small":s==="small","is-medium":s==="medium","is-full":s==="full","is-mobile":l,"is-desktop":!l,"is-hidden":!l&&!r,"is-animating":g,"is-scrolled":b,"is-forced-full":S&&l},$),style:re,ref:K,children:[!N&&_("div",{className:"efp-overlay__draghandle",ref:q}),J("div",{className:"efp-overlay__scroll",ref:f,onScroll:e=>{ce(),ue()},children:[I?_(ve,{}):null,_("div",{className:"efp-overlay__content",children:u||he("No content")})]})]})}):null};export default ye;
@@ -1,12 +0,0 @@
1
- import './Toast.scss';
2
- import React from 'react';
3
- export interface ToastProps {
4
- message: string;
5
- duration: number;
6
- onClose: () => void;
7
- }
8
- export declare const ToastContainer: ({ toasts, handleToastClose }: {
9
- handleToastClose: any;
10
- toasts: any;
11
- }) => React.JSX.Element;
12
- //# sourceMappingURL=ToastContainer.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as i}from"react/jsx-runtime";import"./Toast.scss";import{useState as r}from"react";import{useTimeout as n}from"../../utils/useTimeout";const m=({message:e,duration:o,onClose:t})=>{const[s,a]=r(!0);return n(()=>{a(!1),t()},o),i("div",{className:`toast ${s?"is-visible":""}`,onClick:t,children:e})};export const ToastContainer=({toasts:e,handleToastClose:o})=>i("div",{className:"toast-container",children:e.map((t,s)=>i(m,{message:t.message,duration:t.duration,onClose:()=>o(s)},`toast-${s}`))});
@@ -1,2 +0,0 @@
1
- export declare const ToastContext: import("react").Context<null>;
2
- //# sourceMappingURL=ToastContext.d.ts.map
@@ -1 +0,0 @@
1
- import{createContext as t}from"react";export const ToastContext=t(null);
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export declare const ToastProvider: ({ children }: {
3
- children: any;
4
- }) => React.JSX.Element;
5
- export default ToastProvider;
6
- //# sourceMappingURL=ToastProvider.d.ts.map
@@ -1 +0,0 @@
1
- import{jsx as p,jsxs as d}from"react/jsx-runtime";import{useState as l}from"react";import{ToastContainer as m}from"./ToastContainer";import{ToastContext as c}from"./ToastContext";export const ToastProvider=({children:r})=>{const[a,e]=l([]),n=o=>{e(s=>{const t=[...s];return t.splice(o,1),t})},i={open:(o,s)=>{e(t=>[...t,{message:o,duration:s}])}};return d(c.Provider,{value:i,children:[p(m,{toasts:a,handleToastClose:n}),r]})};export default ToastProvider;
@@ -1,2 +0,0 @@
1
- export declare const useToast: () => null;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- import{useContext as o}from"react";import{ToastContext as t}from"./ToastContext";export const useToast=()=>o(t);
@@ -1,19 +0,0 @@
1
- interface DragGestureConfig {
2
- onDragStart: (clientY: number) => void;
3
- onDragMove: (clientY: number) => void;
4
- onDragEnd: () => void;
5
- }
6
- export declare const useDragGesture: ({ onDragStart, onDragMove, onDragEnd }: DragGestureConfig) => {
7
- touchHandlers: {
8
- onTouchStart: (event: TouchEvent) => void;
9
- onTouchMove: (event: TouchEvent) => void;
10
- onTouchEnd: () => void;
11
- };
12
- mouseHandlers: {
13
- onMouseDown: (event: MouseEvent) => void;
14
- onMouseMove: (event: MouseEvent) => void;
15
- onMouseUp: () => void;
16
- };
17
- };
18
- export {};
19
- //# sourceMappingURL=useDragGesture.d.ts.map
@@ -1 +0,0 @@
1
- import{useCallback as t,useRef as d}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,5 +0,0 @@
1
- export declare const useWindowSize: () => {
2
- width: number;
3
- height: number;
4
- };
5
- //# sourceMappingURL=useWindowSize.d.ts.map
@@ -1 +0,0 @@
1
- import{useEffect as o,useState as d}from"react";export const useWindowSize=()=>{const[i,n]=d(()=>window!==window.top?{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}:{width:window.innerWidth,height:window.innerHeight});return o(()=>{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};
@@ -1,2 +0,0 @@
1
- export declare const useTimeout: (callback: any, delay: any) => void;
2
- //# sourceMappingURL=useTimeout.d.ts.map
@@ -1 +0,0 @@
1
- import{useEffect as u,useRef as n}from"react";export const useTimeout=(e,t)=>{const r=n(e);u(()=>{r.current=e},[e]),u(()=>{if(t===null)return;const o=setTimeout(()=>r.current(),t);return()=>clearTimeout(o)},[t])};