WidgetInstance payloads from useUserWidgets. The same payload renders identically on every surface.
WidgetGrid
WidgetInstance[]
required
The widgets to draw. Renders nothing when empty.
1 | 'auto'
default:"1"
1 stacks one widget per row, which suits single-column profile pages. 'auto' uses a responsive multi-column grid that honors each widget’s size.(href, widget) => void
Handle navigation yourself instead of following the link, for example to route inside a shell.
WidgetCard
One widget. The owner can turn off its title row (showHeader) and its frame (showCard), which is how a widget blends into a bio or an about block. Props: widget, onOpen?.
WidgetActions
Theaction slot: buttons that sit beside Follow.
WidgetInstance[]
required
groupWidgetsBySlot(…).action.ButtonVariant / ButtonSize
default:"'outline' / 'md'"
Button style. Outline keeps actions from competing with Follow.
string
Your own button class. The buttons then render as unstyled
Pressables wearing it, and variant is ignored.(href, widget) => void
Intercept navigation.
WidgetNode
Renders a single node of thecustom layout’s tree, with accent resolving the widget’s accent color. You only need it when composing widget content yourself; WidgetCard uses it internally.