Archetypes · Actions
Button
Label/icon, fires action.
#Contract
Label/icon, fires action. This is the archetype's identity: a component that keeps it is a Button on every target, however differently each one draws it. Its content category is a interactive phrase, which decides where it may sit and what it may contain.
#Anatomy
The published parts, with the role each one carries. The role is what a target derives the element from; the file never names an element.
icon: icon (optional) label: text
#Behaviours
Composed from the prelude's atoms. An optional one is marked.
activationpressabilityasync-state- optional
#Realization
Material FAB/elevated/tonal; iOS .borderedProminent
#Start from it
A component that starts from Button, before the author touches it: the root and the published anatomy, each part with the kind its role gives it. Paste it into a file, or open it in the Playground, and add the contract, the tokens and the states.
component Button { archetype Button part Button: container { } part icon: icon { } part label: text { } }
Every statement a part can carry is in the reference; the tour shows the arc from archetype to generated code.