layout.index
A bordered box of rows read like a table: props, rules, the intents of a domain. Holds a layout.list of layout.term or layout.situation rows, padded to the box’s edge
Layout intents
Example
One
Two
Three
<Layout intent="layout.index">
…
</Layout>Choosing between neighbours
Find the row that describes your element, and use the intent on the right.
If it is
Use
A bordered box of rows read like a table: props, rules, the intents of a domain. Holds a layout.list of layout.term or layout.situation rows, padded to the box’s edge
layout.indexthis pageA real table of data
layout.tableA box of rows read like a table
rather thanlayout.panellayout.indexthis page
Connections
Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.
- Built from
For registry authors
Starter intents. These are the intents prongs add puts in your registry, shown in this site’s theme. Yours are your own registry.ts: rename, restyle and add to them, and see them with prongs add gallery.
What this intent is built from and its entry in components/prongs/registry.ts. You only need this to change how it looks or to add an intent like it.
How layout.index resolves, and its definition
Each layer adds to the one before it; a later class wins over an earlier one that sets the same thing.
surface.panelBordered box, one level above what it sits in
surface rounded-md border border-surface-border
arrange.stackChildren in a column, free to shrink inside a row or grid
flex min-w-0 flex-col
layout.panelA self-contained box about one thing: a sign-in box, a profile summary. Its border is quieter than a layout.teaser’s, since it does not open anything
gap-3 p-[clamp(1rem,4vw,1.5rem)] border-surface-border/60
layout.indexA bordered box of rows read like a table: props, rules, the intents of a domain. Holds a layout.list of layout.term or layout.situation rows, padded to the box’s edge
gap-0 overflow-hidden p-0 [&>ul>li]:px-4
surface rounded-md border flex min-w-0 flex-col border-surface-border/60 gap-0 overflow-hidden p-0 [&>ul>li]:px-4
'layout.index': {
kind: 'semantic',
description: 'A bordered box of rows read like a table: props, rules, the intents of a domain. Holds a layout.list of layout.term or layout.situation rows, padded to the box’s edge',
refs: ['layout.panel'],
binding: { classes: 'gap-0 overflow-hidden p-0 [&>ul>li]:px-4' },
notFor: [{ context: 'a real table of data', instead: 'layout.table' }],
},