Skip to main content
You are currently viewing the documentation for Filament 3.x, which is a previous version of Filament.Looking for the current stable version? Visit the 5.x documentation.

Overview

Icon entries render an icon representing their contents:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('status')
    ->icon(fn (string $state): string => match ($state) {
        'draft' => 'heroicon-o-pencil',
        'reviewing' => 'heroicon-o-clock',
        'published' => 'heroicon-o-check-circle',
    })
In the function, $state is the value of the entry, and $record can be used to access the underlying Eloquent record.

Customizing the color

Icon entries may also have a set of icon colors, using the same syntax. They may be either danger, gray, info, primary, success or warning:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('status')
    ->color(fn (string $state): string => match ($state) {
        'draft' => 'info',
        'reviewing' => 'warning',
        'published' => 'success',
        default => 'gray',
    })
In the function, $state is the value of the entry, and $record can be used to access the underlying Eloquent record.

Customizing the size

The default icon size is IconEntrySize::Large, but you may customize the size to be either IconEntrySize::ExtraSmall, IconEntrySize::Small, IconEntrySize::Medium, IconEntrySize::ExtraLarge or IconEntrySize::TwoExtraLarge:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('status')
    ->size(IconEntry\IconEntrySize::Medium)

Handling booleans

Icon entries can display a check or cross icon based on the contents of the database entry, either true or false, using the boolean() method:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('is_featured')
    ->boolean()
If this column in the model class is already cast as a bool or boolean, Filament is able to detect this, and you do not need to use boolean() manually.

Customizing the boolean icons

You may customize the icon representing each state. Icons are the name of a Blade component present. By default, Heroicons are installed:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('is_featured')
    ->boolean()
    ->trueIcon('heroicon-o-check-badge')
    ->falseIcon('heroicon-o-x-mark')

Customizing the boolean colors

You may customize the icon color representing each state. These may be either danger, gray, info, primary, success or warning:
use Filament\Infolists\Components\IconEntry;

IconEntry::make('is_featured')
    ->boolean()
    ->trueColor('info')
    ->falseColor('warning')

Sponsored by