PHPackages                             fadlee/filament-indonesia-region-field - 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. fadlee/filament-indonesia-region-field

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

fadlee/filament-indonesia-region-field
======================================

Indonesia Region Field for Filament

v1.1.0(1y ago)0151MITBladePHP &gt;=8.1

Since Feb 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/fadlee/filament-indonesia-region-field)[ Packagist](https://packagist.org/packages/fadlee/filament-indonesia-region-field)[ RSS](/packages/fadlee-filament-indonesia-region-field/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (4)Versions (5)Used By (0)

Filament Indonesia Region Field
===============================

[](#filament-indonesia-region-field)

A custom form field component for Filament PHP that adds Indonesia region selection capabilities to your forms. This package provides a single select input field that can handle 4 levels of Indonesia administrative regions (Province, Regency/City, District, and Village).

Features
--------

[](#features)

- Seamless integration with Filament forms
- Single input field for selecting Indonesia regions
- Support for 4 administrative levels:
    - Province (Provinsi)
    - Regency/City (Kabupaten/Kota)
    - District (Kecamatan)
    - Village (Desa/Kelurahan)
- Client-side fuzzy search for better performance
- No additional server requests for searching
- Extends Filament's native select component

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

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.0 or higher
- Filament 3.x

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

[](#installation)

You can install the package via composer:

```
composer require fadlee/filament-indonesia-region-field
```

Usage
-----

[](#usage)

1. Import the IndonesiaRegionSelect component and RegionLevel enum in your Filament resource or form:

```
use Fadlee\FilamentIndonesiaRegionField\Forms\Components\IndonesiaRegionSelect;
use Fadlee\FilamentIndonesiaRegionField\Enums\RegionLevel;
```

2. Add the field to your form:

```
public static function form(Form $form): Form
{
    return $form
        ->schema([
            IndonesiaRegionSelect::make('region')
                ->label('Region')
                ->placeholder('Select region...'),
            // ... other fields
        ]);
}
```

3. Using with specific level:

```
public static function form(Form $form): Form
{
    return $form
        ->schema([
            IndonesiaRegionSelect::make('region')
                ->label('Region')
                ->level(RegionLevel::LEVEL_3_DISTRICT)
                ->placeholder('Select district...'),
        ]);
}
```

Available levels:

- `RegionLevel::LEVEL_1_PROVINCE`
- `RegionLevel::LEVEL_2_CITY`
- `RegionLevel::LEVEL_3_DISTRICT`
- `RegionLevel::LEVEL_4_VILLAGE`

4. Using in Filament action modals:

```
use Filament\Actions\Action;

public static function getActions(): array
{
    return [
        Action::make('selectRegion')
            ->form([
                IndonesiaRegionSelect::make('region')
                    ->label('Select Region')
                    ->required(),
            ])
            ->action(function (array $data) {
                // Process the selected region
                // $data['region'] contains the selected region code
            }),
    ];
}
```

How it Works
------------

[](#how-it-works)

The package extends Filament's native select component to provide a seamless Indonesia region selection experience. Key features include:

1. **Client-side Search**: All searching is performed on the client side using fuzzy search, eliminating the need for additional server requests and providing instant feedback.
2. **Data Loading**: Region data is loaded once and cached on the client side, making subsequent searches and filtering operations extremely fast.
3. **User Experience**: The component provides immediate response to user input since all operations are performed locally in the browser.

Technical Implementation
------------------------

[](#technical-implementation)

The Indonesia region selector is built on top of Filament's select component with these enhancements:

1. **Data Structure**: Uses a comprehensive database of Indonesia administrative regions up to village level.
2. **Search Implementation**: Implements client-side fuzzy search for better performance and user experience.
3. **Value Management**: Handles the storage and retrieval of region codes while displaying human-readable region names in the interface.

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

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

License
-------

[](#license)

This package is open-sourced software licensed under the MIT license.

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance40

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 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 ~0 days

Total

4

Last Release

510d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4c1592d56b089c6e88cfa113bac878bf494f25b9e9262d0c36d45f0ed13538ca?d=identicon)[fadlee](/maintainers/fadlee)

---

Top Contributors

[![fadlee](https://avatars.githubusercontent.com/u/334797?v=4)](https://github.com/fadlee "fadlee (2 commits)")

---

Tags

filamentfilament-pluginform-field

### Embed Badge

![Health badge](/badges/fadlee-filament-indonesia-region-field/health.svg)

```
[![Health](https://phpackages.com/badges/fadlee-filament-indonesia-region-field/health.svg)](https://phpackages.com/packages/fadlee-filament-indonesia-region-field)
```

###  Alternatives

[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329530.5k29](/packages/codewithdennis-filament-select-tree)[ysfkaya/filament-phone-input

A phone input component for Laravel Filament

3161.3M25](/packages/ysfkaya-filament-phone-input)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

34226.4k13](/packages/schmeits-filament-character-counter)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[biostate/filament-menu-builder

An Elegant Menu Builder for FilamentPHP

6528.1k2](/packages/biostate-filament-menu-builder)[promethys/revive

A 'RecycleBin' page where users can restore or delete permanently soft-deleted models.

162.9k](/packages/promethys-revive)

PHPackages © 2026

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