# `LineaUI.Components.Overlay`
[🔗](https://github.com/devaction-labs/linea_ui/blob/v0.1.1/lib/linea_ui/components/overlay.ex#L1)

What the overlays share: the `on_open` / `on_close` callbacks, which take an event name or a `%JS{}`,
and the close glyph.

# `callback`

```elixir
@spec callback(nil | String.t() | Phoenix.LiveView.JS.t(), String.t(), term()) ::
  Phoenix.LiveView.JS.t()
```

The `%JS{}` an overlay runs when it opens or closes. An event name becomes `JS.push/2` with
`%{"id" => id}` as its value, sent to `target` when one is given.

# `chevron_icon`

The chevron LineOne's dropdown buttons draw, turning over while the menu is open.
## Attributes

* `class` (`:any`) - Defaults to `nil`.

# `close_icon`

LineOne's close icon (an ×), sized by `class`.
## Attributes

* `class` (`:any`) - Defaults to `"size-4.5"`.

---

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