outhebox / blade-flags
A package to easily make use of country & language flags in your Laravel Blade views.
Fund package maintenance!
MohmmedAshraf
Installs: 245 606
Dependents: 3
Suggesters: 0
Security: 0
Stars: 248
Watchers: 5
Forks: 29
Open Issues: 5
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- blade-ui-kit/blade-icons: ^1.1
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.0|^10.5
README
Blade Flags For Countries & Languages
A package to easily make use of TwEmoji Countries & Languages Flags in your Laravel Blade views.
For a full list of available icons see the SVG directory or preview all the available flags, check the gallery.
Support
Thank you for considering supporting the development of this package! If you'd like to contribute, you can buy me a coffee or sponsor me to help keep me motivated to continue improving this package. You can also support the project by starring ⭐ the repository.
To buy me a coffee, click the button below:
Requirements
- PHP 8.0 or higher
- Laravel 9.0 or higher
Installation
composer require outhebox/blade-flags
Blade Icons
Blade Flags uses Blade Icons under the hood. Please refer to the Blade Icons readme for additional functionality. We also recommend to enable icon caching with this library.
🎞️ here are video tutorial
How to install and how to implement the package.
📺 Watch a 3-minute video by Povilas Korop showcasing the package.
Flutter version
If you are looking for a Flutter version of this package, check dash_flags, a Flutter package that provides a set of flags for all countries and languages. by Moaz El-sawaf.
Configuration
Blade Flags also offers the ability to use features from Blade Icons like default classes, default attributes, etc. If you'd like to configure these, publish the blade-flags.php
config file:
php artisan vendor:publish --tag=blade-flags-config
Usage
Icons can be used as self-closing Blade components which will be compiled to SVG icons:
<x-flag-country-br /> <x-flag-country-cn /> <x-flag-country-gb /> <x-flag-country-ru /> <x-flag-country-us />
<x-flag-language-en /> <x-flag-language-ar /> <x-flag-language-es />
You can also pass classes to your icon components:
<x-flag-country-us class="w-6 h-6"/>
Dynamic Examples
You can also use dynamic values to render icons:
- For country flags:
<x-icon name="flag-country-{{ $country->iso2_code }}" />
- For language flags:
<x-icon name="flag-language-{{ $language->code }}" />
Raw SVG Icons
If you want to use the raw SVG icons as assets, you can publish them using:
php artisan vendor:publish --tag=blade-flags --force
Then use them in your views like:
<img src="{{ asset('vendor/blade-flags/country-us.svg') }}" width="32" height="32"/>
<img src="{{ asset('vendor/blade-flags/language-en.svg') }}" width="32" height="32"/>
Changelog
Check out the CHANGELOG in this repository for all the recent changes.
License
Blade Flags is open-sourced software licensed under the MIT license.