What it is
The furniture a content site repeats on every page: the three-pane documentation shell, the sticky header run, the footer, the navigation tree, the pager, the pricing section, the question list, the closing call to action, the sign-in panel, the request and response blocks, and the listing shapes — steps, headings, grids, records.
Each one is composed from @teasim/astro elements rather than drawn from
scratch, and they are imported exactly the same way.
The line it holds
A block owns arrangement. Grid, gap, measure, and the breakpoints where a layout changes. It never restates a surface — a border, a fill, a type scale or a focus ring arrives with the family it composes, so a look the elements lack is fixed on the element and not patched here.
That line is why the package declares no @shortcut of its own. Every fragment
its recipes name is declared once, in astro’s TeaCSS interface.
Two invariants that bend here
An element renders no sibling part and takes no named slot. A block bends both, and only where the shape demands it: a tree renders itself, so the nav renders its own list part; and a layout has regions, so the shell takes its three panes and the header takes its logo as named slots.
Both exceptions are pinned by tests rather than left as an allowlist with no reason attached.