feat(html): scope selector lists in responsive variants
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run

Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
Virgil 2026-04-03 17:55:34 +00:00
parent 957bc85c64
commit d4cacb80ec
2 changed files with 18 additions and 1 deletions

View file

@ -80,7 +80,16 @@ func ScopeVariant(name, selector string) string {
if selector == "" {
return scope
}
return scope + " " + selector
parts := strings.Split(selector, ",")
for i := range parts {
parts[i] = strings.TrimSpace(parts[i])
if parts[i] == "" {
continue
}
parts[i] = scope + " " + parts[i]
}
return strings.Join(parts, ", ")
}
// responsive.go: Variant adds a named layout variant (e.g., "desktop", "tablet", "mobile").

View file

@ -178,3 +178,11 @@ func TestScopeVariant(t *testing.T) {
})
}
}
func TestScopeVariant_MultipleSelectors(t *testing.T) {
got := ScopeVariant("desktop", ".nav, .sidebar")
want := `[data-variant="desktop"] .nav, [data-variant="desktop"] .sidebar`
if got != want {
t.Fatalf("ScopeVariant with selector list = %q, want %q", got, want)
}
}