socket is available in the assigns map in a Surface View. However, it will not be available the Surface Component. You will have to make a prop and pass it from the view like so:
In the Surface component add the prop: prop(socket, :any, required: true). And in the view, pass the socket:
def render(assigns) do
~F"""
<Component socket={@socket} />
"""
end






















