content surface · pds + constellation
<atproto-list>
Render an app.bsky.graph.list record with its members. Header from the list record itself, members via listitem:list backlinks.
Live
<atproto-list src="at://.../app.bsky.graph.list/..." limit="32"></atproto-list> Attributes
| Name | Type | Default | Description |
|---|---|---|---|
src * | string | — | AT-URI of the app.bsky.graph.list record. |
limit | number | 32 | Members shown in the avatar grid. |
constellation | string | — | Override the Constellation endpoint. |
Parts
External CSS can target these via atproto-list::part(<name>) { ... }.
| Part | What it is |
|---|---|
article / header | Outer container + header cluster. |
avatar / name / purpose / owner | Header pieces. |
description | List description text block. |
members / members-head / grid | Member-grid section. |
How it works
Header comes from the list record's own PDS fetch (name, purpose,
description, avatar). Members come from a single Constellation backlinks
call — all the listitem records whose .list points at this
list URI. For each listitem, we fetch the record itself (one call) to
read the member DID from .subject, then batch-resolve
profiles via the shared actor-grid helper.
Related
<atproto-list-memberships> — the reverse: given a
DID, find every list that contains them.