# `FrappeUIPhx.Icons.Svg`
[🔗](https://github.com/moacirbishopcamata/frappe_ui_phx/blob/v0.3.1/lib/frappe_ui_phx/icons/svg.ex#L1)

Renderiza um ícone do catálogo como `<svg>` inline, com as propriedades do Lucide.

É a única implementação de renderização: o componente genérico `<.icon>` e os
atalhos `FrappeUIPhx.Icons.Lucide` apenas chamam `svg/1`.

Pré-condições (violação é bug de quem chama, `ArgumentError`): `name` existe no
catálogo; `size` e `stroke_width` são números positivos.

# `svg`

```elixir
@spec svg(map()) :: Phoenix.LiveView.Rendered.t()
```

## Attributes

* `name` (`:string`) (required) - nome Lucide, alias ou "-filled", ex.: "plus".
* `size` (`:any`) - largura e altura em pixels (número positivo). Defaults to `24`.
* `color` (`:string`) - cor do traço (qualquer cor CSS). Defaults to `"currentColor"`.
* `stroke_width` (`:any`) - espessura do traço (número positivo). Defaults to `2`.
* `absolute_stroke_width` (`:boolean`) - mantém a espessura visual do traço igual em qualquer tamanho. Defaults to `false`.
* `title` (`:string`) - nome acessível; sem ele o ícone é decorativo. Defaults to `nil`.
* `class` (`:any`) - Defaults to `nil`.
* Global attributes are accepted.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
