angular / angular/components

feat(button): add filled/tonal matIconButton

Open
#33,091 0 comments 5 reactions 0 assignees View on GitHub
area: material/button feature gemini-triaged P4
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### Feature Description

Currently, matButton supports multiple appearances (text, filled, tonal, outlined, elevated) via the matButton attribute, but matIconButton does not accept any appearance input — it always renders as a transparent circular button.

Material Design 3 specifies [filled and tonal icon button variants](https://m3.material.io/components/icon-buttons/overview) as distinct components alongside the standard and outlined icon buttons. There is currently no straightforward way to create these in Angular Material without using matFab/matMiniFab (which have different sizing, elevation, and semantics) or matButton="filled" with an icon (which doesn't produce a circular icon button).

### Use Case

Developers building M3-compliant UIs need filled and tonal icon buttons for actions that require more visual emphasis than a standard icon button, but don't carry the semantic meaning of a FAB (floating action button). For example, a filled icon button for a primary action like "play" or "add to cart" in a toolbar, or a tonal icon button for a medium-emphasis toggle like "bookmark" or "favorite."

Contributor guide

Open the contributing guide

Research direction

Start by comparing the existing matButton appearance options with matIconButton, then review the Material Design 3 icon-button variants linked in the issue. Done means matIconButton can render filled and tonal appearances as circular icon buttons, distinct from FABs and standard icon buttons.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.