OptionalalignAlign children along the cross axis.
OptionalbgBackground color.
OptionalboldRender text with bold weight.
OptionalfgForeground (text) color.
OptionalflexFlex grow factor. Space remaining after fixed and intrinsic children is distributed proportionally among flex children.
OptionalflexWhether children wrap to the next line when they exceed the container's main-axis size. Only meaningful on HStack.
"nowrap" (default) — all children on one line, may overflow."wrap" — children that exceed the width flow to the next row.When wrapping, each row is laid out independently: flex children
distribute remaining space within their row, justifyContent
applies per row, and alignItems applies per row. Rows are
stacked vertically with gap spacing between them.
OptionalfocusableWhether this container participates in focus traversal.
Defaults to true when onClick is set. Set to false
to make a container clickable by mouse but not reachable via Tab.
OptionalfocusedOptionalfocusStyle overrides applied when this element is focused. Accepts any StyleProps — overridden values replace the element's normal styles and participate in inheritance.
Works in both uncontrolled and controlled focus modes.
OptionalgapSpacing between children in cells.
OptionalheightFixed height in cells, or percentage of parent height. When omitted, the container uses intrinsic sizing (fits content) or flex/percentage if those are set.
OptionalitalicRender text in italic style.
OptionaljustifyDistribute children along the main axis.
OptionalmaxMaximum height constraint in cells.
OptionalmaxMaximum width constraint in cells.
OptionalminMinimum height constraint in cells.
OptionalminMinimum width constraint in cells.
OptionalonCalled when this container loses focus. In uncontrolled mode, this is a notification callback. In controlled mode, update focused here.
OptionalonCalled on mouse click or Enter key when this container is focused. Setting this prop makes the container focusable by default.
OptionalonCalled when this container receives focus (Tab, Shift+Tab, or mouse click). In uncontrolled mode, this is a notification callback. In controlled mode, update focused here.
OptionalonCalled on key events that bubble up to this container.
Keys are first handled by the focused element; unconsumed keys
(e.g., non-editing shortcuts like "ctrl+s") bubble up through ancestors.
The root container's onKeyPress acts as the global key handler.
Return false to indicate the key was not consumed — it will
continue bubbling to the next ancestor handler. Any other return
value (undefined, true, or no return) means the key was consumed
and bubbling stops. This is backward-compatible: existing void
handlers consume by default.
Key format: all lowercase, modifiers joined by + in canonical
order ctrl+alt+shift+<key> (e.g., "ctrl+s", "alt+up", "escape").
The key string is a semantic identifier, not necessarily the exact
inserted text — for example, uppercase A is reported as key "a".
OptionalonCalled when the user scrolls this container (mouse wheel). In controlled mode, update scrollOffset with the new value to move the scroll position.
The new scroll offset in cells.
The maximum scroll offset (content size minus viewport size).
OptionaloverflowContent overflow behavior.
"hidden" (default) — clip content at the container edge."scroll" — enable scrolling along the main axis.OptionalpaddingInternal padding in cells.
x adds horizontal padding (left + right), y adds vertical (top + bottom).
OptionalscrollbarShow a scrollbar indicator when overflow is "scroll".
OptionalscrollControlled scroll position in cells. When provided, the app owns scroll state and must update this value via onScroll. When omitted, scroll is framework-managed (uncontrolled).
OptionalscrollMouse wheel step size in cells along the container's main axis.
When omitted, the framework uses an adaptive default based on the
scroll target's viewport size: floor(viewportMainAxis / 3),
clamped to the range 3..8.
Affects mouse wheel input only — not programmatic scrollOffset updates or TextInput cursor-follow behavior.
OptionalunderlineRender text with an underline.
OptionalwidthFixed width in cells, or percentage of parent width. When omitted, the container uses intrinsic sizing (fits content) or flex/percentage if those are set.
Styling props shared by all node types.
Maps directly to terminal SGR (Select Graphic Rendition) attributes. Containers propagate their styles to descendants — child nodes inherit the nearest ancestor's values unless they set a value explicitly.