@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 1.9 kB
JavaScript
import{setConfig as w}from"@expofp/config";import{vi as e}from"vitest";let c={};async function S(r={}){g();const{default:o}=await import("../store/UIState.js"),n={fp:{},...r};return n.uiState=c=new o(n),n}export async function createUIState(r={}){return(await S(r)).uiState}export async function createRouteStore(r={}){const o=await S({fp:{},moveToList:e.fn(),showMap:e.fn(),layerStore:{layers:[],updateVisibility:e.fn(),findLayer:e.fn(()=>null)},...r}),{default:n,Route:t}=await import("../store/RouteStore.js"),a=new n(o);return o.routeStore=a,{routeStore:a,uiState:o.uiState,rootStore:o,Route:t}}export async function createSearchButtonsStore(r={}){const{routeStore:o,uiState:n,rootStore:t,Route:a}=await createRouteStore({fp:{hidePathways:e.fn(),getOptimizedRoutes:()=>[]},boothStore:{booths:[]},poiTypeStore:{poiTypes:[]},searchStore:{selectSearchAndFocus:e.fn(),setFocused:e.fn()},...r}),{default:f}=await import("../store/CategoryFilterStore.js"),{default:l}=await import("../store/RoutePlannerStore.js"),{URLFilterManager:p}=await import("../services/URLFilterManager.js"),{default:d}=await import("../store/search-buttons/SearchButtonsStore.js");t.categoryFilterStore=new f(t);const s=new l(t);t.routePlannerStore=s;const i=new d(t);t.searchButtonsStore=i;const u=new p(t);return t.urlFilterManager=u,{searchButtonsStore:i,routePlannerStore:s,routeStore:o,urlFilterManager:u,uiState:n,rootStore:t,Route:a}}function g(){window.__efpEvent="demo",HTMLCanvasElement.prototype.getContext=(()=>new Proxy({},{get:()=>()=>{}})),e.doMock("../store/index.js",()=>({get uiState(){return c}})),e.doMock("../data/svg.js",()=>({svgArea:()=>null,svgAreaExplicit:()=>null,getLayerSvg:()=>document.createElementNS("http://www.w3.org/2000/svg","svg")})),e.doMock("../tools/gtag.js",()=>({hasUserConsent:()=>!1,sendEventToGa:e.fn(),GaEventActions:{}})),w({expo:"demo",fpSvgJsRef:{},fpSvgLayerJsRefs:{}})}