Boxicon

Boxicon is surface component library that wraps the amazing boxicons library.

Usage

defmodule MyComponent do
use Surface.Component
@impl true
def render(assigns) do
~F"""
<Boxicon
type="regular"
name="calendar"
size="64"
class="icon green"
/>
"""
end
end

Configuration

By default Boxicon will compile all the 1500+ icons, which can take a while and will make you runtime unnecessarily bloated. To fix this, you can specify the icons you want or an entire category.

This are some possible configurations:

Two regular icons, all the logos and none of the solid ones.

config :surface_boxicon,
icons: [
regular: ["calendar", "chvron-down"],
logos: :all,
solid: nil
]

Just the icons you need (recommended)

config :surface_boxicon,
icons: [
regular: ["calendar", "chvron-down"],
solid: ["hand", "file-md"],
logos: ["docker"]
]

Compile all the icons (default config)

config :surface_boxicon,
icons: :all

For the complete list of available icons visit the boxicons wesite.

Installation

Add boxicons to your dependencies in your mix.exs file

def deps do
[
{:surface_boxicon, "~> 0.4.0"}
]
end

Then run

mix deps.get

and that's pretty much it.