The shapes a component cannot be, because they wrap a body only the caller knows: the section card, the data grid, the disclosure menu, the shells' own chrome. tokens.css ships the classes and an app writes the markup. Everything below is the markup ui.Styleguide returns, with its words in your language, and ui's tests hold that markup against tokens.css.
Each example is live, but its links go nowhere.
box
The padded section card, and the heading that sits outside it.
Which card is which
rst-list and rst-card have no padding by design: they hold a run of rows, and each row pads itself. Put a form, a paragraph, a strip of links or anything else that is not a row straight into one and it renders flush against the border; the text touching the edge is the tell. The padded card for arbitrary content is rst-box, with its heading as a sibling rst-box-head before it.
<divrst-box-head>
<h2>Payout</h2>
<arst-btnhref="/payout/edit">Edit</a>
</div>
<sectionrst-box>
<p>Everything on a screen sits inside boxes.</p>
<divrst-box-foot>Last updated 2 hours ago</div>
</section>
button
Buttons come in four variants and three sizes, and a link can look like one. For the spinner a form shows while it submits, see form-foot.
The real data-table vocabulary: the card sets its columns once, rows only choose cells.
Screens stack vertically
A screen is a column: page-header, then section-header + card, then the next section-header + card, in reading order. Horizontal arrangement is reserved for the idioms that ship it: rst-box-head, rst-field-row, rst-lbar, rst-lrow cells, rst-seg-tabs.