Compliant components: Declarative approach in Angular