bug(MatStepper): MatStep’s `completed` should be a 2 way binding
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
#### Reproduction
https://stackblitz.com/edit/angular-zxzjbv
Steps to reproduce:
The goal is to load a stepper, where some steps are (conditionally) pre-completed.
For example: Step2: Complete, Step3: Not Complete
1. Create a stepper, with multiple steps. Each step has a "completed" binding to a variable.
2. Set some of these bindings to true, and others to false.
3. “Walk” to step 2, step 3, then back to step 2 and step 1.
#### Expected Behavior
Step 3 should now be complete.
#### Actual Behavior
Step 3 is not complete, and is hard locked into a completed=false state.
#### Requests
Each step should have a `(completed)` output even. For 2 reasons:
1. We can have a 2 way binding with initial state. Eg:
```
Contributor guide
Research direction
Start with the linked StackBlitz reproduction and inspect the MatStepper and MatStep component entry points in the Angular Material source. Reproduce the conditional completion behavior, then trace how the completed binding is handled when navigating between steps. Done means completion can be initialized and observed through the requested binding without the visible reset described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100