Actions

The primary call to action. variant sets the emphasis (primary is a solid brand fill, secondary is a tinted fill, tertiary is quiet), isOnMedia swaps in a translucent glass fill for use over photos or dark surfaces, and isDestructive recolors the button for a dangerous action.

Overview

The primary call to action. variant sets the emphasis (primary is a solid brand fill, secondary is a tinted fill, tertiary is quiet), isOnMedia swaps in a translucent glass fill for use over photos or dark surfaces, and isDestructive recolors the button for a dangerous action.

Highest emphasis
Primary

The single most important action on a screen. One per view.

Variants and states

defaultpresseddisabled
primary
secondary
tertiary

Anatomy

Button
  1. 1IconLeading  optional  nested instance
  2. 2Container.Label
  3. 3Label  required
  4. 4IconTrailing  optional  instance swap

Measurements

Height, padding, gaps, and radius, measured live from the rendered component

Specs

Values resolved live from the token spine. Token names follow the active platform; each links to its page.

Container
Corner radius
radiusMd
12pt
Horizontal padding
spacingGapPositive3xl
24pt
Vertical padding
spacingGapPositiveXl
12pt
#4B56C7
#2E368A
#0000000A · 4%
#00000014 · 8%
#FFFFFF00 · 0%
#00000014 · 8%
On media
On-media fill (default)
colorBackgroundActionBlurDefault
#FFFFFF33 · 20%
On-media fill (pressed)
colorBackgroundActionBlurPressed
#FFFFFF99 · 60%
On-media border
colorBorderBlur
#FFFFFF33 · 20%
On-media border width
strokeXs
0.5pt
Destructive
#C91726
#0000000A · 4%
#FFFFFF00 · 0%
Label
Label (primary, on-media, destructive primary)
colorContentOnDark
#FFFFFF
Label (secondary, tertiary)
colorContentAccent
#4B56C7
Label (destructive secondary, tertiary)
colorContentStatusError
#C91726
Label typography
body.md.semibold
Size 17px · typographyFontSizeBodyMdLine height 22px · typographyLineHeightBodyMdWeight 600 · typographyFontWeightSemiboldTracking -0.41px · typographyTrackingBodyMdParagraph spacing 0px · typographyParagraphSpacingBodyMdFamily SF Pro Text · typographyFontFamilyText
2pt
State
Disabled opacity
literal value
32%

Properties

The component’s Figma API, the properties you set on an instance. Useful to designers in Figma and to engineers mapping it to code props.

PropertyTypeValues
variantvariantprimary, secondary, tertiary
statevariantdefault, pressed, disabled
isOnMediabooleanFalse
isDestructivebooleanFalse
labelTexttextButton label
hasIconLeadingbooleanTrue
hasIconTrailingbooleanTrue

Accessibility

The 48pt height clears the 44pt minimum tap target. Keep label text concise and action-led (for example "Save" or "Continue"). The disabled state drops to 32% opacity, which is intentionally below contrast minimums, so never rely on a disabled button alone to convey information; pair it with helper text.

Reference: Apple Human Interface Guidelines and WCAG 2.5.5 Target Size.