π File detail
ink/events/focus-event.ts
π§© .tsπ 22 linesπΎ 687 bytesπ text
β Back to All Filesπ― Use case
This file lives under βink/β, which covers Ink terminal UI (layouts, TTY IO, keyboard, renderer components). On the API surface it exposes FocusEvent β mainly types, interfaces, or factory objects. It composes internal code from terminal-event (relative imports).
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { type EventTarget, TerminalEvent } from './terminal-event.js' /** * Focus event for component focus changes. *
π€ Exports (heuristic)
FocusEvent
π₯οΈ Source preview
import { type EventTarget, TerminalEvent } from './terminal-event.js'
/**
* Focus event for component focus changes.
*
* Dispatched when focus moves between elements. 'focus' fires on the
* newly focused element, 'blur' fires on the previously focused one.
* Both bubble, matching react-dom's use of focusin/focusout semantics
* so parent components can observe descendant focus changes.
*/
export class FocusEvent extends TerminalEvent {
readonly relatedTarget: EventTarget | null
constructor(
type: 'focus' | 'blur',
relatedTarget: EventTarget | null = null,
) {
super(type, { bubbles: true, cancelable: false })
this.relatedTarget = relatedTarget
}
}