Package-level declarations
Self-contained sections of content — a shelf of issues, a list of articles — for building a screen of your own. A source says what a block shows and a layout how it is arranged; the block loads, paginates, retries and collapses on its own, and reports taps through a sealed event type without ever navigating. BlockPage stacks several blocks into one scrolling screen, with a single retry, empty state and pull-to-refresh across them.
Types
What a user did in an articles block. The block never navigates, never opens a player and never mutates anything on the host's behalf: it reports, the host decides.
Which articles an ArticlesBlock shows.
How an ArticlesBlock arranges its articles — and with which cell, since not every cell suits every arrangement, so the two are chosen together and an impossible pair cannot be asked for.
Where a tapped item sat in its block, so the host can attribute the interaction without having to look the item up in a list it does not own.
Restricts the block declaration DSL to its own scope.
Declares the blocks of a BlockPage.
How a cover cell of an IssuesBlock is drawn, in a carousel or a grid.
What a user did in an issues block. The block never navigates and never mutates anything on the host's behalf: it reports, the host decides. Downloading an issue or saving it for later are not reported — the SDK owns those records, so the cells' controls act on them directly, the way every SDK screen does.
Which issues an IssuesBlock shows.
How an IssuesBlock arranges its issues — and with which cell, since not every cell suits every arrangement, so the two are chosen together and an impossible pair cannot be asked for.
Functions
A list of articles as a self-contained section: the whole catalogue, a publication's, an issue's.
A full screen composed of several blocks, scrolling as one.
A shelf of issues as a self-contained section: the whole catalogue, a publication's archives, one year of them.