The MatAbstraction project was created by Paul Spears @TheEvergreenDev

This project serves as an example of the use of problem domain specific abstractions on top of Angular Material. Many clients want to start their Angular efforts with a fine grained component library. This demonstrates a compromise that decouples much of the business logic from the visual layer, but doesn't require application developers to first develop an entire visual library.

This also serves as a demonstration of a healthy way to customize and abstract Angular Material without overriding the internal CSS implementation.