PHPackages                             dominasys/filament-location - 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. dominasys/filament-location

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

dominasys/filament-location
===========================

Filament package for address and location handling with smart lookup and dynamic selects

v5.4.0(2w ago)032↓100%MITPHPPHP ^8.2CI passing

Since Apr 16Pushed 2w agoCompare

[ Source](https://github.com/DominaSys/web-package-filament-location)[ Packagist](https://packagist.org/packages/dominasys/filament-location)[ Docs](https://github.com/dominasys/web-package-filament-location)[ GitHub Sponsors](https://github.com/dominasys)[ RSS](/packages/dominasys-filament-location/feed)WikiDiscussions 5.x Synced 1w ago

READMEChangelog (6)Dependencies (10)Versions (8)Used By (0)

Filament Location
=================

[](#filament-location)

[![Latest Version on Packagist](https://camo.githubusercontent.com/aa1ca472eca0fd80fa4d6b8f63287757aeabf2b153f4bd2ce2eed6d4d7faa13c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646f6d696e617379732f66696c616d656e742d6c6f636174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/dominasys/filament-location)[![GitHub Tests Action Status](https://camo.githubusercontent.com/384fd32fa6953973da6d4e22172ef355e02576b931e41dee049154c2bb854aa0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f646f6d696e617379732f7765622d7061636b6167652d66696c616d656e742d6c6f636174696f6e2f72756e2d74657374732e796d6c3f6272616e63683d352e78266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/dominasys/web-package-filament-location/actions?query=workflow%3A%22Run+Tests%22+branch%3A5.x)[![Total Downloads](https://camo.githubusercontent.com/8371d8d7b465f9de8b8a1f52a45484b433a6442a3e70ed99d2dff2ac5d9d6954/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646f6d696e617379732f66696c616d656e742d6c6f636174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/dominasys/filament-location)

`filament-location` provides reusable Filament components for address forms, postal code lookup, and country-aware location fields.

Features
--------

[](#features)

- `PostalCode` lookup with standardized results
- Reusable components for `state`, `city`, `neighborhood`, `street`, `house number`, and `complement`
- Frontend-only search for `state` and `city`
- Accent-insensitive and typo-tolerant search
- Canonical address dataset stored per country
- Localization for `en` and `pt_BR`

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

[](#installation)

Install the package with Composer:

```
composer require dominasys/filament-location
```

Usage
-----

[](#usage)

Use the provided components in your Filament form schemas:

```
use Dominasys\FilamentLocation\Forms\Components\Address\City;
use Dominasys\FilamentLocation\Forms\Components\Address\Complement;
use Dominasys\FilamentLocation\Forms\Components\Address\HouseNumber;
use Dominasys\FilamentLocation\Forms\Components\Address\Neighborhood;
use Dominasys\FilamentLocation\Forms\Components\Address\State;
use Dominasys\FilamentLocation\Forms\Components\Address\Street;
use Dominasys\FilamentLocation\Forms\Components\PostalCode;

PostalCode::make('postal_code');
State::make('state');
City::make('city');
Neighborhood::make('neighborhood');
Street::make('street');
HouseNumber::make('house_number');
Complement::make('complement');
```

If you want the city select to store the label while also syncing a hidden code field:

```
City::make('city')
    ->bindCityCodeField('city_ibge')
    ->useLabelAsValue();
```

Supported Countries
-------------------

[](#supported-countries)

Today the package ships with support for Brazil (`BR`).

The address dataset is country-based, so additional countries can be added without changing the public component API.

Extending With New Countries
----------------------------

[](#extending-with-new-countries)

To add support for another country, follow the same pattern used for Brazil:

1. Add a new address data source implementation for the country.
2. Register the new source in the source factory.
3. Generate the country dataset in the canonical JSON format used by the package.
4. Add or update translations if the country needs localized messages.
5. Add tests for lookup, state/city options, and dataset sync.

The package is intentionally structured so the UI components keep the same API even when the underlying data source changes.

Testing
-------

[](#testing)

Run the full local quality gate with:

```
composer check
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

If you want to add support for a new country, keep the implementation country-driven and avoid adding Brazil-specific assumptions to shared code.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](.github/SECURITY.md) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Bruno Mangilli](https://github.com/nobrudevz)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance96

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.8% 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 ~6 days

Total

7

Last Release

19d ago

### Community

Maintainers

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

---

Top Contributors

[![nobrudevz](https://avatars.githubusercontent.com/u/70036534?v=4)](https://github.com/nobrudevz "nobrudevz (45 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

laravelfilamentfilament-pluginfilamentphpdominasysfilament-location

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/dominasys-filament-location/health.svg)

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

###  Alternatives

[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

127173.7k3](/packages/dotswan-filament-map-picker)[jibaymcs/filament-tour

Bring the power of DriverJs to your Filament panels and start a tour !

12351.0k](/packages/jibaymcs-filament-tour)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[wsmallnews/filament-nestedset

Filament nestedset tree builder powered by kalnoy/nestedset with Filament v4 and v5 support

196.5k14](/packages/wsmallnews-filament-nestedset)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6643.3k](/packages/marcelweidum-filament-passkeys)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7976.7k4](/packages/guava-filament-modal-relation-managers)

PHPackages © 2026

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