# `LivePanels.Item.RenderContext`
[🔗](https://github.com/livepanels/livepanels/blob/v0.1.0/lib/livepanels/item/render_context.ex#L1)

Render-time context yielded by `canvas_runtime/1` item declarations and
id-less `:item` renderers.

The context carries the real item plus values that only exist while rendering,
such as loaded content and selection state.

# `t`

```elixir
@type t() :: %LivePanels.Item.RenderContext{
  content: Phoenix.LiveView.Rendered.t() | nil,
  content_status: map() | nil,
  focused?: boolean(),
  item: LivePanels.Item.t(),
  ports: [LivePanels.Item.Capabilities.port_declaration()],
  selected?: boolean(),
  view: LivePanels.Item.View.t(),
  viewport: map() | nil
}
```

# `new`

```elixir
@spec new(
  LivePanels.Item.t(),
  LivePanels.Item.View.t(),
  Phoenix.LiveView.Rendered.t() | nil,
  keyword()
) ::
  t()
```

Builds a render context for an item and its derived view.

---

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