FrappeUIPhx.Icons (frappe_ui_phx v0.3.1)

Copy Markdown View Source

Catálogo de ícones Lucide: nomes, tags, aliases (nomes antigos) e busca.

Os dados vêm de priv/icons.json, gerado por mix icons.sync a partir do lucide-static fixado, e são lidos em tempo de compilação. O desenho de cada ícone é renderizado por FrappeUIPhx.Icons.Svg (componente <.icon>) ou pelos atalhos FrappeUIPhx.Icons.Lucide (<Lucide.plus />).

Um nome terminado em -filled (ex.: "star-filled") é o mesmo ícone com preenchimento; um prefixo lucide- é aceito e ignorado.

Summary

Functions

Nome da função de FrappeUIPhx.Icons.Lucide para o ícone name: "circle-alert" -> :circle_alert; nome que começa com dígito ganha o prefixo i_.

Metadados de um ícone por nome atual, alias ou -filled; nil se não existir.

Nomes atuais de todos os ícones, em ordem alfabética.

Resolve um nome para {:ok, nome_atual, preenchido?} ou :error.

Busca por nome, alias ou tag (sem diferenciar caixa nem acentos). Ordem: nome exato, prefixo do nome, nome contém, alias, tag. Termo vazio devolve todos.

Até limit nomes parecidos com name (para mensagens de erro).

Versão do Lucide de onde o catálogo foi gerado.

Types

icon()

@type icon() :: %{name: String.t(), tags: [String.t()], aliases: [String.t()]}

Functions

function_name(name)

@spec function_name(String.t()) :: atom()

Nome da função de FrappeUIPhx.Icons.Lucide para o ícone name: "circle-alert" -> :circle_alert; nome que começa com dígito ganha o prefixo i_.

get(name)

@spec get(String.t()) :: icon() | nil

Metadados de um ícone por nome atual, alias ou -filled; nil se não existir.

names()

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

Nomes atuais de todos os ícones, em ordem alfabética.

resolve(name)

@spec resolve(String.t()) :: {:ok, String.t(), boolean()} | :error

Resolve um nome para {:ok, nome_atual, preenchido?} ou :error.

search(term)

@spec search(String.t()) :: [icon()]

Busca por nome, alias ou tag (sem diferenciar caixa nem acentos). Ordem: nome exato, prefixo do nome, nome contém, alias, tag. Termo vazio devolve todos.

suggestions(name, limit \\ 3)

@spec suggestions(String.t(), pos_integer()) :: [String.t()]

Até limit nomes parecidos com name (para mensagens de erro).

version()

@spec version() :: String.t()

Versão do Lucide de onde o catálogo foi gerado.