Great solution.
I love how you had trouble with the switch toggle too T_T, making a decent toggle that doesn't do the weird flickering on refresh wasn't as simple as I thought. I also like that you used a button group instead of a radio inputs, I should probably have done the same since I was kinda bad with styling radio inputs, and had to concoct weird hotkeys 1 to 4 to choose options instead.
A problem I can see is that component pages are big chunks of html, like having HTML, CSS, Accessibility and Javascript files being duplicates of each other, and only different in the strings part. And on 320px screens the text are too big and get mushed together a lot also.