mirror of
https://github.com/imjasonh/html
synced 2026-07-18 22:58:09 +00:00
Initial commit
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
01c7432c71
72 changed files with 6192 additions and 0 deletions
45
generated_details.go
Normal file
45
generated_details.go
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
package html
|
||||
|
||||
// DetailsElement represents the <details> HTML element.
|
||||
|
||||
type DetailsElement[C HTMLContent] basicElement[C]
|
||||
|
||||
|
||||
// Details creates a new <details> element.
|
||||
func Details(children ...HTMLContent) *DetailsElement[HTMLContent] {
|
||||
return &DetailsElement[HTMLContent]{
|
||||
tagName: "details",
|
||||
|
||||
content: children,
|
||||
}
|
||||
}
|
||||
|
||||
// Render returns the HTML string representation.
|
||||
func (e *DetailsElement[C]) Render() string {
|
||||
return (*basicElement[C])(e).Render()
|
||||
}
|
||||
|
||||
// Attr sets an arbitrary attribute as an escape hatch.
|
||||
func (e *DetailsElement[C]) Attr(key, value string) *DetailsElement[C] {
|
||||
e.attributes = append(e.attributes, Attribute{Key: key, Value: value})
|
||||
return e
|
||||
}
|
||||
|
||||
|
||||
// Name sets the name attribute.
|
||||
func (e *DetailsElement[C]) Name(v string) *DetailsElement[C] {
|
||||
e.attributes = append(e.attributes, Attribute{Key: "name", Value: v})
|
||||
return e
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Open sets the open attribute.
|
||||
func (e *DetailsElement[C]) Open(v bool) *DetailsElement[C] {
|
||||
if v {
|
||||
e.attributes = append(e.attributes, Attribute{Key: "open", Value: "open"})
|
||||
}
|
||||
return e
|
||||
}
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue