saasykit / filament-country-field
Country dropdown with ISO 3166 options values
Fund package maintenance!
parfaitementweb
Requires
- php: ^8.1 || ^8.2 || ^8.3
- filament/filament: ^3.0
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- filament/spatie-laravel-settings-plugin: ^3.2
- filament/spatie-laravel-translatable-plugin: ^3.2
- larastan/larastan: ^2.8
- laravel/pint: ^1.15
- nunomaduro/collision: ^7.9|^8.1
- orchestra/pest-plugin-testbench: ^2.0
- orchestra/testbench: ^8.20|^9.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.2
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.33
README
The simplest way to list every country as a selectable dropdown 🤘
Features
- Display a select field with every ISO 639-1 language. tl;dr: The two-letter code.
- Built-in localization in 132 languages.
- Supports all the native Select Field features.
Screenshot
Getting Started
We have made things easy for you start. Here is the three steps your need to follow:
- Install the package
composer require parfaitementweb/filament-country-field
- Add the Country Form field in your Filament Resource.
use Parfaitementweb\FilamentCountryField\Forms\Components\Country; Country::make('country')
- Add the Country Column field in your Filament Resource.
use Parfaitementweb\FilamentCountryField\Tables\CountryColumn; CountryColumn::make('country')
- Enjoy.
Configuration
On top of all Select Field methods, you can use these three helpers for the Form Component.
exclude()
removes an item from the list.add()
adds your own value to the list.map()
changes one key to another, such asGB
toUK
.
use Parfaitementweb\FilamentCountryField\Forms\Components\Country; Country::make('country') ->exclude(['NL']) ->add(['MA' =>'Mars']) ->map(['GB' => 'UK', 'GF' => 'FR'])
Clearing the Cache
To ensure better performance and faster response times, the country list is stored in the cache for easy retrieval, leading to an overall snappier user experience.
To clear the cached country list, you can utilize the built-in artisan command provided by Laravel. The following command can be run in your terminal or command line interface:
php artisan countries-field:clear
Built-in translations
The country values are displayed according to the user's current locale settings, which are determined by the App::getLocale() value.
The field supports those 132 languages:
Afrikaans, Akan, Amharic, Arabic, Assamese, Azerbaijani, Belarusian, Bulgarian, Bambara, Bengali, Tibetan, Breton, Bosnian, Catalan, Chechen, Czech, Welsh, Danish, German, Dzongkha, Ewe, Greek, English, Esperanto, Spanish, Estonian, Basque, Persian, Fula, Finnish, Faroese, French, Western Frisian, Irish, Scottish Gaelic, Galician, Gujarati, Manx, Hausa, Hebrew, Hindi, Croatian, Hungarian, Armenian, Interlingua, Indonesian, Igbo, Sichuan Yi, Icelandic, Italian, Japanese, Javanese, Georgian, Kikuyu, Kazakh, Kalaallisut, Khmer, Kannada, Korean, Kashmiri, Kurdish, Cornish, Kyrgyz, Luxembourgish, Ganda, Lingala, Lao, Lithuanian, Luba-Katanga, Latvian, Malagasy, Maori, Macedonian, Malayalam, Mongolian, Marathi, Malay, Maltese, Burmese, Norwegian Bokmål, North Ndebele, Nepali, Dutch, Norwegian Nynorsk, Norwegian, Oromo, Odia, Ossetic, Punjabi, Polish, Pashto, Portuguese, Quechua, Romansh, Rundi, Romanian, Russian, Kinyarwanda, Sindhi, Northern Sami, Sango, Serbo-Croatian, Sinhala, Slovak, Slovenian, Shona, Somali, Albanian, Serbian, Swedish, Swahili, Tamil, Telugu, Tajik, Thai, Tigrinya, Turkmen, Tagalog, Tongan, Turkish, Tatar, Uighur, Ukrainian, Urdu, Uzbek, Vietnamese, Wolof, Xhosa, Yiddish, Yoruba, Chinese, Zulu
Built-in countries
You can check the entire country list here.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
This package used data from umpirsky/country-list. Thank you for the great work.
License
The MIT License (MIT). Please see License File for more information.