diff options
Diffstat (limited to 'attr/attributes.go')
-rw-r--r-- | attr/attributes.go | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/attr/attributes.go b/attr/attributes.go deleted file mode 100644 index 938d762..0000000 --- a/attr/attributes.go +++ /dev/null @@ -1,38 +0,0 @@ -// Package attr provides shortcuts and helpers to common HTML attributes. -// See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes for a list of attributes. -package attr - -import ( - "io" - "sort" - "strings" - - g "github.com/maragudk/gomponents" -) - -// Classes is a map of strings to booleans, which Renders to an attribute with name "class". -// The attribute value is a sorted, space-separated string of all the map keys, -// for which the corresponding map value is true. -type Classes map[string]bool - -func (c Classes) Render(w io.Writer) error { - var included []string - for c, include := range c { - if include { - included = append(included, c) - } - } - sort.Strings(included) - return g.Attr("class", strings.Join(included, " ")).Render(w) -} - -func (c Classes) Type() g.NodeType { - return g.AttributeType -} - -// String satisfies fmt.Stringer. -func (c Classes) String() string { - var b strings.Builder - _ = c.Render(&b) - return b.String() -} |