js.foresight-devtools
Version:
Visual debugging tools for ForesightJS - mouse trajectory prediction and element interaction visualization
54 lines (53 loc) • 2.07 kB
TypeScript
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;
}