Skip to main content
You are currently viewing the documentation for Filament 2.x, which is a previous version of Filament.Looking for the current stable version? Visit the 5.x documentation.
Text columns display simple text from your database:

Displaying a description

Descriptions may be used to easily render additional text above or below the column contents. You can display a description below the contents of a text column using the description() method:
By default, the description is displayed below the main text, but you can move it above using the second parameter:

Date formatting

You may use the date() and dateTime() methods to format the column’s state using PHP date formatting tokens:
You may use the since() method to format the column’s state using Carbon’s diffForHumans():

Currency formatting

The money() method allows you to easily format monetary values, in any currency. This functionality uses akaunting/laravel-money internally:
Alternatively, you can set the default currency through the environment variable DEFAULT_CURRENCY.

Limiting text length

You may limit() the length of the cell’s value:
You may also reuse the value that is being passed to limit():

Limiting word count

You may limit the number of words() displayed in the cell:

Wrapping content

If you’d like your column’s content to wrap if it’s too long, you may use the wrap() method:

Rendering HTML

If your column value is HTML, you may render it using html():

Enum formatting

You may also transform a set of known cell values using the enum() method:

Displaying the row index

You may want a column to contain the number of the current row in the table:
As $rowLoop is Laravel Blade’s $loop object, you can reference all other $loop properties.

Custom formatting

You may instead pass a custom formatting callback to formatStateUsing(), which accepts the $state of the cell, and optionally its $record:

Adding a placeholder if the cell is empty

Sometimes you may want to display a placeholder if the cell’s value is empty:

Customizing the color

You may set a color for the text, either primary, secondary, success, warning or danger:

Adding an icon

Text columns may also have an icon:
You may set the position of an icon using iconPosition():

Customizing the text size

You may make the text smaller using size('sm'):
Or you can make it larger using size('lg'):

Customizing the font weight

Text columns have regular font weight by default but you may change this to any of the the following options: thin, extralight, light, medium, semibold, bold, extrabold or black. For instance, you may make the font bold using weight('bold'):

Customizing the font family

You can change the text font family to any of the following options: sans, serif or mono. For instance, you may make the font mono using fontFamily('mono'):

Allowing the text to be copied to the clipboard

You may make the text copyable, such that clicking on the cell copies the text to the clipboard, and optionally specify a custom confirmation message and duration in milliseconds. This feature only works when SSL is enabled for the app.
Filament uses tooltips to display the copy message in the admin panel. If you want to use the copyable feature outside of the admin panel, make sure you have @ryangjchandler/alpine-tooltip installed in your app.

Customizing the text that is copied to the clipboard

You can customize the text that gets copied to the clipboard using the `copyableState() method:
In this function, you can access the whole table row with $record: