IgniteUI / igniteui-angular

Ignite UI for Angular is a complete library of Angular-native, Material-based Angular UI components with the fastest grids and charts, Pivot Grid, Dock Manager, Hierarchical Grid, and more.
https://www.infragistics.com/products/ignite-ui-angular
Other
569 stars 163 forks source link

Themes: Scope component styles to component #13770

Open simeonoff opened 9 months ago

simeonoff commented 9 months ago

Is your feature request related to a problem? Please describe.

Currently all component themes are located in the global stylesheet. This works fine, however if a user doesn't take advantage of all components, they get all styles for them regardless. The only way to alter this behavior is by creating a modified theme that specifically excludes all unwanted component styles/themes. We should research a way to move component-related styles to the components themselves.

Describe the solution you'd like

For instance, instead of having a mixin for the avatar theme (and all other components), included in the global theme, we can simply have all component related styles be bound to the component itself. This would mean that component mixins should be removed or bound to specific CSS layers for backward compatibility.

simeonoff commented 9 months ago

After some initial research, we've discovered the following:

Potential deprecations:

Breaking Changes:

Issues:

Potential Problems:

Solutions:

Game Plan:

Here's a draft PR highlighting some of the changes needed.

github-actions[bot] commented 7 months ago

There has been no recent activity and this issue has been marked inactive.

github-actions[bot] commented 4 months ago

There has been no recent activity and this issue has been marked inactive.

github-actions[bot] commented 2 months ago

There has been no recent activity and this issue has been marked inactive.