---
url: /kanban/columns.md
description: >-
  Kanban columns from a backed enum, an array, or Column objects with colours,
  icons, limits and descriptions.
---

# Columns

Columns come from a backed enum. Its `HasLabel`, `HasColor` and `HasIcon` implementations become the column header. There is no custom trait to add.

```php
->columns(TaskStatus::class)
```

Enums that implement Filament's `HasDescription` get a subtitle under the column name.

## Arrays and Column objects

```php
->columns([
    'todo' => 'To do',
    Column::make('doing')->label('In progress')->color('indigo')->icon(Heroicon::OutlinedPlayCircle)->limit(3),
    Column::make('done')->collapsed(),
])
```

| `Column` method | Purpose |
|---|---|
| `label()` | Header text. |
| `color()` | Any Tailwind colour name, Filament colour or hex. |
| `icon()` | A Heroicon or icon name. |
| `description()` | Subtitle under the name. |
| `limit()` | WIP limit for the column. |
| `collapsed()` | Start collapsed to a rail. |

## Status column

```php
->statusAttribute('stage')
```

Needed only when the column isn't called `status`.

## Collapsing

People collapse columns to a rail from the header. The choice is remembered per user.

## Colours

Any Tailwind colour name works for columns, badges and details, whether or not your panel registers it.
