outhebox/blade-flags

A package to easily make use of country & language flags in your Laravel Blade views.

Fund package maintenance!
MohmmedAshraf

Installs: 110 989

Dependents: 2

Suggesters: 0

Security: 0

Stars: 227

Watchers: 5

Forks: 25

Open Issues: 2

1.5.0 2024-02-28 08:08 UTC

This package is auto-updated.

Last update: 2024-03-28 08:28:39 UTC


README

cover.png

Blade Flags For Countries & Languages

Tests Code Style Latest Stable Version Total Downloads

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.

🎞️ here are video tutorial

How to install and how to implement the package.

68747470733a2f2f696d672e796f75747562652e636f6d2f76692f65656c48453752707568342f302e6a7067

📺 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.

Latest Stable Version

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:

country-br.svg country-cn.svg country-gb.svg country-ru.svg country-us.svg

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

...produces this:

language-en.svg language-ar.svg language-es.svg

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-{{ $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.