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.
Called when the user edits text. Update the controlled value prop
with the new string and call cel.render() to reflect the change.
The new text content.
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.
OptionalonKey handler that fires before the built-in editing logic.
Return false to prevent the default editing action for that key
(no character insertion, no cursor movement, no deletion).
Any other return (or no return) lets the default action proceed.
Receives the normalized semantic key string, not necessarily the
exact inserted text. For example, typing uppercase A reports key
"a" here while still inserting "A" into the input.
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).
OptionalplaceholderOptionalscrollbarShow 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.
Current text content. Controlled — the app owns this value.
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.
Props for the
TextInputprimitive.TextInput is a multi-line editable text container. It accepts container sizing props but has no children — its content is the
valueprop. Scroll is always framework-managed (follows cursor and responds to mouse wheel). Word-wrap is always on.When focused, TextInput consumes insertable text plus editing/navigation keys (arrows, backspace, delete, Enter, Tab), along with a small set of readline-style shortcuts:
ctrl+a/ctrl+e,alt+b/alt+f,ctrl+left/ctrl+right,ctrl+w, andalt+d. Word movement and deletion use whitespace-delimited boundaries, andup/downfollow visual wrapped lines. Other modifier combos and non-insertable control keys bubble to ancestor onKeyPress handlers.