Skip to content
Inputs & Forms

FormField

client34.75 kB
@stellaria/nebula-webFormFieldProps

Preview

Props

11
PropTypeDefault

children

ReactNode | ((control: FormFieldControlProps) => ReactNode)

—

className

Composes with the classes `Box` computes instead of replacing them.

string

—

component

(ElementType & C)

—

description

ReactNode

—

error

string | boolean

—

errorDisplay

ErrorDisplay"tooltip"

id

string

—

label

ReactNode

—

required

booleanfalse

reveal

Animates the element in when it first scrolls into view. `true` takes the catalogue entrance; an object tunes it — `preset`, `distance`, `spring`, `duration`, `once`, `amount`, `rootMargin` and `index` for a stagger. It lives here rather than on each surface so that `Card`, `Paper`, `GradientBorder`, `Section` and anything else built on `Box` inherit one implementation. Without it `Box` stays a server component; with it the root swaps for a client shell and the children keep rendering on the server. The entrance is a CSS transition, not a JavaScript animation: it is the only motion in the catalogue that fires WHILE the user scrolls, and the compositor should own it.

boolean | UseRevealOptions

—

status

FieldStatus

—

Slot props

6

Each one spreads over an inner element, so you can restyle a region without forking the component.

PropTypeDefault

bodyProps

Wrapper for the control.

BoxSlotProps

—

descriptionProps

Help text below the label. Only rendered with `description`.

TextSlotProps

—

errorProps

Configures the `FieldError`. With `errorDisplay="tooltip"` it spreads whole; with `"text"` there is no `FieldError` to configure — it is a `Text` with `role="alert"` — and only `className` is honoured.

Omit<FieldErrorProps, "children">

—

headerProps

The label and description row. Not rendered when the field has neither.

BoxSlotProps

—

labelProps

The field label. It lands on the `<label>`, which already carries the control `htmlFor`.

TextSlotProps

—

requiredProps

The required asterisk, which lives inside the label. Only rendered with `required`.

BoxSlotProps

—

Also accepts

On top of its own props, this component forwards these groups.

Style props · 128