UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

253 lines 9.16 kB
import { Box, Point } from '@expofp/geometry'; import { RawPoiType } from '@expofp/schema'; import { ReactNode } from 'react'; import { Kiosk } from '../components/Kiosk/SetKiosk'; 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: Box; moveToLocation: boolean; menu: boolean; searchFocused: boolean; searchClearMode: boolean; printingPdf: boolean; screenSize: Point; 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; searchButtonsOverride: boolean | null; 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 overlayOnDemand(): boolean; get overlayHiddenNow(): 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(): "bottom" | "left"; 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 shouldShowMobileToggle(): boolean; get mobileToggleIsListMode(): boolean; get canvasVisibleRectPx(): Box; get shouldShiftMapRect(): false | Category | EventItem | Exhibitor | Route | SpeakerItem | Booth; get hasAppliedFilters(): boolean; get canvasVisibleRectPt(): Box; get canvasSizePt(): Point; get shouldUseBackdrop(): boolean | undefined; forceDim: boolean; setForceDim(forceDim: 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; get defaultMapSettings(): MapSettings; mapSettings: MapSettings; 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