One of the Angular features that help us the most in building reusable components is Content Projection and ng-content.
They are used to create configurable components. This means the components can be configured depending on the needs of its user. This is well known as Content Projection. Components that are used in published libraries make use of to make themselves configurable.
https://blog.angulartraining.com/tutorial-transclusion-content-projection-in-angular-1fea8f4421bd