UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

33 lines • 1.64 kB
import type RootStore from '../RootStore'; import { BaseSubButtonProvider } from '../SubButtonProvider'; import { type SearchSubButtonConfig } from '../types'; export declare class SessionsSubButtonProvider extends BaseSubButtonProvider { private rootStore; readonly id = "sessions"; constructor(rootStore: RootStore); private get computedSubButtons(); createSubButtons(): SearchSubButtonConfig[]; handleSubButtonClick(subButtonId: string): void; shouldShowSubButtons(): boolean; /** * Reports a sub-button click to stats. Must run BEFORE the handler mutates * state, because it compares against the sub-button currently selected — a * click on the one already selected is not a new view of it. (The store's * `handleSubButtonClick` guards the same case the same way, but the UI calls * the `onClick` baked into each config and never reaches that guard.) * * Deliberately NOT the button's own `active`: `sessions_show_all` is also * active whenever no sub-button and no track are selected — the state every * path that opens the sessions list leaves behind — which made the first * "All Tracks" click, the most common one there is, structurally impossible * to report. * * Captions are data (`track.name`) or a plain literal, never `t()`, so the * value is stable across locales. Tagged `subbutton` to keep this row * separable from the main button row. */ private reportActivation; private handleSessionsShowAllClick; private handleSessionsTrackClick; } //# sourceMappingURL=SessionsSubButtonProvider.d.ts.map