UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

256 lines 9.3 kB
import { ReactNode } from "react"; import { Kiosk } from "../components/Kiosk/SetKiosk"; import Rect from "../core/Rect"; import Size from "../core/Size"; import { RawPoiType } from "../data/Data"; import { Booth } from "./BoothStore"; import { Category } from "./CategoryStore"; import { EventItem, Track } from "./EventStore"; import { Exhibitor } from "./ExhibitorStore"; import { FuzzySearchResult } from "./FuzzySearchEngineStore"; import RootStore from "./RootStore"; import { Route } from "./RouteStore"; import { SpeakerItem } from "./SpeakerStore"; import type { BannerType, InterfaceAction, ListItem, ListType, MapSettings, OverlaySize, Visibility } from "./types"; interface InterfaceMetadata { id: string; className: string; priority: number; isActive: () => boolean; additionalClasses?: () => string[]; searchBoxConfig?: () => { mode: string; title?: string; subtitle?: string; badge?: string | number; icon?: string; } | null; actions?: () => InterfaceAction[]; } export default class UIState { private readonly rootStore; private readonly interfaceMetadata; list: ListType; details: Booth | Exhibitor | Route | Category | EventItem | SpeakerItem; hoveredExhibitor: Exhibitor; hoveredBooth: Booth; zoomBy: number; rollReset: boolean; moveToBooths: Booth[]; moveToRect: Rect; moveToLocation: boolean; menu: boolean; searchFocused: boolean; searchClearMode: boolean; printingPdf: boolean; largeMessage: string; largeMessageLastSet: number; screenSize: Size; desiredOverlaySize: OverlaySize; overlayShowsAll: boolean; centerMap: boolean; zoomAfTransformK: number; activeListIndex: number; devicePixelRatio: number; previewExhibitor: Exhibitor; wsStarted: boolean; canvasStarted: boolean; kiosk: boolean; inIdle: boolean; modalActive: { share: boolean; }; galleryActive: boolean; hideOverlay: boolean; hideCookieConsent: boolean; hideHeaderLogo: boolean; hideLogoInBooth: boolean; disableBookmarked: boolean; hideLanguage: boolean; monochrome: boolean; heatmap: boolean; heatmapYah: boolean; rootElement: HTMLDivElement; debugCircles: { x: number; y: number; radius: number; color?: string; }[]; mapControlsHidden: boolean; floorsControlHidden: boolean; hideFreeOrDemo: boolean; freeBannerDismissed: boolean; currentBanner: BannerType; sceneDefReady: boolean; categoryFilterOpen: boolean; selectedCategoryFilters: Category[]; selectedPoiTypeFilters: RawPoiType[]; selectedTrack: Track | null; subButtonsVisible: boolean; mapControlsDOMRect: DOMRect; searchBoxMode: "search" | "details" | "interface"; searchBoxTitle: string; searchBoxSubtitle?: string; routeTitle?: string; routeDescription?: string; isMultiPointRoute: boolean; tourTitle?: string; tourDescription?: string; isMultiPointTour: boolean; pathwayOnlyMode: boolean; isOverlayScrolled: boolean; listScrollTop: number; listScrollItemId: string | number | null; listScrollIndex: number; private scrollPositions; private scrollItemIds; _customUIScale: number | null; private readonly searchFilterHeightPx; private readonly searchInputHeightPx; private readonly overlayUISizePx; private readonly overlayKioskSizePx; private readonly overlayMediumHeightRems; setSelectedCategoryFilters(categories: Category[]): void; resetCategoryFilter(): void; setSearchClearMode(value: boolean): void; setRouteTitle(title: string): void; setRouteDescription(description: string): void; setIsMultiPointRoute(isMulti: boolean): void; setTourTitle(title: string): void; setTourDescription(description: string): void; setIsMultiPointTour(isMulti: boolean): void; setPathwayOnlyMode(value: boolean): void; setMultiPointTourList(tourId: string): void; get activePathwayLayers(): string[]; get highlightedBooths(): ReadonlySet<string>; constructor(rootStore: RootStore); get rtl(): boolean; get noOverlay(): boolean; get onBoothClick(): (e: FloorPlanBoothClickEvent) => void; get onMarkerClick(): (e: import("..").FloorPlanMarkerEvent) => void; get onBookmarkClick(): (e: FloorPlanBookmarkClickEvent) => void; get onVisitedClick(): (e: FloorPlanVisitedClickEvent) => void; get onCategoryClick(): (e: FloorPlanCategoryClickEvent) => void; get onDirection(): (e: FloorPlanDirectionEvent) => void; get onDetails(): (e: import("..").FloorPlanDetailsEvent) => void; get onExhibitorCustomButtonClick(): (e: import("..").FloorPlanCustomButtonEvent) => void; get onGetCoordsClick(): (e: import("..").FloorPlanGetCoordsEvent) => void; get selectedExhibitor(): Exhibitor | null; get selectedBooth(): Booth | null; get selectedCategory(): Category | null; get selectedRoute(): Route | null; get selectedSpeaker(): SpeakerItem | null; get uiScale(): number; get isGuidedToursActive(): boolean; get getRouteNextFloor(): string | null; get headerHeightRem(): number; get headerHeightPx(): number; get overlayPosition(): "left" | "bottom"; get overlayCollapsed(): false; get overlaySize(): OverlaySize; get overlayBottom(): boolean; get overlayLeft(): boolean; get overlayWidthPx(): number; get wsImageHeightPx(): number; get wsPaddingPx(): number; get wsOccupiedHeightPx(): number; get wsShown(): boolean; get wsDesktopPosition(): "bottom" | "top"; get wsPosition(): "bottom" | "top"; get responsiveClass(): string; get mapVisibleTop(): number; get mapVisibleBottom(): number; get mapVisibleStart(): number; get searchActionsHeightPx(): number; get fullSizeOffset(): number; get shouldShowSearchButtons(): false; get canvasVisibleRectPx(): Rect; get shouldShiftMapRect(): false | Booth | Exhibitor | Category | EventItem | SpeakerItem | Route; get hasAppliedFilters(): boolean; get canvasVisibleRectPt(): Rect; get canvasSizePt(): Size; get shouldUseBackdrop(): boolean | undefined; forceDimm: boolean; setForceDimm(forceDimm: boolean): void; get dimmed(): boolean; get defaultSearchItems(): ListItem[]; get searchItems(): ListItem[]; get searchList(): ListItem[]; get foundInDescription(): ListItem[]; get foundInDescriptionStruct(): Record<number, string>; get categoryFilteredSearchList(): ListItem[]; get fuzzySearchItems(): FuzzySearchResult<ListItem>[]; get listItems(): ListItem[]; get listBooths(): Set<Booth>; get selectedBooths(): Set<Booth>; get hoveredBooths(): Set<Booth>; get visibility(): Visibility; setVisibility(visibility: Visibility): void; toggleMapOverlay(): void; changeZoom(zoom: number): void; zoomIn(): void; zoomOut(): void; fitBounds(): void; get previewMode(): boolean; get viewerMode(): boolean; get selectedEventItem(): EventItem | null; /** * @warning If the property is of a numeric type, set the default value to be numeric, otherwise they will be cast incorrectly. * @see {@link src/services/routing.ts~setMapSettings} * */ get defaultMapSettings(): MapSettings; mapSettings: MapSettings; saveMapSettings(settings: MapSettings): void; setMapSettings(settings: MapSettings): void; resetMapSettings(): void; get baseQRCodeUrl(): string; get viewMapOnPhoneQRCodeUrl(): string; get routeQRCodeUrl(): string; get isFeaturedExhibitorActive(): boolean; get activeInterfaceData(): InterfaceMetadata | null; get searchBoxConfig(): { mode: string; title?: string; subtitle?: string; badge?: string | number; icon?: string; }; get searchBoxActions(): InterfaceAction[]; get overlayInterfaceClasses(): string[]; get isOverlayOpen(): boolean; setOverlayScrolled(isScrolled: boolean): void; setListScrollTop(listType: string, scrollTop: number): void; setListScrollItemId(listType: string, itemId: string | number): void; getListScrollTop(listType: string): number; getListScrollItemId(listType: string): string | number | null; clearListScroll(listType: string): void; get bannerType(): BannerType; get isBannerVisible(): boolean; setCurrentBanner(banner: BannerType): void; forceShowDetails: boolean; setForceShowDetails(flag: boolean): void; get showRouteInstantly(): boolean; buildRoute: boolean; startBuildRoute(): void; globalErrorMessages: { title: string; body?: ReactNode; }[]; setGlobalErrorMessage(message: { title: string; body?: ReactNode; }): void; popGlobalErrorMessage(): void; private initializeUIScale; minUIScale: number; maxUIScale: number; setUIScale(scale: number, saveToStorage?: boolean): void; resetUIScale(): void; setKioskModeEnabled: boolean; enableSetKioskMode(enable: boolean): void; kioskData: Kiosk; setKioskData(kioskData: Kiosk | null): void; } export {}; //# sourceMappingURL=UIState.d.ts.map