> ## Documentation Index
> Fetch the complete documentation index at: https://filament-34a8cf01.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Icon entry

> [!WARNING]
>
> You are currently viewing the documentation for Filament 4.x, which is a previous version of Filament.
>
> Looking for the current stable version? Visit the [5.x documentation](https://filament-34a8cf01.mintlify.site/5.x/infolists/icon-entry.md).

## Introduction

Icon entries render an [icon](https://filament-34a8cf01.mintlify.site/4.x/styling/icons.md) representing the state of the entry:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;
use Filament\Support\Icons\Heroicon;

IconEntry::make('status')
    ->icon(fn (string $state): Heroicon => match ($state) {
        'draft' => Heroicon::OutlinedPencil,
        'reviewing' => Heroicon::OutlinedClock,
        'published' => Heroicon::OutlinedCheckCircle,
    })
```

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

Loading preview

![Icon entry](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/simple.jpg)

## Customizing the color

You may change the [color](https://filament-34a8cf01.mintlify.site/4.x/styling/colors.md) of the icon, using the `color()` method:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;

IconEntry::make('status')
    ->color('success')
```

By passing a function to `color()`, you can customize the color based on the state of the entry:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;

IconEntry::make('status')
    ->color(fn (string $state): string => match ($state) {
        'draft' => 'info',
        'reviewing' => 'warning',
        'published' => 'success',
        default => 'gray',
    })
```

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

Loading preview

![Icon entry with color](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/color.jpg)

## Customizing the size

The default icon size is `IconSize::Large`, but you may customize the size to be either `IconSize::ExtraSmall`, `IconSize::Small`, `IconSize::Medium`, `IconSize::ExtraLarge` or `IconSize::TwoExtraLarge`:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;
use Filament\Support\Enums\IconSize;

IconEntry::make('status')
    ->size(IconSize::Medium)
```

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

Loading preview

![Medium-sized icon entry](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/medium.jpg)

## Handling booleans

Icon entries can display a check or "X" icon based on the state of the entry, either true or false, using the `boolean()` method:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;

IconEntry::make('is_featured')
    ->boolean()
```

> If this attribute 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.

Loading preview

![Icon entry to display a boolean](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/boolean.jpg)

Optionally, you may pass a boolean value to control if the icon should be boolean or not:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;

IconEntry::make('is_featured')
    ->boolean(FeatureFlag::active())
```

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

### Customizing the boolean icons

You may customize the [icon](https://filament-34a8cf01.mintlify.site/4.x/styling/icons.md) representing each state:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;
use Filament\Support\Icons\Heroicon;

IconEntry::make('is_featured')
    ->boolean()
    ->trueIcon(Heroicon::OutlinedCheckBadge)
    ->falseIcon(Heroicon::OutlinedXMark)
```

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

Loading preview

![Icon entry to display a boolean with custom icons](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/boolean-icon.jpg)

### Customizing the boolean colors

You may customize the icon [color](https://filament-34a8cf01.mintlify.site/4.x/styling/colors.md) representing each state:

```php theme={"theme":"gruvbox-dark-hard"}
use Filament\Infolists\Components\IconEntry;

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

<details>
  <summary />

  [Learn more about utility injection.](https://filament-34a8cf01.mintlify.site/4.x/infolists/overview.md#entry-utility-injection)
</details>

Loading preview

![Icon entry to display a boolean with custom colors](https://filament-34a8cf01.mintlify.site/docs/images/4.x/light/infolists/entries/icon/boolean-color.jpg)

[Edit this page on GitHub](https://github.com/filamentphp/filament/edit/4.x/packages/infolists/docs/03-icon-entry.md)

## Sponsored by

[Your logo here](https://github.com/sponsors/danharrin)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.