/
RusOverLord
/
claude-code
Обзор
Документация
Войти
/
RusOverLord
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ink/components/CursorDeclarationContext.ts
32 строки
1 KB
kuberwastaken
init
31 мар 2026, 13:55
31 мар 2026, 13:55
ec53fcb
Код
Авторство
О чём код?
import { 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