@expofp/floorplan 3.13.2 → 3.13.4
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.
- package/dist/browser/{Button-C5DLguTW.js → Button-Di2ct8As.js} +5 -5
- package/dist/browser/{CookieConsent-CPXxoJkz.js → CookieConsent-CzE7xqru.js} +7 -7
- package/dist/browser/{Debug-bxMz-HDF.js → Debug-BsFpCwAP.js} +7 -7
- package/dist/browser/{Demo-CGCZqU_8.js → Demo-CUBUALkV.js} +9 -9
- package/dist/browser/{Free-I-EGiu3o.js → Free-CeVCkK7q.js} +9 -9
- package/dist/browser/{Gallery-Bce2fubu.js → Gallery-BseorZVt.js} +9 -9
- package/dist/browser/{GpsLoader-CnPH3rxE.js → GpsLoader-CEqhVKuQ.js} +22 -22
- package/dist/browser/{KioskStore-K0Ps7wq6.js → KioskStore-CkjO0Hfm.js} +6 -6
- package/dist/browser/{MaplibreAdapter-DKa1N9-7.js → MaplibreAdapter-Cv3TA80a.js} +90 -90
- package/dist/browser/{ModalContainer-BxCJTxBS.js → ModalContainer-DBzlfN-T.js} +10 -10
- package/dist/browser/{PermissionNotice-BS53dDaS.js → PermissionNotice-B07dAoJS.js} +6 -6
- package/dist/browser/{SetKioskMode-P2g_TnCr.js → SetKioskMode-Bx1kz1kp.js} +8 -8
- package/dist/browser/{ShowKiosk-Bz-7t-PL.js → ShowKiosk-B7-iTNeI.js} +12 -12
- package/dist/browser/{TouchHand-Dm3c6gpk.js → TouchHand-Bnn5MVhC.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-COyljU8V.js → ViewerMenuPanel-CXUBz4Wo.js} +10 -10
- package/dist/browser/{add-debug-secret-listener-DQjjtobD.js → add-debug-secret-listener-BNYotAb-.js} +1 -1
- package/dist/browser/{adopt-global-settings-DIJsf94E.js → adopt-global-settings-4U11MsDW.js} +9 -9
- package/dist/browser/{boolean-editor-D4Y66mgk.js → boolean-editor-CHApWCH1.js} +9 -9
- package/dist/browser/{bootIntercom-DUPbX22l.js → bootIntercom-DxJQ9eFU.js} +2 -2
- package/dist/browser/{booth-by-xy-DKyMJwg9.js → booth-by-xy-BLVVwNtj.js} +206 -206
- package/dist/browser/bundle.json +65 -65
- package/dist/browser/{classnames-CTiheKEO.js → classnames-DyPh2wWH.js} +2 -2
- package/dist/browser/{client-B0g0Q0fu.js → client-VtpPft-k.js} +4 -4
- package/dist/browser/{components-DUbHmBQ6.js → components-pEqQBzpb.js} +581 -581
- package/dist/browser/{debug-overlay-CKXL3Z9z.js → debug-overlay-BIIG939X.js} +10 -10
- package/dist/browser/{debug-ui-D2GPuJSX.js → debug-ui-Dd-aHSgD.js} +6 -6
- package/dist/browser/{dist-CZH-D_bo.js → dist-B--b6-sL.js} +6 -6
- package/dist/browser/{dist-CFY_dc-C.js → dist-B-7AJaNA.js} +3 -3
- package/dist/browser/{dist-BFVoy_zB.js → dist-qa-F0eMk.js} +5 -5
- package/dist/browser/{efp-debug-init-pd2smy4A.js → efp-debug-init-Bzf4T8Xx.js} +3 -3
- package/dist/browser/{enum-editor-a07SOXXi.js → enum-editor-DC0RIYSE.js} +4 -4
- package/dist/browser/{es5-jDwWZhmf.js → es5-DQ8JOeDN.js} +2 -2
- package/dist/browser/{event-not-found-CPqO_ew-.js → event-not-found-BKJBsZXi.js} +1 -1
- package/dist/browser/{exports-8JcxTO7_.js → exports-6X24q5_8.js} +1 -1
- package/dist/browser/{favicon-BhTDecsz.js → favicon-DxFo6cG6.js} +1 -1
- package/dist/browser/{fetch-retry.umd-BuEcG130.js → fetch-retry.umd-DbPKc93r.js} +2 -2
- package/dist/browser/{flex-FVc6l8VM.js → flex-D7Rgw10G.js} +5 -5
- package/dist/browser/{floorplan.loader-DM3BoMUa.js → floorplan.loader-DWmxY4b8.js} +19 -19
- package/dist/browser/{floorplan.ready-DQAk0-bE.js → floorplan.ready-BBeRJMyN.js} +312 -321
- package/dist/browser/{fuse-hiNWVTid.js → fuse-CMjVlF0N.js} +2 -2
- package/dist/browser/{i18n-DmUQ2csh.js → i18n-xqAQbHAE.js} +2885 -2510
- package/dist/browser/index.js +25 -25
- package/dist/browser/{index.module-Ce5K5GHH.js → index.module-Cow3RO4I.js} +4 -4
- package/dist/browser/{integrateKiosk-DLY98yHT.js → integrateKiosk-GhnQowhu.js} +3 -3
- package/dist/browser/{is-webview-DYW7jMPo.js → is-webview-BL3sbVlT.js} +1 -1
- package/dist/browser/{jsx-runtime-Cn7VZCRr.js → jsx-runtime-1kuNv2jo.js} +2 -2
- package/dist/browser/{lib-DKxIjoGs.js → lib-KmlWWpxs.js} +3 -3
- package/dist/browser/{loadImage-CFRF6nKm.js → loadImage-OQCwDcXc.js} +4 -4
- package/dist/browser/{logDeviceInfo-B2xD643p.js → logDeviceInfo-C4CqLCSB.js} +9 -9
- package/dist/browser/{main-BE7HSdfx.js → main-lSz23rgB.js} +1 -1
- package/dist/browser/{mobx-Dss6V0uv.js → mobx-Juv7YSNw.js} +4 -4
- package/dist/browser/{optional-boolean-editor-BDWvD6R3.js → optional-boolean-editor-Bzfn3FDz.js} +3 -3
- package/dist/browser/{optional-enum-editor-DzJSD274.js → optional-enum-editor-C46BK0zF.js} +4 -4
- package/dist/browser/{optional-string-editor-DvQrsAvN.js → optional-string-editor-77_tZQLr.js} +4 -4
- package/dist/browser/{particles.min-0GINFlmD.js → particles.min-vy3ld3Rh.js} +2 -2
- package/dist/browser/{react-CQIXbbli.js → react-DTFJ9F0z.js} +2 -2
- package/dist/browser/{react-dom-DB3HP1L3.js → react-dom--ZXNmyjd.js} +3 -3
- package/dist/browser/{rolldown-runtime-CBbNE2KV.js → rolldown-runtime-DKhEBWux.js} +1 -1
- package/dist/browser/{select-DkvD6Ont.js → select-BSCoOOKF.js} +10 -10
- package/dist/browser/{settings-3RnELfMa.js → settings-COo-V6uV.js} +2 -2
- package/dist/browser/{settings-item-wgFS4pwq.js → settings-item-twkhiQs1.js} +6 -6
- package/dist/browser/{store-Bh1UUDBZ.js → store-7Bfkwa8d.js} +2694 -2694
- package/dist/browser/{string-editor-DIG3V4Iv.js → string-editor-D3_ZBuje.js} +4 -4
- package/dist/browser/{text-field-Ce1nLpTL.js → text-field-BlFx76b3.js} +5 -5
- package/dist/browser/{theme-DE94e68B.js → theme-Cdr_JTu6.js} +8 -8
- package/dist/browser/{ui-DKrc1LYz.js → ui-DsnmvJHp.js} +8 -8
- package/dist/browser/{useRenderTarget-DwEjrRiD.js → useRenderTarget-CqTbZKLS.js} +4 -4
- package/dist/esm/components/LogoOverlay.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-bg.d.ts +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
- package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
- package/dist/esm/components/Overlay.d.ts +1 -1
- package/dist/esm/components/Overlay.js +1 -1
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/data/svg.js +1 -1
- package/dist/esm/load-dev.d.ts +1 -1
- package/dist/esm/services/url-dispatch.js +1 -1
- package/dist/esm/store/BoothStore.d.ts +1 -1
- package/dist/esm/store/HeatmapStore.js +1 -1
- package/dist/esm/store/LayerStore.js +1 -1
- package/dist/esm/store/UIState.d.ts +0 -1
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/store/init/init-booths.js +1 -1
- package/dist/esm/store/init/init-layers.js +1 -1
- package/dist/esm/store/types.d.ts +6 -6
- package/dist/esm/tools/settings.js +1 -1
- package/dist/esm/utils/camera-map-settings.d.ts +2 -2
- package/package.json +14 -14
|
@@ -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,MAP_SETTINGS_KEY as at,MOBILE_BREAKPOINT as nt,PREVIEW_MODE_STORAGE_KEY as ht,UI_SCALE_STORAGE_KEY as U,VIEWER_MODE_STORAGE_KEY as ct,VISIBILITY_STORAGE_KEY as W}from"../constants";import C from"../data";import{svgArea as H,svgAreaExplicit as pt}from"../data/svg";import{readFreeBannerDismissed as dt}from"../tools/freeBanner";import{hasUserConsent as ut}from"../tools/gtag";import{hasHtmlTags as j}from"../tools/has-html-tags";import ft from"../tools/logger";import L from"../tools/settings";import{stripHtml as X}from"../tools/strip-html";import{remsToPixels as F}from"../utils";import J from"../utils/browser";import{getLocale as yt,getLocales as mt,t as v}from"../utils/i18n";import{isLocalStorageAvailable as k}from"../utils/localStorage";import{getResponsiveClass as gt}from"../utils/responsiveClass";import{sanitizeStr as Z}from"../utils/sanitizeText";import{resolveVenueFitRect as St}from"../utils/scene-bounds";import{uiState as P}from".";import{BoothBase as I,RegularBooth as R,SpecialBooth as _}from"./BoothStore";import{EventItem as O}from"./EventStore";import{Exhibitor as x}from"./ExhibitorStore";import{findEntityByExternalId as vt,Route as T}from"./RouteStore";import{SpeakerItem as V}from"./SpeakerStore";const bt=["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(r=>r.id)||[]:[]}get highlightedBooths(){const o=new Set(this.rootStore.exhibitorStore.highlightedByExternalIds),r=new Set(this.rootStore.boothStore.highlightedByExternalIds),s=new Set([this.rootStore.exhibitorStore.exhibitors.filter(i=>o.has(i.externalId)).flatMap(i=>i.booths.filter(l=>l instanceof R)).map(i=>i.id.toString()),this.rootStore.boothStore.booths.filter(i=>r.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(l=>l.score===0).map(l=>l.item);i.length?D(i,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(l=>s.add(l.id.toString())):this.listBooths.forEach(l=>s.add(l.id.toString()))}if(this.list?.type==="filter"&&(s.clear(),this.list.items.flatMap(i=>i.booths.filter(l=>l instanceof R)).forEach(i=>s.add(i.id.toString()))),this.categoryFilterOpen&&this.selectedCategoryFilters.length>0?(s.clear(),this.selectedCategoryFilters.forEach(i=>{i.exhibitors.flatMap(l=>l.booths).forEach(l=>s.add(l.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 l=this.rootStore.exhibitorStore.exhibitors;i&&(l=l.filter(d=>d.name.toLowerCase().includes(i))),l.flatMap(d=>d.booths.filter(f=>f instanceof R)).forEach(d=>s.add(d.id.toString()))}if(this.selectedPoiTypeFilters.length>0&&(s.clear(),this.selectedPoiTypeFilters.forEach(i=>{this.rootStore.boothStore.booths.filter(l=>l.poiTypeId===i.id).forEach(l=>s.add(l.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 R).forEach(i=>s.add(i.id.toString()))),this.details instanceof O){const i=this.details;if(i.boothId){s.clear();const l=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);l&&s.add(l.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 r=this.details;return{mode:"details",title:r.title||r.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 T,searchBoxConfig:()=>{const r=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.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((r,s)=>s.priority-r.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.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.hideCookieConsent=!!ut(),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=dt(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=yt();return o==="ar"||o==="he"}get noOverlay(){return this.rootStore.fp.noOverlay||this.hideOverlay}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,r=this.rootStore.routeStore.currentRouteLayer?.name;if(!r)return null;const s=o.findIndex(c=>c.layer?.name===r);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>nt||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.noOverlay?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 gt(this.screenSize.width)}get mapVisibleTop(){return(this.wsPosition==="top"?this.wsOccupiedHeightPx:0)+this.headerHeightPx}get mapVisibleBottom(){return this.overlayLeft||this.noOverlay?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 fullSizeOffset(){const o=this.wsShown?54:0,r=this.bannerType==="free"&&!this.freeBannerDismissed?40:0,s=20;if(this.details&&!(this.details instanceof T))return o+r+s;const c=54,i=this.shouldShowSearchButtons?54:0;return o+r+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(k&&localStorage.getItem("forcebackdrop")==="1")return!0;if(this.overlayBottom||this.selectedExhibitor?.leadingImageUrl&&!this.selectedExhibitor?.leadingImageLinkUrl)return!1;const o=J.satisfies({safari:">=13"}),r=J.satisfies({chrome:">=77"});var s=/(android)/i.test(navigator.userAgent);return s?!1:o||r&&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:r,boothStore:s,heatmapStore:c}=this.rootStore;let i=o.exhibitors;const l=r.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 w=!this.selectedCategoryFilters.length&&C.showCategories?l.filter(y=>bt.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:w.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 M=y instanceof _&&y.title?y.title:y.name,z=m instanceof _&&m.title?m.title:m.name;return M.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:r,categoryStore:s,boothStore:c,eventStore:i,speakerStore:l,heatmapStore:d}=this.rootStore;let f=r.exhibitors;const w=s.categories.filter(h=>h.exhibitors.length),A=c.booths,y=i.eventItems,m=l.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=[],M=new Set,z=new Set,K=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)))&&M.add(h)}),this.selectedCategoryFilters.length>0&&A.forEach(h=>{(this.heatmap||!(h instanceof R)||!Array.from(M).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))&&K.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(...K),B.push(...M),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=Z(h instanceof I&&h.fullName.toLowerCase()||h.name.toLowerCase()),g=p.indexOf(Z(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 r=this.fuzzySearchItems.map(({item:l})=>l),s=new Set(r.map(l=>l.name)),c=this.categoryFilteredSearchList.filter(l=>!s.has(l.name)),i=[];for(const l of c){const d=l.description;if(!d)continue;const w=(j(d)?X(d):d).toLowerCase().indexOf(o);w!==-1&&i.push({item:l,pos:w})}return i.sort((l,d)=>l.pos-d.pos),i.map(l=>l.item)}get foundInDescriptionStruct(){const o={};if(this.list?.type!=="search")return o;const r=this.list?.text?.trim().toLowerCase();return this.foundInDescription.forEach(s=>{let c=s.description;if(!c)return;j(c)&&(c=X(c));const i=c.toLowerCase().indexOf(r);if(i===-1)return;const l=3,d=i>l?i-l: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(r=>o.categories.some(s=>s.id===r.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 r=this.rootStore.fuzzySearchEngineStore.search(this.categoryFilteredSearchList,o),s=[],c=[];for(const i of r){const l=i.item,d=l.entity.type,f=d==="booth"?l:null,w=d==="exhibitor"?l:null,A=[l.name?.toLowerCase()??"",f?.title?.toLowerCase()??"",f?.fullName?.toLowerCase()??"",...w?.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:l,score:0},pos:y}):c.push(i)}return s.sort((i,l)=>i.pos-l.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(l=>i.categories.some(d=>d.id===l.id)))return!1;if(this.selectedPoiTypeFilters.length>0){if(i instanceof x&&!i.booths.some(l=>this.selectedPoiTypeFilters.some(d=>l.poiTypeId===d.id))||i instanceof I&&!this.selectedPoiTypeFilters.some(l=>i.poiTypeId===l.id))return!1;if(i instanceof O&&i.boothId){const l=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);if(!l||!this.selectedPoiTypeFilters.some(d=>l.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 mt();case"filter":return this.list.items;case"sessions":return this.rootStore.eventStore.eventItems;case"exhibitors":const r=this.rootStore.exhibitorStore.exhibitors,s=this.list.text?.toLowerCase().trim();return s?r.filter(i=>i.name.toLowerCase().includes(s)):r;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 l=parseInt(i);if(!isNaN(l)){const f=this.rootStore.boothStore.boothById.get(l);if(f)return f}return vt(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 r=this.selectedRoute,s=[r?.from,r?.to,...r?.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}}setVisibility(o){const r={...Object.keys(this.visibility).reduce((s,c)=>({...s,[c]:!0}),{}),...Object.keys(o).filter(s=>this.visibility.hasOwnProperty(s)).reduce((s,c)=>({...s,[c]:o[c]}),{})};Object.values(r).every(Boolean)?k&&localStorage.removeItem(W):k&&localStorage.setItem(W,JSON.stringify(r)),this.mapControlsHidden=!r.controls,this.floorsControlHidden=!r.levels,this.hideHeaderLogo=!r.header,this.hideFreeOrDemo=!r.header,this.hideOverlay=!r.overlay}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(){if(this.rootStore.maplibreStore.showMaplibre){const{rect:o}=St({layerViewbox:this.rootStore.layerStore.viewboxRectangle,explicitArea:pt?H:null,layerRectangle:this.rootStore.layerStore.rectangle,sceneDef:this.rootStore.rendererService.scene,svgArea:H});this.moveToRect=o}else this.moveToRect=this.rootStore.layerStore.rectangle||H;this.rollReset=!0}get previewMode(){const o=k?localStorage.getItem(ht)??localStorage.getItem(rt):null;return o==="true"||o==="1"||this.rootStore.fp.previewMode}get viewerMode(){const o=k?localStorage.getItem(ct)??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}}saveMapSettings(o){const r=JSON.stringify(this.mapSettings),s=JSON.stringify(o);r!==s&&sessionStorage.setItem(at,JSON.stringify(o))}setMapSettings(o){const r={};for(const s in o)o[s]!=null&&(s==="zoomtime"?r[s]=Math.min(Math.max(o[s]||this.mapSettings.zoomtime,500),5e3):r[s]=o[s]);this.mapSettings={...this.mapSettings,...r},this.saveMapSettings(this.mapSettings)}resetMapSettings(){this.mapSettings={...this.defaultMapSettings},this.saveMapSettings(this.mapSettings)}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 r=o.toString();return console.log("View Map On Phone QR Code Url",r),r}get routeQRCodeUrl(){const o=new URL(this.baseQRCodeUrl),r=this.selectedRoute?.from,s=this.selectedRoute?.to,c=r instanceof I?r.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 l=o.toString();return console.log("Route QR Code Url",l),l}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=[],r=this.activeInterfaceData;return r&&(o.push(r.className),r.additionalClasses&&o.push(...r.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.hideOverlay?!1:this.activeInterfaceData!==null}setOverlayScrolled(o){this.isOverlayScrolled=o}setListScrollTop(o,r){this.listScrollTop=r,this.scrollPositions.set(o,r)}setListScrollItemId(o,r){this.listScrollItemId=r,this.scrollItemIds.set(o,r)}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"&&k){const r=localStorage.getItem(U)??localStorage.getItem(N);if(r){const s=parseFloat(r);!isNaN(s)&&s>=.8&&s<=1.4&&(this._customUIScale=s)}}}setUIScale(o,r=!0){if(isNaN(o)||o<this.minUIScale||o>this.maxUIScale){ft.warn(`Invalid ui-scale value: ${o}. Must be between ${this.minUIScale} and ${this.maxUIScale}.`);return}this._customUIScale=o,r&&k&&(localStorage.setItem(U,o.toString()),localStorage.removeItem(N))}resetUIScale(){this._customUIScale=null,k&&(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,"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,"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({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 D(G,o,r=[]){const s=[];return G.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&&r.filter(i=>i.speakers.some(l=>l.id===c.id)&&i.boothId).forEach(i=>s.push(o.find(l=>l.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 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 U,LEGACY_VIEWER_MODE_STORAGE_KEY as lt,MOBILE_BREAKPOINT as at,PREVIEW_MODE_STORAGE_KEY as nt,UI_SCALE_STORAGE_KEY as N,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 j}from"../tools/has-html-tags";import ut from"../tools/logger";import L from"../tools/settings";import{stripHtml as X}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 k}from"../utils/localStorage";import{getResponsiveClass as mt}from"../utils/responsiveClass";import{sanitizeStr as J}from"../utils/sanitizeText";import{resolveVenueFitRect as gt}from"../utils/scene-bounds";import{uiState as P}from".";import{BoothBase as I,RegularBooth as R,SpecialBooth as _}from"./BoothStore";import{EventItem as O}from"./EventStore";import{Exhibitor as x}from"./ExhibitorStore";import{findEntityByExternalId as St,Route as T}from"./RouteStore";import{SpeakerItem as V}from"./SpeakerStore";const vt=["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(r=>r.id)||[]:[]}get highlightedBooths(){const o=new Set(this.rootStore.exhibitorStore.highlightedByExternalIds),r=new Set(this.rootStore.boothStore.highlightedByExternalIds),s=new Set([this.rootStore.exhibitorStore.exhibitors.filter(i=>o.has(i.externalId)).flatMap(i=>i.booths.filter(l=>l instanceof R)).map(i=>i.id.toString()),this.rootStore.boothStore.booths.filter(i=>r.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(l=>l.score===0).map(l=>l.item);i.length?D(i,this.rootStore.boothStore.booths,this.rootStore.eventStore.eventItems).forEach(l=>s.add(l.id.toString())):this.listBooths.forEach(l=>s.add(l.id.toString()))}if(this.list?.type==="filter"&&(s.clear(),this.list.items.flatMap(i=>i.booths.filter(l=>l instanceof R)).forEach(i=>s.add(i.id.toString()))),this.categoryFilterOpen&&this.selectedCategoryFilters.length>0?(s.clear(),this.selectedCategoryFilters.forEach(i=>{i.exhibitors.flatMap(l=>l.booths).forEach(l=>s.add(l.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 l=this.rootStore.exhibitorStore.exhibitors;i&&(l=l.filter(d=>d.name.toLowerCase().includes(i))),l.flatMap(d=>d.booths.filter(f=>f instanceof R)).forEach(d=>s.add(d.id.toString()))}if(this.selectedPoiTypeFilters.length>0&&(s.clear(),this.selectedPoiTypeFilters.forEach(i=>{this.rootStore.boothStore.booths.filter(l=>l.poiTypeId===i.id).forEach(l=>s.add(l.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 R).forEach(i=>s.add(i.id.toString()))),this.details instanceof O){const i=this.details;if(i.boothId){s.clear();const l=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);l&&s.add(l.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 r=this.details;return{mode:"details",title:r.title||r.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 T,searchBoxConfig:()=>{const r=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.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((r,s)=>s.priority-r.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.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.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 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,r=this.rootStore.routeStore.currentRouteLayer?.name;if(!r)return null;const s=o.findIndex(c=>c.layer?.name===r);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.noOverlay?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.noOverlay?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 fullSizeOffset(){const o=this.wsShown?54:0,r=this.bannerType==="free"&&!this.freeBannerDismissed?40:0,s=20;if(this.details&&!(this.details instanceof T))return o+r+s;const c=54,i=this.shouldShowSearchButtons?54:0;return o+r+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(k&&localStorage.getItem("forcebackdrop")==="1")return!0;if(this.overlayBottom||this.selectedExhibitor?.leadingImageUrl&&!this.selectedExhibitor?.leadingImageLinkUrl)return!1;const o=Z.satisfies({safari:">=13"}),r=Z.satisfies({chrome:">=77"});var s=/(android)/i.test(navigator.userAgent);return s?!1:o||r&&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:r,boothStore:s,heatmapStore:c}=this.rootStore;let i=o.exhibitors;const l=r.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 B=!this.selectedCategoryFilters.length&&C.showCategories?l.filter(y=>vt.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:B.concat(f.sort((y,m)=>{const S=y instanceof x&&y.featured!==void 0,w=m instanceof x&&m.featured!==void 0;if(S!==w)return S?-1:1;const M=y instanceof _&&y.title?y.title:y.name,z=m instanceof _&&m.title?m.title:m.name;return M.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:r,categoryStore:s,boothStore:c,eventStore:i,speakerStore:l,heatmapStore:d}=this.rootStore;let f=r.exhibitors;const B=s.categories.filter(h=>h.exhibitors.length),A=c.booths,y=i.eventItems,m=l.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 w=[],M=new Set,z=new Set,K=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)))&&M.add(h)}),this.selectedCategoryFilters.length>0&&A.forEach(h=>{(this.heatmap||!(h instanceof R)||!Array.from(M).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))&&K.add(h)}),et.forEach(h=>{S.some(p=>b(h.name,p)||b(h.company,p)||b(h.jobTitle,p))&&q.add(h)}),w.push(...K),w.push(...M),this.heatmap)return w.sort((h,p)=>d.getClicksByType(p)-d.getClicksByType(h));const ot=new Map(w.map(h=>[h.id,h]));return w.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 r=this.fuzzySearchItems.map(({item:l})=>l),s=new Set(r.map(l=>l.name)),c=this.categoryFilteredSearchList.filter(l=>!s.has(l.name)),i=[];for(const l of c){const d=l.description;if(!d)continue;const B=(j(d)?X(d):d).toLowerCase().indexOf(o);B!==-1&&i.push({item:l,pos:B})}return i.sort((l,d)=>l.pos-d.pos),i.map(l=>l.item)}get foundInDescriptionStruct(){const o={};if(this.list?.type!=="search")return o;const r=this.list?.text?.trim().toLowerCase();return this.foundInDescription.forEach(s=>{let c=s.description;if(!c)return;j(c)&&(c=X(c));const i=c.toLowerCase().indexOf(r);if(i===-1)return;const l=3,d=i>l?i-l: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(r=>o.categories.some(s=>s.id===r.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 r=this.rootStore.fuzzySearchEngineStore.search(this.categoryFilteredSearchList,o),s=[],c=[];for(const i of r){const l=i.item,d=l.entity.type,f=d==="booth"?l:null,B=d==="exhibitor"?l:null,A=[l.name?.toLowerCase()??"",f?.title?.toLowerCase()??"",f?.fullName?.toLowerCase()??"",...B?.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:l,score:0},pos:y}):c.push(i)}return s.sort((i,l)=>i.pos-l.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(l=>i.categories.some(d=>d.id===l.id)))return!1;if(this.selectedPoiTypeFilters.length>0){if(i instanceof x&&!i.booths.some(l=>this.selectedPoiTypeFilters.some(d=>l.poiTypeId===d.id))||i instanceof I&&!this.selectedPoiTypeFilters.some(l=>i.poiTypeId===l.id))return!1;if(i instanceof O&&i.boothId){const l=this.rootStore.boothStore.booths.find(d=>d.id===i.boothId);if(!l||!this.selectedPoiTypeFilters.some(d=>l.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 r=this.rootStore.exhibitorStore.exhibitors,s=this.list.text?.toLowerCase().trim();return s?r.filter(i=>i.name.toLowerCase().includes(s)):r;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 l=parseInt(i);if(!isNaN(l)){const f=this.rootStore.boothStore.boothById.get(l);if(f)return f}return St(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 r=this.selectedRoute,s=[r?.from,r?.to,...r?.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}}setVisibility(o){const r={...Object.keys(this.visibility).reduce((s,c)=>({...s,[c]:!0}),{}),...Object.keys(o).filter(s=>this.visibility.hasOwnProperty(s)).reduce((s,c)=>({...s,[c]:o[c]}),{})};Object.values(r).every(Boolean)?k&&localStorage.removeItem(W):k&&localStorage.setItem(W,JSON.stringify(r)),this.mapControlsHidden=!r.controls,this.floorsControlHidden=!r.levels,this.hideHeaderLogo=!r.header,this.hideFreeOrDemo=!r.header,this.hideOverlay=!r.overlay}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(){if(this.rootStore.maplibreStore.showMaplibre){const{rect:o}=gt({layerViewbox:this.rootStore.layerStore.viewboxRectangle,explicitArea:ct?H:null,layerRectangle:this.rootStore.layerStore.rectangle,sceneDef:this.rootStore.rendererService.scene,svgArea:H});this.moveToRect=o}else this.moveToRect=this.rootStore.layerStore.rectangle||H;this.rollReset=!0}get previewMode(){const o=k?localStorage.getItem(nt)??localStorage.getItem(rt):null;return o==="true"||o==="1"||this.rootStore.fp.previewMode}get viewerMode(){const o=k?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 r={};for(const s in o)o[s]!=null&&(s==="zoomtime"?r[s]=Math.min(Math.max(o[s]||this.mapSettings.zoomtime,500),5e3):r[s]=o[s]);this.mapSettings={...this.mapSettings,...r}}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 r=o.toString();return console.log("View Map On Phone QR Code Url",r),r}get routeQRCodeUrl(){const o=new URL(this.baseQRCodeUrl),r=this.selectedRoute?.from,s=this.selectedRoute?.to,c=r instanceof I?r.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 l=o.toString();return console.log("Route QR Code Url",l),l}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=[],r=this.activeInterfaceData;return r&&(o.push(r.className),r.additionalClasses&&o.push(...r.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.hideOverlay?!1:this.activeInterfaceData!==null}setOverlayScrolled(o){this.isOverlayScrolled=o}setListScrollTop(o,r){this.listScrollTop=r,this.scrollPositions.set(o,r)}setListScrollItemId(o,r){this.listScrollItemId=r,this.scrollItemIds.set(o,r)}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"&&k){const r=localStorage.getItem(N)??localStorage.getItem(U);if(r){const s=parseFloat(r);!isNaN(s)&&s>=.8&&s<=1.4&&(this._customUIScale=s)}}}setUIScale(o,r=!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,r&&k&&(localStorage.setItem(N,o.toString()),localStorage.removeItem(U))}resetUIScale(){this._customUIScale=null,k&&(localStorage.removeItem(N),localStorage.removeItem(U))}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,"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,"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({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 D(G,o,r=[]){const s=[];return G.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&&r.filter(i=>i.speakers.some(l=>l.id===c.id)&&i.boothId).forEach(i=>s.push(o.find(l=>l.id===i.boothId)))}),new Set(s.filter(Boolean))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Box as v,degToRad as A,radToDeg as z}from"@expofp/geometry";import D from"color";import*as F from"d3-selection";import{autorun as M}from"mobx";import E from"../../data";import{getLayerSvg as O,getTrianglesFromFpPaths as T}from"../../data/svg";import{getNextId as U}from"../../tools/id";import B from"../../tools/logger";import N from"../../tools/settings";import{generateUniqueSlug as W}from"../../tools/slug";import{sortByName as V}from"../../utils";import{areLayersEnabled as $}from"../../utils/areLayersEnabled";import{getStorage as P,saveStorage as G}from"../../utils/entity-storage";import{extractMetaFromString as H}from"../../utils/extractMetaFromString";import{RegularBooth as x,SpecialBooth as L}from"../BoothStore";import{Exhibitor as X}from"../ExhibitorStore";import{uiState as j}from"../index";const C=new Map,k=[];export function iniAllBooths(t){C.clear(),k.length=0;const d=parseInt(_("copy_exh"));for(const i of E.booths||[]){const{text:l,meta:c}=H(i.name),o=i.special?new L:new x;Object.assign(o,i),o.meta=c,o.slug=W(o.name),C.set(o.name.toLowerCase(),o),J(o);const m=o;m.exhibitors=[];for(const u of i.exhibitors){const b=t.exhibitorStore.exhibitorById.get(u);b&&(m.exhibitors.push(b),d&&R(b,m,d),b.booths.push(m))}!i.exhibitors.length&&d&&R(null,m,d),o.schedule=t.eventStore.eventItems.filter(u=>u.boothId===o.id),o.name=l,k.push(o)}k.sort((i,l)=>i.name.localeCompare(l.name,void 0,{sensitivity:"base",numeric:!0}));for(const i of t.exhibitorStore.exhibitors)V(i.booths);t.boothStore.booths=k,B.log("initBooths",t.boothStore.booths.length),q(t)}function q(t){const l=(P("bookmarked").booths||[]).filter(c=>{const o=t.boothStore.boothById.get(c);return o&&o.exhibitors.length===0});t.boothStore.replaceBookmarked(l),M(()=>{const c=P("bookmarked"),o=t.boothStore.booths.filter(m=>m.exhibitors.length===0&&m.bookmarkedDirectly).map(m=>m.id);G("bookmarked",{exhibitors:c.exhibitors,events:c.events,speakers:c.speakers,booths:o})})}export default function Q(t,d){const i=d.name,{boothStore:l,layerStore:c}=t,o=[],m=$(),u=F.select(O(d)).selectAll(`[data-layer='${i}'] > [data-tagname='efp-booth'], [data-layer='${i}'] > g[id^=b], [data-layer='${i}'] > rect[id^=b]`).nodes();for(const r of u){const S=r.closest("svg > [data-layer]").attributes["data-layer"]?.value;if(!S)continue;let a,I=!1;r.tagName==="rect"?a=r:(a=Array.from(r.children).find(h=>h.tagName==="rect"),I=a===r.firstElementChild);const g=(r.id||r.getAttribute("data-name")).substring(1).toLowerCase();let e=C.get(g),n=e instanceof x?e:null,w=e instanceof L?e:null;if(e||(B.error("SVG booth rect not found in the event data:",g),e=n=new x,e.id=U(),e.name=g.toUpperCase(),e.slug=W(g),e.error=!0,e.exhibitors=[],C.set(g,e)),o.push(e),e.layer=m?c.layers.find(h=>h.name===S):null,e.borderColor=a?.getAttribute("stroke")||a?.style.stroke||N.boothBorderColor||"#FFFFFF",e.borderWidth=parseFloat(a?.getAttribute("stroke-width")||a?.style.strokeWidth),isNaN(e.borderWidth)&&(e.borderWidth=l.borderWidth),!j.heatmap)e.labelColor=a?.getAttribute("data-label-color");else{const h=t.heatmapStore.getTotalClicksByBooth(e),f=D(t.heatmapStore.getColorByClicks(h));e.labelColor=f.darken(.3).isLight()?"#555":"#fff"}e.rect=a?v.fromSvg(a):null,e.noLabels=!!a?.dataset.nolabel||a?.id.startsWith("no"),n?(n.availColor=r.getAttribute("data-avail-color")||a?.getAttribute("data-avail-color")||n.availColor,n.soldColor=r.getAttribute("data-sold-color")||a?.getAttribute("data-sold-color")||n.soldColor,n.holdColor=r.getAttribute("data-hold-color")||a?.getAttribute("data-hold-color")||n.holdColor,n.size=E.dimensionless?null:n.size||r.getAttribute("data-size"),n.status==="reserved"?n.reserved=!0:n.status==="onhold"&&(n.onHold=!0)):w.color=(parseInt(a.getAttribute("data-poi-type"))>0?a.style?.fill:r.getAttribute("data-color")||a.getAttribute("data-color"))||w.color;const y=a?.getAttribute("transform");if(y){const h=y.match(/translate\(([-0-9.]+) ([-0-9.]+)\) rotate\(([-0-9.]+)\)/);if(h){const s=parseFloat(h[3]);e.rotate=A(s)}else{const s=y.match(/rotate\(([-0-9.]+).*\)/);if(s){const p=parseFloat(s[1]);e.rotate=A(p)}else{const p=y.match(/matrix\(\s*([-0-9.]+)\s*(?:,|\s)\s*([-0-9.]+)\s*(?:,|\s)\s*([-0-9.]+)\s*(?:,|\s)\s*([-0-9.]+)\s*(?:,|\s)\s*([-0-9.]+)\s*(?:,|\s)\s*([-0-9.]+)\s*\)/);p&&(e.rotate=Math.asin(parseFloat(p[2])))}}if(Math.abs(z(e.rotate))>180){e.rotate+=A(90);const s=e.rect;e.rect=new v(s.center.x-s.size.height/2,s.center.y-s.size.width/2,s.size.height,s.size.width)}}if(r.tagName==="g"){e.paths=[],e.pathsWithRect=I;var b=[];for(const h of F.select(r).selectAll("path, rect").nodes())if(h.tagName==="path"){const f=h;if(f.tagName!=="path")continue;const s=parseInt(f.getAttribute("data-index")),p=!!f.getAttribute("data-unblinking");e.paths.push({index:s,color:f.style.fill,unblinking:p}),a||b.push(...T(s,i))}if(b.length){const h=b.flatMap(f=>f.map(s=>({x:s[0],y:s[1]})));e.rect=v.fromPoints(h),e.noLabels=!0}}}for(const r of o)r.rect?r.store=l:(B.error("event data booth not found in SVG:",r.name,r),o.splice(o.indexOf(r),1));return o}function _(t){return new URLSearchParams(window.location.search).get(t)}function R(t,d,i){let l=new X;l.name="EXHIBITOR NAME",l.slug="exhibitor-name",l.booths=[],l=t||l;for(let c=0;c<i;c++){const o={...l,id:Date.now()};d.exhibitors.push(o)}}function J(t){N.EXPO==="cbresupplypartner"&&t instanceof x&&!t.availColor&&t.type&&(t.type.indexOf("Premium A - 2m height restriction Passport")!==-1?t.availColor="#939393":t.type.indexOf("No free-standing")!==-1?t.availColor="#BA3DC8":t.type.endsWith("Passport")?t.availColor="#939393":t.type.startsWith("Premium A - 2m")?t.availColor="#FF9E4E":t.type.startsWith("Premium A - 4m")?t.availColor="#EA4335":t.type.startsWith("Premium B - 2m")?t.availColor="#523BC0":t.type.startsWith("Premium C - 2.4m")&&(t.availColor="#3ECC78"))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Box as g,isBox as w}from"@expofp/geometry";import{select as b}from"d3";import{getFpSvgJs as u}from"../../data/fp-payloads";import{floors as x,getLayerSvg as p}from"../../data/svg";import{isPathwayLayer as L}from"../../utils/is-pathway-layer";import{Layer as c,LayerMode as n,LayersMode as m}from"../LayerStore";const h=1e3;function v(r){return r==null||w(r)?r:g.fromMinMax({x:r.x1,y:r.y1},{x:r.x2,y:r.y2})}export function getChildLayers(r,a,d){const f=[];let l=a;return b(p(r)).selectAll(`svg [data-layer="${r.name}"] > [data-layer]`).nodes().filter(o=>o.childNodes.length).forEach(o=>{const e=o.getAttribute("data-layer");let t=new c;t.name=o.getAttribute("data-layer"),t.visible=r.visible,t.description=o.getAttribute("data-layer-description")||e,t.frozen=o.getAttribute("data-layer-isfrozen")==="true",t.rect=r.rect,t.viewbox=r.viewbox,t.mode=n.Unset,t.rootParent=r.rootParent?r.rootParent:r;const i=getChildLayers(t,l,d);l=i.priority+d,t.basePriority=l,i.layers.length&&(t.childLayers=i.layers,f.push(...i.layers)),f.push(t)}),{layers:f,priority:l}}export default function z(r){const{layerStore:a}=r,d=u().__fpLayers;a.mode=u().__fpLayersMode||m.Default;const f=new URLSearchParams(window.location.search).get("layer"),l=(e,t)=>f?t.toLowerCase()===f.toLowerCase():a.mode!==m.Default?e.mode==n.TurnedOn:e.visible;let s=[],o=0;d?d.forEach(e=>{o+=h;let t=new c;t.name=e.name,t.description=e.description,t.frozen=e.frozen,t.visible=l(e,t.shortName),t.rect=v(e.rect),t.viewbox=v(e.viewbox),t.mode=e.mode||n.Unset,t.basePriority=o,t.floorIndex=e.floorIndex,s.push(t)}):b(p()).selectAll("svg > [data-layer]").nodes().filter(e=>e.childNodes.length).forEach(e=>{const t=e.getAttribute("data-layer");if(!t.startsWith("WF")){o+=h;let i=new c;i.name=t,i.visible=!0,i.description=e.getAttribute("data-layer-description")||t,i.frozen=e.getAttribute("data-layer-isfrozen")==="true",i.rect=x.filter(y=>y.name===i.name||y.name===i.description)[0]?.rect,i.mode=n.Unset,i.basePriority=o,s.push(i)}}),a.mode!==m.Default&&s.forEach(e=>{e.mode===n.AlwaysHidden?(e.frozen=!0,e.visible=!1):e.mode===n.AlwaysVisible?e.frozen=e.visible=!0:e.mode===n.TurnedOff?(e.frozen=!1,e.visible=!1):e.mode===n.TurnedOn&&(e.frozen=!1,e.visible=!0)});try{s.forEach(e=>{L(e.name)&&(e.frozen=!1,e.visible=!1,e.pathway=!0)})}catch(e){console.warn(e)}s=s.filter(e=>e.pathway||!e.frozen||e.frozen&&e.visible),a.defaultLayer=s.find(e=>e.name===u().__fpDefaultLayer),a.layers=[...a.layers,...s]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { RawPoiType } from '@expofp/schema';
|
|
1
|
+
import { type RawPoiType } from '@expofp/schema';
|
|
2
2
|
import { type Language } from '../types';
|
|
3
3
|
import type { Booth } from './BoothStore';
|
|
4
4
|
import type { Category } from './CategoryStore';
|
|
5
|
-
import type { EventItem } from './EventStore';
|
|
5
|
+
import type { EventItem, Track } from './EventStore';
|
|
6
6
|
import type { Exhibitor } from './ExhibitorStore';
|
|
7
7
|
import type { HeatmapYah } from './HeatmapStore';
|
|
8
|
-
import
|
|
8
|
+
import type RootStore from './RootStore';
|
|
9
|
+
import { type PlannerSource } from './RoutePlannerStore';
|
|
9
10
|
import type { SpeakerItem } from './SpeakerStore';
|
|
10
11
|
export interface FilterType {
|
|
11
12
|
type: 'filter';
|
|
@@ -83,7 +84,7 @@ export interface FilterStore {
|
|
|
83
84
|
clearPendingItems(): void;
|
|
84
85
|
setPendingItems(items: FilterItem[]): void;
|
|
85
86
|
getFilteredItems(): FilterItem[];
|
|
86
|
-
publicRootStore:
|
|
87
|
+
publicRootStore: RootStore;
|
|
87
88
|
}
|
|
88
89
|
export interface URLFilters {
|
|
89
90
|
categories: string[];
|
|
@@ -112,7 +113,6 @@ export interface MapSettings {
|
|
|
112
113
|
centerxy?: string;
|
|
113
114
|
z?: string;
|
|
114
115
|
bearing?: number;
|
|
115
|
-
zoom?: number;
|
|
116
116
|
roll?: 0 | 1;
|
|
117
117
|
}
|
|
118
118
|
export interface SearchButtonChild {
|
|
@@ -142,7 +142,7 @@ export interface SearchSubButtonConfig {
|
|
|
142
142
|
count?: number;
|
|
143
143
|
parentButtonId: string;
|
|
144
144
|
type: 'show_all' | 'track';
|
|
145
|
-
data?:
|
|
145
|
+
data?: Track;
|
|
146
146
|
onClick: () => void;
|
|
147
147
|
}
|
|
148
148
|
export interface SearchButtonConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getFpSvgJs as
|
|
1
|
+
import s from"deepmerge";import{getFpSvgJs as t}from"../data/fp-payloads";export class FpSettings{constructor(){this.boothLabelColor="#fff",this.boothBorderColor="#fff",this.backgroundColor="#ebebeb",this.heatmapColors=["#FDE7C7","#FDDBAE","#FDC48D","#FCB37C","#FCA26D","#F67B5B","#EB483E","#E03143","#6C0022"]}}class l extends FpSettings{constructor(){super(...arguments),this.EXPO=window.__efpEvent,this.borderless=!1,this.wayfinding=!1,this.colors={booths:{default:"#41b6e7",defaultHold:"#48484A",defaultSold:"#41b6e7",seectedLight:null,selected:"#fb3e59",selectedBorder:null,wayfinding:{selected:"#0088D6",selectedBorder:null},empty:"#aaaaaa"}}}}let e=new l;e.EXPO.startsWith("sxsw2024")?(e.colors.booths.selected="#FF6400",e.colors.booths.seectedLight="#808080"):e.EXPO==="whxdubai2026"?(e.colors.booths.selected="#2B66FE",e.maxZoom=450):e.EXPO==="whxlabs2026"?e.colors.booths.selected="#2B66FE":(e.EXPO==="wineparis2026"||e.EXPO==="rdemo2025")&&(e.maxZoom=450),e=s(e,window.__settings||t().__fpSettings||{}),e=s(e,t().__fpSettings||{});export default e;
|
|
@@ -12,8 +12,8 @@ export declare function cameraToMapSettings(camera: Camera): MapSettings;
|
|
|
12
12
|
/**
|
|
13
13
|
* The reverse of {@link cameraToMapSettings}: reads the internal
|
|
14
14
|
* {@link MapSettings} back into the public {@link Camera} shape. A serialized
|
|
15
|
-
* center whose halves don't parse as finite numbers (legacy URLs
|
|
16
|
-
*
|
|
15
|
+
* center whose halves don't parse as finite numbers (legacy URLs can carry
|
|
16
|
+
* arbitrary strings) is skipped rather than surfaced
|
|
17
17
|
* as `NaN`.
|
|
18
18
|
*/
|
|
19
19
|
export declare function mapSettingsToCamera(settings: MapSettings): Camera;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/floorplan",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/expofp/efp-app.git",
|
|
@@ -71,22 +71,22 @@
|
|
|
71
71
|
"swiper": "^9.1.0",
|
|
72
72
|
"tslib": "^2.3.0",
|
|
73
73
|
"uuid": "^9.0.1",
|
|
74
|
-
"zod": "4.3
|
|
75
|
-
"@expofp/
|
|
76
|
-
"@expofp/
|
|
77
|
-
"@expofp/
|
|
78
|
-
"@expofp/
|
|
79
|
-
"@expofp/
|
|
80
|
-
"@expofp/
|
|
81
|
-
"@expofp/
|
|
74
|
+
"zod": "4.4.3",
|
|
75
|
+
"@expofp/debug": "3.13.4",
|
|
76
|
+
"@expofp/geometry": "3.13.4",
|
|
77
|
+
"@expofp/resolve": "3.13.4",
|
|
78
|
+
"@expofp/schema": "3.13.4",
|
|
79
|
+
"@expofp/utils": "3.13.4",
|
|
80
|
+
"@expofp/wayfinding": "3.13.4",
|
|
81
|
+
"@expofp/config": "3.13.4"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@babel/plugin-proposal-decorators": "^8.0.2",
|
|
85
85
|
"@babel/plugin-transform-class-properties": "^8.0.1",
|
|
86
86
|
"@sentry/vite-plugin": "^5.4.0",
|
|
87
|
-
"@storybook/addon-vitest": "10.4
|
|
88
|
-
"@storybook/react": "10.4
|
|
89
|
-
"@storybook/react-vite": "10.4
|
|
87
|
+
"@storybook/addon-vitest": "10.5.4",
|
|
88
|
+
"@storybook/react": "10.5.4",
|
|
89
|
+
"@storybook/react-vite": "10.5.4",
|
|
90
90
|
"@types/color": "^3.0.7",
|
|
91
91
|
"@types/d3": "^7.1.0",
|
|
92
92
|
"@types/history": "^4.7.11",
|
|
@@ -96,12 +96,12 @@
|
|
|
96
96
|
"@vitejs/plugin-react": "^6.0.4",
|
|
97
97
|
"@vitest/browser-playwright": "^4.1.10",
|
|
98
98
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
99
|
-
"playwright": "^1.
|
|
99
|
+
"playwright": "^1.62.0",
|
|
100
100
|
"react": "^19.2.8",
|
|
101
101
|
"react-dom": "^19.2.8",
|
|
102
102
|
"rollup-plugin-visualizer": "^7.0.1",
|
|
103
103
|
"sass-embedded": "^1.100.0",
|
|
104
|
-
"storybook": "10.4
|
|
104
|
+
"storybook": "10.5.4"
|
|
105
105
|
},
|
|
106
106
|
"peerDependencies": {
|
|
107
107
|
"react": "^19.2.8",
|