accelade/infolists

Infolists package for Laravel - Display read-only information with Filament-compatible API

Fund package maintenance!
fadymondy

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:Blade

pkg:composer/accelade/infolists

v1.0.0 2026-01-18 14:02 UTC

This package is auto-updated.

Last update: 2026-01-18 14:31:11 UTC


README

Display read-only information with Filament-compatible API

Tests Latest Version Total Downloads License

Build beautiful, read-only information displays using a Filament-compatible API. Perfect for detail views, dashboards, and anywhere you need to present data elegantly.

use Accelade\Infolists\Infolist;
use Accelade\Infolists\Components\TextEntry;
use Accelade\Infolists\Components\ImageEntry;
use Accelade\Infolists\Components\BadgeEntry;

Infolist::make()
    ->record($user)
    ->schema([
        ImageEntry::make('avatar')->circular(),
        TextEntry::make('name')->size('lg')->weight('bold'),
        TextEntry::make('email')->icon('heroicon-o-envelope'),
        BadgeEntry::make('status')->color('success'),
    ]);

Why Accelade Infolists?

  • Filament-Compatible API — Familiar fluent interface if you've used Filament
  • 15+ Entry Types — Text, images, badges, icons, colors, QR codes, and more
  • Standalone Components — Use entries directly in Blade without the Infolist class
  • Dark Mode Support — Automatic light/dark theming with CSS variables
  • Responsive Layouts — Grid system with column spans and responsive breakpoints
  • Lightweight — No heavy dependencies, works with any Laravel app

Quick Start

composer require accelade/infolists

Display user information:

use Accelade\Infolists\Infolist;
use Accelade\Infolists\Components\TextEntry;
use Accelade\Infolists\Components\ImageEntry;

$infolist = Infolist::make()
    ->record($user)
    ->columns(2)
    ->schema([
        ImageEntry::make('avatar')
            ->circular()
            ->size(80),

        TextEntry::make('name')
            ->label('Full Name')
            ->size('lg')
            ->weight('bold'),

        TextEntry::make('email')
            ->icon('heroicon-o-envelope')
            ->copyable(),

        TextEntry::make('created_at')
            ->label('Member Since')
            ->dateTime('M j, Y'),
    ]);

Render in Blade:

<x-infolists::infolist :infolist="$infolist" />

Or use standalone components directly:

<x-infolists::text-entry label="Name" :value="$user->name" />
<x-infolists::badge-entry label="Status" value="Active" color="success" />

Entry Components

Text Entry

Display text with formatting, icons, badges, and more.

TextEntry::make('title')
    ->label('Article Title')
    ->size('lg')
    ->weight('bold')
    ->color('primary')
    ->icon('heroicon-o-document')
    ->copyable();

TextEntry::make('price')
    ->money('USD');

TextEntry::make('published_at')
    ->dateTime('M j, Y');

TextEntry::make('tags')
    ->badge()
    ->badgeColor('info');

Badge Entry

Display values as styled badges with color mapping.

BadgeEntry::make('status')
    ->colors([
        'active' => 'success',
        'pending' => 'warning',
        'inactive' => 'danger',
    ]);

Image Entry

Display single or multiple images with various styles.

ImageEntry::make('avatar')
    ->circular()
    ->size(64);

ImageEntry::make('gallery')
    ->stacked()
    ->limit(5)
    ->size(48);

Icon Entry

Display icons with boolean mode support.

IconEntry::make('is_verified')
    ->boolean()
    ->trueIcon('heroicon-o-check-circle')
    ->falseIcon('heroicon-o-x-circle');

Color Entry

Display color swatches.

ColorEntry::make('brand_color')
    ->copyable();

Rating Entry

Display star or heart ratings.

RatingEntry::make('score')
    ->max(5)
    ->icon('heroicon-s-star')
    ->color('warning');

Progress Entry

Display progress bars.

ProgressEntry::make('completion')
    ->color('success')
    ->showValue();

Code Entry

Display code snippets with syntax highlighting.

CodeEntry::make('config')
    ->language('json')
    ->copyable();

QR Code Entry

Generate QR codes and barcodes.

QrCodeEntry::make('url')
    ->size(150);

QrCodeEntry::make('sku')
    ->barcode('CODE128');

Key-Value Entry

Display key-value pairs.

KeyValueEntry::make('metadata');

Repeatable Entry

Display repeated data with nested schemas.

RepeatableEntry::make('comments')
    ->schema([
        TextEntry::make('author'),
        TextEntry::make('body'),
    ])
    ->grid(2);

Markdown Entry

Render markdown content with GitHub-flavored styling.

MarkdownEntry::make('description')
    ->collapsible()
    ->collapsed();

HTML Entry

Display HTML or rendered markdown.

HtmlEntry::make('content')
    ->prose()
    ->maxHeight('300px');

Secret Entry

Display masked sensitive data.

SecretEntry::make('api_key')
    ->revealable();

Separator Entry

Add horizontal dividers.

SeparatorEntry::make();

Layouts

Grid Columns

Infolist::make()
    ->columns(3)
    ->schema([
        TextEntry::make('name')->columnSpan(2),
        TextEntry::make('status'),
        TextEntry::make('bio')->columnSpanFull(),
    ]);

Responsive Columns

Infolist::make()
    ->columns([
        'default' => 1,
        'sm' => 2,
        'lg' => 3,
    ])
    ->schema([...]);

Standalone Blade Components

Use any entry directly in Blade without creating an Infolist:

<x-infolists::text-entry
    label="Email"
    :value="$user->email"
    icon="heroicon-o-envelope"
/>

<x-infolists::badge-entry
    label="Status"
    value="Active"
    color="success"
/>

<x-infolists::image-entry
    label="Avatar"
    :value="$user->avatar_url"
    :circular="true"
    :size="64"
/>

<x-infolists::rating-entry
    label="Score"
    :value="4"
    :max="5"
/>

<x-infolists::markdown-entry
    label="Description"
    :value="$markdownContent"
    :collapsible="true"
/>

Requirements

  • PHP 8.2+
  • Laravel 11.x or 12.x
  • Accelade (core package)

Documentation

Guide Description
Getting Started Installation and basic usage
Text Entry Text display with formatting
Badge Entry Styled badge displays
Icon Entry Icon displays with boolean mode
Image Entry Single and multiple images
Color Entry Color swatch displays
Rating Entry Star and heart ratings
Progress Entry Progress bar displays
Code Entry Syntax highlighted code
QR Code Entry QR codes and barcodes
Key-Value Entry Key-value pair displays
Repeatable Entry Repeated data with nested schema
Markdown Entry GitHub-flavored markdown
HTML Entry HTML and prose content
Secret Entry Masked sensitive data
Separator Entry Horizontal dividers
API Reference Complete API documentation

Credits

Built as part of the Accelade ecosystem, with inspiration from Filament.

License

MIT License. See LICENSE for details.