A client-side island requested while rendering Astral content.
@type adapter() :: Astral.Islands.Adapter.t()
@type client() :: :load | :idle | :visible | :media
@type t() :: %Astral.Islands.Island{ adapter: adapter(), client: client(), component: String.t(), component_path: String.t(), entry_path: String.t(), entry_source: String.t(), id: String.t(), media: String.t() | nil, props: term(), props_json: String.t() }