gridland
API Reference

@gridland/utils

Portable hooks and utilities — works in browser and CLI

@gridland/utils contains portable hooks and utilities that work in both browser and CLI environments. It has no DOM or Canvas dependencies.

Hooks

useKeyboard

Subscribe to keyboard events. See useKeyboard.

Import
import { useKeyboard } from "@gridland/utils"

useTerminalDimensions

Get the current terminal dimensions. See useTerminalDimensions.

Import
import { useTerminalDimensions } from "@gridland/utils"

Headless Rendering

Headless rendering APIs live in @gridland/web, not @gridland/utils. See SSR for Agents and the @gridland/web API reference for details.

Utilities

Import
import { isBrowser, isCanvasSupported, calculateGridSize } from "@gridland/utils"
FunctionDescription
isBrowser()Returns true if running in a browser environment
isCanvasSupported()Returns true if HTML5 Canvas is available
calculateGridSize(widthPx, heightPx, cellWidth, cellHeight)Convert pixel dimensions to grid columns/rows

Context

Import
import { BrowserContext } from "@gridland/utils"

BrowserContext is the React context shared between core hooks and @gridland/web's <TUI> component. This ensures hooks in @gridland/utils read from the same context that <TUI> provides.