filafly/filament-identity-column

A column for Filament Tables to which combines an avatar, name and description.

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/filafly/filament-identity-column

v1.0.1 2025-10-03 21:45 UTC

This package is auto-updated.

Last update: 2025-10-03 21:46:48 UTC


README

Banner

A reusable identity column for Filament Tables and Infolists.

Basic Usage

use Filafly\IdentityColumn\Tables\Columns\IdentityColumn;
use Filafly\IdentityColumn\Infolists\Components\IdentityEntry;

// Table column
IdentityColumn::make('name')
    ->avatar('avatar_url')
    ->primary('name')
    ->primaryUrl(fn ($record) => route('users.show', $record))
    ->secondary('email')
    ->secondaryUrl('profile_url', openInNewTab: true)
    ->size('md');

// Infolist entry
IdentityEntry::make('name')
    ->avatar('avatar_url')
    ->primary('name')
    ->secondary('email')
    ->size('md');

Requirements

  • PHP 8.2+
  • Filament 4.x
  • Laravel (package auto-discovery enabled)

Installation

composer require filafly/filament-identity-column
php artisan filament:assets

Avatar

  • avatar(string|Closure $value)
    • Absolute URL, root-relative path, attribute path, or Closure.
  • avatarShape('square'|'rounded'|'circular'|Closure)
  • squareAvatar() / roundedAvatar() / circularAvatar()
  • avatarSize(string|Closure $cssSize)
    • CSS size (e.g., 28px, 2rem).

Primary

  • primary(string|Closure $value)
    • Falls back to the column/entry state when not set.
  • primaryUrl(string|Closure|null $url, bool|Closure $openInNewTab = false)
    • Suppressed if a wrapper ->url() is set on the column/entry.

Secondary

  • secondary(string|Closure $value)
  • secondaryUrl(string|Closure|null $url, bool|Closure $openInNewTab = false)
    • Suppressed if a wrapper ->url() is set on the column/entry.

Sizing

  • size('sm'|'md'|'lg'|TextSize|Closure|null) (inherited from Filament)
  • Defaults: text md; avatar size derives from visual size when avatarSize() is not set.
  • Text scale by size: sm (0.875/0.75rem), md (1/0.75rem), lg (1.125/0.875rem).

Notes

  • Strings passed to methods are resolved from the record via data_get() when they look like attribute paths.

License

MIT