In summary, the UI grades in the settings panel were not cleanly divided, the low-level UI elements like toggles and such were also managing the labels and descriptions. I pared down the simple grades to just handle their own UI and made cleanly expressed wrapper grades for the sites that use them.
I also noticed that a lot of very similar elements were using overly specific selectors, there should have been one class for binding labels, but there were four or five. I cleaned this up and also improved the naming in general.
At the end I went through with the coverage tool in the Chrome dev tools and pared down unused styles following the refactor.
As a side effect, while I was working on this I found a bug lingering from some of the focus refactoring, where removing a binding would throw an error when attempting to focus. I fixed this.
See #166 for details.
In summary, the UI grades in the settings panel were not cleanly divided, the low-level UI elements like toggles and such were also managing the labels and descriptions. I pared down the simple grades to just handle their own UI and made cleanly expressed wrapper grades for the sites that use them.
I also noticed that a lot of very similar elements were using overly specific selectors, there should have been one class for binding labels, but there were four or five. I cleaned this up and also improved the naming in general.
At the end I went through with the coverage tool in the Chrome dev tools and pared down unused styles following the refactor.
As a side effect, while I was working on this I found a bug lingering from some of the focus refactoring, where removing a binding would throw an error when attempting to focus. I fixed this.