ExIconify.Sets (ExIconify v0.1.0)

View Source

Information about popular Iconify icon sets.

This module provides metadata and sample icons for commonly used icon sets. Use this for building icon pickers, documentation, or exploring available icons.

  • lucide - Clean, modern icons with consistent stroke width
  • mdi - Material Design Icons - comprehensive icon set
  • tabler - Stroke-based icons, highly customizable
  • ph - Phosphor icons with multiple weights
  • heroicons - Heroicons from Tailwind Labs
  • ri - Remix Icons
  • carbon - IBM Carbon Design System icons
  • solar - Solar icon set with beautiful designs

Browse all 100+ sets at: https://icon-sets.iconify.design/

Summary

Functions

Returns common icon names that typically exist across all sets.

Returns information about a specific icon set by prefix.

Returns a list of popular icon sets with descriptions.

Returns a list of prefix strings for popular icon sets.

Returns sample icons for each popular set.

Returns all sample icons grouped by set.

Functions

common_samples()

@spec common_samples() :: [String.t()]

Returns common icon names that typically exist across all sets.

info(prefix)

@spec info(String.t()) :: map() | nil

Returns information about a specific icon set by prefix.

Examples

iex> ExIconify.Sets.info("lucide")
%{prefix: "lucide", name: "Lucide", ...}

iex> ExIconify.Sets.info("unknown")
nil

popular()

@spec popular() :: [map()]

Returns a list of popular icon sets with descriptions.

Examples

iex> ExIconify.Sets.popular()
[
  %{prefix: "lucide", name: "Lucide", description: "Clean, modern icons..."},
  ...
]

prefixes()

@spec prefixes() :: [String.t()]

Returns a list of prefix strings for popular icon sets.

Examples

iex> ExIconify.Sets.prefixes()
["lucide", "mdi", "tabler", "ph", "heroicons", ...]

samples(prefix)

@spec samples(String.t()) :: [String.t()]

Returns sample icons for each popular set.

These are common icons that exist in most sets, useful for demos and testing.

Examples

iex> ExIconify.Sets.samples("lucide")
["home", "search", "user", "settings", ...]

samples_map()

@spec samples_map() :: %{required(String.t()) => [String.t()]}

Returns all sample icons grouped by set.