A lot has been written on CVA but I’ve bookmarked this article because it’s simple, useful, clear and concise!
I’ve utilized a BaseControlValueAccessor file so I don’t have to rewrite the CVA methods each time I create a custom input. Here’s my StackBlitz, hopefully it helps someone. :)
https://stackblitz.com/edit/input-star-rating?file=src%2Finput-stars%2Finput-stars.component.ts