Angular provides many built-in form controls such as <input>, <textarea>, <select>, and checkboxes. These elements work seamlessly with both Template-driven Forms and Reactive Forms because Angular already knows how to communicate with them.

But what happens when you build your own reusable component?

Imagine creating:

A star rating component ⭐

A color picker 🎨