We currently show any theme that is added on the Appearance page. This results in a page that is highly convoluted and mixes base themes, admin themes and themes you actually wish to install.
In Drupalcon Barcelona conversations we expect this to become an even bigger problem out of the box. We want to disallow people choosing "Classy" as their theme and placing a block in it. This is completely non-sensical.
We propose to add a new YAML property:
This allows us to hide the theme for selection in the Appearance page, for placing blocks in the Block UI and in Theme Settings. However if the hidden theme is the default theme then it is still display on the Block UI and Theme Settings page. This means we don't have to worry about sites which are currently using Stable or Classy as their default theme.
This issue blocks
User interface changes
We don't show base themes on the Apperance page, Blocks UI, or Theme settings, unless the base theme is the default theme.
block_themes_installed() does not auto create block placements for hidden themes.
Data model changes