reactronic-dom
Version:
Reactronic DOM - Transactional Reactive Front-End Development Framework
30 lines (29 loc) • 1.11 kB
TypeScript
import { ToggleRef } from 'reactronic';
import { HtmlElementSensor } from './HtmlElementSensor';
import { WindowSensor } from './WindowSensor';
export interface FocusModel {
isFocused: boolean;
onFocusIn?: (focus: FocusSensor) => void;
onFocusOut?: (focus: FocusSensor) => void;
}
export interface ContextModel {
contextToggle?: ToggleRef;
onContextIn?: (focus: FocusSensor) => void;
onContextOut?: (focus: FocusSensor) => void;
}
export declare class FocusSensor extends HtmlElementSensor {
activeData: unknown;
oldActiveData: unknown;
contextElementDataList: unknown[];
constructor(windowSensor: WindowSensor);
setActiveData(data: unknown, debugHint?: string): void;
listen(element: HTMLElement | undefined, enabled?: boolean): void;
reset(): void;
protected onFocusIn(e: FocusEvent): void;
protected onFocusOut(e: FocusEvent): void;
protected onMouseDown(e: MouseEvent): void;
protected doFocusIn(e: FocusEvent): void;
protected doFocusOut(e: FocusEvent): void;
protected doMouseDown(e: MouseEvent): void;
private trySetFocus;
}