# `AshUi.Phoenix`
[🔗](https://github.com/hyperbob-labs/ash_ui/blob/main/lib/ash_ui/phoenix.ex#L1)

Primary Phoenix integration for routed AshUi resources.

The `routes/1` macro discovers route declarations from Ash domains and mounts
each resource through the shared LiveView host. At runtime this module
creates or upserts the page's `:mount` action with the transport session,
caches its compiled patch table, renders the current resource row, routes
binding keys to Ash actions, reloads notification-backed relationships, and
reconciles the resource's URL projection.

Host applications keep ownership of their endpoint, router, session,
authentication, and static assets. Authored UI remains in resource
`:view` calculations; Phoenix supplies transport only.

# `client_dispatch_params`

# `configured_resource`

# `configured_resource!`

# `mount`

```elixir
@spec mount(module(), map(), map(), Phoenix.LiveView.Socket.t(), keyword()) ::
  {:ok, Phoenix.LiveView.Socket.t()}
```

# `otp_app`

# `render_resource`

# `render_resource!`

# `render_shell`

## Attributes

* `ash_ui_record` (`:any`) - Defaults to `nil`.
* `ash_ui_changed` (`:any`) - Defaults to `:all`.
* `ash_ui_mount_error` (`:string`) - Defaults to `nil`.

# `routes`
*macro* 

# `runtime_handle_event`

```elixir
@spec runtime_handle_event(String.t(), map(), Phoenix.LiveView.Socket.t()) ::
  {:noreply, Phoenix.LiveView.Socket.t()}
```

# `runtime_handle_info`

```elixir
@spec runtime_handle_info(term(), Phoenix.LiveView.Socket.t()) ::
  {:noreply, Phoenix.LiveView.Socket.t()}
```

# `runtime_handle_params`

```elixir
@spec runtime_handle_params(
  map(),
  String.t() | map() | nil,
  Phoenix.LiveView.Socket.t()
) ::
  {:noreply, Phoenix.LiveView.Socket.t()}
```

# `runtime_terminate`

```elixir
@spec runtime_terminate(term(), Phoenix.LiveView.Socket.t()) :: :ok
```

# `telemetry_child_spec`

---

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