Bootstrap provides the some basic styling for the tables including CSS classes for responsiveness, striping odd/even rows, changing borders and captions, hovering rows, etc. These styles are opt-in and can be used with pure Angular to produce something like this:
NgbTable
or
NgbGrid
as a part of ng-bootstrap project. As usual we're open to the productive discussion on
GitHub.
Most importantly, there are way too many different use cases and options for such a complex component. Instead of building a monster-of-a-widget with hundreds of options and customizations, we would encourage you to use composition and pure Angular. Most tables don't need all the features and if you want a spreadsheet-like functionality there are dedicated libraries available.
Think about implementing the features you need and wrapping them into a component for your application. It might be simpler than it seems.
If you decide to choose a library for tables, make sure that it plays nicely with Angular:
Having said that, we decided to give you some simple examples of common table features. Take a look at them for the inspiration and maybe even use them as a starting point.
NgbdSortableHeader
directive that you can stick on a <th>
element to handle sorting
NgbPagination
component together with the table