PHPackages                             tanthammar/filament-extras - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tanthammar/filament-extras

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tanthammar/filament-extras
==========================

Filament macros, pages, fields, columns and other helpers

7.1.0(3mo ago)524.8k↓50%2MITPHPPHP ^8.4|^8.5

Since Jun 15Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/tanthammar/filament-extras)[ Packagist](https://packagist.org/packages/tanthammar/filament-extras)[ Docs](https://github.com/tanthammar/filament-extras)[ RSS](/packages/tanthammar-filament-extras/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (22)Used By (0)

Very opinionated Filament extras
================================

[](#very-opinionated-filament-extras)

In this repository I will add helpers, blade components, fields and columns that I use in my Filament projects. Regard them as a templates for your own apps...

If they get merged into the main Filament repo, they will be removed here!, but then you'll find them there ;)

Might be best to fork this repo so you're in control of changes, or install the dev branch.

I am creating these fields, macros etc to be used in my SaaS, they won't be usable out of the box in your app. Consider them as templates and make them your own.

Screenshots
-----------

[](#screenshots)

AddressSection

[![AddressSection](images/AddressSection.gif)](images/AddressSection.gif)

Disabled field

[![](images/Disabled.png)](images/Disabled.png) [![](images/Disabled-dark.png)](images/Disabled-dark.png)

Todo field

[![image](https://user-images.githubusercontent.com/21239634/202510739-c49cf3ed-82a8-46c3-bb89-8bddbed155cb.png)](https://user-images.githubusercontent.com/21239634/202510739-c49cf3ed-82a8-46c3-bb89-8bddbed155cb.png)

Documentation
-------------

[](#documentation)

There won't be much documentation written, this repository will grow as I add items. Hopefully the source code contains enough hints to use the components. If not, please post a question in the discussions tab.

Requirements
------------

[](#requirements)

- PHP 8.0|8.1+
- Laravel v9.0+
- Livewire v2.0+
- Filament v2.0+

Installation
------------

[](#installation)

```
composer require tanthammar/filament-extras
```

Macros
------

[](#macros)

See `FilamentExtrasServiceProvider`

```
saveIfSelfFilled
saveIfSelfBlank
saveIfSelfValue
saveIfSelfNoValue
loadAs
saveAs
updateAs
onLoad
onUpdate
onSave
ignored
requiredIfBlank
requiredIfFilled
requiredIfChecked
requiredIfUnChecked
disabledIfBlank
disabledIfFilled
disabledIfChecked
disabledIfUnChecked
nullableIfBlank
nullableIfFilled
nullableIfChecked
nullableIfUnChecked
hiddenIfBlank
hiddenIfFilled
hiddenIfChecked
hiddenIfUnChecked
visibleIfBlank
visibleIfFilled
visibleIfChecked
visibleIfUnChecked
ucwords
ucfirst
smallcaps
uppercase
ruleEachInOptions
ruleInOptions

and many more...
```

Blade components
----------------

[](#blade-components)

See resources/views/components

Example

```

    {{ $this->form }}

```

Form Fields
-----------

[](#form-fields)

See src/Forms

```
AddressSection::make(string $jsonColumnName = 'address', string $label = 'Address'); //Address lookup using free OSM service. Consists of AddressSearch + AddressFields
AddressSearch::make(string $jsonColumnName = 'address'); //Address search field only, if you want to add your own fields for the Address lookup
AddressFields::make(?string $jsonColumnName = null); //The fields that Address search tries to fill

Uuid::make(mixed $hiddenOn, string $column = 'uuid');
BusinessName::make(string $column = 'name');
FirstName::make(string $column = 'first_name');
LastName::make(string $column = 'last_name');
Email::make(string $column = 'email', bool $unique = true);

Disabled::make(string $name); //Field that carries and displays a value but cannot be edited in frontend, represented with a dashed border
HiddenOrSelect::make(bool $condition, string $column, string $label, string|array $rule, array $options );
HiddenOrText::make(bool $condition, string $column, string $label, string|array $rule);

JetstreamAuthorSection::make();

LandLine::make(string $column = 'phone', null|int $default = 460, string $label = 'fields.phone');//validates international landline numbers
Mobile::make(string $column = 'mobile', null|int $default = 460, string $label = 'fields.mobile'); //validates international mobile numbers
Phone::make(string $column = 'phone', null|int $default = 460, string $label = 'fields.phone'); //validates international phone numbers (disregards phone number type)

SpatieSlug::make(mixed $hiddenOn, string $column = 'slug');
TranslatableDescription::make(string $column, string $autoFillFrom, string $label);

PasswordInput::current();
PasswordInput::create();
PasswordInput::confirmation();

TodoField::make('Create a custom positioning field'),

PhoneInput, validators and more...
```

Table Columns
-------------

[](#table-columns)

See src/Tables

```
DTOColumn::make(string $column, string $attribute); //If you cast your json column into DTO's. Retrieved as $column?->attribute ?? ''
JsonColumn::make(string $column, string $dotNotation); //Cast your json column into 'array'. Retreived as data_get($column, $dotNotation, '')
PhoneColumn::make(string $column); //Auto-format phone numbers
PhoneParseE164Column::make(string $column) //Auto-format E164 phone numbers
```

###  Health Score

56

—

FairBetter than 97% of packages

Maintenance88

Actively maintained with recent releases

Popularity33

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~70 days

Recently: every ~54 days

Total

20

Last Release

93d ago

Major Versions

2.2.0 → 3.0.02023-03-03

3.0.0 → 4.0.02023-12-06

4.2.3 → 5.0.02025-02-10

5.0.3 → 6.0.02025-08-05

6.0.4 → 7.0.02025-10-30

PHP version history (5 changes)1.0.0PHP ^8.1

3.0.0PHP ^8.1|^8.2

4.2.0PHP ^8.1|^8.2|^8.3

5.0.0PHP ^8.1|^8.2|^8.3|^8.4

6.0.0PHP ^8.4|^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/e71fd6e89c09af4ce7dc4a1c4fd3e04716326b6e98ed9003f092a8462a5ef422?d=identicon)[Stockholm](/maintainers/Stockholm)

---

Top Contributors

[![tanthammar](https://avatars.githubusercontent.com/u/21239634?v=4)](https://github.com/tanthammar "tanthammar (146 commits)")

### Embed Badge

![Health badge](/badges/tanthammar-filament-extras/health.svg)

```
[![Health](https://phpackages.com/badges/tanthammar-filament-extras/health.svg)](https://phpackages.com/packages/tanthammar-filament-extras)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)[kirschbaum-development/commentions

A package to allow you to create comments, tag users and more

12369.2k](/packages/kirschbaum-development-commentions)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)[aerni/livewire-forms

A Statamic forms framework powered by Laravel Livewire

2912.8k](/packages/aerni-livewire-forms)[team-nifty-gmbh/tall-datatables

A package to create datatables using alpinejs, tailwind, livewire and laravel

1217.2k1](/packages/team-nifty-gmbh-tall-datatables)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
