Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.1 kB · 32 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233import { createContext } from 'react'import type { DOMElement } from '../dom.js'
export type CursorDeclaration = { /** Display column (terminal cell width) within the declared node */ readonly relativeX: number /** Line number within the declared node */ readonly relativeY: number /** The ink-box DOMElement whose yoga layout provides the absolute origin */ readonly node: DOMElement}
/** * Setter for the declared cursor position. * * The optional second argument makes `null` a conditional clear: the * declaration is only cleared if the currently-declared node matches * `clearIfNode`. This makes the hook safe for sibling components * (e.g. list items) that transfer focus among themselves — without the * node check, a newly-unfocused item's clear could clobber a * newly-focused sibling's set depending on layout-effect order. */export type CursorDeclarationSetter = ( declaration: CursorDeclaration | null, clearIfNode?: DOMElement | null,) => void
const CursorDeclarationContext = createContext<CursorDeclarationSetter>( () => {},)
export default CursorDeclarationContext