View Source Heroicons (ex_heroicons v2.0.0)
This package adds a convenient way of using Heroicons with your Phoenix, Phoenix LiveView and Surface applications.
Heroicons is "A set of 450+ free MIT-licensed high-quality SVG icons for you to use in your web projects." Created by the amazing folks at Tailwind Labs.
You can find the original docs here and repo here.
Current Heroicons version: 2.0.11
installation
Installation
Add ex_heroicons
to the list of dependencies in mix.exs
:
def deps do
[
{:ex_heroicons, "~> 2.0.0"}
]
end
Then run mix deps.get
.
usage
Usage
With Eex or Leex
<%= Heroicons.icon("academic-cap", type: "outline", class: "h-4 w-4") %>
With Heex
<Heroicons.LiveView.icon name="academic-cap" type="outline" class="h-4 w-4" />
With Surface
<Heroicons.Surface.Icon name="academic-cap" type="outline" class="h-4 w-4" />
config
Config
Defaults can be set in the Heroicons
application configuration.
config :ex_heroicons, type: "outline"
Link to this section Summary
Functions
Generates an icon.
Returns a list of available icon names
Returns a list of available icon types
Link to this section Functions
@spec icon( String.t(), keyword() ) :: Phoenix.HTML.safe()
Generates an icon.
Options may be passed through to the SVG tag for custom attributes.
options
Options
:type
- the icon type. Accepted values are ["mini", "outline", "solid"]. Required if default type is not configured.:class
- the css class added to the SVG tag
examples
Examples
icon("academic-cap", type: "outline", class: "h-4 w-4")
#=> <svg class="h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path d="M12 14l9-5-9-5-9 5 9 5z"/>
<path d="M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z"/>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222"/>
</svg>
@spec names() :: [String.t()]
Returns a list of available icon names
@spec types() :: [String.t()]
Returns a list of available icon types