See Button for the decided part of this page.
Known issues
Gaps in the current rules
- The theme’s title-case rendering doesn’t implement the function-word exception.
textTransform: "capitalize" capitalizes every word unconditionally; for most short,
verb-first labels that happens to agree with headline style, but they diverge on any label
containing a function word like “to” or “of” — “Save Changes To Draft” instead of “Save
Changes to Draft” — already recorded above.
- The
large size is reachable and undefined — see
Constraints Titan should enforce below.
tertiary exists as a design term and in no token. The prominence vocabulary is three
levels; the token layer names none of them — already recorded above.
- Icon-only sizing has no rule. Three icon sizes and two control heights exist; nothing
states which pairs.
FilterButton’s applied-state treatment is not specified. It carries a count prop and
two of its own tokens, and no page states what an active filter should look like.
- No rule for buttons inside dense table rows beyond “use a smaller size”, which does not
say which size or what happens in a row that already has three actions.
Constraints Titan should enforce
These are real, currently-true rules. Nothing in code stops a builder from violating them today —
each is a placeholder for a guardrail Titan hasn’t built, not a decision still being made.
Last modified on September 17, 2026