Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Expands the bundled Lovelace card from one layout to six selectable designs, and
adds per-card colour theming.
The original layout is untouched and remains the default, so existing dashboards
are unaffected.
Designs
Selectable per card in the visual editor, or via
design:in YAML.classicglassremotestrippanelposterAll six are skins over the same engine — custom input images, aliases, hidden
inputs/outputs, sequences, IR/CEC, diagnostics and multi-hub binding behave
identically in each. Different cards on different dashboards can use different
designs.
Colours
Accent colour, card background and corner radius, set per card. Both colours
default to the active Home Assistant theme, so the card keeps matching the
dashboard unless deliberately overridden. Only
#rgb,#rrggbband#rrggbbaaare accepted — anything else is rejected before it reaches the DOM.
Colour changes repaint via CSS custom properties rather than rebuilding, so the
editor preview updates instantly and keeps its scroll position.
Design-specific options
Switching design strips options that only applied to the previous one, so saved
YAML never accumulates dead keys.
Implementation notes
<select>, inheriting keyboard and screen-readerbehaviour and proper mobile pickers rather than a custom dropdown
CSS.escapedependency — output IDs are arbitrary strings and that APIisn't available in every browser HA runs in
Testing
accent: "red;background:url(x)") rejected, emptystyle attribute produced
one-item dropdown), no volume entity (control omitted, not shown dead),
mute-only zones, all inputs hidden, all outputs hidden, invalid
lock_zone,poster_columnsof 1/99/"abc" all clamping, 10-room installBreaking changes
None.
designdefaults toclassic; all new config keys are optional.