angular / angular/components

feat(material-theme): Add “match color tones” option to generator

Open
#32,526 4 comments 17 reactions 0 assignees View on GitHub
area: ng-generate feature P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### Feature Description

`ng generate @angular/material:theme-color` should expose the Material Theme Builder’s “Match color” / color fidelity toggle so that generated palettes can stay faithful to the input colors. This toggle is part of the official Material guidance “Use color fidelity” in https://m3.material.io/styles/color/advanced/adjust-existing-colors#cb49eeb4-3bbd-4521-9612-0856c27f91ef, yet the Angular schematic doesn’t offer an equivalent flag today.

### Use Case

Brand-driven teams rely on exact CI tones, so palette generation has to produce identical output whether we use the Theme Builder UI or the Angular CLI schematic. On https://material-foundation.github.io/material-theme-builder/ the toggle is explicitly labeled “Color match”, and it becomes obvious there how essential the option is: without it, your reference HEX values are brightened or dulled, which immediately violates any strict corporate color guide. Bringing the same “color match”/color-fidelity toggle to `ng generate @angular/material:theme-color` would prevent these shifts, eliminate manual corrections, and keep Angular projects in line with the officially documented Material workflow.

Contributor guide

Open the contributing guide

Research direction

Start at the Angular Material `theme-color` schematic entry point used by `ng generate`; trace how its palette options are defined and how generated colors are passed through. Add the color-match or color-fidelity toggle, then verify that generated palettes preserve the input colors when enabled and retain existing behavior when it is not.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
cli, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.