README.md
# Flagpack
[![CI](https://github.com/Flo0807/flagpack_elixir/actions/workflows/ci.yml/badge.svg)](https://github.com/Flo0807/flagpack_elixir/actions/workflows/ci.yml)
[![Hex](https://img.shields.io/hexpm/v/flagpack.svg)](https://hex.pm/packages/flagpack)
[![Hex Docs](https://img.shields.io/badge/hex-docs-green)](https://hexdocs.pm/flagpack/Flagpack.html)
Flagpack provides 4x3 country flags as `Phoenix.Component`. Based on [flagpack.xyz](https://flagpack.xyz/).
The generation of the flags is inspired by [heroicons_elixir](https://github.com/mveytsman/heroicons_elixir).
## Installation
The package can be installed by adding `flagpack` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:flagpack, "~> 0.5.0"}
]
end
```
## Usage
Each component accepts an optional class attribute in order to be able to add extra classes to the component.
```eex
<Flagpack.usa />
<Flagpack.usa class="w-5 h-5" />
```
You may use the `Flagpack.flag/1` function and pass a flag name. This can be useful when you want to generate the flag name dynamically.
```eex
<Flagpack.flag name={:usa}/>
<Flagpack.flag name={:usa} class="w-5 h-5" />
```
For additional information and list of all flags see [the docs](https://hexdocs.pm/flagpack/Flagpack.html).
## Naming
The name of a function for a flag is the country's three letter code (ISO 3166-1 alpha-3) in lowercase. You may search for flags here https://flagpack.xyz/docs/flag-index/.
For Andorra we use the country's two letter code (ISO 3166-1 alpha-2) `ad`, because we are not able to name the function `and`.