@expofp/floorplan
Version:
Interactive floor plan library for expos and events
33 lines • 1.54 kB
TypeScript
import { type ShortcutConfig, type ShortcutProvider } from './ShortcutProvider';
export declare class ShortcutRegistry {
private providers;
private activationOrder;
register(provider: ShortcutProvider): void;
unregister(providerId: string): void;
getShortcuts(interfaceId: string): ShortcutConfig[];
private sortShortcuts;
handleShortcutClick(interfaceId: string, shortcutId: string): void;
/**
* Reports a chip click to stats, using the `action` each provider already
* declares rather than guessing from `active`:
*
* - `toggle` — `active` IS the filter, so only the click that turns it on is
* a view of it; turning it off is not.
* - `custom` — opens a panel or a list on every click, while `active` says
* whether a filter happens to be set. Reading `active` here would drop
* every re-open made after the first selection.
*
* Tagged `shortcut` so these stay separable from the main button row, whose
* `sbtnview` carries no subtype.
*/
private reportClick;
private isShortcutActive;
handleShortcutReset(interfaceId: string, shortcutId: string): void;
private updateActivationOrder;
updateActivationOrderFromState(interfaceId: string, shortcutId: string, wasActive: boolean, isActive: boolean): void;
shouldShowShortcuts(interfaceId: string): boolean;
getRegisteredProviders(): string[];
isProviderRegistered(providerId: string): boolean;
clear(): void;
}
//# sourceMappingURL=ShortcutRegistry.d.ts.map