Skip to content

role button

Icon button draft v0.5.1

Triggers an action with an icon alone; its label is given to assistive technology.

An icon button performs an action, like a button, but shows only an icon: it saves room in toolbars, table rows and headers where the action is familiar enough to be recognized from its symbol. It has no visible text, so it always carries a label that assistive technology announces as its name. Like every button, it never navigates.

Tokens

From packages/tokens/src/components/icon-button.tokens.json. Path grammar: icon-button.<part>.<property>[.<option>][.<state>]. Every value aliases a semantic token.

117 tokens

Part container (78)

Token Type Value Resolved CSS
icon-button.container.background.accent.neutral.default color {global.bg.accent.neutral.default}
light #201E1F
dark #E8E3E4
--icon-button-container-background-accent-neutral-default
icon-button.container.background.accent.neutral.hover color {global.bg.accent.neutral.hover}
light #323031
dark #D2CECF
--icon-button-container-background-accent-neutral-hover
icon-button.container.background.accent.neutral.active color {global.bg.accent.neutral.active}
light #4C4A4A
dark #B9B7B7
--icon-button-container-background-accent-neutral-active
icon-button.container.background.accent.brand.default color {global.bg.accent.brand.default}
light #175DD6
dark #9EE7FA
--icon-button-container-background-accent-brand-default
icon-button.container.background.accent.brand.hover color {global.bg.accent.brand.hover}
light #1148A9
dark #53D6F2
--icon-button-container-background-accent-brand-hover
icon-button.container.background.accent.brand.active color {global.bg.accent.brand.active}
light #0B2A69
dark #41B9D3
--icon-button-container-background-accent-brand-active
icon-button.container.background.accent.error.default color {global.bg.accent.functional.error.default}
#E12A23
--icon-button-container-background-accent-error-default
icon-button.container.background.accent.error.hover color {global.bg.accent.functional.error.hover}
#C01619
--icon-button-container-background-accent-error-hover
icon-button.container.background.accent.error.active color {global.bg.accent.functional.error.active}
#940E11
--icon-button-container-background-accent-error-active
icon-button.container.background.accent.disabled color {global.bg.state.disabled.default}
light #B6B4B41a
dark #7676764d
--icon-button-container-background-accent-disabled
icon-button.container.background.subtle.neutral.default color {global.bg.subtle.neutral.default}
light #B6B4B41a
dark #7676761a
--icon-button-container-background-subtle-neutral-default
icon-button.container.background.subtle.neutral.hover color {global.bg.subtle.neutral.hover}
light #B6B4B426
dark #7676764d
--icon-button-container-background-subtle-neutral-hover
icon-button.container.background.subtle.neutral.active color {global.bg.subtle.neutral.active}
light #B6B4B433
dark #76767680
--icon-button-container-background-subtle-neutral-active
icon-button.container.background.subtle.brand.default color {global.bg.subtle.brand.default}
light #EEF1F7
dark #09191D
--icon-button-container-background-subtle-brand-default
icon-button.container.background.subtle.brand.hover color {global.bg.subtle.brand.hover}
light #DDE6F5
dark #0D272E
--icon-button-container-background-subtle-brand-hover
icon-button.container.background.subtle.brand.active color {global.bg.subtle.brand.active}
light #BFD1F1
dark #10363E
--icon-button-container-background-subtle-brand-active
icon-button.container.background.subtle.error.default color {global.bg.subtle.functional.error.default}
light #FEECEA
dark #2B0B08
--icon-button-container-background-subtle-error-default
icon-button.container.background.subtle.error.hover color {global.bg.subtle.functional.error.hover}
light #FCCDC6
dark #3E130F
--icon-button-container-background-subtle-error-hover
icon-button.container.background.subtle.error.active color {global.bg.subtle.functional.error.active}
light #FAA79D
dark #531A16
--icon-button-container-background-subtle-error-active
icon-button.container.background.subtle.disabled color {global.bg.state.disabled.default}
light #B6B4B41a
dark #7676764d
--icon-button-container-background-subtle-disabled
icon-button.container.background.ghost.neutral.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-background-ghost-neutral-default
icon-button.container.background.ghost.neutral.hover color {global.bg.subtle.neutral.default}
light #B6B4B41a
dark #7676761a
--icon-button-container-background-ghost-neutral-hover
icon-button.container.background.ghost.neutral.active color {global.bg.subtle.neutral.hover}
light #B6B4B426
dark #7676764d
--icon-button-container-background-ghost-neutral-active
icon-button.container.background.ghost.brand.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-background-ghost-brand-default
icon-button.container.background.ghost.brand.hover color {global.bg.subtle.brand.default}
light #EEF1F7
dark #09191D
--icon-button-container-background-ghost-brand-hover
icon-button.container.background.ghost.brand.active color {global.bg.subtle.brand.hover}
light #DDE6F5
dark #0D272E
--icon-button-container-background-ghost-brand-active
icon-button.container.background.ghost.error.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-background-ghost-error-default
icon-button.container.background.ghost.error.hover color {global.bg.subtle.functional.error.default}
light #FEECEA
dark #2B0B08
--icon-button-container-background-ghost-error-hover
icon-button.container.background.ghost.error.active color {global.bg.subtle.functional.error.hover}
light #FCCDC6
dark #3E130F
--icon-button-container-background-ghost-error-active
icon-button.container.background.ghost.disabled color {global.bg.state.disabled.default}
light #B6B4B41a
dark #7676764d
--icon-button-container-background-ghost-disabled
icon-button.container.border-color.accent.neutral.default color {global.border.accent.neutral.default}
light #323031
dark #B9B7B7
--icon-button-container-border-color-accent-neutral-default
icon-button.container.border-color.accent.neutral.hover color {global.border.accent.neutral.hover}
light #4C4A4A
dark #B9B7B7
--icon-button-container-border-color-accent-neutral-hover
icon-button.container.border-color.accent.neutral.active color {global.border.accent.neutral.active}
light #616161
dark #9D9B9C
--icon-button-container-border-color-accent-neutral-active
icon-button.container.border-color.accent.brand.default color {global.border.accent.brand.default}
light #1148A9
dark #53D6F2
--icon-button-container-border-color-accent-brand-default
icon-button.container.border-color.accent.brand.hover color {global.border.accent.brand.hover}
light #0B2A69
dark #41B9D3
--icon-button-container-border-color-accent-brand-hover
icon-button.container.border-color.accent.brand.active color {global.border.accent.brand.active}
light #0B204D
dark #3499AF
--icon-button-container-border-color-accent-brand-active
icon-button.container.border-color.accent.error.default color {global.border.accent.functional.error.default}
#C01619
--icon-button-container-border-color-accent-error-default
icon-button.container.border-color.accent.error.hover color {global.border.accent.functional.error.hover}
#940E11
--icon-button-container-border-color-accent-error-hover
icon-button.container.border-color.accent.error.active color {global.border.accent.functional.error.active}
#531A16
--icon-button-container-border-color-accent-error-active
icon-button.container.border-color.accent.disabled color {global.border.state.disabled.default}
light #B6B4B466
dark #363636b2
--icon-button-container-border-color-accent-disabled
icon-button.container.border-color.subtle.neutral.default color {global.border.subtle.neutral.default}
light #DFDBDC
dark #36363680
--icon-button-container-border-color-subtle-neutral-default
icon-button.container.border-color.subtle.neutral.hover color {global.border.subtle.neutral.hover}
light #D7D3D4
dark #363636
--icon-button-container-border-color-subtle-neutral-hover
icon-button.container.border-color.subtle.neutral.active color {global.border.subtle.neutral.active}
light #B6B4B4
dark #767676
--icon-button-container-border-color-subtle-neutral-active
icon-button.container.border-color.subtle.brand.default color {global.border.subtle.brand.default}
light #DDE6F5
dark #0D272E
--icon-button-container-border-color-subtle-brand-default
icon-button.container.border-color.subtle.brand.hover color {global.border.subtle.brand.hover}
light #BFD1F1
dark #10363E
--icon-button-container-border-color-subtle-brand-hover
icon-button.container.border-color.subtle.brand.active color {global.border.subtle.brand.active}
light #9BB9EC
dark #1F606E
--icon-button-container-border-color-subtle-brand-active
icon-button.container.border-color.subtle.error.default color {global.border.subtle.functional.error.default}
light #FCCDC6
dark #3E130F
--icon-button-container-border-color-subtle-error-default
icon-button.container.border-color.subtle.error.hover color {global.border.subtle.functional.error.hover}
light #FAA79D
dark #531A16
--icon-button-container-border-color-subtle-error-hover
icon-button.container.border-color.subtle.error.active color {global.border.subtle.functional.error.active}
light #F88275
dark #940E11
--icon-button-container-border-color-subtle-error-active
icon-button.container.border-color.subtle.disabled color {global.border.state.disabled.default}
light #B6B4B466
dark #363636b2
--icon-button-container-border-color-subtle-disabled
icon-button.container.border-color.ghost.neutral.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-border-color-ghost-neutral-default
icon-button.container.border-color.ghost.neutral.hover color {global.border.subtle.neutral.default}
light #DFDBDC
dark #36363680
--icon-button-container-border-color-ghost-neutral-hover
icon-button.container.border-color.ghost.neutral.active color {global.border.subtle.neutral.hover}
light #D7D3D4
dark #363636
--icon-button-container-border-color-ghost-neutral-active
icon-button.container.border-color.ghost.brand.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-border-color-ghost-brand-default
icon-button.container.border-color.ghost.brand.hover color {global.border.subtle.brand.default}
light #DDE6F5
dark #0D272E
--icon-button-container-border-color-ghost-brand-hover
icon-button.container.border-color.ghost.brand.active color {global.border.subtle.brand.hover}
light #BFD1F1
dark #10363E
--icon-button-container-border-color-ghost-brand-active
icon-button.container.border-color.ghost.error.default color {color.transparent}
color(srgb 0 0 0 / 0)
--icon-button-container-border-color-ghost-error-default
icon-button.container.border-color.ghost.error.hover color {global.border.subtle.functional.error.default}
light #FCCDC6
dark #3E130F
--icon-button-container-border-color-ghost-error-hover
icon-button.container.border-color.ghost.error.active color {global.border.subtle.functional.error.hover}
light #FAA79D
dark #531A16
--icon-button-container-border-color-ghost-error-active
icon-button.container.border-color.ghost.disabled color {global.border.state.disabled.default}
light #B6B4B466
dark #363636b2
--icon-button-container-border-color-ghost-disabled
icon-button.container.border-width dimension {stroke-width.sm}
0.6px
--icon-button-container-border-width
icon-button.container.border-radius.xsmall dimension {corner-radius.2xs}
2px
--icon-button-container-border-radius-xsmall
icon-button.container.border-radius.small dimension {corner-radius.2xs}
2px
--icon-button-container-border-radius-small
icon-button.container.border-radius.medium dimension {corner-radius.xs}
4px
--icon-button-container-border-radius-medium
icon-button.container.border-radius.large dimension {corner-radius.xs}
4px
--icon-button-container-border-radius-large
icon-button.container.min-height.xsmall dimension {space.24}
24px
--icon-button-container-min-height-xsmall
icon-button.container.min-height.small dimension {space.28}
28px
--icon-button-container-min-height-small
icon-button.container.min-height.medium dimension {space.36}
36px
--icon-button-container-min-height-medium
icon-button.container.min-height.large dimension {space.44}
44px
--icon-button-container-min-height-large
icon-button.container.min-width.xsmall dimension {space.24}
24px
--icon-button-container-min-width-xsmall
icon-button.container.min-width.small dimension {space.28}
28px
--icon-button-container-min-width-small
icon-button.container.min-width.medium dimension {space.36}
36px
--icon-button-container-min-width-medium
icon-button.container.min-width.large dimension {space.44}
44px
--icon-button-container-min-width-large
icon-button.container.outline-width.focus-visible dimension {focus.ring.width}
2.4px
--icon-button-container-outline-width-focus-visible
icon-button.container.outline-offset.focus-visible dimension {focus.ring.offset}
4px
--icon-button-container-outline-offset-focus-visible
icon-button.container.outline-color.focus-visible color {color.focus.ring}
light #175DD6
dark #9EE7FA
--icon-button-container-outline-color-focus-visible
icon-button.container.transition.duration duration {duration.fast}
150ms
--icon-button-container-transition-duration
icon-button.container.transition.easing cubicBezier {easing.standard}
cubic-bezier(0.2, 0, 0, 1)
--icon-button-container-transition-easing

Part icon (39)

Token Type Value Resolved CSS
icon-button.icon.color.accent.neutral.default color {global.icon.on-accent.neutral.primary}
light #FDFDFD
dark #191919
--icon-button-icon-color-accent-neutral-default
icon-button.icon.color.accent.neutral.hover color {global.icon.on-accent.neutral.primary}
light #FDFDFD
dark #191919
--icon-button-icon-color-accent-neutral-hover
icon-button.icon.color.accent.neutral.active color {global.icon.on-accent.neutral.primary}
light #FDFDFD
dark #191919
--icon-button-icon-color-accent-neutral-active
icon-button.icon.color.accent.brand.default color {global.icon.on-accent.brand.default}
light #FBFCFD
dark #09191D
--icon-button-icon-color-accent-brand-default
icon-button.icon.color.accent.brand.hover color {global.icon.on-accent.brand.default}
light #FBFCFD
dark #09191D
--icon-button-icon-color-accent-brand-hover
icon-button.icon.color.accent.brand.active color {global.icon.on-accent.brand.default}
light #FBFCFD
dark #09191D
--icon-button-icon-color-accent-brand-active
icon-button.icon.color.accent.error.default color {global.icon.on-accent.functional.error.default}
#FEFBFA
--icon-button-icon-color-accent-error-default
icon-button.icon.color.accent.error.hover color {global.icon.on-accent.functional.error.default}
#FEFBFA
--icon-button-icon-color-accent-error-hover
icon-button.icon.color.accent.error.active color {global.icon.on-accent.functional.error.default}
#FEFBFA
--icon-button-icon-color-accent-error-active
icon-button.icon.color.accent.disabled color {global.icon.state.disabled.default}
light #8C8C8C
dark #9D9B9Cb2
--icon-button-icon-color-accent-disabled
icon-button.icon.color.subtle.neutral.default color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-subtle-neutral-default
icon-button.icon.color.subtle.neutral.hover color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-subtle-neutral-hover
icon-button.icon.color.subtle.neutral.active color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-subtle-neutral-active
icon-button.icon.color.subtle.brand.default color {global.icon.on-subtle.brand.default}
light #1148A9
dark #9EE7FA
--icon-button-icon-color-subtle-brand-default
icon-button.icon.color.subtle.brand.hover color {global.icon.on-subtle.brand.default}
light #1148A9
dark #9EE7FA
--icon-button-icon-color-subtle-brand-hover
icon-button.icon.color.subtle.brand.active color {global.icon.on-subtle.brand.default}
light #1148A9
dark #9EE7FA
--icon-button-icon-color-subtle-brand-active
icon-button.icon.color.subtle.error.default color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-subtle-error-default
icon-button.icon.color.subtle.error.hover color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-subtle-error-hover
icon-button.icon.color.subtle.error.active color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-subtle-error-active
icon-button.icon.color.subtle.disabled color {global.icon.state.disabled.default}
light #8C8C8C
dark #9D9B9Cb2
--icon-button-icon-color-subtle-disabled
icon-button.icon.color.ghost.neutral.default color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-ghost-neutral-default
icon-button.icon.color.ghost.neutral.hover color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-ghost-neutral-hover
icon-button.icon.color.ghost.neutral.active color {global.icon.on-base.neutral.primary}
light #0E0D0D
dark #D2CECF
--icon-button-icon-color-ghost-neutral-active
icon-button.icon.color.ghost.brand.default color {global.icon.on-base.brand.default}
light #175DD6
dark #9EE7FA
--icon-button-icon-color-ghost-brand-default
icon-button.icon.color.ghost.brand.hover color {global.icon.on-subtle.brand.default}
light #1148A9
dark #9EE7FA
--icon-button-icon-color-ghost-brand-hover
icon-button.icon.color.ghost.brand.active color {global.icon.on-subtle.brand.default}
light #1148A9
dark #9EE7FA
--icon-button-icon-color-ghost-brand-active
icon-button.icon.color.ghost.error.default color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-ghost-error-default
icon-button.icon.color.ghost.error.hover color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-ghost-error-hover
icon-button.icon.color.ghost.error.active color {global.icon.on-subtle.functional.error.default}
light #C01619
dark #FAA79D
--icon-button-icon-color-ghost-error-active
icon-button.icon.color.ghost.disabled color {global.icon.state.disabled.default}
light #8C8C8C
dark #9D9B9Cb2
--icon-button-icon-color-ghost-disabled
icon-button.icon.font-family fontFamily {font.icon.family}
"Material Symbols Outlined"
--icon-button-icon-font-family
icon-button.icon.font-weight fontWeight {font.icon.weight.light}
300
--icon-button-icon-font-weight
icon-button.icon.fill number {font.icon.fill.off}
0
--icon-button-icon-fill
icon-button.icon.grade number {font.icon.grade.normal}
0
--icon-button-icon-grade
icon-button.icon.optical-size number {font.icon.optical-size.20}
20
--icon-button-icon-optical-size
icon-button.icon.size.xsmall dimension {size.2}
16px
--icon-button-icon-size-xsmall
icon-button.icon.size.small dimension {size.3}
20px
--icon-button-icon-size-small
icon-button.icon.size.medium dimension {size.4}
24px
--icon-button-icon-size-medium
icon-button.icon.size.large dimension {size.4}
24px
--icon-button-icon-size-large