K

Table

StackedColumn

Vertically stacks content — avatar + primary text + secondary text. Perfect for "user" cells.

On this page

Vertically stacks content — avatar + primary text + secondary text. Perfect for "user" cells.

use NyonCode\WireTable\Columns\StackedColumn;

Avatar + Name + Email Pattern

StackedColumn::make('user')
->avatar('avatar_url')
->primary('name')
->secondary('email')
->circular()
->avatarSize('md')

Without Avatar

StackedColumn::make('details')
->primary('title')
->secondary('subtitle')

Avatar from Name (Generated)

StackedColumn::make('user')
->avatarUrl(fn ($record) => null) // no URL → generates color from name
->primary('name')
->secondary('role')
->circular()

Custom Stack

StackedColumn::make('info')
->stack([
['column' => 'name', 'weight' => 'bold'],
['column' => 'department.name', 'size' => 'sm', 'color' => 'gray'],
['column' => 'email', 'size' => 'xs', 'color' => 'gray', 'icon' => 'mail'],
])

Search Through Stacked

StackedColumn::make('user')
->primary('name')
->secondary('email')
->searchable()
->searchColumns(['name', 'email']) // search both fields

StackedColumn API

->primary(string $column) // primary (bold) text column
->secondary(string $column) // secondary (muted) text column
->avatar(string $column) // avatar image URL column
->avatarUrl(string|Closure $url) // explicit avatar URL
->circular(bool $circular = true) // round avatar
->square() // square avatar
->avatarSize(string $size) // 'xs', 'sm', 'md', 'lg', 'xl'
->avatarBackground(string $color) // fallback background color
->stack(array $items) // custom stack items
->searchColumns(array $columns) // columns to include in search