Skip to content

Hooks Overview

The hooks @termuijs/jsx exports, grouped by what they do. Click a hook name to jump to its detail page where one exists.

Installation

·CODE
npm install @termuijs/jsx

All hooks are named exports:

·CODE
import { useState, useInput, useAsync, useInterval } from '@termuijs/jsx'

Input handling

HookReturnsDetail
useInputvoiduseInput
useKeymapvoiduseKeymap
useKeyboardNavigation{ selectedIndex, setSelectedIndex }useKeyboardNavigation

Async and data

HookReturnsDetail
useAsync{ data, loading, error, refetch }useAsync
useSubprocess{ run },

Lifecycle

HookReturnsDetail
useEffectvoid,

State

HookReturnsDetail
useState[T, setter],
useReducer[state, dispatch],
useBoolean[boolean, actions],
useToggle[boolean, actions],
useCounter[number, actions],
useList[T[], actions],
useMap[Map<K,V>, actions],
useSet[Set<T>, actions],

Refs and memoization

HookReturnsDetail
useRef{ current: T },
useMemoT,
useCallbackT,
useImperativeHandlevoid,

Timing

HookReturnsDetail
useIntervalvoid,
useTimeoutvoid,
useDebounceT,
useThrottleT,
useStopwatch[elapsed, controls],
useCountdown[count, controls],

Layout and terminal

HookReturnsDetail
useTerminalSize{ cols, rows },
useElementSize[ref, { width, height }],

Animation and motion

HookReturnsDetail
useMotion{ reduced }useMotion

Focus management

HookReturnsDetail
useFocus{ isFocused }Focus
useFocusManager{ focused, focus, blur, FocusContext }Focus
useFocusWithinbooleanFocus
useFocusTrapvoidFocus

Context and providers

HookReturnsDetail
useContextTContext

System and utilities

HookReturnsDetail
useClipboard{ copied, copy, read },
useBell() => void,
useModal{ visible, props, show, hide, dismiss },
useIdstring,
useInsertBeforevoid,