MohmmedAshraf / blade-flags by MohammedAshraf

A package to easily make use of country & language flags in your Laravel Blade views.
218,297
247
5
Package Data
Maintainer Username: MohammedAshraf
Maintainer Contact: cupo.ashraf@gmail.com (Mohamed Ashraf)
Package Create Date: 2022-09-21
Package Last Update: 2024-10-14
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-09 15:09:14
Package Statistics
Total Downloads: 218,297
Monthly Downloads: 18,913
Daily Downloads: 503
Total Stars: 247
Total Watchers: 5
Total Forks: 29
Total Open Issues: 5

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.

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.

:film_strip: 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 />

...produces this:

<x-flag-language-en />
<x-flag-language-ar />
<x-flag-language-es />

...produces this:

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-dynamic-component component="flag-country-{{ $country->iso2_code }}" />
  • For language flags:
<x-dynamic-component component="flag-language-{{ $langauge->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.