UNPKG

js.foresight-devtools

Version:

Visual debugging tools for ForesightJS - mouse trajectory prediction and element interaction visualization

54 lines (53 loc) 2.07 kB
import { ForesightManager } from "js.foresight"; import type { DebuggerSettings, ForesightDebuggerData } from "../types"; export type ElementOverlays = { expandedOverlay: HTMLElement; nameLabel: HTMLElement; }; export declare class ForesightDebugger { private static debuggerInstance; private callbackAnimations; private foresightManagerInstance; private shadowHost; private shadowRoot; private debugContainer; private controlPanel; private _debuggerSettings; private debugElementOverlays; private predictedMouseIndicator; private mouseTrajectoryLine; private scrollTrajectoryLine; private managerSubscriptionsController; private constructor(); private animationPositionObserver; get getDebuggerData(): Readonly<ForesightDebuggerData>; static initialize(foresightManager: ForesightManager, props?: Partial<DebuggerSettings>): ForesightDebugger | null; static get instance(): ForesightDebugger; private _setupDOM; private handleAnimationPositionChange; private static get isInitiated(); alterDebuggerSettings(props?: Partial<DebuggerSettings>): void; private subscribeToManagerEvents; private handleElementDataUpdated; /** * Removes all debug overlays and data associated with an element. * * This method cleans up the link overlay, expanded overlay, and name label * for the specified element, removes it from internal tracking maps, and * refreshes the control panel's element list to reflect the removal. * * @param element - The ForesightElement to remove from debugging visualization */ private handleUnregisterElement; private handleCallbackFired; private handleRegisterElement; private handleMouseTrajectoryUpdate; private handleScrollTrajectoryUpdate; private handleSettingsChanged; private createElementOverlays; private createOrUpdateElementOverlay; private toggleNameTagVisibility; private removeElementOverlay; private showCallbackAnimation; cleanup(): void; }