Applies a theme by id, used by the dropdown.
Advances to the next secondary theme, used by the forward control.
Steps back to the previous one. All three are injected rather than imported: the selector is a view and never decides what changing a theme means.
Renders the secondary theme selector — a dropdown plus previous/next navigation — into its configured container.
Unlike the primary selector, a missing container is logged here: the secondary UI is only created when something asked for it, so an absent container means a configuration that will not do what its author intended.
The dropdown shows an empty selection when the active theme is not one of the secondary themes, rather than silently selecting the first entry — a selector that lies about the current state is worse than one that admits it has no answer.