React Bindings
The React package provides React components and hooks for BetterTUI.
Components
Section titled “Components”<Box flexDirection="row" justifyContent="center" alignItems="center" padding={1} gap={1} borderStyle="round" width={40} height={10}> {children}</Box><Text bold color="cyan" dimColor italic underline> Hello, World!</Text>Button
Section titled “Button”<Button onPress={handlePress} isDisabled={false}> Click me</Button><Input value={value} onChange={setValue} onSubmit={handleSubmit} placeholder="Type here" mask="*"/>useInput
Section titled “useInput”useInput((key, event) => { // Handle key press}, isActive);useFocus
Section titled “useFocus”const [isFocused, focusProps] = useFocus();useApp
Section titled “useApp”const { exit, isRawModeSupported, rawMode } = useApp();useStdoutDimensions
Section titled “useStdoutDimensions”const [columns, rows] = useStdoutDimensions();useTheme
Section titled “useTheme”const { theme, setTheme, toggleTheme } = useTheme();useAnimation
Section titled “useAnimation”const { value, start, stop } = useAnimation({ from: 0, to: 100, duration: 1000, easing: 'easeInOut',});useEvent
Section titled “useEvent”useEvent('custom:event', (data) => { // Handle event});render
Section titled “render”import { render } from '@bettertui/react';
render(<App />, { exitOnCtrlC: true, stdin: process.stdin, stdout: process.stdout,});