UI
What each element is for. Rendered by the components.
Domains
Looks
The building blocks UI intents are made from: type, tone, surfaces, controls and arrangement. Code never uses them directly. Looks have no pages of their own; each is listed here with what it is built from and the intents built from it.
typography.*
typography.displayLargest type
Used to build:heading.pitchtypography.titlePage title type
typography.headingSection title type
Used to build:heading.sectiontypography.subheadingSmall heading type
Used to build:heading.itemtypography.leadLarge reading type
typography.bodyReading type
Used to build:text.bodytypography.smallSmall reading type
typography.labelSmall, slightly heavy type for names of things
typography.overlineTiny uppercase type
typography.monoMonospaced type
tone.*
tone.defaulttone.softtone.mutedSecondary text colour, readable on every surface
tone.accentBrand text colour
Used to build:text.indicatortone.negativeError colour
Used to build:feedback.errortone.positiveSuccess colour
Used to build:feedback.successtone.cautionWarning colour
Used to build:feedback.warningtone.infoNeutral notice colour
surface.*
surface.panelBordered box, one level above what it sits in
surface.sunkenRecess cut into what it sits in
Used to build:layout.loadingsurface.noticeRecessed, bordered strip
Used to build:layout.noticesurface.ruleA hairline in the colour that shows on the surface it is on
Used to build:layout.dividersurface.overlayFloats over a dimmed page and starts its own stack of surfaces
surface.floatingFloats next to the element that opened it, flipping to stay on screen. Hidden while closed, whatever display the intent sets
control.*
control.baseShape and behaviour shared by every button
control.primaryFilled, highest emphasis
Built from:control.basecontrol.secondaryFilled, lower emphasis; shows a pressed state
Built from:control.basecontrol.ghostNo fill until hovered
Built from:control.basecontrol.destructiveFilled, danger colour
Built from:control.baseUsed to build:action.deletecontrol.quietSmall text command; shows a pressed state
Built from:control.basecontrol.linkInline text link
control.iconSquare, icon-only shape. Layered over any action when it has no visible text
control.pillRounded option; filled while pressed
Built from:control.basecontrol.tabUnderlined option; underline while pressed
Built from:control.basecontrol.swatchColour circle filled from --choice-color; ringed while pressed
Built from:control.baseUsed to build:choice.colorcontrol.selectLooks like a form field with a chevron: a button that opens choices
Used to build:choice.open
input.*
input.defaultBordered input box
input.checkSmall square checkbox
Used to build:field.checkboxinput.toggleSliding on/off track
Used to build:field.switchinput.colorNative colour well
Used to build:field.colorinput.rangeA slider along a track
Used to build:field.range
arrange.*
arrange.rowsIts buttons and links become full-width rows, whatever their own look, keeping a danger colour; a pressed or selected one is filled and ticked
arrange.tableTable cells padded and aligned, header cells quiet, a hairline between rows
Used to build:layout.tablearrange.sidebarA fixed-width sidebar column beside a flexible one, stacked on phones
Used to build:layout.shellarrange.stackChildren in a column, free to shrink inside a row or grid
Used to build:layout.pagelayout.articlelayout.tasklayout.subnavlayout.asidelayout.sectionlayout.grouplayout.formlayout.fieldlayout.factlayout.listinglayout.scrollerlayout.blocks.celllayout.chartlayout.showcase.itemlayout.overlaylayout.pointslayout.stepslayout.pointlayout.listlayout.itemlayout.panellayout.teaserlayout.marketinglayout.registrylayout.registry.tracklayout.stagelayout.windowlayout.terminallayout.terminal.loglayout.agentlayout.tallylayout.tally.itemlayout.arrivallayout.bandlayout.demolayout.examplelayout.peeklayout.meterlayout.meter.filllayout.markerlayout.disclosurearrange.rowChildren in a wrapping row
Used to build:layout.headerlayout.footerlayout.headlinelayout.labelledlayout.settinglayout.actionslayout.pitch.actionslayout.toolbarlayout.choiceslayout.metalayout.factslayout.siblingslayout.pagerlayout.blockslayout.badgedlayout.docklayout.showcaselayout.commandlayout.window.barlayout.terminal.barlayout.noticearrange.dividedRow with rules between children
arrange.gridGrid of equal cells, as many columns as its own width fits
Used to build:layout.collection
constraint.*
constraint.wideCentred, wide content width
constraint.narrowCentred, reading width
Used to build:layout.articleconstraint.compactCentred width for one short form
Used to build:layout.task
frame.*
frame.roundSmall circle; centres initials when there is no image
Used to build:media.personframe.coverWide rounded rectangle; centres the fallback text when there is no image
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.