/** * React layer — Reconciler, components, hooks. * Depends on core/ for screen buffer and diff. */ export { Ansi } from './Ansi.js' export { AlternateScreen } from './components/AlternateScreen.js' // --- Core Components --- export { default as Box } from './components/Box.js' export { default as Button } from './components/Button.js' export { default as Link } from './components/Link.js' export { default as Newline } from './components/Newline.js' export { NoSelect } from './components/NoSelect.js' export { RawAnsi } from './components/RawAnsi.js' export type { ScrollBoxHandle } from './components/ScrollBox.js' export { default as ScrollBox } from './components/ScrollBox.js' export { default as Spacer } from './components/Spacer.js' export { default as Text } from './components/Text.js' // --- DOM Types --- export type { DOMElement, DOMNodeAttribute, ElementNames, TextNode } from './dom.js' // --- Focus --- export { FocusManager } from './focus.js' // --- Frame Stats --- export { FpsCounter } from './components/FpsCounter.js' export type { FrameStats } from './components/FrameStatsContext.js' export { useAnimationFrame } from './hooks/use-animation-frame.js' export { default as useApp } from './hooks/use-app.js' export { useFps, type FpsStats } from './hooks/use-fps.js' // --- Hooks --- export { default as useInput } from './hooks/use-input.js' export { useAnimationTimer, useInterval } from './hooks/use-interval.js' export { useSelection } from './hooks/use-selection.js' export { default as useStdin } from './hooks/use-stdin.js' export { useTabStatus } from './hooks/use-tab-status.js' export { useTerminalFocus } from './hooks/use-terminal-focus.js' export { useTerminalTitle } from './hooks/use-terminal-title.js' export { useTerminalViewport } from './hooks/use-terminal-viewport.js' export type { Options as InkOptions } from './ink.js' // --- Ink class (advanced) --- export { default as Ink, drainStdin } from './ink.js' // --- Measure --- export { default as measureElement } from './measure-element.js' // --- Output --- export { default as Output } from './output.js' // --- Reconciler (advanced) --- export { default as reconciler, dispatcher } from './reconciler.js' export type { Instance, RenderOptions, Root } from './root.js' // --- Render API --- export { createRoot, default as render, renderSync } from './root.js' export type { Styles, TextStyles } from './styles.js' // --- Virtual Scroll --- export { useVirtualScroll, type VirtualScrollResult } from './hooks/use-virtual-scroll.js' export { VirtualList } from './components/VirtualList.js'