This is a solution to the Multi-step form challenge on Frontend Mentor.
Users should be able to:
- Complete each step of the sequence
- Go back to a previous step to update their selections
- See a summary of their selections on the final step and confirm their order
- View the optimal layout for the interface depending on their device's screen size
- See hover and focus states for all interactive elements on the page
- Receive form validation messages if:
- A field has been missed
- The email address is not formatted correctly
- A step is submitted, but no selection has been made
- Solution URL: GitHub repo
- Live Site URL: GitHub Pages
- Semantic HTML5 markup
- CSS custom properties
- Mobile-first workflow
- Angular - JS framework
This chanllenge gave me an opportunity to try out the latest Angular features:
- Strictly typed reactive forms
type MultiStepForm = {
info: FormGroup<InfoGroup>;
plan: FormGroup<PlanGroup>;
addOns: FormGroup<AddOnsGroup>;
};
-
Angular Signals
- inputs
- outputs
- model inputs
- view queries
- Strongly Typed Reactive Forms in Angular - This is an amazing article that inspired me to start experimenting with strictly typed reactive forms in the first place and led me to take up this challenge.
- Component Communication with Signals: Inputs, Two-Way Bindings, and Content/ View Queries - This guide was extremely helpful in understanding how to handle Signal-based property bindings. I highly recommend it to anyone still learning this concept.
- GitHub - Hanna Skryl
- Frontend Mentor - @hanna-skryl
- Twitter - @hanna_skryl