UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 1.08 kB
import{jsx as t,Fragment as s,jsxs as a}from"react/jsx-runtime";import"./Search.scss";import{useLocalStore as c,useObserver as o}from"mobx-react-lite";import{useCallback as p,useEffect as d,useRef as f}from"react";import l,{uiState as e}from"../store";import h from"./EntityList";import{ShortcutsToolbar as m}from"./Shortcuts";function n(){const i=f(),r=c(()=>({updateOverlayContent:null,get text(){return e.list.type==="search"||e.list.type==="exhibitors"?e.list.text:""},get showClose(){return!!this.text},get backMode(){return this.text?"back":"menu"}}));d(()=>{l.fuzzySearchEngineStore.loadEngine()},[]);const u=p(()=>{r.updateOverlayContent&&r.updateOverlayContent()},[r.updateOverlayContent]);return o(()=>a(s,{children:[t(m,{interfaceId:"search",showFiltersButton:!1}),t(h,{updateScroll:u,updatedScrollableRef:i})]}))}export default()=>o(()=>a(s,{children:[!e.details&&!e.menu&&e.list.type==="exhibitors"?t(n,{}):null,!e.details&&!e.menu&&e.list.type==="search"&&(l.fp.alwaysShowSidebar||e.heatmap||e.searchFocused||e.list.text.length>0||e.searchClearMode)?t(n,{}):null]}));