package app

// Code generated by go generate; DO NOT EDIT.

import (
	
)

// The interface that represents a "a" HTML element.
type HTMLA interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLA

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLA

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLA

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLA

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLA

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLA

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLA

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLA

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLA

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLA

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLA

	// Hints the browser to download the linked resource, optionally providing a default filename.
	Download(format string, v ...any) HTMLA

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLA

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLA

	// Points to the URL of the destination when the link is clicked.
	Href(format string, v ...any) HTMLA

	// Declares the language of the linked document's content.
	HrefLang(format string, v ...any) HTMLA

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLA

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLA

	// Indicates the intended media or device for the linked document.
	Media(format string, v ...any) HTMLA

	// Lists URLs to be notified when the user activates the hyperlink.
	Ping(format string, v ...any) HTMLA

	// Describes the relationship between the current and linked documents.
	Rel(format string, v ...any) HTMLA

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLA

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLA

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLA

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLA

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLA

	// Indicates where to display the linked URL or where to submit the form. Can be called with various predefined values.
	Target(format string, v ...any) HTMLA

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLA

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLA

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLA

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLA

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLA

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLA

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLA

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLA

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLA

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLA

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLA

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLA

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLA

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLA

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLA

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLA

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLA

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLA

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLA

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLA

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLA

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLA

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLA

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLA

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLA

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLA

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLA

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLA

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLA

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLA

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLA
}

// Returns an HTML element that creates a hyperlink, allowing navigation to other web pages or resources.
func () HTMLA {
	 := &htmlA{
		htmlElement: htmlElement{
			tag:           "a",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlA struct {
	htmlElement
}

func ( *htmlA) ( ...UI) HTMLA {
	return .setBody(FilterUIElems(...)).(*htmlA)
}

func ( *htmlA) ( any) HTMLA {
	return .Body(Text())
}

func ( *htmlA) ( string,  ...any) HTMLA {
	return .Body(Textf(, ...))
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  any) HTMLA {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlA) ( string,  any) HTMLA {
	.setAttr(, )
	return 
}

func ( *htmlA) ( ...string) HTMLA {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlA) ( bool) HTMLA {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlA) ( string,  any) HTMLA {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlA) ( map[string]any) HTMLA {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("download", FormatString(, ...))
	return 
}

func ( *htmlA) ( bool) HTMLA {
	.setAttr("draggable", )
	return 
}

func ( *htmlA) ( bool) HTMLA {
	.setAttr("hidden", )
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("href", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("hreflang", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("media", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("ping", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("rel", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlA) ( bool) HTMLA {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlA) (,  string,  ...any) HTMLA {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlA) ( map[string]string) HTMLA {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlA) ( int) HTMLA {
	.setAttr("tabindex", )
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("target", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  ...any) HTMLA {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlA) ( string,  EventHandler,  ...EventOption) HTMLA {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("blur", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("change", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("click", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("contextmenu", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("copy", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("cut", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dblclick", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("drag", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dragend", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dragenter", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dragleave", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dragover", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("dragstart", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("drop", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("focus", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("input", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("invalid", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("keydown", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("keypress", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("keyup", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mousedown", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mouseenter", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mouseleave", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mousemove", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mouseout", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mouseover", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("mouseup", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("paste", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("reset", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("scroll", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("search", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("select", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("submit", , ...)
}

func ( *htmlA) ( EventHandler,  ...EventOption) HTMLA {
	return .On("wheel", , ...)
}

func ( *htmlA) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlA) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlA) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlA) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlA) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlA) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "abbr" HTML element.
type HTMLAbbr interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLAbbr

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLAbbr

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLAbbr

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLAbbr

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLAbbr

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLAbbr

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLAbbr

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLAbbr

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLAbbr

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLAbbr

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLAbbr

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLAbbr

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLAbbr

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLAbbr

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLAbbr

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLAbbr

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLAbbr

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLAbbr

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLAbbr

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLAbbr

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLAbbr

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLAbbr

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLAbbr

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLAbbr

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLAbbr
}

// Returns an HTML element that represents an abbreviation or an acronym, providing a longer description or meaning of the content.
func () HTMLAbbr {
	 := &htmlAbbr{
		htmlElement: htmlElement{
			tag:           "abbr",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlAbbr struct {
	htmlElement
}

func ( *htmlAbbr) ( ...UI) HTMLAbbr {
	return .setBody(FilterUIElems(...)).(*htmlAbbr)
}

func ( *htmlAbbr) ( any) HTMLAbbr {
	return .Body(Text())
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	return .Body(Textf(, ...))
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( string,  any) HTMLAbbr {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlAbbr) ( string,  any) HTMLAbbr {
	.setAttr(, )
	return 
}

func ( *htmlAbbr) ( ...string) HTMLAbbr {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlAbbr) ( bool) HTMLAbbr {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlAbbr) ( string,  any) HTMLAbbr {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlAbbr) ( map[string]any) HTMLAbbr {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( bool) HTMLAbbr {
	.setAttr("draggable", )
	return 
}

func ( *htmlAbbr) ( bool) HTMLAbbr {
	.setAttr("hidden", )
	return 
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( bool) HTMLAbbr {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlAbbr) (,  string,  ...any) HTMLAbbr {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( map[string]string) HTMLAbbr {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlAbbr) ( int) HTMLAbbr {
	.setAttr("tabindex", )
	return 
}

func ( *htmlAbbr) ( string,  ...any) HTMLAbbr {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlAbbr) ( string,  EventHandler,  ...EventOption) HTMLAbbr {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("blur", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("change", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("click", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("contextmenu", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("copy", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("cut", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dblclick", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("drag", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dragend", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dragenter", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dragleave", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dragover", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("dragstart", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("drop", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("focus", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("input", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("invalid", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("keydown", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("keypress", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("keyup", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mousedown", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mouseenter", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mouseleave", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mousemove", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mouseout", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mouseover", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("mouseup", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("paste", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("reset", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("scroll", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("search", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("select", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("submit", , ...)
}

func ( *htmlAbbr) ( EventHandler,  ...EventOption) HTMLAbbr {
	return .On("wheel", , ...)
}

func ( *htmlAbbr) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlAbbr) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlAbbr) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlAbbr) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlAbbr) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlAbbr) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "address" HTML element.
type HTMLAddress interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLAddress

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLAddress

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLAddress

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLAddress

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLAddress

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLAddress

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLAddress

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLAddress

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLAddress

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLAddress

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLAddress

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLAddress

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLAddress

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLAddress

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLAddress

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLAddress

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLAddress

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLAddress

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLAddress

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLAddress

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLAddress

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLAddress

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLAddress

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLAddress

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLAddress

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLAddress
}

// Returns an HTML element that designates contact information for the author or owner of a document or web page.
func () HTMLAddress {
	 := &htmlAddress{
		htmlElement: htmlElement{
			tag:           "address",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlAddress struct {
	htmlElement
}

func ( *htmlAddress) ( ...UI) HTMLAddress {
	return .setBody(FilterUIElems(...)).(*htmlAddress)
}

func ( *htmlAddress) ( any) HTMLAddress {
	return .Body(Text())
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	return .Body(Textf(, ...))
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( string,  any) HTMLAddress {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlAddress) ( string,  any) HTMLAddress {
	.setAttr(, )
	return 
}

func ( *htmlAddress) ( ...string) HTMLAddress {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlAddress) ( bool) HTMLAddress {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlAddress) ( string,  any) HTMLAddress {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlAddress) ( map[string]any) HTMLAddress {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( bool) HTMLAddress {
	.setAttr("draggable", )
	return 
}

func ( *htmlAddress) ( bool) HTMLAddress {
	.setAttr("hidden", )
	return 
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( bool) HTMLAddress {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlAddress) (,  string,  ...any) HTMLAddress {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlAddress) ( map[string]string) HTMLAddress {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlAddress) ( int) HTMLAddress {
	.setAttr("tabindex", )
	return 
}

func ( *htmlAddress) ( string,  ...any) HTMLAddress {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlAddress) ( string,  EventHandler,  ...EventOption) HTMLAddress {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("blur", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("change", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("click", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("contextmenu", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("copy", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("cut", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dblclick", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("drag", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dragend", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dragenter", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dragleave", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dragover", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("dragstart", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("drop", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("focus", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("input", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("invalid", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("keydown", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("keypress", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("keyup", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mousedown", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mouseenter", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mouseleave", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mousemove", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mouseout", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mouseover", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("mouseup", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("paste", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("reset", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("scroll", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("search", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("select", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("submit", , ...)
}

func ( *htmlAddress) ( EventHandler,  ...EventOption) HTMLAddress {
	return .On("wheel", , ...)
}

func ( *htmlAddress) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlAddress) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlAddress) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlAddress) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlAddress) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlAddress) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "area" HTML element.
type HTMLArea interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLArea

	// Provides a text alternative for elements (often images) ensuring content is accessible when visuals can't be rendered.
	Alt(format string, v ...any) HTMLArea

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLArea

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLArea

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLArea

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLArea

	// Defines the coordinates for elements in an image map, establishing active regions for hyperlinks.
	Coords(format string, v ...any) HTMLArea

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLArea

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLArea

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLArea

	// Hints the browser to download the linked resource, optionally providing a default filename.
	Download(format string, v ...any) HTMLArea

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLArea

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLArea

	// Points to the URL of the destination when the link is clicked.
	Href(format string, v ...any) HTMLArea

	// Declares the language of the linked document's content.
	HrefLang(format string, v ...any) HTMLArea

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLArea

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLArea

	// Indicates the intended media or device for the linked document.
	Media(format string, v ...any) HTMLArea

	// Describes the relationship between the current and linked documents.
	Rel(format string, v ...any) HTMLArea

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLArea

	// Describes the shape of a clickable area within an image map. Uses the given format and values.
	Shape(format string, v ...any) HTMLArea

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLArea

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLArea

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLArea

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLArea

	// Indicates where to display the linked URL or where to submit the form. Can be called with various predefined values.
	Target(format string, v ...any) HTMLArea

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLArea

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLArea

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLArea

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLArea

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLArea

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLArea

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLArea

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLArea

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLArea

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLArea

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLArea

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLArea

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLArea

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLArea

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLArea

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLArea

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLArea
}

// Returns an HTML element that defines a clickable region within an image map, usually linking to another resource.
func () HTMLArea {
	 := &htmlArea{
		htmlElement: htmlElement{
			tag:           "area",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlArea struct {
	htmlElement
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("alt", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  any) HTMLArea {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlArea) ( string,  any) HTMLArea {
	.setAttr(, )
	return 
}

func ( *htmlArea) ( ...string) HTMLArea {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlArea) ( bool) HTMLArea {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("coords", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  any) HTMLArea {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlArea) ( map[string]any) HTMLArea {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("download", FormatString(, ...))
	return 
}

func ( *htmlArea) ( bool) HTMLArea {
	.setAttr("draggable", )
	return 
}

func ( *htmlArea) ( bool) HTMLArea {
	.setAttr("hidden", )
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("href", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("hreflang", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("media", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("rel", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("shape", FormatString(, ...))
	return 
}

func ( *htmlArea) ( bool) HTMLArea {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlArea) (,  string,  ...any) HTMLArea {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlArea) ( map[string]string) HTMLArea {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlArea) ( int) HTMLArea {
	.setAttr("tabindex", )
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("target", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  ...any) HTMLArea {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlArea) ( string,  EventHandler,  ...EventOption) HTMLArea {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("blur", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("change", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("click", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("contextmenu", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("copy", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("cut", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dblclick", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("drag", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dragend", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dragenter", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dragleave", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dragover", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("dragstart", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("drop", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("focus", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("input", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("invalid", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("keydown", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("keypress", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("keyup", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mousedown", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mouseenter", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mouseleave", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mousemove", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mouseout", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mouseover", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("mouseup", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("paste", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("reset", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("scroll", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("search", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("select", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("submit", , ...)
}

func ( *htmlArea) ( EventHandler,  ...EventOption) HTMLArea {
	return .On("wheel", , ...)
}

func ( *htmlArea) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlArea) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlArea) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlArea) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlArea) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlArea) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "article" HTML element.
type HTMLArticle interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLArticle

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLArticle

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLArticle

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLArticle

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLArticle

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLArticle

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLArticle

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLArticle

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLArticle

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLArticle

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLArticle

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLArticle

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLArticle

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLArticle

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLArticle

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLArticle

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLArticle

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLArticle

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLArticle

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLArticle

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLArticle

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLArticle

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLArticle

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLArticle

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLArticle

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLArticle
}

// Returns an HTML element that marks a self-contained composition in a document, like a blog post or news story.
func () HTMLArticle {
	 := &htmlArticle{
		htmlElement: htmlElement{
			tag:           "article",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlArticle struct {
	htmlElement
}

func ( *htmlArticle) ( ...UI) HTMLArticle {
	return .setBody(FilterUIElems(...)).(*htmlArticle)
}

func ( *htmlArticle) ( any) HTMLArticle {
	return .Body(Text())
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	return .Body(Textf(, ...))
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( string,  any) HTMLArticle {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlArticle) ( string,  any) HTMLArticle {
	.setAttr(, )
	return 
}

func ( *htmlArticle) ( ...string) HTMLArticle {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlArticle) ( bool) HTMLArticle {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlArticle) ( string,  any) HTMLArticle {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlArticle) ( map[string]any) HTMLArticle {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( bool) HTMLArticle {
	.setAttr("draggable", )
	return 
}

func ( *htmlArticle) ( bool) HTMLArticle {
	.setAttr("hidden", )
	return 
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( bool) HTMLArticle {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlArticle) (,  string,  ...any) HTMLArticle {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlArticle) ( map[string]string) HTMLArticle {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlArticle) ( int) HTMLArticle {
	.setAttr("tabindex", )
	return 
}

func ( *htmlArticle) ( string,  ...any) HTMLArticle {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlArticle) ( string,  EventHandler,  ...EventOption) HTMLArticle {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("blur", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("change", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("click", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("contextmenu", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("copy", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("cut", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dblclick", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("drag", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dragend", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dragenter", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dragleave", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dragover", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("dragstart", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("drop", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("focus", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("input", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("invalid", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("keydown", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("keypress", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("keyup", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mousedown", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mouseenter", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mouseleave", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mousemove", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mouseout", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mouseover", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("mouseup", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("paste", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("reset", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("scroll", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("search", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("select", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("submit", , ...)
}

func ( *htmlArticle) ( EventHandler,  ...EventOption) HTMLArticle {
	return .On("wheel", , ...)
}

func ( *htmlArticle) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlArticle) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlArticle) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlArticle) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlArticle) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlArticle) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "aside" HTML element.
type HTMLAside interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLAside

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLAside

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLAside

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLAside

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLAside

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLAside

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLAside

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLAside

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLAside

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLAside

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLAside

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLAside

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLAside

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLAside

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLAside

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLAside

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLAside

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLAside

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLAside

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLAside

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLAside

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLAside

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLAside

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLAside

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLAside

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLAside

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLAside

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLAside

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLAside

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLAside

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLAside

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLAside

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLAside

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLAside

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLAside

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLAside
}

// Returns an HTML element that represents content tangentially related to the main content, and can be considered separate.
func () HTMLAside {
	 := &htmlAside{
		htmlElement: htmlElement{
			tag:           "aside",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlAside struct {
	htmlElement
}

func ( *htmlAside) ( ...UI) HTMLAside {
	return .setBody(FilterUIElems(...)).(*htmlAside)
}

func ( *htmlAside) ( any) HTMLAside {
	return .Body(Text())
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	return .Body(Textf(, ...))
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlAside) ( string,  any) HTMLAside {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlAside) ( string,  any) HTMLAside {
	.setAttr(, )
	return 
}

func ( *htmlAside) ( ...string) HTMLAside {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlAside) ( bool) HTMLAside {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlAside) ( string,  any) HTMLAside {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlAside) ( map[string]any) HTMLAside {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlAside) ( bool) HTMLAside {
	.setAttr("draggable", )
	return 
}

func ( *htmlAside) ( bool) HTMLAside {
	.setAttr("hidden", )
	return 
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlAside) ( bool) HTMLAside {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlAside) (,  string,  ...any) HTMLAside {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlAside) ( map[string]string) HTMLAside {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlAside) ( int) HTMLAside {
	.setAttr("tabindex", )
	return 
}

func ( *htmlAside) ( string,  ...any) HTMLAside {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlAside) ( string,  EventHandler,  ...EventOption) HTMLAside {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("blur", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("change", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("click", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("contextmenu", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("copy", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("cut", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dblclick", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("drag", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dragend", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dragenter", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dragleave", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dragover", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("dragstart", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("drop", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("focus", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("input", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("invalid", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("keydown", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("keypress", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("keyup", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mousedown", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mouseenter", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mouseleave", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mousemove", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mouseout", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mouseover", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("mouseup", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("paste", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("reset", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("scroll", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("search", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("select", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("submit", , ...)
}

func ( *htmlAside) ( EventHandler,  ...EventOption) HTMLAside {
	return .On("wheel", , ...)
}

func ( *htmlAside) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlAside) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlAside) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlAside) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlAside) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlAside) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "audio" HTML element.
type HTMLAudio interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLAudio

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLAudio

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLAudio

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLAudio

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLAudio

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLAudio

	// Automatically plays audio or video elements once they're ready, enhancing media responsiveness.
	AutoPlay(v bool) HTMLAudio

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLAudio

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLAudio

	// Indicates the presence of user interface controls for audio or video elements, such as play or pause buttons.
	Controls(v bool) HTMLAudio

	// Controls how cross-origin requests are managed for the element, supporting secure content integration from different origins.
	CrossOrigin(format string, v ...any) HTMLAudio

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLAudio

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLAudio

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLAudio

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLAudio

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLAudio

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLAudio

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLAudio

	// Indicates that the audio or video should replay from the beginning upon reaching its end.
	Loop(v bool) HTMLAudio

	// Ensures that the video's audio playback is muted.
	Muted(v bool) HTMLAudio

	// Indicates the preferred loading method for audio/video upon page load.
	Preload(format string, v ...any) HTMLAudio

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLAudio

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLAudio

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLAudio

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLAudio

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLAudio

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLAudio

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLAudio

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when media loading is aborted.
	OnAbort(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler when media has buffered sufficiently to begin playback.
	OnCanPlay(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when media can be played through without buffering interruptions.
	OnCanPlayThrough(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler upon cue changes within a track element.
	OnCueChange(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler when the media's duration changes.
	OnDurationChange(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when media unexpectedly becomes unavailable.
	OnEmptied(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when media playback reaches the end.
	OnEnded(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when media loading commences.
	OnLoadStart(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler as media data finishes loading.
	OnLoadedData(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when metadata (like duration and dimensions) are fully loaded.
	OnLoadedMetaData(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler when media playback is paused.
	OnPause(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when media starts its playback.
	OnPlay(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler once the media has initiated playback.
	OnPlaying(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler while the browser fetches media data.
	OnProgress(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when playback rate changes (e.g., slow motion or fast forward).
	OnRateChange(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler post seeking completion.
	OnSeeked(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler during the seeking process.
	OnSeeking(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler when media data fetching stalls.
	OnStalled(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when media data fetching is suspended.
	OnSuspend(h EventHandler, options ...EventOption) HTMLAudio

	// Executes the handler when the media's playback position changes.
	OnTimeUpdate(h EventHandler, options ...EventOption) HTMLAudio

	// Invokes the handler upon volume changes or muting.
	OnVolumeChange(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the handler when media pauses, awaiting further buffering.
	OnWaiting(h EventHandler, options ...EventOption) HTMLAudio

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLAudio
}

// Returns an HTML element that embeds an audio player for playing sound or music content.
func () HTMLAudio {
	 := &htmlAudio{
		htmlElement: htmlElement{
			tag:           "audio",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlAudio struct {
	htmlElement
}

func ( *htmlAudio) ( ...UI) HTMLAudio {
	return .setBody(FilterUIElems(...)).(*htmlAudio)
}

func ( *htmlAudio) ( any) HTMLAudio {
	return .Body(Text())
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	return .Body(Textf(, ...))
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( string,  any) HTMLAudio {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlAudio) ( string,  any) HTMLAudio {
	.setAttr(, )
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("autoplay", )
	return 
}

func ( *htmlAudio) ( ...string) HTMLAudio {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("controls", )
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("crossorigin", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( string,  any) HTMLAudio {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlAudio) ( map[string]any) HTMLAudio {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("draggable", )
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("hidden", )
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("loop", )
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	.setAttr("muted", )
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("preload", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( bool) HTMLAudio {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlAudio) (,  string,  ...any) HTMLAudio {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlAudio) ( map[string]string) HTMLAudio {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlAudio) ( int) HTMLAudio {
	.setAttr("tabindex", )
	return 
}

func ( *htmlAudio) ( string,  ...any) HTMLAudio {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlAudio) ( string,  EventHandler,  ...EventOption) HTMLAudio {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("abort", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("blur", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("canplay", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("canplaythrough", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("change", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("click", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("contextmenu", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("copy", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("cuechange", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("cut", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dblclick", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("drag", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dragend", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dragenter", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dragleave", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dragover", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("dragstart", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("drop", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("durationchange", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("emptied", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("ended", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("error", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("focus", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("input", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("invalid", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("keydown", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("keypress", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("keyup", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("loadstart", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("loadeddata", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("loadedmetadata", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mousedown", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mouseenter", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mouseleave", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mousemove", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mouseout", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mouseover", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("mouseup", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("paste", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("pause", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("play", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("playing", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("progress", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("ratechange", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("reset", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("scroll", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("search", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("seeked", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("seeking", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("select", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("stalled", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("submit", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("suspend", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("timeupdate", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("volumechange", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("waiting", , ...)
}

func ( *htmlAudio) ( EventHandler,  ...EventOption) HTMLAudio {
	return .On("wheel", , ...)
}

func ( *htmlAudio) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlAudio) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlAudio) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlAudio) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlAudio) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlAudio) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "b" HTML element.
type HTMLB interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLB

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLB

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLB

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLB

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLB

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLB

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLB

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLB

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLB

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLB

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLB

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLB

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLB

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLB

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLB

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLB

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLB

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLB

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLB

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLB

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLB

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLB

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLB

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLB

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLB

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLB

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLB

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLB

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLB

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLB

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLB

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLB

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLB

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLB

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLB

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLB

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLB

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLB

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLB

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLB

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLB

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLB

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLB

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLB

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLB

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLB

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLB

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLB

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLB

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLB
}

// Returns an HTML element that applies bold styling to its content.
func () HTMLB {
	 := &htmlB{
		htmlElement: htmlElement{
			tag:           "b",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlB struct {
	htmlElement
}

func ( *htmlB) ( ...UI) HTMLB {
	return .setBody(FilterUIElems(...)).(*htmlB)
}

func ( *htmlB) ( any) HTMLB {
	return .Body(Text())
}

func ( *htmlB) ( string,  ...any) HTMLB {
	return .Body(Textf(, ...))
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlB) ( string,  any) HTMLB {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlB) ( string,  any) HTMLB {
	.setAttr(, )
	return 
}

func ( *htmlB) ( ...string) HTMLB {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlB) ( bool) HTMLB {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlB) ( string,  any) HTMLB {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlB) ( map[string]any) HTMLB {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlB) ( bool) HTMLB {
	.setAttr("draggable", )
	return 
}

func ( *htmlB) ( bool) HTMLB {
	.setAttr("hidden", )
	return 
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlB) ( bool) HTMLB {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlB) (,  string,  ...any) HTMLB {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlB) ( map[string]string) HTMLB {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlB) ( int) HTMLB {
	.setAttr("tabindex", )
	return 
}

func ( *htmlB) ( string,  ...any) HTMLB {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlB) ( string,  EventHandler,  ...EventOption) HTMLB {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("blur", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("change", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("click", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("contextmenu", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("copy", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("cut", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dblclick", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("drag", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dragend", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dragenter", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dragleave", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dragover", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("dragstart", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("drop", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("focus", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("input", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("invalid", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("keydown", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("keypress", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("keyup", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mousedown", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mouseenter", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mouseleave", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mousemove", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mouseout", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mouseover", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("mouseup", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("paste", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("reset", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("scroll", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("search", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("select", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("submit", , ...)
}

func ( *htmlB) ( EventHandler,  ...EventOption) HTMLB {
	return .On("wheel", , ...)
}

func ( *htmlB) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlB) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlB) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlB) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlB) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlB) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "base" HTML element.
type HTMLBase interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBase

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBase

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBase

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBase

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBase

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBase

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBase

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBase

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBase

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBase

	// Points to the URL of the destination when the link is clicked.
	Href(format string, v ...any) HTMLBase

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBase

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBase

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBase

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBase

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBase

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBase

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBase

	// Indicates where to display the linked URL or where to submit the form. Can be called with various predefined values.
	Target(format string, v ...any) HTMLBase

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBase

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBase

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBase

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBase

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBase

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBase

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBase

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBase

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBase

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBase

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBase

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBase

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBase

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBase

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBase

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBase
}

// Returns an HTML element that specifies the base URL and target for all relative URLs in the document.
func () HTMLBase {
	 := &htmlBase{
		htmlElement: htmlElement{
			tag:           "base",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlBase struct {
	htmlElement
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  any) HTMLBase {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBase) ( string,  any) HTMLBase {
	.setAttr(, )
	return 
}

func ( *htmlBase) ( ...string) HTMLBase {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBase) ( bool) HTMLBase {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBase) ( string,  any) HTMLBase {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBase) ( map[string]any) HTMLBase {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBase) ( bool) HTMLBase {
	.setAttr("draggable", )
	return 
}

func ( *htmlBase) ( bool) HTMLBase {
	.setAttr("hidden", )
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("href", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBase) ( bool) HTMLBase {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBase) (,  string,  ...any) HTMLBase {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBase) ( map[string]string) HTMLBase {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBase) ( int) HTMLBase {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("target", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  ...any) HTMLBase {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBase) ( string,  EventHandler,  ...EventOption) HTMLBase {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("blur", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("change", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("click", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("contextmenu", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("copy", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("cut", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dblclick", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("drag", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dragend", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dragenter", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dragleave", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dragover", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("dragstart", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("drop", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("focus", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("input", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("invalid", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("keydown", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("keypress", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("keyup", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mousedown", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mouseenter", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mouseleave", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mousemove", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mouseout", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mouseover", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("mouseup", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("paste", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("reset", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("scroll", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("search", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("select", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("submit", , ...)
}

func ( *htmlBase) ( EventHandler,  ...EventOption) HTMLBase {
	return .On("wheel", , ...)
}

func ( *htmlBase) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBase) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBase) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBase) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBase) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBase) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "bdi" HTML element.
type HTMLBdi interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLBdi

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLBdi

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLBdi

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBdi

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBdi

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBdi

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBdi

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBdi

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBdi

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBdi

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBdi

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBdi

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBdi

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBdi

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBdi

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBdi

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBdi

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBdi

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBdi

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBdi

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBdi

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBdi

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBdi

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBdi

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBdi

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBdi
}

// Returns an HTML element that isolates a section of text, allowing it to be formatted in a different direction than the surrounding content.
func () HTMLBdi {
	 := &htmlBdi{
		htmlElement: htmlElement{
			tag:           "bdi",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlBdi struct {
	htmlElement
}

func ( *htmlBdi) ( ...UI) HTMLBdi {
	return .setBody(FilterUIElems(...)).(*htmlBdi)
}

func ( *htmlBdi) ( any) HTMLBdi {
	return .Body(Text())
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	return .Body(Textf(, ...))
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( string,  any) HTMLBdi {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBdi) ( string,  any) HTMLBdi {
	.setAttr(, )
	return 
}

func ( *htmlBdi) ( ...string) HTMLBdi {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBdi) ( bool) HTMLBdi {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBdi) ( string,  any) HTMLBdi {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBdi) ( map[string]any) HTMLBdi {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( bool) HTMLBdi {
	.setAttr("draggable", )
	return 
}

func ( *htmlBdi) ( bool) HTMLBdi {
	.setAttr("hidden", )
	return 
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( bool) HTMLBdi {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBdi) (,  string,  ...any) HTMLBdi {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBdi) ( map[string]string) HTMLBdi {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBdi) ( int) HTMLBdi {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBdi) ( string,  ...any) HTMLBdi {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBdi) ( string,  EventHandler,  ...EventOption) HTMLBdi {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("blur", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("change", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("click", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("contextmenu", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("copy", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("cut", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dblclick", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("drag", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dragend", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dragenter", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dragleave", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dragover", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("dragstart", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("drop", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("focus", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("input", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("invalid", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("keydown", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("keypress", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("keyup", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mousedown", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mouseenter", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mouseleave", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mousemove", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mouseout", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mouseover", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("mouseup", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("paste", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("reset", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("scroll", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("search", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("select", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("submit", , ...)
}

func ( *htmlBdi) ( EventHandler,  ...EventOption) HTMLBdi {
	return .On("wheel", , ...)
}

func ( *htmlBdi) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBdi) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBdi) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBdi) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBdi) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBdi) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "bdo" HTML element.
type HTMLBdo interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLBdo

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLBdo

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLBdo

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBdo

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBdo

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBdo

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBdo

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBdo

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBdo

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBdo

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBdo

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBdo

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBdo

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBdo

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBdo

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBdo

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBdo

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBdo

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBdo

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBdo

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBdo

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBdo

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBdo

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBdo

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBdo

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBdo
}

// Returns an HTML element that controls the text direction of its content, overriding other directional settings.
func () HTMLBdo {
	 := &htmlBdo{
		htmlElement: htmlElement{
			tag:           "bdo",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlBdo struct {
	htmlElement
}

func ( *htmlBdo) ( ...UI) HTMLBdo {
	return .setBody(FilterUIElems(...)).(*htmlBdo)
}

func ( *htmlBdo) ( any) HTMLBdo {
	return .Body(Text())
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	return .Body(Textf(, ...))
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( string,  any) HTMLBdo {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBdo) ( string,  any) HTMLBdo {
	.setAttr(, )
	return 
}

func ( *htmlBdo) ( ...string) HTMLBdo {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBdo) ( bool) HTMLBdo {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBdo) ( string,  any) HTMLBdo {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBdo) ( map[string]any) HTMLBdo {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( bool) HTMLBdo {
	.setAttr("draggable", )
	return 
}

func ( *htmlBdo) ( bool) HTMLBdo {
	.setAttr("hidden", )
	return 
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( bool) HTMLBdo {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBdo) (,  string,  ...any) HTMLBdo {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBdo) ( map[string]string) HTMLBdo {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBdo) ( int) HTMLBdo {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBdo) ( string,  ...any) HTMLBdo {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBdo) ( string,  EventHandler,  ...EventOption) HTMLBdo {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("blur", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("change", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("click", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("contextmenu", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("copy", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("cut", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dblclick", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("drag", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dragend", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dragenter", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dragleave", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dragover", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("dragstart", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("drop", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("focus", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("input", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("invalid", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("keydown", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("keypress", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("keyup", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mousedown", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mouseenter", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mouseleave", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mousemove", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mouseout", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mouseover", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("mouseup", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("paste", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("reset", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("scroll", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("search", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("select", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("submit", , ...)
}

func ( *htmlBdo) ( EventHandler,  ...EventOption) HTMLBdo {
	return .On("wheel", , ...)
}

func ( *htmlBdo) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBdo) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBdo) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBdo) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBdo) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBdo) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "blockquote" HTML element.
type HTMLBlockquote interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLBlockquote

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLBlockquote

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLBlockquote

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBlockquote

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBlockquote

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBlockquote

	// Provides a reference or link to a source explaining quoted or modified content in the element.
	Cite(format string, v ...any) HTMLBlockquote

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBlockquote

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBlockquote

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBlockquote

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBlockquote

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBlockquote

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBlockquote

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBlockquote

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBlockquote

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBlockquote

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBlockquote

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBlockquote

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBlockquote

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBlockquote

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBlockquote

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBlockquote

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBlockquote

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBlockquote

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBlockquote

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBlockquote
}

// Returns an HTML element that represents a section of text quoted from another source.
func () HTMLBlockquote {
	 := &htmlBlockquote{
		htmlElement: htmlElement{
			tag:           "blockquote",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlBlockquote struct {
	htmlElement
}

func ( *htmlBlockquote) ( ...UI) HTMLBlockquote {
	return .setBody(FilterUIElems(...)).(*htmlBlockquote)
}

func ( *htmlBlockquote) ( any) HTMLBlockquote {
	return .Body(Text())
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	return .Body(Textf(, ...))
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( string,  any) HTMLBlockquote {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBlockquote) ( string,  any) HTMLBlockquote {
	.setAttr(, )
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("cite", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( ...string) HTMLBlockquote {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBlockquote) ( bool) HTMLBlockquote {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBlockquote) ( string,  any) HTMLBlockquote {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBlockquote) ( map[string]any) HTMLBlockquote {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( bool) HTMLBlockquote {
	.setAttr("draggable", )
	return 
}

func ( *htmlBlockquote) ( bool) HTMLBlockquote {
	.setAttr("hidden", )
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( bool) HTMLBlockquote {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBlockquote) (,  string,  ...any) HTMLBlockquote {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( map[string]string) HTMLBlockquote {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBlockquote) ( int) HTMLBlockquote {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBlockquote) ( string,  ...any) HTMLBlockquote {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBlockquote) ( string,  EventHandler,  ...EventOption) HTMLBlockquote {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("blur", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("change", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("click", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("contextmenu", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("copy", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("cut", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dblclick", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("drag", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dragend", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dragenter", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dragleave", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dragover", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("dragstart", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("drop", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("focus", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("input", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("invalid", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("keydown", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("keypress", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("keyup", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mousedown", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mouseenter", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mouseleave", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mousemove", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mouseout", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mouseover", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("mouseup", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("paste", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("reset", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("scroll", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("search", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("select", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("submit", , ...)
}

func ( *htmlBlockquote) ( EventHandler,  ...EventOption) HTMLBlockquote {
	return .On("wheel", , ...)
}

func ( *htmlBlockquote) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBlockquote) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBlockquote) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBlockquote) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBlockquote) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBlockquote) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "body" HTML element.
type HTMLBody interface {
	HTML

	privateBody(elems ...UI) HTMLBody

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBody

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBody

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBody

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBody

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBody

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBody

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBody

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBody

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBody

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBody

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBody

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBody

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBody

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBody

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBody

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBody

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBody

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBody

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBody

	// Executes the given handler after the document has been printed.
	OnAfterPrint(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the specified handler before the document gets printed.
	OnBeforePrint(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when the document is about to be unloaded.
	OnBeforeUnload(h EventHandler, options ...EventOption) HTMLBody

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBody

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBody

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBody

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBody

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLBody

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when changes occur to the anchor part of the URL.
	OnHashChange(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBody

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBody

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the provided handler when a message event occurs.
	OnMessage(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBody

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBody

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the given handler when the browser transitions to offline mode.
	OnOffline(h EventHandler, options ...EventOption) HTMLBody

	// Executes the specified handler when the browser transitions to online mode.
	OnOnline(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the given handler when a user navigates away from the current page.
	OnPageHide(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the specified handler when a user navigates to the page.
	OnPageShow(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBody

	// Executes the provided handler when changes are made to the window's history.
	OnPopState(h EventHandler, options ...EventOption) HTMLBody

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the given handler upon resizing the browser window.
	OnResize(h EventHandler, options ...EventOption) HTMLBody

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBody

	// Invokes the specified handler when a Web Storage area undergoes updates.
	OnStorage(h EventHandler, options ...EventOption) HTMLBody

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBody

	// Executes the provided handler once the page has been unloaded or the browser window closes.
	OnUnload(h EventHandler, options ...EventOption) HTMLBody

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBody
}

// Returns an HTML element that encloses the main content of the HTML document.
func () HTMLBody {
	 := &htmlBody{
		htmlElement: htmlElement{
			tag:           "body",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlBody struct {
	htmlElement
}

func ( *htmlBody) ( ...UI) HTMLBody {
	return .setBody(FilterUIElems(...)).(*htmlBody)
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBody) ( string,  any) HTMLBody {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBody) ( string,  any) HTMLBody {
	.setAttr(, )
	return 
}

func ( *htmlBody) ( ...string) HTMLBody {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBody) ( bool) HTMLBody {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBody) ( string,  any) HTMLBody {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBody) ( map[string]any) HTMLBody {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBody) ( bool) HTMLBody {
	.setAttr("draggable", )
	return 
}

func ( *htmlBody) ( bool) HTMLBody {
	.setAttr("hidden", )
	return 
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBody) ( bool) HTMLBody {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBody) (,  string,  ...any) HTMLBody {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBody) ( map[string]string) HTMLBody {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBody) ( int) HTMLBody {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBody) ( string,  ...any) HTMLBody {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBody) ( string,  EventHandler,  ...EventOption) HTMLBody {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("afterprint", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("beforeprint", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("beforeunload", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("blur", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("change", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("click", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("contextmenu", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("copy", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("cut", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dblclick", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("drag", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dragend", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dragenter", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dragleave", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dragover", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("dragstart", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("drop", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("error", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("focus", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("hashchange", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("input", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("invalid", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("keydown", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("keypress", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("keyup", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("load", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("message", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mousedown", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mouseenter", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mouseleave", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mousemove", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mouseout", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mouseover", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("mouseup", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("offline", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("online", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("pagehide", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("pageshow", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("paste", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("popstate", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("reset", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("resize", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("scroll", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("search", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("select", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("storage", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("submit", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("unload", , ...)
}

func ( *htmlBody) ( EventHandler,  ...EventOption) HTMLBody {
	return .On("wheel", , ...)
}

func ( *htmlBody) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBody) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBody) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBody) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBody) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBody) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "br" HTML element.
type HTMLBr interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLBr

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLBr

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLBr

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLBr

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLBr

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLBr

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLBr

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLBr

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLBr

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLBr

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLBr

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLBr

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLBr

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLBr

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLBr

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLBr

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLBr

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLBr

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLBr

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLBr

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLBr

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLBr

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLBr

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLBr

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLBr

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLBr

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLBr

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLBr

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLBr

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLBr

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLBr

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLBr

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLBr
}

// Returns an HTML element that inserts a line break within inline content.
func () HTMLBr {
	 := &htmlBr{
		htmlElement: htmlElement{
			tag:           "br",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlBr struct {
	htmlElement
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlBr) ( string,  any) HTMLBr {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlBr) ( string,  any) HTMLBr {
	.setAttr(, )
	return 
}

func ( *htmlBr) ( ...string) HTMLBr {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlBr) ( bool) HTMLBr {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlBr) ( string,  any) HTMLBr {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlBr) ( map[string]any) HTMLBr {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlBr) ( bool) HTMLBr {
	.setAttr("draggable", )
	return 
}

func ( *htmlBr) ( bool) HTMLBr {
	.setAttr("hidden", )
	return 
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlBr) ( bool) HTMLBr {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlBr) (,  string,  ...any) HTMLBr {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlBr) ( map[string]string) HTMLBr {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlBr) ( int) HTMLBr {
	.setAttr("tabindex", )
	return 
}

func ( *htmlBr) ( string,  ...any) HTMLBr {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlBr) ( string,  EventHandler,  ...EventOption) HTMLBr {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("blur", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("change", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("click", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("contextmenu", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("copy", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("cut", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dblclick", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("drag", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dragend", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dragenter", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dragleave", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dragover", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("dragstart", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("drop", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("focus", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("input", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("invalid", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("keydown", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("keypress", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("keyup", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mousedown", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mouseenter", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mouseleave", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mousemove", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mouseout", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mouseover", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("mouseup", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("paste", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("reset", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("scroll", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("search", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("select", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("submit", , ...)
}

func ( *htmlBr) ( EventHandler,  ...EventOption) HTMLBr {
	return .On("wheel", , ...)
}

func ( *htmlBr) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlBr) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlBr) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlBr) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlBr) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlBr) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "button" HTML element.
type HTMLButton interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLButton

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLButton

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLButton

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLButton

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLButton

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLButton

	// Instructs the browser to focus this element automatically when the page loads.
	AutoFocus(v bool) HTMLButton

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLButton

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLButton

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLButton

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLButton

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLButton

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLButton

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLButton

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLButton

	// Defines the URL to which form data should be sent upon submission. Applicable only to 'submit' type inputs.
	FormAction(format string, v ...any) HTMLButton

	// Dictates the encoding method for form data prior to its submission to a server. Applicable only to 'submit' type inputs.
	FormEncType(format string, v ...any) HTMLButton

	// Determines the HTTP method for sending form data. Applicable only to 'submit' type inputs.
	FormMethod(format string, v ...any) HTMLButton

	// Indicates that the form data should bypass validation upon submission. Applicable only to 'submit' type inputs.
	FormNoValidate(v bool) HTMLButton

	// Specifies where the server's response will be displayed after form submission. Applicable only to 'submit' type inputs.
	FormTarget(format string, v ...any) HTMLButton

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLButton

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLButton

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLButton

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLButton

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLButton

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLButton

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLButton

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLButton

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLButton

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLButton

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLButton

	// Assigns a value to the element.
	Value(v any) HTMLButton

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLButton

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLButton

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLButton

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLButton

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLButton

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLButton

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLButton

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLButton

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLButton

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLButton

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLButton

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLButton

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLButton

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLButton

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLButton
}

// Returns an HTML element that creates a clickable button, typically used for form submission or triggering interactions.
func () HTMLButton {
	 := &htmlButton{
		htmlElement: htmlElement{
			tag:           "button",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlButton struct {
	htmlElement
}

func ( *htmlButton) ( ...UI) HTMLButton {
	return .setBody(FilterUIElems(...)).(*htmlButton)
}

func ( *htmlButton) ( any) HTMLButton {
	return .Body(Text())
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	return .Body(Textf(, ...))
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  any) HTMLButton {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlButton) ( string,  any) HTMLButton {
	.setAttr(, )
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("autofocus", )
	return 
}

func ( *htmlButton) ( ...string) HTMLButton {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlButton) ( string,  any) HTMLButton {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlButton) ( map[string]any) HTMLButton {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("disabled", )
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("draggable", )
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("formaction", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("formenctype", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("formmethod", FormatString(, ...))
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("formnovalidate", )
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("formtarget", FormatString(, ...))
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	.setAttr("hidden", )
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlButton) ( bool) HTMLButton {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlButton) (,  string,  ...any) HTMLButton {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlButton) ( map[string]string) HTMLButton {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlButton) ( int) HTMLButton {
	.setAttr("tabindex", )
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlButton) ( string,  ...any) HTMLButton {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlButton) ( any) HTMLButton {
	.setAttr("value", )
	return 
}

func ( *htmlButton) ( string,  EventHandler,  ...EventOption) HTMLButton {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("blur", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("change", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("click", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("contextmenu", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("copy", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("cut", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dblclick", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("drag", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dragend", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dragenter", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dragleave", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dragover", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("dragstart", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("drop", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("focus", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("input", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("invalid", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("keydown", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("keypress", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("keyup", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mousedown", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mouseenter", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mouseleave", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mousemove", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mouseout", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mouseover", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("mouseup", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("paste", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("reset", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("scroll", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("search", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("select", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("submit", , ...)
}

func ( *htmlButton) ( EventHandler,  ...EventOption) HTMLButton {
	return .On("wheel", , ...)
}

func ( *htmlButton) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlButton) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlButton) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlButton) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlButton) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlButton) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "canvas" HTML element.
type HTMLCanvas interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLCanvas

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLCanvas

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLCanvas

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLCanvas

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLCanvas

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLCanvas

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLCanvas

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLCanvas

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLCanvas

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLCanvas

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLCanvas

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLCanvas

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLCanvas

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLCanvas

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLCanvas

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLCanvas

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLCanvas

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLCanvas

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLCanvas

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLCanvas

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLCanvas

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLCanvas

	// Sets the width of the element.
	Width(v int) HTMLCanvas

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLCanvas

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLCanvas

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLCanvas

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLCanvas
}

// Returns an HTML element that provides a space where graphics can be rendered dynamically, such as 2D drawings or 3D visualizations.
func () HTMLCanvas {
	 := &htmlCanvas{
		htmlElement: htmlElement{
			tag:           "canvas",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlCanvas struct {
	htmlElement
}

func ( *htmlCanvas) ( ...UI) HTMLCanvas {
	return .setBody(FilterUIElems(...)).(*htmlCanvas)
}

func ( *htmlCanvas) ( any) HTMLCanvas {
	return .Body(Text())
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	return .Body(Textf(, ...))
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( string,  any) HTMLCanvas {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlCanvas) ( string,  any) HTMLCanvas {
	.setAttr(, )
	return 
}

func ( *htmlCanvas) ( ...string) HTMLCanvas {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlCanvas) ( bool) HTMLCanvas {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlCanvas) ( string,  any) HTMLCanvas {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlCanvas) ( map[string]any) HTMLCanvas {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( bool) HTMLCanvas {
	.setAttr("draggable", )
	return 
}

func ( *htmlCanvas) ( int) HTMLCanvas {
	.setAttr("height", )
	return 
}

func ( *htmlCanvas) ( bool) HTMLCanvas {
	.setAttr("hidden", )
	return 
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( bool) HTMLCanvas {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlCanvas) (,  string,  ...any) HTMLCanvas {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( map[string]string) HTMLCanvas {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlCanvas) ( int) HTMLCanvas {
	.setAttr("tabindex", )
	return 
}

func ( *htmlCanvas) ( string,  ...any) HTMLCanvas {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlCanvas) ( int) HTMLCanvas {
	.setAttr("width", )
	return 
}

func ( *htmlCanvas) ( string,  EventHandler,  ...EventOption) HTMLCanvas {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("blur", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("change", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("click", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("contextmenu", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("copy", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("cut", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dblclick", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("drag", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dragend", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dragenter", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dragleave", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dragover", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("dragstart", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("drop", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("focus", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("input", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("invalid", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("keydown", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("keypress", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("keyup", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mousedown", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mouseenter", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mouseleave", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mousemove", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mouseout", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mouseover", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("mouseup", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("paste", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("reset", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("scroll", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("search", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("select", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("submit", , ...)
}

func ( *htmlCanvas) ( EventHandler,  ...EventOption) HTMLCanvas {
	return .On("wheel", , ...)
}

func ( *htmlCanvas) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlCanvas) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlCanvas) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlCanvas) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlCanvas) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlCanvas) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "caption" HTML element.
type HTMLCaption interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLCaption

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLCaption

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLCaption

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLCaption

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLCaption

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLCaption

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLCaption

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLCaption

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLCaption

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLCaption

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLCaption

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLCaption

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLCaption

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLCaption

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLCaption

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLCaption

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLCaption

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLCaption

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLCaption

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLCaption

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLCaption

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLCaption

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLCaption

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLCaption

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLCaption

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLCaption
}

// Returns an HTML element that represents the title or description of a table, usually appearing above or below the table.
func () HTMLCaption {
	 := &htmlCaption{
		htmlElement: htmlElement{
			tag:           "caption",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlCaption struct {
	htmlElement
}

func ( *htmlCaption) ( ...UI) HTMLCaption {
	return .setBody(FilterUIElems(...)).(*htmlCaption)
}

func ( *htmlCaption) ( any) HTMLCaption {
	return .Body(Text())
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	return .Body(Textf(, ...))
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( string,  any) HTMLCaption {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlCaption) ( string,  any) HTMLCaption {
	.setAttr(, )
	return 
}

func ( *htmlCaption) ( ...string) HTMLCaption {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlCaption) ( bool) HTMLCaption {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlCaption) ( string,  any) HTMLCaption {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlCaption) ( map[string]any) HTMLCaption {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( bool) HTMLCaption {
	.setAttr("draggable", )
	return 
}

func ( *htmlCaption) ( bool) HTMLCaption {
	.setAttr("hidden", )
	return 
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( bool) HTMLCaption {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlCaption) (,  string,  ...any) HTMLCaption {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlCaption) ( map[string]string) HTMLCaption {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlCaption) ( int) HTMLCaption {
	.setAttr("tabindex", )
	return 
}

func ( *htmlCaption) ( string,  ...any) HTMLCaption {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlCaption) ( string,  EventHandler,  ...EventOption) HTMLCaption {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("blur", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("change", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("click", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("contextmenu", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("copy", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("cut", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dblclick", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("drag", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dragend", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dragenter", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dragleave", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dragover", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("dragstart", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("drop", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("focus", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("input", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("invalid", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("keydown", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("keypress", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("keyup", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mousedown", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mouseenter", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mouseleave", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mousemove", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mouseout", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mouseover", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("mouseup", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("paste", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("reset", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("scroll", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("search", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("select", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("submit", , ...)
}

func ( *htmlCaption) ( EventHandler,  ...EventOption) HTMLCaption {
	return .On("wheel", , ...)
}

func ( *htmlCaption) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlCaption) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlCaption) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlCaption) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlCaption) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlCaption) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "cite" HTML element.
type HTMLCite interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLCite

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLCite

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLCite

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLCite

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLCite

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLCite

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLCite

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLCite

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLCite

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLCite

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLCite

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLCite

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLCite

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLCite

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLCite

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLCite

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLCite

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLCite

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLCite

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLCite

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLCite

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLCite

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLCite

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLCite

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLCite

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLCite

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLCite

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLCite

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLCite

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLCite

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLCite

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLCite

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLCite

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLCite

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLCite

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLCite
}

// Returns an HTML element that indicates the title or reference of a creative work, such as a book, film, or research paper.
func () HTMLCite {
	 := &htmlCite{
		htmlElement: htmlElement{
			tag:           "cite",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlCite struct {
	htmlElement
}

func ( *htmlCite) ( ...UI) HTMLCite {
	return .setBody(FilterUIElems(...)).(*htmlCite)
}

func ( *htmlCite) ( any) HTMLCite {
	return .Body(Text())
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	return .Body(Textf(, ...))
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlCite) ( string,  any) HTMLCite {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlCite) ( string,  any) HTMLCite {
	.setAttr(, )
	return 
}

func ( *htmlCite) ( ...string) HTMLCite {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlCite) ( bool) HTMLCite {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlCite) ( string,  any) HTMLCite {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlCite) ( map[string]any) HTMLCite {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlCite) ( bool) HTMLCite {
	.setAttr("draggable", )
	return 
}

func ( *htmlCite) ( bool) HTMLCite {
	.setAttr("hidden", )
	return 
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlCite) ( bool) HTMLCite {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlCite) (,  string,  ...any) HTMLCite {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlCite) ( map[string]string) HTMLCite {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlCite) ( int) HTMLCite {
	.setAttr("tabindex", )
	return 
}

func ( *htmlCite) ( string,  ...any) HTMLCite {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlCite) ( string,  EventHandler,  ...EventOption) HTMLCite {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("blur", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("change", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("click", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("contextmenu", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("copy", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("cut", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dblclick", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("drag", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dragend", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dragenter", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dragleave", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dragover", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("dragstart", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("drop", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("focus", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("input", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("invalid", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("keydown", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("keypress", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("keyup", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mousedown", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mouseenter", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mouseleave", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mousemove", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mouseout", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mouseover", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("mouseup", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("paste", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("reset", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("scroll", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("search", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("select", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("submit", , ...)
}

func ( *htmlCite) ( EventHandler,  ...EventOption) HTMLCite {
	return .On("wheel", , ...)
}

func ( *htmlCite) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlCite) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlCite) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlCite) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlCite) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlCite) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "code" HTML element.
type HTMLCode interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLCode

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLCode

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLCode

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLCode

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLCode

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLCode

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLCode

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLCode

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLCode

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLCode

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLCode

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLCode

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLCode

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLCode

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLCode

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLCode

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLCode

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLCode

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLCode

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLCode

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLCode

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLCode

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLCode

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLCode

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLCode

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLCode

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLCode

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLCode

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLCode

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLCode

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLCode

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLCode

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLCode

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLCode

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLCode

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLCode
}

// Returns an HTML element that displays a single line of code or a code snippet, preserving its formatting.
func () HTMLCode {
	 := &htmlCode{
		htmlElement: htmlElement{
			tag:           "code",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlCode struct {
	htmlElement
}

func ( *htmlCode) ( ...UI) HTMLCode {
	return .setBody(FilterUIElems(...)).(*htmlCode)
}

func ( *htmlCode) ( any) HTMLCode {
	return .Body(Text())
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	return .Body(Textf(, ...))
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlCode) ( string,  any) HTMLCode {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlCode) ( string,  any) HTMLCode {
	.setAttr(, )
	return 
}

func ( *htmlCode) ( ...string) HTMLCode {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlCode) ( bool) HTMLCode {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlCode) ( string,  any) HTMLCode {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlCode) ( map[string]any) HTMLCode {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlCode) ( bool) HTMLCode {
	.setAttr("draggable", )
	return 
}

func ( *htmlCode) ( bool) HTMLCode {
	.setAttr("hidden", )
	return 
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlCode) ( bool) HTMLCode {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlCode) (,  string,  ...any) HTMLCode {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlCode) ( map[string]string) HTMLCode {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlCode) ( int) HTMLCode {
	.setAttr("tabindex", )
	return 
}

func ( *htmlCode) ( string,  ...any) HTMLCode {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlCode) ( string,  EventHandler,  ...EventOption) HTMLCode {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("blur", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("change", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("click", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("contextmenu", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("copy", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("cut", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dblclick", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("drag", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dragend", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dragenter", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dragleave", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dragover", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("dragstart", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("drop", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("focus", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("input", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("invalid", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("keydown", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("keypress", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("keyup", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mousedown", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mouseenter", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mouseleave", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mousemove", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mouseout", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mouseover", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("mouseup", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("paste", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("reset", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("scroll", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("search", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("select", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("submit", , ...)
}

func ( *htmlCode) ( EventHandler,  ...EventOption) HTMLCode {
	return .On("wheel", , ...)
}

func ( *htmlCode) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlCode) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlCode) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlCode) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlCode) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlCode) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "col" HTML element.
type HTMLCol interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLCol

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLCol

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLCol

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLCol

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLCol

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLCol

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLCol

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLCol

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLCol

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLCol

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLCol

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLCol

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLCol

	// Defines how many columns or rows a cell should span.
	Span(v int) HTMLCol

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLCol

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLCol

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLCol

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLCol

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLCol

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLCol

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLCol

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLCol

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLCol

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLCol

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLCol

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLCol

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLCol

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLCol

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLCol

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLCol

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLCol

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLCol

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLCol

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLCol
}

// Returns an HTML element that defines the properties for a single column or a group of columns within a table, when nested within a `<colgroup>` element.
func () HTMLCol {
	 := &htmlCol{
		htmlElement: htmlElement{
			tag:           "col",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlCol struct {
	htmlElement
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlCol) ( string,  any) HTMLCol {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlCol) ( string,  any) HTMLCol {
	.setAttr(, )
	return 
}

func ( *htmlCol) ( ...string) HTMLCol {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlCol) ( bool) HTMLCol {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlCol) ( string,  any) HTMLCol {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlCol) ( map[string]any) HTMLCol {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlCol) ( bool) HTMLCol {
	.setAttr("draggable", )
	return 
}

func ( *htmlCol) ( bool) HTMLCol {
	.setAttr("hidden", )
	return 
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlCol) ( int) HTMLCol {
	.setAttr("span", )
	return 
}

func ( *htmlCol) ( bool) HTMLCol {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlCol) (,  string,  ...any) HTMLCol {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlCol) ( map[string]string) HTMLCol {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlCol) ( int) HTMLCol {
	.setAttr("tabindex", )
	return 
}

func ( *htmlCol) ( string,  ...any) HTMLCol {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlCol) ( string,  EventHandler,  ...EventOption) HTMLCol {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("blur", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("change", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("click", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("contextmenu", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("copy", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("cut", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dblclick", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("drag", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dragend", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dragenter", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dragleave", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dragover", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("dragstart", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("drop", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("focus", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("input", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("invalid", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("keydown", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("keypress", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("keyup", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mousedown", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mouseenter", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mouseleave", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mousemove", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mouseout", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mouseover", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("mouseup", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("paste", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("reset", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("scroll", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("search", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("select", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("submit", , ...)
}

func ( *htmlCol) ( EventHandler,  ...EventOption) HTMLCol {
	return .On("wheel", , ...)
}

func ( *htmlCol) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlCol) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlCol) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlCol) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlCol) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlCol) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "colgroup" HTML element.
type HTMLColGroup interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLColGroup

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLColGroup

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLColGroup

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLColGroup

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLColGroup

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLColGroup

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLColGroup

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLColGroup

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLColGroup

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLColGroup

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLColGroup

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLColGroup

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLColGroup

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLColGroup

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLColGroup

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLColGroup

	// Defines how many columns or rows a cell should span.
	Span(v int) HTMLColGroup

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLColGroup

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLColGroup

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLColGroup

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLColGroup

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLColGroup

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLColGroup

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLColGroup

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLColGroup

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLColGroup
}

// Returns an HTML element that groups one or more `<col>` elements, providing a way to apply styles and attributes to multiple columns simultaneously.
func () HTMLColGroup {
	 := &htmlColGroup{
		htmlElement: htmlElement{
			tag:           "colgroup",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlColGroup struct {
	htmlElement
}

func ( *htmlColGroup) ( ...UI) HTMLColGroup {
	return .setBody(FilterUIElems(...)).(*htmlColGroup)
}

func ( *htmlColGroup) ( any) HTMLColGroup {
	return .Body(Text())
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	return .Body(Textf(, ...))
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( string,  any) HTMLColGroup {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlColGroup) ( string,  any) HTMLColGroup {
	.setAttr(, )
	return 
}

func ( *htmlColGroup) ( ...string) HTMLColGroup {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlColGroup) ( bool) HTMLColGroup {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlColGroup) ( string,  any) HTMLColGroup {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlColGroup) ( map[string]any) HTMLColGroup {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( bool) HTMLColGroup {
	.setAttr("draggable", )
	return 
}

func ( *htmlColGroup) ( bool) HTMLColGroup {
	.setAttr("hidden", )
	return 
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( int) HTMLColGroup {
	.setAttr("span", )
	return 
}

func ( *htmlColGroup) ( bool) HTMLColGroup {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlColGroup) (,  string,  ...any) HTMLColGroup {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( map[string]string) HTMLColGroup {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlColGroup) ( int) HTMLColGroup {
	.setAttr("tabindex", )
	return 
}

func ( *htmlColGroup) ( string,  ...any) HTMLColGroup {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlColGroup) ( string,  EventHandler,  ...EventOption) HTMLColGroup {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("blur", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("change", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("click", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("contextmenu", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("copy", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("cut", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dblclick", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("drag", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dragend", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dragenter", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dragleave", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dragover", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("dragstart", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("drop", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("focus", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("input", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("invalid", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("keydown", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("keypress", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("keyup", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mousedown", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mouseenter", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mouseleave", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mousemove", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mouseout", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mouseover", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("mouseup", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("paste", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("reset", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("scroll", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("search", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("select", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("submit", , ...)
}

func ( *htmlColGroup) ( EventHandler,  ...EventOption) HTMLColGroup {
	return .On("wheel", , ...)
}

func ( *htmlColGroup) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlColGroup) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlColGroup) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlColGroup) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlColGroup) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlColGroup) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "data" HTML element.
type HTMLData interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLData

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLData

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLData

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLData

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLData

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLData

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLData

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLData

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLData

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLData

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLData

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLData

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLData

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLData

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLData

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLData

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLData

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLData

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLData

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLData

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLData

	// Assigns a value to the element.
	Value(v any) HTMLData

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLData
}

// Returns an HTML element that pairs content with its machine-readable translation or value.
func () HTMLData {
	 := &htmlData{
		htmlElement: htmlElement{
			tag:           "data",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlData struct {
	htmlElement
}

func ( *htmlData) ( ...UI) HTMLData {
	return .setBody(FilterUIElems(...)).(*htmlData)
}

func ( *htmlData) ( any) HTMLData {
	return .Body(Text())
}

func ( *htmlData) ( string,  ...any) HTMLData {
	return .Body(Textf(, ...))
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlData) ( string,  any) HTMLData {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlData) ( string,  any) HTMLData {
	.setAttr(, )
	return 
}

func ( *htmlData) ( ...string) HTMLData {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlData) ( bool) HTMLData {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlData) ( string,  any) HTMLData {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlData) ( map[string]any) HTMLData {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlData) ( bool) HTMLData {
	.setAttr("draggable", )
	return 
}

func ( *htmlData) ( bool) HTMLData {
	.setAttr("hidden", )
	return 
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlData) ( bool) HTMLData {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlData) (,  string,  ...any) HTMLData {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlData) ( map[string]string) HTMLData {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlData) ( int) HTMLData {
	.setAttr("tabindex", )
	return 
}

func ( *htmlData) ( string,  ...any) HTMLData {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlData) ( any) HTMLData {
	.setAttr("value", )
	return 
}

func ( *htmlData) ( string,  EventHandler,  ...EventOption) HTMLData {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlData) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlData) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlData) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlData) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlData) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlData) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "datalist" HTML element.
type HTMLDataList interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDataList

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDataList

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDataList

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDataList

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDataList

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDataList

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDataList

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDataList

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDataList

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDataList

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDataList

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDataList

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDataList

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDataList

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDataList

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDataList

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDataList

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDataList

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDataList

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDataList

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDataList

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDataList

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDataList

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDataList

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDataList

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDataList
}

// Returns an HTML element that offers a predefined set of options for input controls.
func () HTMLDataList {
	 := &htmlDataList{
		htmlElement: htmlElement{
			tag:           "datalist",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDataList struct {
	htmlElement
}

func ( *htmlDataList) ( ...UI) HTMLDataList {
	return .setBody(FilterUIElems(...)).(*htmlDataList)
}

func ( *htmlDataList) ( any) HTMLDataList {
	return .Body(Text())
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	return .Body(Textf(, ...))
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( string,  any) HTMLDataList {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDataList) ( string,  any) HTMLDataList {
	.setAttr(, )
	return 
}

func ( *htmlDataList) ( ...string) HTMLDataList {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDataList) ( bool) HTMLDataList {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDataList) ( string,  any) HTMLDataList {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDataList) ( map[string]any) HTMLDataList {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( bool) HTMLDataList {
	.setAttr("draggable", )
	return 
}

func ( *htmlDataList) ( bool) HTMLDataList {
	.setAttr("hidden", )
	return 
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( bool) HTMLDataList {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDataList) (,  string,  ...any) HTMLDataList {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDataList) ( map[string]string) HTMLDataList {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDataList) ( int) HTMLDataList {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDataList) ( string,  ...any) HTMLDataList {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDataList) ( string,  EventHandler,  ...EventOption) HTMLDataList {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("blur", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("change", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("click", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("contextmenu", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("copy", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("cut", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dblclick", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("drag", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dragend", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dragenter", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dragleave", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dragover", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("dragstart", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("drop", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("focus", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("input", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("invalid", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("keydown", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("keypress", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("keyup", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mousedown", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mouseenter", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mouseleave", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mousemove", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mouseout", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mouseover", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("mouseup", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("paste", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("reset", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("scroll", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("search", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("select", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("submit", , ...)
}

func ( *htmlDataList) ( EventHandler,  ...EventOption) HTMLDataList {
	return .On("wheel", , ...)
}

func ( *htmlDataList) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDataList) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDataList) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDataList) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDataList) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDataList) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "dd" HTML element.
type HTMLDd interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDd

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDd

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDd

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDd

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDd

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDd

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDd

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDd

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDd

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDd

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDd

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDd

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDd

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDd

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDd

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDd

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDd

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDd

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDd

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDd

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDd

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDd

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDd

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDd

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDd

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDd

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDd

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDd

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDd

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDd

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDd

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDd

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDd

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDd

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDd

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDd
}

// Returns an HTML element that provides the description or value for a term in a description list.
func () HTMLDd {
	 := &htmlDd{
		htmlElement: htmlElement{
			tag:           "dd",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDd struct {
	htmlElement
}

func ( *htmlDd) ( ...UI) HTMLDd {
	return .setBody(FilterUIElems(...)).(*htmlDd)
}

func ( *htmlDd) ( any) HTMLDd {
	return .Body(Text())
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	return .Body(Textf(, ...))
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDd) ( string,  any) HTMLDd {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDd) ( string,  any) HTMLDd {
	.setAttr(, )
	return 
}

func ( *htmlDd) ( ...string) HTMLDd {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDd) ( bool) HTMLDd {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDd) ( string,  any) HTMLDd {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDd) ( map[string]any) HTMLDd {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDd) ( bool) HTMLDd {
	.setAttr("draggable", )
	return 
}

func ( *htmlDd) ( bool) HTMLDd {
	.setAttr("hidden", )
	return 
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDd) ( bool) HTMLDd {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDd) (,  string,  ...any) HTMLDd {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDd) ( map[string]string) HTMLDd {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDd) ( int) HTMLDd {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDd) ( string,  ...any) HTMLDd {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDd) ( string,  EventHandler,  ...EventOption) HTMLDd {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("blur", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("change", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("click", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("contextmenu", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("copy", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("cut", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dblclick", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("drag", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dragend", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dragenter", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dragleave", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dragover", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("dragstart", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("drop", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("focus", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("input", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("invalid", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("keydown", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("keypress", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("keyup", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mousedown", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mouseenter", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mouseleave", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mousemove", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mouseout", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mouseover", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("mouseup", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("paste", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("reset", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("scroll", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("search", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("select", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("submit", , ...)
}

func ( *htmlDd) ( EventHandler,  ...EventOption) HTMLDd {
	return .On("wheel", , ...)
}

func ( *htmlDd) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDd) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDd) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDd) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDd) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDd) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "del" HTML element.
type HTMLDel interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDel

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDel

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDel

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDel

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDel

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDel

	// Provides a reference or link to a source explaining quoted or modified content in the element.
	Cite(format string, v ...any) HTMLDel

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDel

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDel

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDel

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDel

	// Represents the date and time, often used in context with machine-readable equivalents of time-related content.
	DateTime(format string, v ...any) HTMLDel

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDel

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDel

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDel

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDel

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDel

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDel

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDel

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDel

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDel

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDel

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDel

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDel

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDel

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDel

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDel

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDel

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDel

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDel

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDel

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDel

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDel

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDel

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDel

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDel

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDel

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDel
}

// Returns an HTML element that denotes text segments that have been deleted or modified in the content.
func () HTMLDel {
	 := &htmlDel{
		htmlElement: htmlElement{
			tag:           "del",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDel struct {
	htmlElement
}

func ( *htmlDel) ( ...UI) HTMLDel {
	return .setBody(FilterUIElems(...)).(*htmlDel)
}

func ( *htmlDel) ( any) HTMLDel {
	return .Body(Text())
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	return .Body(Textf(, ...))
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDel) ( string,  any) HTMLDel {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDel) ( string,  any) HTMLDel {
	.setAttr(, )
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("cite", FormatString(, ...))
	return 
}

func ( *htmlDel) ( ...string) HTMLDel {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDel) ( bool) HTMLDel {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDel) ( string,  any) HTMLDel {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDel) ( map[string]any) HTMLDel {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("datetime", FormatString(, ...))
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDel) ( bool) HTMLDel {
	.setAttr("draggable", )
	return 
}

func ( *htmlDel) ( bool) HTMLDel {
	.setAttr("hidden", )
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDel) ( bool) HTMLDel {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDel) (,  string,  ...any) HTMLDel {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDel) ( map[string]string) HTMLDel {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDel) ( int) HTMLDel {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDel) ( string,  ...any) HTMLDel {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDel) ( string,  EventHandler,  ...EventOption) HTMLDel {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("blur", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("change", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("click", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("contextmenu", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("copy", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("cut", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dblclick", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("drag", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dragend", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dragenter", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dragleave", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dragover", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("dragstart", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("drop", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("focus", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("input", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("invalid", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("keydown", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("keypress", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("keyup", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mousedown", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mouseenter", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mouseleave", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mousemove", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mouseout", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mouseover", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("mouseup", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("paste", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("reset", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("scroll", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("search", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("select", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("submit", , ...)
}

func ( *htmlDel) ( EventHandler,  ...EventOption) HTMLDel {
	return .On("wheel", , ...)
}

func ( *htmlDel) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDel) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDel) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDel) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDel) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDel) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "details" HTML element.
type HTMLDetails interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDetails

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDetails

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDetails

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDetails

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDetails

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDetails

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDetails

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDetails

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDetails

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDetails

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDetails

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDetails

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDetails

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDetails

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDetails

	// Indicates that the details element is expanded and visible to the user.
	Open(v bool) HTMLDetails

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDetails

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDetails

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDetails

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDetails

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDetails

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDetails

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDetails

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDetails

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDetails

	// Executes the handler when the details element is toggled by the user.
	OnToggle(h EventHandler, options ...EventOption) HTMLDetails

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDetails
}

// Returns an HTML element that encapsulates content users can toggle visibility for, such as additional information or context.
func () HTMLDetails {
	 := &htmlDetails{
		htmlElement: htmlElement{
			tag:           "details",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDetails struct {
	htmlElement
}

func ( *htmlDetails) ( ...UI) HTMLDetails {
	return .setBody(FilterUIElems(...)).(*htmlDetails)
}

func ( *htmlDetails) ( any) HTMLDetails {
	return .Body(Text())
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	return .Body(Textf(, ...))
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( string,  any) HTMLDetails {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDetails) ( string,  any) HTMLDetails {
	.setAttr(, )
	return 
}

func ( *htmlDetails) ( ...string) HTMLDetails {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDetails) ( bool) HTMLDetails {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDetails) ( string,  any) HTMLDetails {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDetails) ( map[string]any) HTMLDetails {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( bool) HTMLDetails {
	.setAttr("draggable", )
	return 
}

func ( *htmlDetails) ( bool) HTMLDetails {
	.setAttr("hidden", )
	return 
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( bool) HTMLDetails {
	.setAttr("open", )
	return 
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( bool) HTMLDetails {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDetails) (,  string,  ...any) HTMLDetails {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDetails) ( map[string]string) HTMLDetails {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDetails) ( int) HTMLDetails {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDetails) ( string,  ...any) HTMLDetails {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDetails) ( string,  EventHandler,  ...EventOption) HTMLDetails {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("blur", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("change", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("click", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("contextmenu", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("copy", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("cut", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dblclick", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("drag", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dragend", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dragenter", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dragleave", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dragover", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("dragstart", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("drop", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("focus", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("input", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("invalid", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("keydown", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("keypress", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("keyup", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mousedown", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mouseenter", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mouseleave", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mousemove", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mouseout", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mouseover", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("mouseup", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("paste", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("reset", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("scroll", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("search", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("select", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("submit", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("toggle", , ...)
}

func ( *htmlDetails) ( EventHandler,  ...EventOption) HTMLDetails {
	return .On("wheel", , ...)
}

func ( *htmlDetails) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDetails) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDetails) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDetails) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDetails) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDetails) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "dfn" HTML element.
type HTMLDfn interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDfn

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDfn

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDfn

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDfn

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDfn

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDfn

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDfn

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDfn

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDfn

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDfn

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDfn

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDfn

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDfn

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDfn

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDfn

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDfn

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDfn

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDfn

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDfn

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDfn

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDfn

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDfn

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDfn

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDfn

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDfn

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDfn
}

// Returns an HTML element that marks the defining occurrence or clarification of a term or phrase.
func () HTMLDfn {
	 := &htmlDfn{
		htmlElement: htmlElement{
			tag:           "dfn",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDfn struct {
	htmlElement
}

func ( *htmlDfn) ( ...UI) HTMLDfn {
	return .setBody(FilterUIElems(...)).(*htmlDfn)
}

func ( *htmlDfn) ( any) HTMLDfn {
	return .Body(Text())
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	return .Body(Textf(, ...))
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( string,  any) HTMLDfn {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDfn) ( string,  any) HTMLDfn {
	.setAttr(, )
	return 
}

func ( *htmlDfn) ( ...string) HTMLDfn {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDfn) ( bool) HTMLDfn {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDfn) ( string,  any) HTMLDfn {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDfn) ( map[string]any) HTMLDfn {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( bool) HTMLDfn {
	.setAttr("draggable", )
	return 
}

func ( *htmlDfn) ( bool) HTMLDfn {
	.setAttr("hidden", )
	return 
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( bool) HTMLDfn {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDfn) (,  string,  ...any) HTMLDfn {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDfn) ( map[string]string) HTMLDfn {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDfn) ( int) HTMLDfn {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDfn) ( string,  ...any) HTMLDfn {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDfn) ( string,  EventHandler,  ...EventOption) HTMLDfn {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("blur", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("change", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("click", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("contextmenu", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("copy", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("cut", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dblclick", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("drag", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dragend", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dragenter", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dragleave", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dragover", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("dragstart", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("drop", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("focus", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("input", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("invalid", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("keydown", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("keypress", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("keyup", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mousedown", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mouseenter", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mouseleave", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mousemove", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mouseout", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mouseover", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("mouseup", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("paste", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("reset", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("scroll", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("search", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("select", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("submit", , ...)
}

func ( *htmlDfn) ( EventHandler,  ...EventOption) HTMLDfn {
	return .On("wheel", , ...)
}

func ( *htmlDfn) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDfn) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDfn) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDfn) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDfn) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDfn) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "dialog" HTML element.
type HTMLDialog interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDialog

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDialog

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDialog

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDialog

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDialog

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDialog

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDialog

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDialog

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDialog

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDialog

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDialog

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDialog

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDialog

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDialog

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDialog

	// Indicates that the details element is expanded and visible to the user.
	Open(v bool) HTMLDialog

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDialog

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDialog

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDialog

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDialog

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDialog

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDialog

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDialog

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDialog

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDialog

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDialog

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDialog
}

// Returns an HTML element that represents a popup dialog box or an interactive window overlay.
func () HTMLDialog {
	 := &htmlDialog{
		htmlElement: htmlElement{
			tag:           "dialog",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDialog struct {
	htmlElement
}

func ( *htmlDialog) ( ...UI) HTMLDialog {
	return .setBody(FilterUIElems(...)).(*htmlDialog)
}

func ( *htmlDialog) ( any) HTMLDialog {
	return .Body(Text())
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	return .Body(Textf(, ...))
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( string,  any) HTMLDialog {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDialog) ( string,  any) HTMLDialog {
	.setAttr(, )
	return 
}

func ( *htmlDialog) ( ...string) HTMLDialog {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDialog) ( bool) HTMLDialog {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDialog) ( string,  any) HTMLDialog {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDialog) ( map[string]any) HTMLDialog {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( bool) HTMLDialog {
	.setAttr("draggable", )
	return 
}

func ( *htmlDialog) ( bool) HTMLDialog {
	.setAttr("hidden", )
	return 
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( bool) HTMLDialog {
	.setAttr("open", )
	return 
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( bool) HTMLDialog {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDialog) (,  string,  ...any) HTMLDialog {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDialog) ( map[string]string) HTMLDialog {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDialog) ( int) HTMLDialog {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDialog) ( string,  ...any) HTMLDialog {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDialog) ( string,  EventHandler,  ...EventOption) HTMLDialog {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("blur", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("change", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("click", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("contextmenu", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("copy", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("cut", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dblclick", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("drag", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dragend", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dragenter", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dragleave", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dragover", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("dragstart", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("drop", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("focus", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("input", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("invalid", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("keydown", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("keypress", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("keyup", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mousedown", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mouseenter", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mouseleave", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mousemove", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mouseout", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mouseover", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("mouseup", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("paste", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("reset", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("scroll", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("search", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("select", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("submit", , ...)
}

func ( *htmlDialog) ( EventHandler,  ...EventOption) HTMLDialog {
	return .On("wheel", , ...)
}

func ( *htmlDialog) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDialog) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDialog) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDialog) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDialog) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDialog) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "div" HTML element.
type HTMLDiv interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDiv

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDiv

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDiv

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDiv

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDiv

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDiv

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDiv

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDiv

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDiv

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDiv

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDiv

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDiv

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDiv

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDiv

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDiv

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDiv

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDiv

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDiv

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDiv

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDiv

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDiv

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDiv

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDiv

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDiv

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDiv

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDiv
}

// Returns an HTML element that creates a generic container for flow content, usually combined with styles or scripts.
func () HTMLDiv {
	 := &htmlDiv{
		htmlElement: htmlElement{
			tag:           "div",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDiv struct {
	htmlElement
}

func ( *htmlDiv) ( ...UI) HTMLDiv {
	return .setBody(FilterUIElems(...)).(*htmlDiv)
}

func ( *htmlDiv) ( any) HTMLDiv {
	return .Body(Text())
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	return .Body(Textf(, ...))
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( string,  any) HTMLDiv {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDiv) ( string,  any) HTMLDiv {
	.setAttr(, )
	return 
}

func ( *htmlDiv) ( ...string) HTMLDiv {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDiv) ( bool) HTMLDiv {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDiv) ( string,  any) HTMLDiv {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDiv) ( map[string]any) HTMLDiv {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( bool) HTMLDiv {
	.setAttr("draggable", )
	return 
}

func ( *htmlDiv) ( bool) HTMLDiv {
	.setAttr("hidden", )
	return 
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( bool) HTMLDiv {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDiv) (,  string,  ...any) HTMLDiv {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDiv) ( map[string]string) HTMLDiv {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDiv) ( int) HTMLDiv {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDiv) ( string,  ...any) HTMLDiv {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDiv) ( string,  EventHandler,  ...EventOption) HTMLDiv {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("blur", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("change", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("click", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("contextmenu", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("copy", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("cut", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dblclick", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("drag", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dragend", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dragenter", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dragleave", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dragover", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("dragstart", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("drop", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("focus", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("input", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("invalid", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("keydown", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("keypress", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("keyup", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mousedown", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mouseenter", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mouseleave", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mousemove", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mouseout", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mouseover", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("mouseup", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("paste", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("reset", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("scroll", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("search", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("select", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("submit", , ...)
}

func ( *htmlDiv) ( EventHandler,  ...EventOption) HTMLDiv {
	return .On("wheel", , ...)
}

func ( *htmlDiv) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDiv) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDiv) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDiv) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDiv) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDiv) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "dl" HTML element.
type HTMLDl interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDl

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDl

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDl

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDl

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDl

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDl

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDl

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDl

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDl

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDl

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDl

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDl

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDl

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDl

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDl

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDl

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDl

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDl

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDl

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDl

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDl

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDl

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDl

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDl

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDl

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDl

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDl

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDl

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDl

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDl

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDl

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDl

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDl

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDl

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDl

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDl
}

// Returns an HTML element that structures a list of terms alongside their associated descriptions.
func () HTMLDl {
	 := &htmlDl{
		htmlElement: htmlElement{
			tag:           "dl",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDl struct {
	htmlElement
}

func ( *htmlDl) ( ...UI) HTMLDl {
	return .setBody(FilterUIElems(...)).(*htmlDl)
}

func ( *htmlDl) ( any) HTMLDl {
	return .Body(Text())
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	return .Body(Textf(, ...))
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDl) ( string,  any) HTMLDl {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDl) ( string,  any) HTMLDl {
	.setAttr(, )
	return 
}

func ( *htmlDl) ( ...string) HTMLDl {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDl) ( bool) HTMLDl {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDl) ( string,  any) HTMLDl {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDl) ( map[string]any) HTMLDl {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDl) ( bool) HTMLDl {
	.setAttr("draggable", )
	return 
}

func ( *htmlDl) ( bool) HTMLDl {
	.setAttr("hidden", )
	return 
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDl) ( bool) HTMLDl {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDl) (,  string,  ...any) HTMLDl {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDl) ( map[string]string) HTMLDl {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDl) ( int) HTMLDl {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDl) ( string,  ...any) HTMLDl {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDl) ( string,  EventHandler,  ...EventOption) HTMLDl {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("blur", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("change", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("click", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("contextmenu", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("copy", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("cut", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dblclick", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("drag", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dragend", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dragenter", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dragleave", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dragover", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("dragstart", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("drop", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("focus", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("input", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("invalid", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("keydown", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("keypress", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("keyup", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mousedown", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mouseenter", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mouseleave", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mousemove", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mouseout", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mouseover", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("mouseup", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("paste", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("reset", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("scroll", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("search", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("select", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("submit", , ...)
}

func ( *htmlDl) ( EventHandler,  ...EventOption) HTMLDl {
	return .On("wheel", , ...)
}

func ( *htmlDl) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDl) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDl) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDl) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDl) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDl) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "dt" HTML element.
type HTMLDt interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLDt

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLDt

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLDt

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLDt

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLDt

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLDt

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLDt

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLDt

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLDt

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLDt

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLDt

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLDt

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLDt

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLDt

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLDt

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLDt

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLDt

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLDt

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLDt

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLDt

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLDt

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLDt

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLDt

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLDt

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLDt

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLDt

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLDt

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLDt

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLDt

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLDt

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLDt

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLDt

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLDt

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLDt

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLDt

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLDt
}

// Returns an HTML element that specifies a term or name within a description list.
func () HTMLDt {
	 := &htmlDt{
		htmlElement: htmlElement{
			tag:           "dt",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlDt struct {
	htmlElement
}

func ( *htmlDt) ( ...UI) HTMLDt {
	return .setBody(FilterUIElems(...)).(*htmlDt)
}

func ( *htmlDt) ( any) HTMLDt {
	return .Body(Text())
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	return .Body(Textf(, ...))
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlDt) ( string,  any) HTMLDt {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlDt) ( string,  any) HTMLDt {
	.setAttr(, )
	return 
}

func ( *htmlDt) ( ...string) HTMLDt {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlDt) ( bool) HTMLDt {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlDt) ( string,  any) HTMLDt {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlDt) ( map[string]any) HTMLDt {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlDt) ( bool) HTMLDt {
	.setAttr("draggable", )
	return 
}

func ( *htmlDt) ( bool) HTMLDt {
	.setAttr("hidden", )
	return 
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlDt) ( bool) HTMLDt {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlDt) (,  string,  ...any) HTMLDt {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlDt) ( map[string]string) HTMLDt {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlDt) ( int) HTMLDt {
	.setAttr("tabindex", )
	return 
}

func ( *htmlDt) ( string,  ...any) HTMLDt {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlDt) ( string,  EventHandler,  ...EventOption) HTMLDt {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("blur", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("change", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("click", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("contextmenu", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("copy", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("cut", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dblclick", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("drag", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dragend", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dragenter", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dragleave", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dragover", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("dragstart", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("drop", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("focus", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("input", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("invalid", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("keydown", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("keypress", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("keyup", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mousedown", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mouseenter", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mouseleave", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mousemove", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mouseout", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mouseover", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("mouseup", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("paste", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("reset", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("scroll", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("search", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("select", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("submit", , ...)
}

func ( *htmlDt) ( EventHandler,  ...EventOption) HTMLDt {
	return .On("wheel", , ...)
}

func ( *htmlDt) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlDt) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlDt) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlDt) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlDt) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlDt) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "elem" HTML element.
type HTMLElem interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLElem

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLElem

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLElem

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLElem

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLElem

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLElem

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLElem

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLElem

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLElem

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLElem

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLElem

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLElem

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLElem

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLElem

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLElem

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLElem

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLElem

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLElem

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLElem

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLElem

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLElem

	// Defines the XML namespace for the element.
	XMLNS(v string) HTMLElem

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLElem

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLElem

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLElem

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLElem

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLElem

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLElem

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLElem

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLElem

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLElem

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLElem

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLElem

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLElem

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLElem

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLElem

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLElem
}

// Returns an HTML element that is customizable.
func ( string) HTMLElem {
	 := &htmlElem{
		htmlElement: htmlElement{
			tag:           ,
			isSelfClosing: false,
		},
	}

	return 
}

type htmlElem struct {
	htmlElement
}

func ( *htmlElem) ( ...UI) HTMLElem {
	return .setBody(FilterUIElems(...)).(*htmlElem)
}

func ( *htmlElem) ( any) HTMLElem {
	return .Body(Text())
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	return .Body(Textf(, ...))
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlElem) ( string,  any) HTMLElem {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlElem) ( string,  any) HTMLElem {
	.setAttr(, )
	return 
}

func ( *htmlElem) ( ...string) HTMLElem {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlElem) ( bool) HTMLElem {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlElem) ( string,  any) HTMLElem {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlElem) ( map[string]any) HTMLElem {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlElem) ( bool) HTMLElem {
	.setAttr("draggable", )
	return 
}

func ( *htmlElem) ( bool) HTMLElem {
	.setAttr("hidden", )
	return 
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlElem) ( bool) HTMLElem {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlElem) (,  string,  ...any) HTMLElem {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlElem) ( map[string]string) HTMLElem {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlElem) ( int) HTMLElem {
	.setAttr("tabindex", )
	return 
}

func ( *htmlElem) ( string,  ...any) HTMLElem {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlElem) ( string) HTMLElem {
	.xmlns = 
	return 
}

func ( *htmlElem) ( string,  EventHandler,  ...EventOption) HTMLElem {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("blur", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("change", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("click", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("contextmenu", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("copy", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("cut", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dblclick", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("drag", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dragend", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dragenter", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dragleave", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dragover", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("dragstart", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("drop", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("focus", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("input", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("invalid", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("keydown", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("keypress", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("keyup", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mousedown", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mouseenter", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mouseleave", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mousemove", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mouseout", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mouseover", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("mouseup", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("paste", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("reset", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("scroll", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("search", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("select", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("submit", , ...)
}

func ( *htmlElem) ( EventHandler,  ...EventOption) HTMLElem {
	return .On("wheel", , ...)
}

func ( *htmlElem) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlElem) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlElem) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlElem) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlElem) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlElem) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "elemselfclosing" HTML element.
type HTMLElemSelfClosing interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLElemSelfClosing

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLElemSelfClosing

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLElemSelfClosing

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLElemSelfClosing

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLElemSelfClosing

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLElemSelfClosing

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLElemSelfClosing

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLElemSelfClosing

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLElemSelfClosing

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLElemSelfClosing

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLElemSelfClosing

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLElemSelfClosing

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLElemSelfClosing

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLElemSelfClosing

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLElemSelfClosing

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLElemSelfClosing

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLElemSelfClosing

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLElemSelfClosing

	// Defines the XML namespace for the element.
	XMLNS(v string) HTMLElemSelfClosing

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLElemSelfClosing

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLElemSelfClosing
}

// Returns an HTML element that is self-closing and customizable.
func ( string) HTMLElemSelfClosing {
	 := &htmlElemSelfClosing{
		htmlElement: htmlElement{
			tag:           ,
			isSelfClosing: true,
		},
	}

	return 
}

type htmlElemSelfClosing struct {
	htmlElement
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( string,  any) HTMLElemSelfClosing {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlElemSelfClosing) ( string,  any) HTMLElemSelfClosing {
	.setAttr(, )
	return 
}

func ( *htmlElemSelfClosing) ( ...string) HTMLElemSelfClosing {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlElemSelfClosing) ( bool) HTMLElemSelfClosing {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlElemSelfClosing) ( string,  any) HTMLElemSelfClosing {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlElemSelfClosing) ( map[string]any) HTMLElemSelfClosing {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( bool) HTMLElemSelfClosing {
	.setAttr("draggable", )
	return 
}

func ( *htmlElemSelfClosing) ( bool) HTMLElemSelfClosing {
	.setAttr("hidden", )
	return 
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( bool) HTMLElemSelfClosing {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlElemSelfClosing) (,  string,  ...any) HTMLElemSelfClosing {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( map[string]string) HTMLElemSelfClosing {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlElemSelfClosing) ( int) HTMLElemSelfClosing {
	.setAttr("tabindex", )
	return 
}

func ( *htmlElemSelfClosing) ( string,  ...any) HTMLElemSelfClosing {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlElemSelfClosing) ( string) HTMLElemSelfClosing {
	.xmlns = 
	return 
}

func ( *htmlElemSelfClosing) ( string,  EventHandler,  ...EventOption) HTMLElemSelfClosing {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("blur", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("change", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("click", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("contextmenu", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("copy", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("cut", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dblclick", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("drag", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dragend", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dragenter", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dragleave", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dragover", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("dragstart", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("drop", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("focus", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("input", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("invalid", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("keydown", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("keypress", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("keyup", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mousedown", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mouseenter", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mouseleave", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mousemove", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mouseout", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mouseover", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("mouseup", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("paste", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("reset", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("scroll", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("search", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("select", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("submit", , ...)
}

func ( *htmlElemSelfClosing) ( EventHandler,  ...EventOption) HTMLElemSelfClosing {
	return .On("wheel", , ...)
}

func ( *htmlElemSelfClosing) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlElemSelfClosing) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlElemSelfClosing) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlElemSelfClosing) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlElemSelfClosing) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlElemSelfClosing) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "em" HTML element.
type HTMLEm interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLEm

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLEm

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLEm

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLEm

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLEm

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLEm

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLEm

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLEm

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLEm

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLEm

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLEm

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLEm

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLEm

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLEm

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLEm

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLEm

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLEm

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLEm

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLEm

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLEm

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLEm

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLEm

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLEm

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLEm

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLEm

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLEm

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLEm

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLEm

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLEm

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLEm

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLEm

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLEm

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLEm

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLEm

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLEm

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLEm
}

// Returns an HTML element that marks text for emphasis, typically rendered as italicized text.
func () HTMLEm {
	 := &htmlEm{
		htmlElement: htmlElement{
			tag:           "em",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlEm struct {
	htmlElement
}

func ( *htmlEm) ( ...UI) HTMLEm {
	return .setBody(FilterUIElems(...)).(*htmlEm)
}

func ( *htmlEm) ( any) HTMLEm {
	return .Body(Text())
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	return .Body(Textf(, ...))
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlEm) ( string,  any) HTMLEm {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlEm) ( string,  any) HTMLEm {
	.setAttr(, )
	return 
}

func ( *htmlEm) ( ...string) HTMLEm {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlEm) ( bool) HTMLEm {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlEm) ( string,  any) HTMLEm {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlEm) ( map[string]any) HTMLEm {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlEm) ( bool) HTMLEm {
	.setAttr("draggable", )
	return 
}

func ( *htmlEm) ( bool) HTMLEm {
	.setAttr("hidden", )
	return 
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlEm) ( bool) HTMLEm {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlEm) (,  string,  ...any) HTMLEm {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlEm) ( map[string]string) HTMLEm {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlEm) ( int) HTMLEm {
	.setAttr("tabindex", )
	return 
}

func ( *htmlEm) ( string,  ...any) HTMLEm {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlEm) ( string,  EventHandler,  ...EventOption) HTMLEm {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("blur", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("change", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("click", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("contextmenu", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("copy", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("cut", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dblclick", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("drag", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dragend", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dragenter", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dragleave", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dragover", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("dragstart", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("drop", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("focus", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("input", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("invalid", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("keydown", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("keypress", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("keyup", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mousedown", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mouseenter", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mouseleave", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mousemove", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mouseout", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mouseover", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("mouseup", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("paste", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("reset", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("scroll", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("search", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("select", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("submit", , ...)
}

func ( *htmlEm) ( EventHandler,  ...EventOption) HTMLEm {
	return .On("wheel", , ...)
}

func ( *htmlEm) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlEm) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlEm) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlEm) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlEm) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlEm) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "embed" HTML element.
type HTMLEmbed interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLEmbed

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLEmbed

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLEmbed

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLEmbed

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLEmbed

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLEmbed

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLEmbed

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLEmbed

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLEmbed

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLEmbed

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLEmbed

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLEmbed

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLEmbed

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLEmbed

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLEmbed

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLEmbed

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLEmbed

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLEmbed

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLEmbed

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLEmbed

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLEmbed

	// Sets the width of the element.
	Width(v int) HTMLEmbed

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when media loading is aborted.
	OnAbort(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler when media has buffered sufficiently to begin playback.
	OnCanPlay(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when media can be played through without buffering interruptions.
	OnCanPlayThrough(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler upon cue changes within a track element.
	OnCueChange(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler when the media's duration changes.
	OnDurationChange(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when media unexpectedly becomes unavailable.
	OnEmptied(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when media playback reaches the end.
	OnEnded(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when media loading commences.
	OnLoadStart(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler as media data finishes loading.
	OnLoadedData(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when metadata (like duration and dimensions) are fully loaded.
	OnLoadedMetaData(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler when media playback is paused.
	OnPause(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when media starts its playback.
	OnPlay(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler once the media has initiated playback.
	OnPlaying(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler while the browser fetches media data.
	OnProgress(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when playback rate changes (e.g., slow motion or fast forward).
	OnRateChange(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler post seeking completion.
	OnSeeked(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler during the seeking process.
	OnSeeking(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler when media data fetching stalls.
	OnStalled(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when media data fetching is suspended.
	OnSuspend(h EventHandler, options ...EventOption) HTMLEmbed

	// Executes the handler when the media's playback position changes.
	OnTimeUpdate(h EventHandler, options ...EventOption) HTMLEmbed

	// Invokes the handler upon volume changes or muting.
	OnVolumeChange(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the handler when media pauses, awaiting further buffering.
	OnWaiting(h EventHandler, options ...EventOption) HTMLEmbed

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLEmbed
}

// Returns an HTML element that offers a container for integrating non-HTML content or applications.
func () HTMLEmbed {
	 := &htmlEmbed{
		htmlElement: htmlElement{
			tag:           "embed",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlEmbed struct {
	htmlElement
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( string,  any) HTMLEmbed {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlEmbed) ( string,  any) HTMLEmbed {
	.setAttr(, )
	return 
}

func ( *htmlEmbed) ( ...string) HTMLEmbed {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlEmbed) ( bool) HTMLEmbed {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlEmbed) ( string,  any) HTMLEmbed {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlEmbed) ( map[string]any) HTMLEmbed {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( bool) HTMLEmbed {
	.setAttr("draggable", )
	return 
}

func ( *htmlEmbed) ( int) HTMLEmbed {
	.setAttr("height", )
	return 
}

func ( *htmlEmbed) ( bool) HTMLEmbed {
	.setAttr("hidden", )
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( bool) HTMLEmbed {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlEmbed) (,  string,  ...any) HTMLEmbed {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( map[string]string) HTMLEmbed {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlEmbed) ( int) HTMLEmbed {
	.setAttr("tabindex", )
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( string,  ...any) HTMLEmbed {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlEmbed) ( int) HTMLEmbed {
	.setAttr("width", )
	return 
}

func ( *htmlEmbed) ( string,  EventHandler,  ...EventOption) HTMLEmbed {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("abort", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("blur", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("canplay", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("canplaythrough", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("change", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("click", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("contextmenu", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("copy", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("cuechange", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("cut", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dblclick", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("drag", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dragend", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dragenter", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dragleave", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dragover", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("dragstart", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("drop", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("durationchange", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("emptied", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("ended", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("error", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("focus", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("input", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("invalid", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("keydown", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("keypress", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("keyup", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("loadstart", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("loadeddata", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("loadedmetadata", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mousedown", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mouseenter", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mouseleave", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mousemove", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mouseout", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mouseover", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("mouseup", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("paste", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("pause", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("play", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("playing", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("progress", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("ratechange", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("reset", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("scroll", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("search", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("seeked", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("seeking", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("select", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("stalled", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("submit", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("suspend", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("timeupdate", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("volumechange", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("waiting", , ...)
}

func ( *htmlEmbed) ( EventHandler,  ...EventOption) HTMLEmbed {
	return .On("wheel", , ...)
}

func ( *htmlEmbed) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlEmbed) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlEmbed) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlEmbed) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlEmbed) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlEmbed) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "fieldset" HTML element.
type HTMLFieldSet interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLFieldSet

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLFieldSet

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLFieldSet

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLFieldSet

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLFieldSet

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLFieldSet

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLFieldSet

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLFieldSet

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLFieldSet

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLFieldSet

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLFieldSet

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLFieldSet

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLFieldSet

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLFieldSet

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLFieldSet

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLFieldSet

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLFieldSet

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLFieldSet

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLFieldSet

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLFieldSet

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLFieldSet

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLFieldSet

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLFieldSet

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLFieldSet

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLFieldSet

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLFieldSet

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLFieldSet

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLFieldSet
}

// Returns an HTML element that clusters related input controls and labels within a form.
func () HTMLFieldSet {
	 := &htmlFieldSet{
		htmlElement: htmlElement{
			tag:           "fieldset",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlFieldSet struct {
	htmlElement
}

func ( *htmlFieldSet) ( ...UI) HTMLFieldSet {
	return .setBody(FilterUIElems(...)).(*htmlFieldSet)
}

func ( *htmlFieldSet) ( any) HTMLFieldSet {
	return .Body(Text())
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	return .Body(Textf(, ...))
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( string,  any) HTMLFieldSet {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlFieldSet) ( string,  any) HTMLFieldSet {
	.setAttr(, )
	return 
}

func ( *htmlFieldSet) ( ...string) HTMLFieldSet {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlFieldSet) ( bool) HTMLFieldSet {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlFieldSet) ( string,  any) HTMLFieldSet {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlFieldSet) ( map[string]any) HTMLFieldSet {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( bool) HTMLFieldSet {
	.setAttr("disabled", )
	return 
}

func ( *htmlFieldSet) ( bool) HTMLFieldSet {
	.setAttr("draggable", )
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( bool) HTMLFieldSet {
	.setAttr("hidden", )
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( bool) HTMLFieldSet {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlFieldSet) (,  string,  ...any) HTMLFieldSet {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( map[string]string) HTMLFieldSet {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlFieldSet) ( int) HTMLFieldSet {
	.setAttr("tabindex", )
	return 
}

func ( *htmlFieldSet) ( string,  ...any) HTMLFieldSet {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlFieldSet) ( string,  EventHandler,  ...EventOption) HTMLFieldSet {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("blur", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("change", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("click", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("contextmenu", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("copy", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("cut", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dblclick", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("drag", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dragend", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dragenter", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dragleave", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dragover", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("dragstart", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("drop", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("focus", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("input", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("invalid", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("keydown", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("keypress", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("keyup", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mousedown", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mouseenter", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mouseleave", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mousemove", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mouseout", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mouseover", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("mouseup", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("paste", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("reset", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("scroll", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("search", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("select", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("submit", , ...)
}

func ( *htmlFieldSet) ( EventHandler,  ...EventOption) HTMLFieldSet {
	return .On("wheel", , ...)
}

func ( *htmlFieldSet) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlFieldSet) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlFieldSet) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlFieldSet) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlFieldSet) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlFieldSet) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "figcaption" HTML element.
type HTMLFigCaption interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLFigCaption

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLFigCaption

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLFigCaption

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLFigCaption

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLFigCaption

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLFigCaption

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLFigCaption

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLFigCaption

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLFigCaption

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLFigCaption

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLFigCaption

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLFigCaption

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLFigCaption

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLFigCaption

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLFigCaption

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLFigCaption

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLFigCaption

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLFigCaption

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLFigCaption

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLFigCaption

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLFigCaption

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLFigCaption

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLFigCaption

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLFigCaption

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLFigCaption
}

// Returns an HTML element that supplies a caption or explanation for content within the <figure> element.
func () HTMLFigCaption {
	 := &htmlFigCaption{
		htmlElement: htmlElement{
			tag:           "figcaption",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlFigCaption struct {
	htmlElement
}

func ( *htmlFigCaption) ( ...UI) HTMLFigCaption {
	return .setBody(FilterUIElems(...)).(*htmlFigCaption)
}

func ( *htmlFigCaption) ( any) HTMLFigCaption {
	return .Body(Text())
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	return .Body(Textf(, ...))
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( string,  any) HTMLFigCaption {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlFigCaption) ( string,  any) HTMLFigCaption {
	.setAttr(, )
	return 
}

func ( *htmlFigCaption) ( ...string) HTMLFigCaption {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlFigCaption) ( bool) HTMLFigCaption {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlFigCaption) ( string,  any) HTMLFigCaption {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlFigCaption) ( map[string]any) HTMLFigCaption {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( bool) HTMLFigCaption {
	.setAttr("draggable", )
	return 
}

func ( *htmlFigCaption) ( bool) HTMLFigCaption {
	.setAttr("hidden", )
	return 
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( bool) HTMLFigCaption {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlFigCaption) (,  string,  ...any) HTMLFigCaption {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( map[string]string) HTMLFigCaption {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlFigCaption) ( int) HTMLFigCaption {
	.setAttr("tabindex", )
	return 
}

func ( *htmlFigCaption) ( string,  ...any) HTMLFigCaption {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlFigCaption) ( string,  EventHandler,  ...EventOption) HTMLFigCaption {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("blur", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("change", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("click", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("contextmenu", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("copy", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("cut", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dblclick", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("drag", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dragend", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dragenter", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dragleave", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dragover", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("dragstart", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("drop", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("focus", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("input", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("invalid", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("keydown", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("keypress", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("keyup", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mousedown", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mouseenter", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mouseleave", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mousemove", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mouseout", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mouseover", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("mouseup", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("paste", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("reset", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("scroll", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("search", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("select", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("submit", , ...)
}

func ( *htmlFigCaption) ( EventHandler,  ...EventOption) HTMLFigCaption {
	return .On("wheel", , ...)
}

func ( *htmlFigCaption) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlFigCaption) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlFigCaption) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlFigCaption) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlFigCaption) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlFigCaption) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "figure" HTML element.
type HTMLFigure interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLFigure

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLFigure

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLFigure

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLFigure

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLFigure

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLFigure

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLFigure

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLFigure

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLFigure

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLFigure

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLFigure

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLFigure

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLFigure

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLFigure

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLFigure

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLFigure

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLFigure

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLFigure

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLFigure

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLFigure

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLFigure

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLFigure

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLFigure

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLFigure

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLFigure

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLFigure
}

// Returns an HTML element that encapsulates media content or illustrations with an optional caption.
func () HTMLFigure {
	 := &htmlFigure{
		htmlElement: htmlElement{
			tag:           "figure",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlFigure struct {
	htmlElement
}

func ( *htmlFigure) ( ...UI) HTMLFigure {
	return .setBody(FilterUIElems(...)).(*htmlFigure)
}

func ( *htmlFigure) ( any) HTMLFigure {
	return .Body(Text())
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	return .Body(Textf(, ...))
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( string,  any) HTMLFigure {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlFigure) ( string,  any) HTMLFigure {
	.setAttr(, )
	return 
}

func ( *htmlFigure) ( ...string) HTMLFigure {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlFigure) ( bool) HTMLFigure {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlFigure) ( string,  any) HTMLFigure {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlFigure) ( map[string]any) HTMLFigure {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( bool) HTMLFigure {
	.setAttr("draggable", )
	return 
}

func ( *htmlFigure) ( bool) HTMLFigure {
	.setAttr("hidden", )
	return 
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( bool) HTMLFigure {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlFigure) (,  string,  ...any) HTMLFigure {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlFigure) ( map[string]string) HTMLFigure {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlFigure) ( int) HTMLFigure {
	.setAttr("tabindex", )
	return 
}

func ( *htmlFigure) ( string,  ...any) HTMLFigure {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlFigure) ( string,  EventHandler,  ...EventOption) HTMLFigure {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("blur", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("change", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("click", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("contextmenu", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("copy", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("cut", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dblclick", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("drag", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dragend", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dragenter", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dragleave", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dragover", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("dragstart", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("drop", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("focus", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("input", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("invalid", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("keydown", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("keypress", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("keyup", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mousedown", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mouseenter", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mouseleave", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mousemove", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mouseout", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mouseover", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("mouseup", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("paste", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("reset", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("scroll", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("search", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("select", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("submit", , ...)
}

func ( *htmlFigure) ( EventHandler,  ...EventOption) HTMLFigure {
	return .On("wheel", , ...)
}

func ( *htmlFigure) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlFigure) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlFigure) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlFigure) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlFigure) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlFigure) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "footer" HTML element.
type HTMLFooter interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLFooter

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLFooter

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLFooter

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLFooter

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLFooter

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLFooter

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLFooter

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLFooter

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLFooter

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLFooter

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLFooter

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLFooter

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLFooter

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLFooter

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLFooter

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLFooter

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLFooter

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLFooter

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLFooter

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLFooter

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLFooter

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLFooter

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLFooter

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLFooter

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLFooter

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLFooter
}

// Returns an HTML element that denotes the footer of a section or the whole document, often containing metadata or author info.
func () HTMLFooter {
	 := &htmlFooter{
		htmlElement: htmlElement{
			tag:           "footer",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlFooter struct {
	htmlElement
}

func ( *htmlFooter) ( ...UI) HTMLFooter {
	return .setBody(FilterUIElems(...)).(*htmlFooter)
}

func ( *htmlFooter) ( any) HTMLFooter {
	return .Body(Text())
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	return .Body(Textf(, ...))
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( string,  any) HTMLFooter {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlFooter) ( string,  any) HTMLFooter {
	.setAttr(, )
	return 
}

func ( *htmlFooter) ( ...string) HTMLFooter {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlFooter) ( bool) HTMLFooter {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlFooter) ( string,  any) HTMLFooter {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlFooter) ( map[string]any) HTMLFooter {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( bool) HTMLFooter {
	.setAttr("draggable", )
	return 
}

func ( *htmlFooter) ( bool) HTMLFooter {
	.setAttr("hidden", )
	return 
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( bool) HTMLFooter {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlFooter) (,  string,  ...any) HTMLFooter {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlFooter) ( map[string]string) HTMLFooter {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlFooter) ( int) HTMLFooter {
	.setAttr("tabindex", )
	return 
}

func ( *htmlFooter) ( string,  ...any) HTMLFooter {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlFooter) ( string,  EventHandler,  ...EventOption) HTMLFooter {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("blur", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("change", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("click", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("contextmenu", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("copy", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("cut", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dblclick", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("drag", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dragend", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dragenter", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dragleave", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dragover", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("dragstart", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("drop", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("focus", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("input", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("invalid", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("keydown", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("keypress", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("keyup", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mousedown", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mouseenter", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mouseleave", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mousemove", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mouseout", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mouseover", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("mouseup", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("paste", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("reset", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("scroll", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("search", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("select", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("submit", , ...)
}

func ( *htmlFooter) ( EventHandler,  ...EventOption) HTMLFooter {
	return .On("wheel", , ...)
}

func ( *htmlFooter) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlFooter) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlFooter) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlFooter) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlFooter) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlFooter) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "form" HTML element.
type HTMLForm interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLForm

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLForm

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLForm

	// Restricts the character encodings accepted for form submission, ensuring compatibility.
	AcceptCharset(format string, v ...any) HTMLForm

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLForm

	// Specifies the server endpoint to which form-data should be sent upon submission.
	Action(format string, v ...any) HTMLForm

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLForm

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLForm

	// Toggles the browser's autocomplete feature, assisting users with common input values.
	AutoComplete(v bool) HTMLForm

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLForm

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLForm

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLForm

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLForm

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLForm

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLForm

	// Describes how form data should be encoded upon submission, especially vital for forms submitting file uploads.
	EncType(format string, v ...any) HTMLForm

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLForm

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLForm

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLForm

	// Determines the HTTP method for sending form data.
	Method(format string, v ...any) HTMLForm

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLForm

	// Indicates that the form should bypass validation upon submission.
	NoValidate(v bool) HTMLForm

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLForm

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLForm

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLForm

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLForm

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLForm

	// Indicates where to display the linked URL or where to submit the form. Can be called with various predefined values.
	Target(format string, v ...any) HTMLForm

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLForm

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLForm

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLForm

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLForm

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLForm

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLForm

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLForm

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLForm

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLForm

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLForm

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLForm

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLForm

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLForm

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLForm

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLForm

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLForm
}

// Returns an HTML element that constructs a user input form, allowing for various control elements and submission options.
func () HTMLForm {
	 := &htmlForm{
		htmlElement: htmlElement{
			tag:           "form",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlForm struct {
	htmlElement
}

func ( *htmlForm) ( ...UI) HTMLForm {
	return .setBody(FilterUIElems(...)).(*htmlForm)
}

func ( *htmlForm) ( any) HTMLForm {
	return .Body(Text())
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	return .Body(Textf(, ...))
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("accept-charset", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("action", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  any) HTMLForm {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlForm) ( string,  any) HTMLForm {
	.setAttr(, )
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	 := "off"
	if  {
		 = "on"
	}

	.setAttr("autocomplete", )
	return 
}

func ( *htmlForm) ( ...string) HTMLForm {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlForm) ( string,  any) HTMLForm {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlForm) ( map[string]any) HTMLForm {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	.setAttr("draggable", )
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("enctype", FormatString(, ...))
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	.setAttr("hidden", )
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("method", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	.setAttr("novalidate", )
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlForm) ( bool) HTMLForm {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlForm) (,  string,  ...any) HTMLForm {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlForm) ( map[string]string) HTMLForm {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlForm) ( int) HTMLForm {
	.setAttr("tabindex", )
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("target", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  ...any) HTMLForm {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlForm) ( string,  EventHandler,  ...EventOption) HTMLForm {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("blur", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("change", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("click", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("contextmenu", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("copy", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("cut", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dblclick", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("drag", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dragend", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dragenter", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dragleave", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dragover", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("dragstart", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("drop", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("focus", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("input", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("invalid", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("keydown", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("keypress", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("keyup", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mousedown", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mouseenter", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mouseleave", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mousemove", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mouseout", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mouseover", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("mouseup", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("paste", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("reset", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("scroll", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("search", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("select", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("submit", , ...)
}

func ( *htmlForm) ( EventHandler,  ...EventOption) HTMLForm {
	return .On("wheel", , ...)
}

func ( *htmlForm) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlForm) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlForm) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlForm) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlForm) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlForm) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h1" HTML element.
type HTMLH1 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH1

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH1

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH1

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH1

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH1

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH1

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH1

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH1

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH1

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH1

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH1

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH1

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH1

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH1

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH1

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH1

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH1

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH1

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH1

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH1

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH1

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH1

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH1

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH1

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH1

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH1

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH1

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH1

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH1

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH1

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH1

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH1

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH1

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH1

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH1

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH1
}

// Returns an HTML element that defines a level 1 HTML heading, indicating the most important topic or section.
func () HTMLH1 {
	 := &htmlH1{
		htmlElement: htmlElement{
			tag:           "h1",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH1 struct {
	htmlElement
}

func ( *htmlH1) ( ...UI) HTMLH1 {
	return .setBody(FilterUIElems(...)).(*htmlH1)
}

func ( *htmlH1) ( any) HTMLH1 {
	return .Body(Text())
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	return .Body(Textf(, ...))
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH1) ( string,  any) HTMLH1 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH1) ( string,  any) HTMLH1 {
	.setAttr(, )
	return 
}

func ( *htmlH1) ( ...string) HTMLH1 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH1) ( bool) HTMLH1 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH1) ( string,  any) HTMLH1 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH1) ( map[string]any) HTMLH1 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH1) ( bool) HTMLH1 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH1) ( bool) HTMLH1 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH1) ( bool) HTMLH1 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH1) (,  string,  ...any) HTMLH1 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH1) ( map[string]string) HTMLH1 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH1) ( int) HTMLH1 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH1) ( string,  ...any) HTMLH1 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH1) ( string,  EventHandler,  ...EventOption) HTMLH1 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("blur", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("change", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("click", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("contextmenu", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("copy", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("cut", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dblclick", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("drag", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dragend", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dragenter", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dragleave", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dragover", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("dragstart", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("drop", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("focus", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("input", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("invalid", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("keydown", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("keypress", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("keyup", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mousedown", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mouseenter", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mouseleave", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mousemove", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mouseout", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mouseover", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("mouseup", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("paste", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("reset", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("scroll", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("search", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("select", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("submit", , ...)
}

func ( *htmlH1) ( EventHandler,  ...EventOption) HTMLH1 {
	return .On("wheel", , ...)
}

func ( *htmlH1) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH1) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH1) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH1) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH1) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH1) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h2" HTML element.
type HTMLH2 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH2

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH2

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH2

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH2

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH2

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH2

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH2

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH2

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH2

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH2

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH2

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH2

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH2

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH2

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH2

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH2

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH2

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH2

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH2

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH2

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH2

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH2

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH2

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH2

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH2

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH2

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH2

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH2

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH2

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH2

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH2

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH2

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH2

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH2

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH2

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH2
}

// Returns an HTML element that defines a level 2 HTML heading, indicating a main subsection under H1.
func () HTMLH2 {
	 := &htmlH2{
		htmlElement: htmlElement{
			tag:           "h2",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH2 struct {
	htmlElement
}

func ( *htmlH2) ( ...UI) HTMLH2 {
	return .setBody(FilterUIElems(...)).(*htmlH2)
}

func ( *htmlH2) ( any) HTMLH2 {
	return .Body(Text())
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	return .Body(Textf(, ...))
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH2) ( string,  any) HTMLH2 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH2) ( string,  any) HTMLH2 {
	.setAttr(, )
	return 
}

func ( *htmlH2) ( ...string) HTMLH2 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH2) ( bool) HTMLH2 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH2) ( string,  any) HTMLH2 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH2) ( map[string]any) HTMLH2 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH2) ( bool) HTMLH2 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH2) ( bool) HTMLH2 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH2) ( bool) HTMLH2 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH2) (,  string,  ...any) HTMLH2 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH2) ( map[string]string) HTMLH2 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH2) ( int) HTMLH2 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH2) ( string,  ...any) HTMLH2 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH2) ( string,  EventHandler,  ...EventOption) HTMLH2 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("blur", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("change", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("click", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("contextmenu", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("copy", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("cut", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dblclick", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("drag", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dragend", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dragenter", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dragleave", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dragover", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("dragstart", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("drop", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("focus", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("input", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("invalid", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("keydown", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("keypress", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("keyup", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mousedown", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mouseenter", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mouseleave", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mousemove", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mouseout", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mouseover", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("mouseup", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("paste", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("reset", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("scroll", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("search", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("select", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("submit", , ...)
}

func ( *htmlH2) ( EventHandler,  ...EventOption) HTMLH2 {
	return .On("wheel", , ...)
}

func ( *htmlH2) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH2) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH2) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH2) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH2) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH2) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h3" HTML element.
type HTMLH3 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH3

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH3

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH3

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH3

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH3

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH3

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH3

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH3

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH3

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH3

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH3

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH3

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH3

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH3

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH3

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH3

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH3

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH3

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH3

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH3

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH3

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH3

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH3

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH3

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH3

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH3

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH3

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH3

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH3

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH3

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH3

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH3

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH3

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH3

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH3

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH3
}

// Returns an HTML element that defines a level 3 HTML heading, indicating a subsection under H2.
func () HTMLH3 {
	 := &htmlH3{
		htmlElement: htmlElement{
			tag:           "h3",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH3 struct {
	htmlElement
}

func ( *htmlH3) ( ...UI) HTMLH3 {
	return .setBody(FilterUIElems(...)).(*htmlH3)
}

func ( *htmlH3) ( any) HTMLH3 {
	return .Body(Text())
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	return .Body(Textf(, ...))
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH3) ( string,  any) HTMLH3 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH3) ( string,  any) HTMLH3 {
	.setAttr(, )
	return 
}

func ( *htmlH3) ( ...string) HTMLH3 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH3) ( bool) HTMLH3 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH3) ( string,  any) HTMLH3 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH3) ( map[string]any) HTMLH3 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH3) ( bool) HTMLH3 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH3) ( bool) HTMLH3 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH3) ( bool) HTMLH3 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH3) (,  string,  ...any) HTMLH3 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH3) ( map[string]string) HTMLH3 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH3) ( int) HTMLH3 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH3) ( string,  ...any) HTMLH3 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH3) ( string,  EventHandler,  ...EventOption) HTMLH3 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("blur", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("change", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("click", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("contextmenu", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("copy", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("cut", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dblclick", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("drag", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dragend", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dragenter", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dragleave", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dragover", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("dragstart", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("drop", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("focus", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("input", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("invalid", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("keydown", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("keypress", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("keyup", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mousedown", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mouseenter", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mouseleave", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mousemove", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mouseout", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mouseover", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("mouseup", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("paste", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("reset", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("scroll", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("search", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("select", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("submit", , ...)
}

func ( *htmlH3) ( EventHandler,  ...EventOption) HTMLH3 {
	return .On("wheel", , ...)
}

func ( *htmlH3) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH3) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH3) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH3) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH3) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH3) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h4" HTML element.
type HTMLH4 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH4

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH4

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH4

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH4

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH4

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH4

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH4

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH4

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH4

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH4

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH4

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH4

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH4

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH4

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH4

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH4

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH4

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH4

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH4

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH4

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH4

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH4

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH4

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH4

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH4

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH4

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH4

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH4

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH4

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH4

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH4

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH4

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH4

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH4

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH4

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH4
}

// Returns an HTML element that defines a level 4 HTML heading, indicating topics that fall under the H3 section.
func () HTMLH4 {
	 := &htmlH4{
		htmlElement: htmlElement{
			tag:           "h4",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH4 struct {
	htmlElement
}

func ( *htmlH4) ( ...UI) HTMLH4 {
	return .setBody(FilterUIElems(...)).(*htmlH4)
}

func ( *htmlH4) ( any) HTMLH4 {
	return .Body(Text())
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	return .Body(Textf(, ...))
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH4) ( string,  any) HTMLH4 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH4) ( string,  any) HTMLH4 {
	.setAttr(, )
	return 
}

func ( *htmlH4) ( ...string) HTMLH4 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH4) ( bool) HTMLH4 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH4) ( string,  any) HTMLH4 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH4) ( map[string]any) HTMLH4 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH4) ( bool) HTMLH4 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH4) ( bool) HTMLH4 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH4) ( bool) HTMLH4 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH4) (,  string,  ...any) HTMLH4 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH4) ( map[string]string) HTMLH4 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH4) ( int) HTMLH4 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH4) ( string,  ...any) HTMLH4 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH4) ( string,  EventHandler,  ...EventOption) HTMLH4 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("blur", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("change", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("click", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("contextmenu", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("copy", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("cut", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dblclick", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("drag", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dragend", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dragenter", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dragleave", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dragover", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("dragstart", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("drop", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("focus", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("input", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("invalid", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("keydown", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("keypress", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("keyup", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mousedown", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mouseenter", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mouseleave", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mousemove", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mouseout", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mouseover", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("mouseup", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("paste", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("reset", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("scroll", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("search", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("select", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("submit", , ...)
}

func ( *htmlH4) ( EventHandler,  ...EventOption) HTMLH4 {
	return .On("wheel", , ...)
}

func ( *htmlH4) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH4) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH4) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH4) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH4) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH4) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h5" HTML element.
type HTMLH5 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH5

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH5

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH5

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH5

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH5

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH5

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH5

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH5

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH5

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH5

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH5

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH5

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH5

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH5

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH5

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH5

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH5

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH5

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH5

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH5

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH5

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH5

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH5

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH5

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH5

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH5

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH5

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH5

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH5

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH5

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH5

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH5

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH5

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH5

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH5

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH5
}

// Returns an HTML element that defines a level 5 HTML heading, typically used for finer details under an H4 section.
func () HTMLH5 {
	 := &htmlH5{
		htmlElement: htmlElement{
			tag:           "h5",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH5 struct {
	htmlElement
}

func ( *htmlH5) ( ...UI) HTMLH5 {
	return .setBody(FilterUIElems(...)).(*htmlH5)
}

func ( *htmlH5) ( any) HTMLH5 {
	return .Body(Text())
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	return .Body(Textf(, ...))
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH5) ( string,  any) HTMLH5 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH5) ( string,  any) HTMLH5 {
	.setAttr(, )
	return 
}

func ( *htmlH5) ( ...string) HTMLH5 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH5) ( bool) HTMLH5 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH5) ( string,  any) HTMLH5 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH5) ( map[string]any) HTMLH5 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH5) ( bool) HTMLH5 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH5) ( bool) HTMLH5 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH5) ( bool) HTMLH5 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH5) (,  string,  ...any) HTMLH5 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH5) ( map[string]string) HTMLH5 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH5) ( int) HTMLH5 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH5) ( string,  ...any) HTMLH5 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH5) ( string,  EventHandler,  ...EventOption) HTMLH5 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("blur", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("change", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("click", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("contextmenu", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("copy", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("cut", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dblclick", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("drag", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dragend", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dragenter", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dragleave", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dragover", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("dragstart", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("drop", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("focus", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("input", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("invalid", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("keydown", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("keypress", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("keyup", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mousedown", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mouseenter", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mouseleave", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mousemove", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mouseout", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mouseover", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("mouseup", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("paste", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("reset", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("scroll", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("search", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("select", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("submit", , ...)
}

func ( *htmlH5) ( EventHandler,  ...EventOption) HTMLH5 {
	return .On("wheel", , ...)
}

func ( *htmlH5) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH5) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH5) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH5) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH5) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH5) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "h6" HTML element.
type HTMLH6 interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLH6

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLH6

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLH6

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLH6

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLH6

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLH6

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLH6

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLH6

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLH6

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLH6

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLH6

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLH6

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLH6

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLH6

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLH6

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLH6

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLH6

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLH6

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLH6

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLH6

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLH6

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLH6

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLH6

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLH6

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLH6

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLH6

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLH6

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLH6

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLH6

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLH6

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLH6

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLH6

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLH6

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLH6

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLH6

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLH6
}

// Returns an HTML element that defines a level 6 HTML heading, used for the smallest granularity of topics or details.
func () HTMLH6 {
	 := &htmlH6{
		htmlElement: htmlElement{
			tag:           "h6",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlH6 struct {
	htmlElement
}

func ( *htmlH6) ( ...UI) HTMLH6 {
	return .setBody(FilterUIElems(...)).(*htmlH6)
}

func ( *htmlH6) ( any) HTMLH6 {
	return .Body(Text())
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	return .Body(Textf(, ...))
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlH6) ( string,  any) HTMLH6 {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlH6) ( string,  any) HTMLH6 {
	.setAttr(, )
	return 
}

func ( *htmlH6) ( ...string) HTMLH6 {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlH6) ( bool) HTMLH6 {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlH6) ( string,  any) HTMLH6 {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlH6) ( map[string]any) HTMLH6 {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlH6) ( bool) HTMLH6 {
	.setAttr("draggable", )
	return 
}

func ( *htmlH6) ( bool) HTMLH6 {
	.setAttr("hidden", )
	return 
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlH6) ( bool) HTMLH6 {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlH6) (,  string,  ...any) HTMLH6 {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlH6) ( map[string]string) HTMLH6 {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlH6) ( int) HTMLH6 {
	.setAttr("tabindex", )
	return 
}

func ( *htmlH6) ( string,  ...any) HTMLH6 {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlH6) ( string,  EventHandler,  ...EventOption) HTMLH6 {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("blur", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("change", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("click", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("contextmenu", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("copy", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("cut", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dblclick", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("drag", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dragend", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dragenter", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dragleave", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dragover", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("dragstart", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("drop", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("focus", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("input", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("invalid", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("keydown", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("keypress", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("keyup", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mousedown", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mouseenter", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mouseleave", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mousemove", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mouseout", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mouseover", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("mouseup", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("paste", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("reset", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("scroll", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("search", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("select", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("submit", , ...)
}

func ( *htmlH6) ( EventHandler,  ...EventOption) HTMLH6 {
	return .On("wheel", , ...)
}

func ( *htmlH6) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlH6) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlH6) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlH6) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlH6) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlH6) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "head" HTML element.
type HTMLHead interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLHead

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLHead

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLHead

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLHead

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLHead

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLHead

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLHead

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLHead

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLHead

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLHead

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLHead

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLHead

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLHead

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLHead

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLHead

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLHead

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLHead

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLHead

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLHead

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLHead

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLHead

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLHead
}

// Returns an HTML element that defines information about the document.
func () HTMLHead {
	 := &htmlHead{
		htmlElement: htmlElement{
			tag:           "head",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlHead struct {
	htmlElement
}

func ( *htmlHead) ( ...UI) HTMLHead {
	return .setBody(FilterUIElems(...)).(*htmlHead)
}

func ( *htmlHead) ( any) HTMLHead {
	return .Body(Text())
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	return .Body(Textf(, ...))
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlHead) ( string,  any) HTMLHead {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlHead) ( string,  any) HTMLHead {
	.setAttr(, )
	return 
}

func ( *htmlHead) ( ...string) HTMLHead {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlHead) ( bool) HTMLHead {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlHead) ( string,  any) HTMLHead {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlHead) ( map[string]any) HTMLHead {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlHead) ( bool) HTMLHead {
	.setAttr("draggable", )
	return 
}

func ( *htmlHead) ( bool) HTMLHead {
	.setAttr("hidden", )
	return 
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlHead) ( bool) HTMLHead {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlHead) (,  string,  ...any) HTMLHead {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlHead) ( map[string]string) HTMLHead {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlHead) ( int) HTMLHead {
	.setAttr("tabindex", )
	return 
}

func ( *htmlHead) ( string,  ...any) HTMLHead {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlHead) ( string,  EventHandler,  ...EventOption) HTMLHead {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlHead) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlHead) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlHead) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlHead) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlHead) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlHead) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "header" HTML element.
type HTMLHeader interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLHeader

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLHeader

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLHeader

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLHeader

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLHeader

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLHeader

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLHeader

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLHeader

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLHeader

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLHeader

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLHeader

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLHeader

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLHeader

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLHeader

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLHeader

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLHeader

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLHeader

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLHeader

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLHeader

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLHeader

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLHeader

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLHeader

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLHeader

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLHeader

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLHeader

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLHeader
}

// Returns an HTML element that defines a header for a document or section.
func () HTMLHeader {
	 := &htmlHeader{
		htmlElement: htmlElement{
			tag:           "header",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlHeader struct {
	htmlElement
}

func ( *htmlHeader) ( ...UI) HTMLHeader {
	return .setBody(FilterUIElems(...)).(*htmlHeader)
}

func ( *htmlHeader) ( any) HTMLHeader {
	return .Body(Text())
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	return .Body(Textf(, ...))
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( string,  any) HTMLHeader {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlHeader) ( string,  any) HTMLHeader {
	.setAttr(, )
	return 
}

func ( *htmlHeader) ( ...string) HTMLHeader {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlHeader) ( bool) HTMLHeader {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlHeader) ( string,  any) HTMLHeader {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlHeader) ( map[string]any) HTMLHeader {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( bool) HTMLHeader {
	.setAttr("draggable", )
	return 
}

func ( *htmlHeader) ( bool) HTMLHeader {
	.setAttr("hidden", )
	return 
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( bool) HTMLHeader {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlHeader) (,  string,  ...any) HTMLHeader {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlHeader) ( map[string]string) HTMLHeader {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlHeader) ( int) HTMLHeader {
	.setAttr("tabindex", )
	return 
}

func ( *htmlHeader) ( string,  ...any) HTMLHeader {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlHeader) ( string,  EventHandler,  ...EventOption) HTMLHeader {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("blur", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("change", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("click", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("contextmenu", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("copy", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("cut", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dblclick", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("drag", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dragend", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dragenter", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dragleave", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dragover", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("dragstart", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("drop", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("focus", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("input", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("invalid", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("keydown", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("keypress", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("keyup", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mousedown", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mouseenter", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mouseleave", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mousemove", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mouseout", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mouseover", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("mouseup", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("paste", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("reset", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("scroll", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("search", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("select", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("submit", , ...)
}

func ( *htmlHeader) ( EventHandler,  ...EventOption) HTMLHeader {
	return .On("wheel", , ...)
}

func ( *htmlHeader) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlHeader) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlHeader) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlHeader) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlHeader) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlHeader) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "hr" HTML element.
type HTMLHr interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLHr

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLHr

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLHr

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLHr

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLHr

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLHr

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLHr

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLHr

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLHr

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLHr

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLHr

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLHr

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLHr

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLHr

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLHr

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLHr

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLHr

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLHr

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLHr

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLHr

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLHr

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLHr

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLHr

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLHr

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLHr

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLHr

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLHr

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLHr

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLHr

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLHr

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLHr

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLHr

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLHr
}

// Returns an HTML element that defines a thematic change in the content.
func () HTMLHr {
	 := &htmlHr{
		htmlElement: htmlElement{
			tag:           "hr",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlHr struct {
	htmlElement
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlHr) ( string,  any) HTMLHr {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlHr) ( string,  any) HTMLHr {
	.setAttr(, )
	return 
}

func ( *htmlHr) ( ...string) HTMLHr {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlHr) ( bool) HTMLHr {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlHr) ( string,  any) HTMLHr {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlHr) ( map[string]any) HTMLHr {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlHr) ( bool) HTMLHr {
	.setAttr("draggable", )
	return 
}

func ( *htmlHr) ( bool) HTMLHr {
	.setAttr("hidden", )
	return 
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlHr) ( bool) HTMLHr {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlHr) (,  string,  ...any) HTMLHr {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlHr) ( map[string]string) HTMLHr {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlHr) ( int) HTMLHr {
	.setAttr("tabindex", )
	return 
}

func ( *htmlHr) ( string,  ...any) HTMLHr {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlHr) ( string,  EventHandler,  ...EventOption) HTMLHr {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("blur", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("change", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("click", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("contextmenu", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("copy", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("cut", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dblclick", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("drag", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dragend", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dragenter", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dragleave", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dragover", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("dragstart", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("drop", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("focus", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("input", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("invalid", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("keydown", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("keypress", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("keyup", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mousedown", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mouseenter", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mouseleave", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mousemove", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mouseout", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mouseover", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("mouseup", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("paste", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("reset", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("scroll", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("search", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("select", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("submit", , ...)
}

func ( *htmlHr) ( EventHandler,  ...EventOption) HTMLHr {
	return .On("wheel", , ...)
}

func ( *htmlHr) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlHr) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlHr) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlHr) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlHr) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlHr) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "html" HTML element.
type HTMLHtml interface {
	HTML

	privateBody(elems ...UI) HTMLHtml

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLHtml

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLHtml

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLHtml

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLHtml

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLHtml

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLHtml

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLHtml

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLHtml

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLHtml

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLHtml

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLHtml

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLHtml

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLHtml

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLHtml

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLHtml

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLHtml

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLHtml

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLHtml

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLHtml
}

// Returns an HTML element that defines the root of an HTML document.
func () HTMLHtml {
	 := &htmlHtml{
		htmlElement: htmlElement{
			tag:           "html",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlHtml struct {
	htmlElement
}

func ( *htmlHtml) ( ...UI) HTMLHtml {
	return .setBody(FilterUIElems(...)).(*htmlHtml)
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( string,  any) HTMLHtml {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlHtml) ( string,  any) HTMLHtml {
	.setAttr(, )
	return 
}

func ( *htmlHtml) ( ...string) HTMLHtml {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlHtml) ( bool) HTMLHtml {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlHtml) ( string,  any) HTMLHtml {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlHtml) ( map[string]any) HTMLHtml {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( bool) HTMLHtml {
	.setAttr("draggable", )
	return 
}

func ( *htmlHtml) ( bool) HTMLHtml {
	.setAttr("hidden", )
	return 
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( bool) HTMLHtml {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlHtml) (,  string,  ...any) HTMLHtml {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlHtml) ( map[string]string) HTMLHtml {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlHtml) ( int) HTMLHtml {
	.setAttr("tabindex", )
	return 
}

func ( *htmlHtml) ( string,  ...any) HTMLHtml {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlHtml) ( string,  EventHandler,  ...EventOption) HTMLHtml {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlHtml) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlHtml) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlHtml) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlHtml) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlHtml) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlHtml) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "i" HTML element.
type HTMLI interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLI

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLI

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLI

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLI

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLI

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLI

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLI

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLI

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLI

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLI

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLI

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLI

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLI

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLI

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLI

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLI

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLI

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLI

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLI

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLI

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLI

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLI

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLI

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLI

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLI

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLI

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLI

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLI

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLI

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLI

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLI

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLI

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLI

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLI

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLI

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLI

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLI

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLI

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLI

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLI

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLI

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLI

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLI

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLI

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLI

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLI

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLI

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLI

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLI

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLI
}

// Returns an HTML element that defines a part of text in an alternate voice or mood.
func () HTMLI {
	 := &htmlI{
		htmlElement: htmlElement{
			tag:           "i",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlI struct {
	htmlElement
}

func ( *htmlI) ( ...UI) HTMLI {
	return .setBody(FilterUIElems(...)).(*htmlI)
}

func ( *htmlI) ( any) HTMLI {
	return .Body(Text())
}

func ( *htmlI) ( string,  ...any) HTMLI {
	return .Body(Textf(, ...))
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlI) ( string,  any) HTMLI {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlI) ( string,  any) HTMLI {
	.setAttr(, )
	return 
}

func ( *htmlI) ( ...string) HTMLI {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlI) ( bool) HTMLI {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlI) ( string,  any) HTMLI {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlI) ( map[string]any) HTMLI {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlI) ( bool) HTMLI {
	.setAttr("draggable", )
	return 
}

func ( *htmlI) ( bool) HTMLI {
	.setAttr("hidden", )
	return 
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlI) ( bool) HTMLI {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlI) (,  string,  ...any) HTMLI {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlI) ( map[string]string) HTMLI {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlI) ( int) HTMLI {
	.setAttr("tabindex", )
	return 
}

func ( *htmlI) ( string,  ...any) HTMLI {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlI) ( string,  EventHandler,  ...EventOption) HTMLI {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("blur", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("change", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("click", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("contextmenu", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("copy", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("cut", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dblclick", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("drag", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dragend", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dragenter", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dragleave", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dragover", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("dragstart", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("drop", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("focus", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("input", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("invalid", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("keydown", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("keypress", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("keyup", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mousedown", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mouseenter", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mouseleave", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mousemove", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mouseout", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mouseover", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("mouseup", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("paste", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("reset", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("scroll", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("search", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("select", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("submit", , ...)
}

func ( *htmlI) ( EventHandler,  ...EventOption) HTMLI {
	return .On("wheel", , ...)
}

func ( *htmlI) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlI) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlI) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlI) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlI) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlI) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "iframe" HTML element.
type HTMLIFrame interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLIFrame

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLIFrame

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLIFrame

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLIFrame

	// Sets a feature policy, enhancing security by controlling certain browser features. Allows multiple policies.
	Allow(format string, v ...any) HTMLIFrame

	// Grants an iframe the capability to request fullscreen mode.
	AllowFullscreen(v bool) HTMLIFrame

	// Grants an iframe the permission to use the Payment Request API for smoother online transactions.
	AllowPaymentRequest(v bool) HTMLIFrame

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLIFrame

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLIFrame

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLIFrame

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLIFrame

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLIFrame

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLIFrame

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLIFrame

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLIFrame

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLIFrame

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLIFrame

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLIFrame

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLIFrame

	// Determines the browser's loading behavior ('eager' or 'lazy').
	Loading(format string, v ...any) HTMLIFrame

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLIFrame

	// Determines the amount of referrer information sent when processing iframe attributes.
	ReferrerPolicy(format string, v ...any) HTMLIFrame

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLIFrame

	// Applies extra security restrictions to content within an iframe.
	Sandbox(format string, v ...any) HTMLIFrame

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLIFrame

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLIFrame

	// Defines the HTML content to be displayed within an iframe. Uses the given format and values.
	SrcDoc(format string, v ...any) HTMLIFrame

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLIFrame

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLIFrame

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLIFrame

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLIFrame

	// Sets the width of the element.
	Width(v int) HTMLIFrame

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLIFrame

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLIFrame

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLIFrame

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLIFrame
}

// Returns an HTML element that defines an inline frame.
func () HTMLIFrame {
	 := &htmlIFrame{
		htmlElement: htmlElement{
			tag:           "iframe",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlIFrame struct {
	htmlElement
}

func ( *htmlIFrame) ( ...UI) HTMLIFrame {
	return .setBody(FilterUIElems(...)).(*htmlIFrame)
}

func ( *htmlIFrame) ( any) HTMLIFrame {
	return .Body(Text())
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	return .Body(Textf(, ...))
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("allow", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("allowfullscreen", )
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("allowpaymentrequest", )
	return 
}

func ( *htmlIFrame) ( string,  any) HTMLIFrame {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlIFrame) ( string,  any) HTMLIFrame {
	.setAttr(, )
	return 
}

func ( *htmlIFrame) ( ...string) HTMLIFrame {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlIFrame) ( string,  any) HTMLIFrame {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlIFrame) ( map[string]any) HTMLIFrame {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	.setAttr("draggable", )
	return 
}

func ( *htmlIFrame) ( int) HTMLIFrame {
	.setAttr("height", )
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	.setAttr("hidden", )
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("loading", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("referrerpolicy", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("sandbox", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( bool) HTMLIFrame {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("srcdoc", FormatString(, ...))
	return 
}

func ( *htmlIFrame) (,  string,  ...any) HTMLIFrame {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( map[string]string) HTMLIFrame {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlIFrame) ( int) HTMLIFrame {
	.setAttr("tabindex", )
	return 
}

func ( *htmlIFrame) ( string,  ...any) HTMLIFrame {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlIFrame) ( int) HTMLIFrame {
	.setAttr("width", )
	return 
}

func ( *htmlIFrame) ( string,  EventHandler,  ...EventOption) HTMLIFrame {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("blur", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("change", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("click", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("contextmenu", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("copy", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("cut", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dblclick", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("drag", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dragend", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dragenter", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dragleave", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dragover", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("dragstart", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("drop", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("focus", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("input", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("invalid", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("keydown", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("keypress", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("keyup", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("load", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mousedown", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mouseenter", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mouseleave", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mousemove", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mouseout", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mouseover", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("mouseup", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("paste", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("reset", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("scroll", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("search", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("select", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("submit", , ...)
}

func ( *htmlIFrame) ( EventHandler,  ...EventOption) HTMLIFrame {
	return .On("wheel", , ...)
}

func ( *htmlIFrame) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlIFrame) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlIFrame) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlIFrame) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlIFrame) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlIFrame) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "img" HTML element.
type HTMLImg interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLImg

	// Provides a text alternative for elements (often images) ensuring content is accessible when visuals can't be rendered.
	Alt(format string, v ...any) HTMLImg

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLImg

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLImg

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLImg

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLImg

	// Controls how cross-origin requests are managed for the element, supporting secure content integration from different origins.
	CrossOrigin(format string, v ...any) HTMLImg

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLImg

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLImg

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLImg

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLImg

	// Provides a hint to the browser about how it should prioritize the fetch of the image in relation to other images.
	FetchPriority(format string, v ...any) HTMLImg

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLImg

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLImg

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLImg

	// Marks an image as a server-side image-map.
	IsMap(v bool) HTMLImg

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLImg

	// Determines the browser's loading behavior ('eager' or 'lazy').
	Loading(format string, v ...any) HTMLImg

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLImg

	// Specifies sizes of icons and images for different page or screen scenarios. Uses the given format and values.
	Sizes(format string, v ...any) HTMLImg

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLImg

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLImg

	// Provides URLs of images to display in varied resolutions or viewport conditions. Uses the given format and values.
	SrcSet(format string, v ...any) HTMLImg

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLImg

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLImg

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLImg

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLImg

	// Associates the element with a client-side image map. Can be called with the designated format and values.
	UseMap(format string, v ...any) HTMLImg

	// Sets the width of the element.
	Width(v int) HTMLImg

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when media loading is aborted.
	OnAbort(h EventHandler, options ...EventOption) HTMLImg

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler when media has buffered sufficiently to begin playback.
	OnCanPlay(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when media can be played through without buffering interruptions.
	OnCanPlayThrough(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler upon cue changes within a track element.
	OnCueChange(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLImg

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler when the media's duration changes.
	OnDurationChange(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when media unexpectedly becomes unavailable.
	OnEmptied(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when media playback reaches the end.
	OnEnded(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLImg

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLImg

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLImg

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when media loading commences.
	OnLoadStart(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler as media data finishes loading.
	OnLoadedData(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when metadata (like duration and dimensions) are fully loaded.
	OnLoadedMetaData(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLImg

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLImg

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler when media playback is paused.
	OnPause(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when media starts its playback.
	OnPlay(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler once the media has initiated playback.
	OnPlaying(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler while the browser fetches media data.
	OnProgress(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when playback rate changes (e.g., slow motion or fast forward).
	OnRateChange(h EventHandler, options ...EventOption) HTMLImg

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler post seeking completion.
	OnSeeked(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler during the seeking process.
	OnSeeking(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler when media data fetching stalls.
	OnStalled(h EventHandler, options ...EventOption) HTMLImg

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when media data fetching is suspended.
	OnSuspend(h EventHandler, options ...EventOption) HTMLImg

	// Executes the handler when the media's playback position changes.
	OnTimeUpdate(h EventHandler, options ...EventOption) HTMLImg

	// Invokes the handler upon volume changes or muting.
	OnVolumeChange(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the handler when media pauses, awaiting further buffering.
	OnWaiting(h EventHandler, options ...EventOption) HTMLImg

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLImg
}

// Returns an HTML element that defines an image.
func () HTMLImg {
	 := &htmlImg{
		htmlElement: htmlElement{
			tag:           "img",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlImg struct {
	htmlElement
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("alt", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  any) HTMLImg {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlImg) ( string,  any) HTMLImg {
	.setAttr(, )
	return 
}

func ( *htmlImg) ( ...string) HTMLImg {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlImg) ( bool) HTMLImg {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("crossorigin", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  any) HTMLImg {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlImg) ( map[string]any) HTMLImg {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlImg) ( bool) HTMLImg {
	.setAttr("draggable", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("fetchpriority", FormatString(, ...))
	return 
}

func ( *htmlImg) ( int) HTMLImg {
	.setAttr("height", )
	return 
}

func ( *htmlImg) ( bool) HTMLImg {
	.setAttr("hidden", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlImg) ( bool) HTMLImg {
	.setAttr("ismap", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("loading", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("sizes", FormatString(, ...))
	return 
}

func ( *htmlImg) ( bool) HTMLImg {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("srcset", FormatString(, ...))
	return 
}

func ( *htmlImg) (,  string,  ...any) HTMLImg {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlImg) ( map[string]string) HTMLImg {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlImg) ( int) HTMLImg {
	.setAttr("tabindex", )
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlImg) ( string,  ...any) HTMLImg {
	.setAttr("usemap", FormatString(, ...))
	return 
}

func ( *htmlImg) ( int) HTMLImg {
	.setAttr("width", )
	return 
}

func ( *htmlImg) ( string,  EventHandler,  ...EventOption) HTMLImg {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("abort", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("blur", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("canplay", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("canplaythrough", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("change", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("click", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("contextmenu", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("copy", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("cuechange", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("cut", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dblclick", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("drag", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dragend", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dragenter", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dragleave", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dragover", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("dragstart", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("drop", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("durationchange", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("emptied", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("ended", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("error", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("focus", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("input", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("invalid", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("keydown", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("keypress", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("keyup", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("load", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("loadstart", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("loadeddata", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("loadedmetadata", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mousedown", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mouseenter", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mouseleave", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mousemove", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mouseout", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mouseover", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("mouseup", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("paste", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("pause", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("play", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("playing", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("progress", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("ratechange", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("reset", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("scroll", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("search", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("seeked", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("seeking", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("select", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("stalled", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("submit", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("suspend", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("timeupdate", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("volumechange", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("waiting", , ...)
}

func ( *htmlImg) ( EventHandler,  ...EventOption) HTMLImg {
	return .On("wheel", , ...)
}

func ( *htmlImg) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlImg) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlImg) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlImg) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlImg) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlImg) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "input" HTML element.
type HTMLInput interface {
	HTML

	// Restricts file types the server accepts, especially used for file input elements.
	Accept(format string, v ...any) HTMLInput

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLInput

	// Provides a text alternative for elements (often images) ensuring content is accessible when visuals can't be rendered.
	Alt(format string, v ...any) HTMLInput

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLInput

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLInput

	// Toggles the browser's autocomplete feature, assisting users with common input values.
	AutoComplete(v bool) HTMLInput

	// Instructs the browser to focus this element automatically when the page loads.
	AutoFocus(v bool) HTMLInput

	// Directs how media capture for file uploads should be handled, such as using the device's camera or microphone.
	Capture(format string, v ...any) HTMLInput

	// Indicates that an input element (checkbox or radio) should start in a selected state upon page load.
	Checked(v bool) HTMLInput

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLInput

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLInput

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLInput

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLInput

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLInput

	// Instructs the browser to also submit the text direction of a form field when the form is submitted.
	DirName(format string, v ...any) HTMLInput

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLInput

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLInput

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLInput

	// Defines the URL to which form data should be sent upon submission. Applicable only to 'submit' type inputs.
	FormAction(format string, v ...any) HTMLInput

	// Dictates the encoding method for form data prior to its submission to a server. Applicable only to 'submit' type inputs.
	FormEncType(format string, v ...any) HTMLInput

	// Determines the HTTP method for sending form data. Applicable only to 'submit' type inputs.
	FormMethod(format string, v ...any) HTMLInput

	// Indicates that the form data should bypass validation upon submission. Applicable only to 'submit' type inputs.
	FormNoValidate(v bool) HTMLInput

	// Specifies where the server's response will be displayed after form submission. Applicable only to 'submit' type inputs.
	FormTarget(format string, v ...any) HTMLInput

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLInput

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLInput

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLInput

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLInput

	// Links to a datalist element offering predefined options for an input element.
	List(format string, v ...any) HTMLInput

	// Establishes the maximum permissible value.
	Max(v any) HTMLInput

	// Defines the maximum number of characters permissible in an element.
	MaxLength(v int) HTMLInput

	// Establishes the minimum permissible value.
	Min(v any) HTMLInput

	// Allows users to input multiple values.
	Multiple(v bool) HTMLInput

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLInput

	// Establishes a regular expression against which an input element's value is validated.
	Pattern(format string, v ...any) HTMLInput

	// Provides a brief hint describing the expected value of the element.
	Placeholder(format string, v ...any) HTMLInput

	// Indicates that the element's value cannot be edited by the user.
	ReadOnly(v bool) HTMLInput

	// Indicates that the element must contain a value before form submission.
	Required(v bool) HTMLInput

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLInput

	// Indicates the width of the element, usually in characters for input elements.
	Size(v int) HTMLInput

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLInput

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLInput

	// Specifies the interval between permissible values for an input field.
	Step(v float64) HTMLInput

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLInput

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLInput

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLInput

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLInput

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLInput

	// Assigns a value to the element.
	Value(v any) HTMLInput

	// Sets the width of the element.
	Width(v int) HTMLInput

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLInput

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLInput

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLInput

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLInput

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLInput

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLInput

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLInput

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLInput

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLInput

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLInput

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLInput

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLInput

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLInput

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLInput

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLInput

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLInput
}

// Returns an HTML element that defines an input control.
func () HTMLInput {
	 := &htmlInput{
		htmlElement: htmlElement{
			tag:           "input",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlInput struct {
	htmlElement
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("accept", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("alt", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  any) HTMLInput {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlInput) ( string,  any) HTMLInput {
	.setAttr(, )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	 := "off"
	if  {
		 = "on"
	}

	.setAttr("autocomplete", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("autofocus", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("capture", FormatString(, ...))
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("checked", )
	return 
}

func ( *htmlInput) ( ...string) HTMLInput {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlInput) ( string,  any) HTMLInput {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlInput) ( map[string]any) HTMLInput {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("dirname", FormatString(, ...))
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("disabled", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("draggable", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("formaction", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("formenctype", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("formmethod", FormatString(, ...))
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("formnovalidate", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("formtarget", FormatString(, ...))
	return 
}

func ( *htmlInput) ( int) HTMLInput {
	.setAttr("height", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("hidden", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("list", FormatString(, ...))
	return 
}

func ( *htmlInput) ( any) HTMLInput {
	.setAttr("max", )
	return 
}

func ( *htmlInput) ( int) HTMLInput {
	.setAttr("maxlength", )
	return 
}

func ( *htmlInput) ( any) HTMLInput {
	.setAttr("min", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("multiple", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("pattern", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("placeholder", FormatString(, ...))
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("readonly", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	.setAttr("required", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlInput) ( int) HTMLInput {
	.setAttr("size", )
	return 
}

func ( *htmlInput) ( bool) HTMLInput {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlInput) ( float64) HTMLInput {
	.setAttr("step", )
	return 
}

func ( *htmlInput) (,  string,  ...any) HTMLInput {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlInput) ( map[string]string) HTMLInput {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlInput) ( int) HTMLInput {
	.setAttr("tabindex", )
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlInput) ( string,  ...any) HTMLInput {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlInput) ( any) HTMLInput {
	.setAttr("value", )
	return 
}

func ( *htmlInput) ( int) HTMLInput {
	.setAttr("width", )
	return 
}

func ( *htmlInput) ( string,  EventHandler,  ...EventOption) HTMLInput {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("blur", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("change", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("click", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("contextmenu", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("copy", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("cut", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dblclick", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("drag", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dragend", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dragenter", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dragleave", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dragover", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("dragstart", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("drop", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("focus", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("input", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("invalid", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("keydown", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("keypress", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("keyup", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("load", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mousedown", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mouseenter", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mouseleave", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mousemove", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mouseout", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mouseover", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("mouseup", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("paste", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("reset", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("scroll", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("search", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("select", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("submit", , ...)
}

func ( *htmlInput) ( EventHandler,  ...EventOption) HTMLInput {
	return .On("wheel", , ...)
}

func ( *htmlInput) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlInput) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlInput) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlInput) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlInput) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlInput) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "ins" HTML element.
type HTMLIns interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLIns

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLIns

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLIns

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLIns

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLIns

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLIns

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLIns

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLIns

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLIns

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLIns

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLIns

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLIns

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLIns

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLIns

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLIns

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLIns

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLIns

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLIns

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLIns

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLIns

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLIns

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLIns

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLIns

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLIns

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLIns

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLIns

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLIns

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLIns

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLIns

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLIns

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLIns

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLIns

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLIns

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLIns

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLIns

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLIns
}

// Returns an HTML element that defines text that has been inserted into a document.
func () HTMLIns {
	 := &htmlIns{
		htmlElement: htmlElement{
			tag:           "ins",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlIns struct {
	htmlElement
}

func ( *htmlIns) ( ...UI) HTMLIns {
	return .setBody(FilterUIElems(...)).(*htmlIns)
}

func ( *htmlIns) ( any) HTMLIns {
	return .Body(Text())
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	return .Body(Textf(, ...))
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlIns) ( string,  any) HTMLIns {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlIns) ( string,  any) HTMLIns {
	.setAttr(, )
	return 
}

func ( *htmlIns) ( ...string) HTMLIns {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlIns) ( bool) HTMLIns {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlIns) ( string,  any) HTMLIns {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlIns) ( map[string]any) HTMLIns {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlIns) ( bool) HTMLIns {
	.setAttr("draggable", )
	return 
}

func ( *htmlIns) ( bool) HTMLIns {
	.setAttr("hidden", )
	return 
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlIns) ( bool) HTMLIns {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlIns) (,  string,  ...any) HTMLIns {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlIns) ( map[string]string) HTMLIns {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlIns) ( int) HTMLIns {
	.setAttr("tabindex", )
	return 
}

func ( *htmlIns) ( string,  ...any) HTMLIns {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlIns) ( string,  EventHandler,  ...EventOption) HTMLIns {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("blur", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("change", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("click", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("contextmenu", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("copy", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("cut", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dblclick", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("drag", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dragend", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dragenter", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dragleave", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dragover", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("dragstart", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("drop", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("focus", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("input", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("invalid", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("keydown", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("keypress", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("keyup", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mousedown", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mouseenter", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mouseleave", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mousemove", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mouseout", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mouseover", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("mouseup", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("paste", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("reset", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("scroll", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("search", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("select", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("submit", , ...)
}

func ( *htmlIns) ( EventHandler,  ...EventOption) HTMLIns {
	return .On("wheel", , ...)
}

func ( *htmlIns) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlIns) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlIns) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlIns) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlIns) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlIns) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "kbd" HTML element.
type HTMLKbd interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLKbd

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLKbd

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLKbd

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLKbd

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLKbd

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLKbd

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLKbd

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLKbd

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLKbd

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLKbd

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLKbd

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLKbd

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLKbd

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLKbd

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLKbd

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLKbd

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLKbd

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLKbd

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLKbd

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLKbd

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLKbd

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLKbd

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLKbd

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLKbd

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLKbd

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLKbd
}

// Returns an HTML element that represents keyboard input.
func () HTMLKbd {
	 := &htmlKbd{
		htmlElement: htmlElement{
			tag:           "kbd",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlKbd struct {
	htmlElement
}

func ( *htmlKbd) ( ...UI) HTMLKbd {
	return .setBody(FilterUIElems(...)).(*htmlKbd)
}

func ( *htmlKbd) ( any) HTMLKbd {
	return .Body(Text())
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	return .Body(Textf(, ...))
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( string,  any) HTMLKbd {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlKbd) ( string,  any) HTMLKbd {
	.setAttr(, )
	return 
}

func ( *htmlKbd) ( ...string) HTMLKbd {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlKbd) ( bool) HTMLKbd {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlKbd) ( string,  any) HTMLKbd {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlKbd) ( map[string]any) HTMLKbd {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( bool) HTMLKbd {
	.setAttr("draggable", )
	return 
}

func ( *htmlKbd) ( bool) HTMLKbd {
	.setAttr("hidden", )
	return 
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( bool) HTMLKbd {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlKbd) (,  string,  ...any) HTMLKbd {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlKbd) ( map[string]string) HTMLKbd {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlKbd) ( int) HTMLKbd {
	.setAttr("tabindex", )
	return 
}

func ( *htmlKbd) ( string,  ...any) HTMLKbd {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlKbd) ( string,  EventHandler,  ...EventOption) HTMLKbd {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("blur", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("change", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("click", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("contextmenu", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("copy", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("cut", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dblclick", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("drag", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dragend", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dragenter", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dragleave", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dragover", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("dragstart", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("drop", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("focus", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("input", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("invalid", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("keydown", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("keypress", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("keyup", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mousedown", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mouseenter", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mouseleave", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mousemove", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mouseout", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mouseover", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("mouseup", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("paste", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("reset", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("scroll", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("search", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("select", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("submit", , ...)
}

func ( *htmlKbd) ( EventHandler,  ...EventOption) HTMLKbd {
	return .On("wheel", , ...)
}

func ( *htmlKbd) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlKbd) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlKbd) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlKbd) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlKbd) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlKbd) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "label" HTML element.
type HTMLLabel interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLLabel

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLLabel

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLLabel

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLLabel

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLLabel

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLLabel

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLLabel

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLLabel

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLLabel

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLLabel

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLLabel

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLLabel

	// Associates a label or calculation with specific form element(s).
	For(format string, v ...any) HTMLLabel

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLLabel

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLLabel

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLLabel

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLLabel

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLLabel

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLLabel

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLLabel

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLLabel

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLLabel

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLLabel

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLLabel

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLLabel

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLLabel

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLLabel

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLLabel
}

// Returns an HTML element that represents a label for an input element.
func () HTMLLabel {
	 := &htmlLabel{
		htmlElement: htmlElement{
			tag:           "label",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlLabel struct {
	htmlElement
}

func ( *htmlLabel) ( ...UI) HTMLLabel {
	return .setBody(FilterUIElems(...)).(*htmlLabel)
}

func ( *htmlLabel) ( any) HTMLLabel {
	return .Body(Text())
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	return .Body(Textf(, ...))
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( string,  any) HTMLLabel {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlLabel) ( string,  any) HTMLLabel {
	.setAttr(, )
	return 
}

func ( *htmlLabel) ( ...string) HTMLLabel {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlLabel) ( bool) HTMLLabel {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlLabel) ( string,  any) HTMLLabel {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlLabel) ( map[string]any) HTMLLabel {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( bool) HTMLLabel {
	.setAttr("draggable", )
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("for", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( bool) HTMLLabel {
	.setAttr("hidden", )
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( bool) HTMLLabel {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlLabel) (,  string,  ...any) HTMLLabel {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlLabel) ( map[string]string) HTMLLabel {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlLabel) ( int) HTMLLabel {
	.setAttr("tabindex", )
	return 
}

func ( *htmlLabel) ( string,  ...any) HTMLLabel {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlLabel) ( string,  EventHandler,  ...EventOption) HTMLLabel {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("blur", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("change", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("click", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("contextmenu", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("copy", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("cut", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dblclick", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("drag", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dragend", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dragenter", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dragleave", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dragover", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("dragstart", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("drop", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("focus", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("input", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("invalid", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("keydown", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("keypress", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("keyup", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mousedown", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mouseenter", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mouseleave", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mousemove", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mouseout", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mouseover", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("mouseup", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("paste", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("reset", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("scroll", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("search", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("select", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("submit", , ...)
}

func ( *htmlLabel) ( EventHandler,  ...EventOption) HTMLLabel {
	return .On("wheel", , ...)
}

func ( *htmlLabel) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlLabel) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlLabel) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlLabel) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlLabel) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlLabel) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "legend" HTML element.
type HTMLLegend interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLLegend

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLLegend

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLLegend

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLLegend

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLLegend

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLLegend

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLLegend

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLLegend

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLLegend

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLLegend

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLLegend

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLLegend

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLLegend

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLLegend

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLLegend

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLLegend

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLLegend

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLLegend

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLLegend

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLLegend

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLLegend

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLLegend

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLLegend

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLLegend

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLLegend

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLLegend
}

// Returns an HTML element that represents a caption for a fieldset element.
func () HTMLLegend {
	 := &htmlLegend{
		htmlElement: htmlElement{
			tag:           "legend",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlLegend struct {
	htmlElement
}

func ( *htmlLegend) ( ...UI) HTMLLegend {
	return .setBody(FilterUIElems(...)).(*htmlLegend)
}

func ( *htmlLegend) ( any) HTMLLegend {
	return .Body(Text())
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	return .Body(Textf(, ...))
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( string,  any) HTMLLegend {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlLegend) ( string,  any) HTMLLegend {
	.setAttr(, )
	return 
}

func ( *htmlLegend) ( ...string) HTMLLegend {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlLegend) ( bool) HTMLLegend {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlLegend) ( string,  any) HTMLLegend {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlLegend) ( map[string]any) HTMLLegend {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( bool) HTMLLegend {
	.setAttr("draggable", )
	return 
}

func ( *htmlLegend) ( bool) HTMLLegend {
	.setAttr("hidden", )
	return 
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( bool) HTMLLegend {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlLegend) (,  string,  ...any) HTMLLegend {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlLegend) ( map[string]string) HTMLLegend {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlLegend) ( int) HTMLLegend {
	.setAttr("tabindex", )
	return 
}

func ( *htmlLegend) ( string,  ...any) HTMLLegend {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlLegend) ( string,  EventHandler,  ...EventOption) HTMLLegend {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("blur", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("change", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("click", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("contextmenu", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("copy", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("cut", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dblclick", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("drag", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dragend", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dragenter", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dragleave", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dragover", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("dragstart", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("drop", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("focus", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("input", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("invalid", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("keydown", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("keypress", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("keyup", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mousedown", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mouseenter", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mouseleave", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mousemove", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mouseout", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mouseover", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("mouseup", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("paste", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("reset", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("scroll", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("search", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("select", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("submit", , ...)
}

func ( *htmlLegend) ( EventHandler,  ...EventOption) HTMLLegend {
	return .On("wheel", , ...)
}

func ( *htmlLegend) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlLegend) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlLegend) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlLegend) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlLegend) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlLegend) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "li" HTML element.
type HTMLLi interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLLi

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLLi

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLLi

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLLi

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLLi

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLLi

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLLi

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLLi

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLLi

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLLi

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLLi

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLLi

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLLi

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLLi

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLLi

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLLi

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLLi

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLLi

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLLi

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLLi

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLLi

	// Assigns a value to the element.
	Value(v any) HTMLLi

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLLi

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLLi

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLLi

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLLi

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLLi

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLLi

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLLi

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLLi

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLLi

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLLi

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLLi

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLLi

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLLi

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLLi

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLLi
}

// Returns an HTML element that represents a list item.
func () HTMLLi {
	 := &htmlLi{
		htmlElement: htmlElement{
			tag:           "li",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlLi struct {
	htmlElement
}

func ( *htmlLi) ( ...UI) HTMLLi {
	return .setBody(FilterUIElems(...)).(*htmlLi)
}

func ( *htmlLi) ( any) HTMLLi {
	return .Body(Text())
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	return .Body(Textf(, ...))
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlLi) ( string,  any) HTMLLi {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlLi) ( string,  any) HTMLLi {
	.setAttr(, )
	return 
}

func ( *htmlLi) ( ...string) HTMLLi {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlLi) ( bool) HTMLLi {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlLi) ( string,  any) HTMLLi {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlLi) ( map[string]any) HTMLLi {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlLi) ( bool) HTMLLi {
	.setAttr("draggable", )
	return 
}

func ( *htmlLi) ( bool) HTMLLi {
	.setAttr("hidden", )
	return 
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlLi) ( bool) HTMLLi {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlLi) (,  string,  ...any) HTMLLi {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlLi) ( map[string]string) HTMLLi {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlLi) ( int) HTMLLi {
	.setAttr("tabindex", )
	return 
}

func ( *htmlLi) ( string,  ...any) HTMLLi {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlLi) ( any) HTMLLi {
	.setAttr("value", )
	return 
}

func ( *htmlLi) ( string,  EventHandler,  ...EventOption) HTMLLi {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("blur", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("change", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("click", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("contextmenu", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("copy", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("cut", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dblclick", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("drag", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dragend", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dragenter", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dragleave", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dragover", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("dragstart", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("drop", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("focus", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("input", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("invalid", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("keydown", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("keypress", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("keyup", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mousedown", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mouseenter", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mouseleave", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mousemove", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mouseout", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mouseover", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("mouseup", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("paste", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("reset", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("scroll", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("search", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("select", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("submit", , ...)
}

func ( *htmlLi) ( EventHandler,  ...EventOption) HTMLLi {
	return .On("wheel", , ...)
}

func ( *htmlLi) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlLi) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlLi) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlLi) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlLi) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlLi) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "link" HTML element.
type HTMLLink interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLLink

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLLink

	// Hints the type of content to preload, optimizing loading for certain resources.
	As(format string, v ...any) HTMLLink

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLLink

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLLink

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLLink

	// Controls how cross-origin requests are managed for the element, supporting secure content integration from different origins.
	CrossOrigin(format string, v ...any) HTMLLink

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLLink

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLLink

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLLink

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLLink

	// Provides a hint to the browser about how it should prioritize the fetch of the image in relation to other images.
	FetchPriority(format string, v ...any) HTMLLink

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLLink

	// Points to the URL of the destination when the link is clicked.
	Href(format string, v ...any) HTMLLink

	// Declares the language of the linked document's content.
	HrefLang(format string, v ...any) HTMLLink

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLLink

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLLink

	// Indicates the intended media or device for the linked document.
	Media(format string, v ...any) HTMLLink

	// Describes the relationship between the current and linked documents.
	Rel(format string, v ...any) HTMLLink

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLLink

	// Specifies sizes of icons and images for different page or screen scenarios. Uses the given format and values.
	Sizes(format string, v ...any) HTMLLink

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLLink

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLLink

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLLink

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLLink

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLLink

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLLink

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLLink

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLLink

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLLink

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLLink

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLLink

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLLink

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLLink

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLLink

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLLink

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLLink

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLLink

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLLink

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLLink

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLLink

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLLink

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLLink
}

// Returns an HTML element that describes the relationship between a document and an external resource (most commonly used to link to style sheets).
func () HTMLLink {
	 := &htmlLink{
		htmlElement: htmlElement{
			tag:           "link",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlLink struct {
	htmlElement
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  any) HTMLLink {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("as", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  any) HTMLLink {
	.setAttr(, )
	return 
}

func ( *htmlLink) ( ...string) HTMLLink {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlLink) ( bool) HTMLLink {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("crossorigin", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  any) HTMLLink {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlLink) ( map[string]any) HTMLLink {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlLink) ( bool) HTMLLink {
	.setAttr("draggable", )
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("fetchpriority", FormatString(, ...))
	return 
}

func ( *htmlLink) ( bool) HTMLLink {
	.setAttr("hidden", )
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("href", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("hreflang", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("media", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("rel", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("sizes", FormatString(, ...))
	return 
}

func ( *htmlLink) ( bool) HTMLLink {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlLink) (,  string,  ...any) HTMLLink {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlLink) ( map[string]string) HTMLLink {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlLink) ( int) HTMLLink {
	.setAttr("tabindex", )
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  ...any) HTMLLink {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlLink) ( string,  EventHandler,  ...EventOption) HTMLLink {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("blur", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("change", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("click", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("contextmenu", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("copy", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("cut", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dblclick", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("drag", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dragend", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dragenter", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dragleave", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dragover", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("dragstart", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("drop", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("focus", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("input", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("invalid", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("keydown", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("keypress", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("keyup", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("load", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mousedown", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mouseenter", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mouseleave", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mousemove", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mouseout", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mouseover", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("mouseup", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("paste", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("reset", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("scroll", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("search", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("select", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("submit", , ...)
}

func ( *htmlLink) ( EventHandler,  ...EventOption) HTMLLink {
	return .On("wheel", , ...)
}

func ( *htmlLink) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlLink) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlLink) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlLink) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlLink) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlLink) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "main" HTML element.
type HTMLMain interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLMain

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLMain

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLMain

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLMain

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLMain

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLMain

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLMain

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLMain

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLMain

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLMain

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLMain

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLMain

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLMain

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLMain

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLMain

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLMain

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLMain

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLMain

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLMain

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLMain

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLMain

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLMain

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLMain

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLMain

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLMain

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLMain

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLMain

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLMain

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLMain

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLMain

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLMain

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLMain

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLMain

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLMain

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLMain

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLMain
}

// Returns an HTML element that specifies the main content of a document.
func () HTMLMain {
	 := &htmlMain{
		htmlElement: htmlElement{
			tag:           "main",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlMain struct {
	htmlElement
}

func ( *htmlMain) ( ...UI) HTMLMain {
	return .setBody(FilterUIElems(...)).(*htmlMain)
}

func ( *htmlMain) ( any) HTMLMain {
	return .Body(Text())
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	return .Body(Textf(, ...))
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlMain) ( string,  any) HTMLMain {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlMain) ( string,  any) HTMLMain {
	.setAttr(, )
	return 
}

func ( *htmlMain) ( ...string) HTMLMain {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlMain) ( bool) HTMLMain {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlMain) ( string,  any) HTMLMain {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlMain) ( map[string]any) HTMLMain {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlMain) ( bool) HTMLMain {
	.setAttr("draggable", )
	return 
}

func ( *htmlMain) ( bool) HTMLMain {
	.setAttr("hidden", )
	return 
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlMain) ( bool) HTMLMain {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlMain) (,  string,  ...any) HTMLMain {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlMain) ( map[string]string) HTMLMain {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlMain) ( int) HTMLMain {
	.setAttr("tabindex", )
	return 
}

func ( *htmlMain) ( string,  ...any) HTMLMain {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlMain) ( string,  EventHandler,  ...EventOption) HTMLMain {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("blur", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("change", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("click", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("contextmenu", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("copy", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("cut", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dblclick", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("drag", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dragend", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dragenter", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dragleave", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dragover", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("dragstart", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("drop", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("focus", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("input", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("invalid", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("keydown", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("keypress", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("keyup", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mousedown", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mouseenter", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mouseleave", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mousemove", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mouseout", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mouseover", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("mouseup", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("paste", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("reset", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("scroll", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("search", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("select", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("submit", , ...)
}

func ( *htmlMain) ( EventHandler,  ...EventOption) HTMLMain {
	return .On("wheel", , ...)
}

func ( *htmlMain) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlMain) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlMain) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlMain) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlMain) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlMain) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "map" HTML element.
type HTMLMap interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLMap

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLMap

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLMap

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLMap

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLMap

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLMap

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLMap

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLMap

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLMap

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLMap

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLMap

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLMap

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLMap

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLMap

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLMap

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLMap

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLMap

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLMap

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLMap

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLMap

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLMap

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLMap

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLMap

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLMap

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLMap

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLMap

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLMap

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLMap

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLMap

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLMap

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLMap

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLMap

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLMap

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLMap

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLMap

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLMap

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLMap
}

// Returns an HTML element that represents a client-side image-map.
func () HTMLMap {
	 := &htmlMap{
		htmlElement: htmlElement{
			tag:           "map",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlMap struct {
	htmlElement
}

func ( *htmlMap) ( ...UI) HTMLMap {
	return .setBody(FilterUIElems(...)).(*htmlMap)
}

func ( *htmlMap) ( any) HTMLMap {
	return .Body(Text())
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	return .Body(Textf(, ...))
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlMap) ( string,  any) HTMLMap {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlMap) ( string,  any) HTMLMap {
	.setAttr(, )
	return 
}

func ( *htmlMap) ( ...string) HTMLMap {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlMap) ( bool) HTMLMap {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlMap) ( string,  any) HTMLMap {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlMap) ( map[string]any) HTMLMap {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlMap) ( bool) HTMLMap {
	.setAttr("draggable", )
	return 
}

func ( *htmlMap) ( bool) HTMLMap {
	.setAttr("hidden", )
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlMap) ( bool) HTMLMap {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlMap) (,  string,  ...any) HTMLMap {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlMap) ( map[string]string) HTMLMap {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlMap) ( int) HTMLMap {
	.setAttr("tabindex", )
	return 
}

func ( *htmlMap) ( string,  ...any) HTMLMap {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlMap) ( string,  EventHandler,  ...EventOption) HTMLMap {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("blur", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("change", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("click", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("contextmenu", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("copy", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("cut", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dblclick", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("drag", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dragend", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dragenter", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dragleave", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dragover", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("dragstart", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("drop", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("focus", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("input", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("invalid", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("keydown", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("keypress", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("keyup", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mousedown", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mouseenter", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mouseleave", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mousemove", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mouseout", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mouseover", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("mouseup", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("paste", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("reset", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("scroll", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("search", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("select", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("submit", , ...)
}

func ( *htmlMap) ( EventHandler,  ...EventOption) HTMLMap {
	return .On("wheel", , ...)
}

func ( *htmlMap) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlMap) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlMap) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlMap) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlMap) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlMap) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "mark" HTML element.
type HTMLMark interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLMark

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLMark

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLMark

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLMark

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLMark

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLMark

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLMark

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLMark

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLMark

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLMark

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLMark

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLMark

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLMark

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLMark

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLMark

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLMark

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLMark

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLMark

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLMark

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLMark

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLMark

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLMark

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLMark

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLMark

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLMark

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLMark

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLMark

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLMark

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLMark

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLMark

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLMark

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLMark

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLMark

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLMark

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLMark

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLMark
}

// Returns an HTML element that represents marked/highlighted text.
func () HTMLMark {
	 := &htmlMark{
		htmlElement: htmlElement{
			tag:           "mark",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlMark struct {
	htmlElement
}

func ( *htmlMark) ( ...UI) HTMLMark {
	return .setBody(FilterUIElems(...)).(*htmlMark)
}

func ( *htmlMark) ( any) HTMLMark {
	return .Body(Text())
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	return .Body(Textf(, ...))
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlMark) ( string,  any) HTMLMark {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlMark) ( string,  any) HTMLMark {
	.setAttr(, )
	return 
}

func ( *htmlMark) ( ...string) HTMLMark {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlMark) ( bool) HTMLMark {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlMark) ( string,  any) HTMLMark {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlMark) ( map[string]any) HTMLMark {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlMark) ( bool) HTMLMark {
	.setAttr("draggable", )
	return 
}

func ( *htmlMark) ( bool) HTMLMark {
	.setAttr("hidden", )
	return 
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlMark) ( bool) HTMLMark {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlMark) (,  string,  ...any) HTMLMark {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlMark) ( map[string]string) HTMLMark {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlMark) ( int) HTMLMark {
	.setAttr("tabindex", )
	return 
}

func ( *htmlMark) ( string,  ...any) HTMLMark {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlMark) ( string,  EventHandler,  ...EventOption) HTMLMark {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("blur", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("change", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("click", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("contextmenu", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("copy", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("cut", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dblclick", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("drag", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dragend", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dragenter", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dragleave", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dragover", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("dragstart", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("drop", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("focus", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("input", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("invalid", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("keydown", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("keypress", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("keyup", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mousedown", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mouseenter", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mouseleave", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mousemove", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mouseout", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mouseover", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("mouseup", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("paste", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("reset", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("scroll", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("search", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("select", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("submit", , ...)
}

func ( *htmlMark) ( EventHandler,  ...EventOption) HTMLMark {
	return .On("wheel", , ...)
}

func ( *htmlMark) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlMark) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlMark) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlMark) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlMark) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlMark) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "meta" HTML element.
type HTMLMeta interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLMeta

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLMeta

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLMeta

	// Specifies the character encoding for the linked document or external resource.
	Charset(format string, v ...any) HTMLMeta

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLMeta

	// Specifies metadata content for the `http-equiv` or `name` attributes, often used in meta tags.
	Content(format string, v ...any) HTMLMeta

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLMeta

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLMeta

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLMeta

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLMeta

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLMeta

	// Supplies an HTTP header for the content attribute, often used for refresh rates or setting a default charset.
	HTTPEquiv(format string, v ...any) HTMLMeta

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLMeta

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLMeta

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLMeta

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLMeta

	// Defines the property name of the element.
	Property(format string, v ...any) HTMLMeta

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLMeta

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLMeta

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLMeta

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLMeta

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLMeta

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLMeta

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLMeta
}

// Returns an HTML element that provides metadata about the HTML document.
func () HTMLMeta {
	 := &htmlMeta{
		htmlElement: htmlElement{
			tag:           "meta",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlMeta struct {
	htmlElement
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  any) HTMLMeta {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlMeta) ( string,  any) HTMLMeta {
	.setAttr(, )
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("charset", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( ...string) HTMLMeta {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("content", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( bool) HTMLMeta {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlMeta) ( string,  any) HTMLMeta {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlMeta) ( map[string]any) HTMLMeta {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( bool) HTMLMeta {
	.setAttr("draggable", )
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("http-equiv", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( bool) HTMLMeta {
	.setAttr("hidden", )
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("property", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( bool) HTMLMeta {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlMeta) (,  string,  ...any) HTMLMeta {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlMeta) ( map[string]string) HTMLMeta {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlMeta) ( int) HTMLMeta {
	.setAttr("tabindex", )
	return 
}

func ( *htmlMeta) ( string,  ...any) HTMLMeta {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlMeta) ( string,  EventHandler,  ...EventOption) HTMLMeta {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlMeta) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlMeta) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlMeta) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlMeta) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlMeta) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlMeta) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "meter" HTML element.
type HTMLMeter interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLMeter

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLMeter

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLMeter

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLMeter

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLMeter

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLMeter

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLMeter

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLMeter

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLMeter

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLMeter

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLMeter

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLMeter

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLMeter

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLMeter

	// Defines the value threshold considered as 'high' in a range context.
	High(v float64) HTMLMeter

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLMeter

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLMeter

	// Sets the value threshold regarded as 'low' in a range context.
	Low(v float64) HTMLMeter

	// Establishes the maximum permissible value.
	Max(v any) HTMLMeter

	// Establishes the minimum permissible value.
	Min(v any) HTMLMeter

	// Sets the optimal numeric value for a gauge element.
	Optimum(v float64) HTMLMeter

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLMeter

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLMeter

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLMeter

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLMeter

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLMeter

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLMeter

	// Assigns a value to the element.
	Value(v any) HTMLMeter

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLMeter

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLMeter

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLMeter

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLMeter

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLMeter
}

// Returns an HTML element that represents a scalar measurement within a known range (like a gauge).
func () HTMLMeter {
	 := &htmlMeter{
		htmlElement: htmlElement{
			tag:           "meter",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlMeter struct {
	htmlElement
}

func ( *htmlMeter) ( ...UI) HTMLMeter {
	return .setBody(FilterUIElems(...)).(*htmlMeter)
}

func ( *htmlMeter) ( any) HTMLMeter {
	return .Body(Text())
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	return .Body(Textf(, ...))
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( string,  any) HTMLMeter {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlMeter) ( string,  any) HTMLMeter {
	.setAttr(, )
	return 
}

func ( *htmlMeter) ( ...string) HTMLMeter {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlMeter) ( bool) HTMLMeter {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlMeter) ( string,  any) HTMLMeter {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlMeter) ( map[string]any) HTMLMeter {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( bool) HTMLMeter {
	.setAttr("draggable", )
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( bool) HTMLMeter {
	.setAttr("hidden", )
	return 
}

func ( *htmlMeter) ( float64) HTMLMeter {
	.setAttr("high", )
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( float64) HTMLMeter {
	.setAttr("low", )
	return 
}

func ( *htmlMeter) ( any) HTMLMeter {
	.setAttr("max", )
	return 
}

func ( *htmlMeter) ( any) HTMLMeter {
	.setAttr("min", )
	return 
}

func ( *htmlMeter) ( float64) HTMLMeter {
	.setAttr("optimum", )
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( bool) HTMLMeter {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlMeter) (,  string,  ...any) HTMLMeter {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlMeter) ( map[string]string) HTMLMeter {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlMeter) ( int) HTMLMeter {
	.setAttr("tabindex", )
	return 
}

func ( *htmlMeter) ( string,  ...any) HTMLMeter {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlMeter) ( any) HTMLMeter {
	.setAttr("value", )
	return 
}

func ( *htmlMeter) ( string,  EventHandler,  ...EventOption) HTMLMeter {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("blur", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("change", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("click", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("contextmenu", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("copy", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("cut", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dblclick", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("drag", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dragend", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dragenter", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dragleave", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dragover", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("dragstart", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("drop", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("focus", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("input", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("invalid", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("keydown", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("keypress", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("keyup", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mousedown", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mouseenter", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mouseleave", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mousemove", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mouseout", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mouseover", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("mouseup", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("paste", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("reset", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("scroll", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("search", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("select", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("submit", , ...)
}

func ( *htmlMeter) ( EventHandler,  ...EventOption) HTMLMeter {
	return .On("wheel", , ...)
}

func ( *htmlMeter) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlMeter) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlMeter) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlMeter) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlMeter) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlMeter) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "nav" HTML element.
type HTMLNav interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLNav

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLNav

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLNav

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLNav

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLNav

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLNav

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLNav

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLNav

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLNav

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLNav

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLNav

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLNav

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLNav

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLNav

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLNav

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLNav

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLNav

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLNav

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLNav

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLNav

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLNav

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLNav

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLNav

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLNav

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLNav

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLNav

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLNav

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLNav

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLNav

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLNav

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLNav

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLNav

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLNav

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLNav

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLNav

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLNav
}

// Returns an HTML element that represents navigation links.
func () HTMLNav {
	 := &htmlNav{
		htmlElement: htmlElement{
			tag:           "nav",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlNav struct {
	htmlElement
}

func ( *htmlNav) ( ...UI) HTMLNav {
	return .setBody(FilterUIElems(...)).(*htmlNav)
}

func ( *htmlNav) ( any) HTMLNav {
	return .Body(Text())
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	return .Body(Textf(, ...))
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlNav) ( string,  any) HTMLNav {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlNav) ( string,  any) HTMLNav {
	.setAttr(, )
	return 
}

func ( *htmlNav) ( ...string) HTMLNav {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlNav) ( bool) HTMLNav {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlNav) ( string,  any) HTMLNav {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlNav) ( map[string]any) HTMLNav {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlNav) ( bool) HTMLNav {
	.setAttr("draggable", )
	return 
}

func ( *htmlNav) ( bool) HTMLNav {
	.setAttr("hidden", )
	return 
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlNav) ( bool) HTMLNav {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlNav) (,  string,  ...any) HTMLNav {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlNav) ( map[string]string) HTMLNav {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlNav) ( int) HTMLNav {
	.setAttr("tabindex", )
	return 
}

func ( *htmlNav) ( string,  ...any) HTMLNav {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlNav) ( string,  EventHandler,  ...EventOption) HTMLNav {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("blur", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("change", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("click", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("contextmenu", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("copy", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("cut", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dblclick", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("drag", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dragend", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dragenter", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dragleave", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dragover", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("dragstart", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("drop", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("focus", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("input", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("invalid", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("keydown", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("keypress", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("keyup", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mousedown", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mouseenter", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mouseleave", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mousemove", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mouseout", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mouseover", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("mouseup", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("paste", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("reset", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("scroll", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("search", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("select", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("submit", , ...)
}

func ( *htmlNav) ( EventHandler,  ...EventOption) HTMLNav {
	return .On("wheel", , ...)
}

func ( *htmlNav) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlNav) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlNav) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlNav) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlNav) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlNav) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "noscript" HTML element.
type HTMLNoScript interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLNoScript

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLNoScript

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLNoScript

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLNoScript

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLNoScript

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLNoScript

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLNoScript

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLNoScript

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLNoScript

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLNoScript

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLNoScript

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLNoScript

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLNoScript

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLNoScript

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLNoScript

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLNoScript

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLNoScript

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLNoScript

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLNoScript

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLNoScript

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLNoScript

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLNoScript
}

// Returns an HTML element that provides alternate content for users who do not support client-side scripts.
func () HTMLNoScript {
	 := &htmlNoScript{
		htmlElement: htmlElement{
			tag:           "noscript",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlNoScript struct {
	htmlElement
}

func ( *htmlNoScript) ( ...UI) HTMLNoScript {
	return .setBody(FilterUIElems(...)).(*htmlNoScript)
}

func ( *htmlNoScript) ( any) HTMLNoScript {
	return .Body(Text())
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	return .Body(Textf(, ...))
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( string,  any) HTMLNoScript {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlNoScript) ( string,  any) HTMLNoScript {
	.setAttr(, )
	return 
}

func ( *htmlNoScript) ( ...string) HTMLNoScript {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlNoScript) ( bool) HTMLNoScript {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlNoScript) ( string,  any) HTMLNoScript {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlNoScript) ( map[string]any) HTMLNoScript {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( bool) HTMLNoScript {
	.setAttr("draggable", )
	return 
}

func ( *htmlNoScript) ( bool) HTMLNoScript {
	.setAttr("hidden", )
	return 
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( bool) HTMLNoScript {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlNoScript) (,  string,  ...any) HTMLNoScript {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( map[string]string) HTMLNoScript {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlNoScript) ( int) HTMLNoScript {
	.setAttr("tabindex", )
	return 
}

func ( *htmlNoScript) ( string,  ...any) HTMLNoScript {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlNoScript) ( string,  EventHandler,  ...EventOption) HTMLNoScript {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlNoScript) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlNoScript) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlNoScript) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlNoScript) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlNoScript) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlNoScript) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "object" HTML element.
type HTMLObject interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLObject

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLObject

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLObject

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLObject

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLObject

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLObject

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLObject

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLObject

	// Specifies the URL of a resource associated with an embedded object, such as media or data.
	Data(format string, v ...any) HTMLObject

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLObject

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLObject

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLObject

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLObject

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLObject

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLObject

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLObject

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLObject

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLObject

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLObject

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLObject

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLObject

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLObject

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLObject

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLObject

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLObject

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLObject

	// Associates the element with a client-side image map. Can be called with the designated format and values.
	UseMap(format string, v ...any) HTMLObject

	// Sets the width of the element.
	Width(v int) HTMLObject

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when media loading is aborted.
	OnAbort(h EventHandler, options ...EventOption) HTMLObject

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler when media has buffered sufficiently to begin playback.
	OnCanPlay(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when media can be played through without buffering interruptions.
	OnCanPlayThrough(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler upon cue changes within a track element.
	OnCueChange(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLObject

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler when the media's duration changes.
	OnDurationChange(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when media unexpectedly becomes unavailable.
	OnEmptied(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when media playback reaches the end.
	OnEnded(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLObject

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLObject

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when media loading commences.
	OnLoadStart(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler as media data finishes loading.
	OnLoadedData(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when metadata (like duration and dimensions) are fully loaded.
	OnLoadedMetaData(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLObject

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLObject

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler when media playback is paused.
	OnPause(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when media starts its playback.
	OnPlay(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler once the media has initiated playback.
	OnPlaying(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler while the browser fetches media data.
	OnProgress(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when playback rate changes (e.g., slow motion or fast forward).
	OnRateChange(h EventHandler, options ...EventOption) HTMLObject

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler post seeking completion.
	OnSeeked(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler during the seeking process.
	OnSeeking(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler when media data fetching stalls.
	OnStalled(h EventHandler, options ...EventOption) HTMLObject

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when media data fetching is suspended.
	OnSuspend(h EventHandler, options ...EventOption) HTMLObject

	// Executes the handler when the media's playback position changes.
	OnTimeUpdate(h EventHandler, options ...EventOption) HTMLObject

	// Invokes the handler upon volume changes or muting.
	OnVolumeChange(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the handler when media pauses, awaiting further buffering.
	OnWaiting(h EventHandler, options ...EventOption) HTMLObject

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLObject
}

// Returns an HTML element that embeds an object within the document.
func () HTMLObject {
	 := &htmlObject{
		htmlElement: htmlElement{
			tag:           "object",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlObject struct {
	htmlElement
}

func ( *htmlObject) ( ...UI) HTMLObject {
	return .setBody(FilterUIElems(...)).(*htmlObject)
}

func ( *htmlObject) ( any) HTMLObject {
	return .Body(Text())
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	return .Body(Textf(, ...))
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  any) HTMLObject {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlObject) ( string,  any) HTMLObject {
	.setAttr(, )
	return 
}

func ( *htmlObject) ( ...string) HTMLObject {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlObject) ( bool) HTMLObject {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("data", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  any) HTMLObject {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlObject) ( map[string]any) HTMLObject {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlObject) ( bool) HTMLObject {
	.setAttr("draggable", )
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlObject) ( int) HTMLObject {
	.setAttr("height", )
	return 
}

func ( *htmlObject) ( bool) HTMLObject {
	.setAttr("hidden", )
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlObject) ( bool) HTMLObject {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlObject) (,  string,  ...any) HTMLObject {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlObject) ( map[string]string) HTMLObject {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlObject) ( int) HTMLObject {
	.setAttr("tabindex", )
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlObject) ( string,  ...any) HTMLObject {
	.setAttr("usemap", FormatString(, ...))
	return 
}

func ( *htmlObject) ( int) HTMLObject {
	.setAttr("width", )
	return 
}

func ( *htmlObject) ( string,  EventHandler,  ...EventOption) HTMLObject {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("abort", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("blur", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("canplay", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("canplaythrough", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("change", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("click", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("contextmenu", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("copy", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("cuechange", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("cut", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dblclick", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("drag", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dragend", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dragenter", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dragleave", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dragover", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("dragstart", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("drop", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("durationchange", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("emptied", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("ended", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("error", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("focus", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("input", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("invalid", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("keydown", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("keypress", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("keyup", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("loadstart", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("loadeddata", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("loadedmetadata", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mousedown", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mouseenter", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mouseleave", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mousemove", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mouseout", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mouseover", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("mouseup", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("paste", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("pause", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("play", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("playing", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("progress", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("ratechange", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("reset", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("scroll", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("search", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("seeked", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("seeking", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("select", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("stalled", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("submit", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("suspend", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("timeupdate", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("volumechange", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("waiting", , ...)
}

func ( *htmlObject) ( EventHandler,  ...EventOption) HTMLObject {
	return .On("wheel", , ...)
}

func ( *htmlObject) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlObject) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlObject) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlObject) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlObject) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlObject) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "ol" HTML element.
type HTMLOl interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLOl

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLOl

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLOl

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLOl

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLOl

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLOl

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLOl

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLOl

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLOl

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLOl

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLOl

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLOl

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLOl

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLOl

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLOl

	// States that the list items should be displayed in descending order.
	Reversed(v bool) HTMLOl

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLOl

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLOl

	// Determines the starting number for an ordered list.
	Start(v int) HTMLOl

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLOl

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLOl

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLOl

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLOl

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLOl

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLOl

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLOl

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLOl

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLOl

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLOl

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLOl

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLOl

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLOl

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLOl

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLOl

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLOl

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLOl

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLOl

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLOl

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLOl
}

// Returns an HTML element that represents an ordered list.
func () HTMLOl {
	 := &htmlOl{
		htmlElement: htmlElement{
			tag:           "ol",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlOl struct {
	htmlElement
}

func ( *htmlOl) ( ...UI) HTMLOl {
	return .setBody(FilterUIElems(...)).(*htmlOl)
}

func ( *htmlOl) ( any) HTMLOl {
	return .Body(Text())
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	return .Body(Textf(, ...))
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlOl) ( string,  any) HTMLOl {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlOl) ( string,  any) HTMLOl {
	.setAttr(, )
	return 
}

func ( *htmlOl) ( ...string) HTMLOl {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlOl) ( bool) HTMLOl {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlOl) ( string,  any) HTMLOl {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlOl) ( map[string]any) HTMLOl {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlOl) ( bool) HTMLOl {
	.setAttr("draggable", )
	return 
}

func ( *htmlOl) ( bool) HTMLOl {
	.setAttr("hidden", )
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlOl) ( bool) HTMLOl {
	.setAttr("reversed", )
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlOl) ( bool) HTMLOl {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlOl) ( int) HTMLOl {
	.setAttr("start", )
	return 
}

func ( *htmlOl) (,  string,  ...any) HTMLOl {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlOl) ( map[string]string) HTMLOl {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlOl) ( int) HTMLOl {
	.setAttr("tabindex", )
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlOl) ( string,  ...any) HTMLOl {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlOl) ( string,  EventHandler,  ...EventOption) HTMLOl {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("blur", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("change", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("click", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("contextmenu", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("copy", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("cut", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dblclick", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("drag", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dragend", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dragenter", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dragleave", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dragover", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("dragstart", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("drop", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("focus", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("input", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("invalid", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("keydown", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("keypress", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("keyup", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mousedown", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mouseenter", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mouseleave", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mousemove", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mouseout", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mouseover", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("mouseup", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("paste", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("reset", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("scroll", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("search", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("select", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("submit", , ...)
}

func ( *htmlOl) ( EventHandler,  ...EventOption) HTMLOl {
	return .On("wheel", , ...)
}

func ( *htmlOl) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlOl) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlOl) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlOl) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlOl) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlOl) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "optgroup" HTML element.
type HTMLOptGroup interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLOptGroup

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLOptGroup

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLOptGroup

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLOptGroup

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLOptGroup

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLOptGroup

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLOptGroup

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLOptGroup

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLOptGroup

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLOptGroup

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLOptGroup

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLOptGroup

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLOptGroup

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLOptGroup

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLOptGroup

	// Provides a concise label for an option element.
	Label(format string, v ...any) HTMLOptGroup

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLOptGroup

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLOptGroup

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLOptGroup

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLOptGroup

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLOptGroup

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLOptGroup

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLOptGroup

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLOptGroup

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLOptGroup

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLOptGroup

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLOptGroup
}

// Returns an HTML element that groups related options in a drop-down list.
func () HTMLOptGroup {
	 := &htmlOptGroup{
		htmlElement: htmlElement{
			tag:           "optgroup",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlOptGroup struct {
	htmlElement
}

func ( *htmlOptGroup) ( ...UI) HTMLOptGroup {
	return .setBody(FilterUIElems(...)).(*htmlOptGroup)
}

func ( *htmlOptGroup) ( any) HTMLOptGroup {
	return .Body(Text())
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	return .Body(Textf(, ...))
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( string,  any) HTMLOptGroup {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlOptGroup) ( string,  any) HTMLOptGroup {
	.setAttr(, )
	return 
}

func ( *htmlOptGroup) ( ...string) HTMLOptGroup {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlOptGroup) ( bool) HTMLOptGroup {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlOptGroup) ( string,  any) HTMLOptGroup {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlOptGroup) ( map[string]any) HTMLOptGroup {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( bool) HTMLOptGroup {
	.setAttr("disabled", )
	return 
}

func ( *htmlOptGroup) ( bool) HTMLOptGroup {
	.setAttr("draggable", )
	return 
}

func ( *htmlOptGroup) ( bool) HTMLOptGroup {
	.setAttr("hidden", )
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("label", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( bool) HTMLOptGroup {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlOptGroup) (,  string,  ...any) HTMLOptGroup {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( map[string]string) HTMLOptGroup {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlOptGroup) ( int) HTMLOptGroup {
	.setAttr("tabindex", )
	return 
}

func ( *htmlOptGroup) ( string,  ...any) HTMLOptGroup {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlOptGroup) ( string,  EventHandler,  ...EventOption) HTMLOptGroup {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("blur", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("change", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("click", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("contextmenu", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("copy", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("cut", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dblclick", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("drag", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dragend", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dragenter", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dragleave", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dragover", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("dragstart", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("drop", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("focus", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("input", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("invalid", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("keydown", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("keypress", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("keyup", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mousedown", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mouseenter", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mouseleave", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mousemove", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mouseout", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mouseover", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("mouseup", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("paste", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("reset", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("scroll", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("search", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("select", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("submit", , ...)
}

func ( *htmlOptGroup) ( EventHandler,  ...EventOption) HTMLOptGroup {
	return .On("wheel", , ...)
}

func ( *htmlOptGroup) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlOptGroup) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlOptGroup) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlOptGroup) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlOptGroup) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlOptGroup) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "option" HTML element.
type HTMLOption interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLOption

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLOption

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLOption

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLOption

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLOption

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLOption

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLOption

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLOption

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLOption

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLOption

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLOption

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLOption

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLOption

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLOption

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLOption

	// Provides a concise label for an option element.
	Label(format string, v ...any) HTMLOption

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLOption

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLOption

	// Indicates that an option should be pre-selected when the page loads.
	Selected(v bool) HTMLOption

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLOption

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLOption

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLOption

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLOption

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLOption

	// Assigns a value to the element.
	Value(v any) HTMLOption

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLOption

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLOption

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLOption

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLOption

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLOption

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLOption

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLOption

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLOption

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLOption

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLOption

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLOption

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLOption

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLOption

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLOption

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLOption
}

// Returns an HTML element that represents an option in a drop-down list.
func () HTMLOption {
	 := &htmlOption{
		htmlElement: htmlElement{
			tag:           "option",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlOption struct {
	htmlElement
}

func ( *htmlOption) ( ...UI) HTMLOption {
	return .setBody(FilterUIElems(...)).(*htmlOption)
}

func ( *htmlOption) ( any) HTMLOption {
	return .Body(Text())
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	return .Body(Textf(, ...))
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlOption) ( string,  any) HTMLOption {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlOption) ( string,  any) HTMLOption {
	.setAttr(, )
	return 
}

func ( *htmlOption) ( ...string) HTMLOption {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlOption) ( string,  any) HTMLOption {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlOption) ( map[string]any) HTMLOption {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	.setAttr("disabled", )
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	.setAttr("draggable", )
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	.setAttr("hidden", )
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("label", FormatString(, ...))
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	.setAttr("selected", )
	return 
}

func ( *htmlOption) ( bool) HTMLOption {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlOption) (,  string,  ...any) HTMLOption {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlOption) ( map[string]string) HTMLOption {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlOption) ( int) HTMLOption {
	.setAttr("tabindex", )
	return 
}

func ( *htmlOption) ( string,  ...any) HTMLOption {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlOption) ( any) HTMLOption {
	.setAttr("value", )
	return 
}

func ( *htmlOption) ( string,  EventHandler,  ...EventOption) HTMLOption {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("blur", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("change", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("click", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("contextmenu", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("copy", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("cut", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dblclick", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("drag", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dragend", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dragenter", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dragleave", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dragover", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("dragstart", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("drop", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("focus", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("input", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("invalid", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("keydown", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("keypress", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("keyup", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mousedown", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mouseenter", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mouseleave", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mousemove", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mouseout", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mouseover", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("mouseup", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("paste", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("reset", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("scroll", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("search", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("select", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("submit", , ...)
}

func ( *htmlOption) ( EventHandler,  ...EventOption) HTMLOption {
	return .On("wheel", , ...)
}

func ( *htmlOption) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlOption) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlOption) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlOption) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlOption) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlOption) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "output" HTML element.
type HTMLOutput interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLOutput

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLOutput

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLOutput

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLOutput

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLOutput

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLOutput

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLOutput

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLOutput

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLOutput

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLOutput

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLOutput

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLOutput

	// Associates a label or calculation with specific form element(s).
	For(format string, v ...any) HTMLOutput

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLOutput

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLOutput

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLOutput

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLOutput

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLOutput

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLOutput

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLOutput

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLOutput

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLOutput

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLOutput

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLOutput

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLOutput

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLOutput

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLOutput

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLOutput

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLOutput
}

// Returns an HTML element that displays the result of a calculation or user action.
func () HTMLOutput {
	 := &htmlOutput{
		htmlElement: htmlElement{
			tag:           "output",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlOutput struct {
	htmlElement
}

func ( *htmlOutput) ( ...UI) HTMLOutput {
	return .setBody(FilterUIElems(...)).(*htmlOutput)
}

func ( *htmlOutput) ( any) HTMLOutput {
	return .Body(Text())
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	return .Body(Textf(, ...))
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  any) HTMLOutput {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlOutput) ( string,  any) HTMLOutput {
	.setAttr(, )
	return 
}

func ( *htmlOutput) ( ...string) HTMLOutput {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlOutput) ( bool) HTMLOutput {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlOutput) ( string,  any) HTMLOutput {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlOutput) ( map[string]any) HTMLOutput {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( bool) HTMLOutput {
	.setAttr("draggable", )
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("for", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( bool) HTMLOutput {
	.setAttr("hidden", )
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( bool) HTMLOutput {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlOutput) (,  string,  ...any) HTMLOutput {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlOutput) ( map[string]string) HTMLOutput {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlOutput) ( int) HTMLOutput {
	.setAttr("tabindex", )
	return 
}

func ( *htmlOutput) ( string,  ...any) HTMLOutput {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlOutput) ( string,  EventHandler,  ...EventOption) HTMLOutput {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("blur", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("change", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("click", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("contextmenu", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("copy", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("cut", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dblclick", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("drag", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dragend", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dragenter", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dragleave", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dragover", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("dragstart", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("drop", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("focus", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("input", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("invalid", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("keydown", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("keypress", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("keyup", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mousedown", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mouseenter", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mouseleave", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mousemove", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mouseout", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mouseover", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("mouseup", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("paste", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("reset", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("scroll", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("search", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("select", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("submit", , ...)
}

func ( *htmlOutput) ( EventHandler,  ...EventOption) HTMLOutput {
	return .On("wheel", , ...)
}

func ( *htmlOutput) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlOutput) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlOutput) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlOutput) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlOutput) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlOutput) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "p" HTML element.
type HTMLP interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLP

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLP

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLP

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLP

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLP

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLP

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLP

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLP

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLP

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLP

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLP

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLP

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLP

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLP

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLP

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLP

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLP

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLP

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLP

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLP

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLP

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLP

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLP

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLP

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLP

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLP

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLP

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLP

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLP

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLP

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLP

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLP

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLP

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLP

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLP

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLP

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLP

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLP

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLP

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLP

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLP

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLP

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLP

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLP

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLP

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLP

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLP

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLP

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLP

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLP
}

// Returns an HTML element that represents a paragraph.
func () HTMLP {
	 := &htmlP{
		htmlElement: htmlElement{
			tag:           "p",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlP struct {
	htmlElement
}

func ( *htmlP) ( ...UI) HTMLP {
	return .setBody(FilterUIElems(...)).(*htmlP)
}

func ( *htmlP) ( any) HTMLP {
	return .Body(Text())
}

func ( *htmlP) ( string,  ...any) HTMLP {
	return .Body(Textf(, ...))
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlP) ( string,  any) HTMLP {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlP) ( string,  any) HTMLP {
	.setAttr(, )
	return 
}

func ( *htmlP) ( ...string) HTMLP {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlP) ( bool) HTMLP {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlP) ( string,  any) HTMLP {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlP) ( map[string]any) HTMLP {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlP) ( bool) HTMLP {
	.setAttr("draggable", )
	return 
}

func ( *htmlP) ( bool) HTMLP {
	.setAttr("hidden", )
	return 
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlP) ( bool) HTMLP {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlP) (,  string,  ...any) HTMLP {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlP) ( map[string]string) HTMLP {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlP) ( int) HTMLP {
	.setAttr("tabindex", )
	return 
}

func ( *htmlP) ( string,  ...any) HTMLP {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlP) ( string,  EventHandler,  ...EventOption) HTMLP {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("blur", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("change", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("click", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("contextmenu", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("copy", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("cut", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dblclick", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("drag", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dragend", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dragenter", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dragleave", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dragover", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("dragstart", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("drop", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("focus", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("input", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("invalid", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("keydown", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("keypress", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("keyup", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mousedown", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mouseenter", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mouseleave", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mousemove", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mouseout", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mouseover", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("mouseup", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("paste", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("reset", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("scroll", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("search", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("select", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("submit", , ...)
}

func ( *htmlP) ( EventHandler,  ...EventOption) HTMLP {
	return .On("wheel", , ...)
}

func ( *htmlP) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlP) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlP) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlP) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlP) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlP) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "param" HTML element.
type HTMLParam interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLParam

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLParam

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLParam

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLParam

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLParam

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLParam

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLParam

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLParam

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLParam

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLParam

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLParam

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLParam

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLParam

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLParam

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLParam

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLParam

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLParam

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLParam

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLParam

	// Assigns a value to the element.
	Value(v any) HTMLParam

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLParam

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLParam

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLParam

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLParam

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLParam

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLParam

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLParam

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLParam

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLParam

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLParam

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLParam

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLParam

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLParam

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLParam

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLParam
}

// Returns an HTML element that defines a parameter for an embedded object.
func () HTMLParam {
	 := &htmlParam{
		htmlElement: htmlElement{
			tag:           "param",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlParam struct {
	htmlElement
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlParam) ( string,  any) HTMLParam {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlParam) ( string,  any) HTMLParam {
	.setAttr(, )
	return 
}

func ( *htmlParam) ( ...string) HTMLParam {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlParam) ( bool) HTMLParam {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlParam) ( string,  any) HTMLParam {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlParam) ( map[string]any) HTMLParam {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlParam) ( bool) HTMLParam {
	.setAttr("draggable", )
	return 
}

func ( *htmlParam) ( bool) HTMLParam {
	.setAttr("hidden", )
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlParam) ( bool) HTMLParam {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlParam) (,  string,  ...any) HTMLParam {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlParam) ( map[string]string) HTMLParam {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlParam) ( int) HTMLParam {
	.setAttr("tabindex", )
	return 
}

func ( *htmlParam) ( string,  ...any) HTMLParam {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlParam) ( any) HTMLParam {
	.setAttr("value", )
	return 
}

func ( *htmlParam) ( string,  EventHandler,  ...EventOption) HTMLParam {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("blur", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("change", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("click", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("contextmenu", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("copy", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("cut", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dblclick", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("drag", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dragend", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dragenter", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dragleave", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dragover", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("dragstart", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("drop", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("focus", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("input", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("invalid", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("keydown", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("keypress", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("keyup", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mousedown", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mouseenter", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mouseleave", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mousemove", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mouseout", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mouseover", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("mouseup", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("paste", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("reset", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("scroll", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("search", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("select", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("submit", , ...)
}

func ( *htmlParam) ( EventHandler,  ...EventOption) HTMLParam {
	return .On("wheel", , ...)
}

func ( *htmlParam) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlParam) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlParam) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlParam) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlParam) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlParam) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "picture" HTML element.
type HTMLPicture interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLPicture

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLPicture

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLPicture

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLPicture

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLPicture

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLPicture

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLPicture

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLPicture

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLPicture

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLPicture

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLPicture

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLPicture

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLPicture

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLPicture

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLPicture

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLPicture

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLPicture

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLPicture

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLPicture

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLPicture

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLPicture

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLPicture

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLPicture

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLPicture

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLPicture

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLPicture
}

// Returns an HTML element that provides a container for multiple image sources.
func () HTMLPicture {
	 := &htmlPicture{
		htmlElement: htmlElement{
			tag:           "picture",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlPicture struct {
	htmlElement
}

func ( *htmlPicture) ( ...UI) HTMLPicture {
	return .setBody(FilterUIElems(...)).(*htmlPicture)
}

func ( *htmlPicture) ( any) HTMLPicture {
	return .Body(Text())
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	return .Body(Textf(, ...))
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( string,  any) HTMLPicture {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlPicture) ( string,  any) HTMLPicture {
	.setAttr(, )
	return 
}

func ( *htmlPicture) ( ...string) HTMLPicture {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlPicture) ( bool) HTMLPicture {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlPicture) ( string,  any) HTMLPicture {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlPicture) ( map[string]any) HTMLPicture {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( bool) HTMLPicture {
	.setAttr("draggable", )
	return 
}

func ( *htmlPicture) ( bool) HTMLPicture {
	.setAttr("hidden", )
	return 
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( bool) HTMLPicture {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlPicture) (,  string,  ...any) HTMLPicture {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlPicture) ( map[string]string) HTMLPicture {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlPicture) ( int) HTMLPicture {
	.setAttr("tabindex", )
	return 
}

func ( *htmlPicture) ( string,  ...any) HTMLPicture {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlPicture) ( string,  EventHandler,  ...EventOption) HTMLPicture {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("blur", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("change", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("click", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("contextmenu", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("copy", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("cut", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dblclick", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("drag", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dragend", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dragenter", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dragleave", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dragover", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("dragstart", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("drop", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("focus", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("input", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("invalid", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("keydown", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("keypress", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("keyup", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mousedown", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mouseenter", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mouseleave", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mousemove", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mouseout", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mouseover", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("mouseup", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("paste", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("reset", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("scroll", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("search", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("select", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("submit", , ...)
}

func ( *htmlPicture) ( EventHandler,  ...EventOption) HTMLPicture {
	return .On("wheel", , ...)
}

func ( *htmlPicture) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlPicture) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlPicture) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlPicture) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlPicture) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlPicture) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "pre" HTML element.
type HTMLPre interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLPre

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLPre

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLPre

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLPre

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLPre

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLPre

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLPre

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLPre

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLPre

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLPre

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLPre

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLPre

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLPre

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLPre

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLPre

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLPre

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLPre

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLPre

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLPre

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLPre

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLPre

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLPre

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLPre

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLPre

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLPre

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLPre

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLPre

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLPre

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLPre

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLPre

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLPre

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLPre

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLPre

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLPre

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLPre

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLPre
}

// Returns an HTML element that displays preformatted text.
func () HTMLPre {
	 := &htmlPre{
		htmlElement: htmlElement{
			tag:           "pre",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlPre struct {
	htmlElement
}

func ( *htmlPre) ( ...UI) HTMLPre {
	return .setBody(FilterUIElems(...)).(*htmlPre)
}

func ( *htmlPre) ( any) HTMLPre {
	return .Body(Text())
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	return .Body(Textf(, ...))
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlPre) ( string,  any) HTMLPre {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlPre) ( string,  any) HTMLPre {
	.setAttr(, )
	return 
}

func ( *htmlPre) ( ...string) HTMLPre {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlPre) ( bool) HTMLPre {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlPre) ( string,  any) HTMLPre {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlPre) ( map[string]any) HTMLPre {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlPre) ( bool) HTMLPre {
	.setAttr("draggable", )
	return 
}

func ( *htmlPre) ( bool) HTMLPre {
	.setAttr("hidden", )
	return 
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlPre) ( bool) HTMLPre {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlPre) (,  string,  ...any) HTMLPre {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlPre) ( map[string]string) HTMLPre {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlPre) ( int) HTMLPre {
	.setAttr("tabindex", )
	return 
}

func ( *htmlPre) ( string,  ...any) HTMLPre {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlPre) ( string,  EventHandler,  ...EventOption) HTMLPre {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("blur", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("change", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("click", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("contextmenu", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("copy", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("cut", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dblclick", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("drag", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dragend", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dragenter", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dragleave", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dragover", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("dragstart", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("drop", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("focus", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("input", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("invalid", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("keydown", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("keypress", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("keyup", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mousedown", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mouseenter", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mouseleave", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mousemove", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mouseout", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mouseover", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("mouseup", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("paste", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("reset", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("scroll", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("search", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("select", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("submit", , ...)
}

func ( *htmlPre) ( EventHandler,  ...EventOption) HTMLPre {
	return .On("wheel", , ...)
}

func ( *htmlPre) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlPre) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlPre) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlPre) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlPre) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlPre) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "progress" HTML element.
type HTMLProgress interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLProgress

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLProgress

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLProgress

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLProgress

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLProgress

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLProgress

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLProgress

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLProgress

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLProgress

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLProgress

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLProgress

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLProgress

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLProgress

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLProgress

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLProgress

	// Establishes the maximum permissible value.
	Max(v any) HTMLProgress

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLProgress

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLProgress

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLProgress

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLProgress

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLProgress

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLProgress

	// Assigns a value to the element.
	Value(v any) HTMLProgress

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLProgress

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLProgress

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLProgress

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLProgress

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLProgress
}

// Returns an HTML element that visualizes the progress of a task.
func () HTMLProgress {
	 := &htmlProgress{
		htmlElement: htmlElement{
			tag:           "progress",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlProgress struct {
	htmlElement
}

func ( *htmlProgress) ( ...UI) HTMLProgress {
	return .setBody(FilterUIElems(...)).(*htmlProgress)
}

func ( *htmlProgress) ( any) HTMLProgress {
	return .Body(Text())
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	return .Body(Textf(, ...))
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( string,  any) HTMLProgress {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlProgress) ( string,  any) HTMLProgress {
	.setAttr(, )
	return 
}

func ( *htmlProgress) ( ...string) HTMLProgress {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlProgress) ( bool) HTMLProgress {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlProgress) ( string,  any) HTMLProgress {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlProgress) ( map[string]any) HTMLProgress {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( bool) HTMLProgress {
	.setAttr("draggable", )
	return 
}

func ( *htmlProgress) ( bool) HTMLProgress {
	.setAttr("hidden", )
	return 
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( any) HTMLProgress {
	.setAttr("max", )
	return 
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( bool) HTMLProgress {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlProgress) (,  string,  ...any) HTMLProgress {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlProgress) ( map[string]string) HTMLProgress {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlProgress) ( int) HTMLProgress {
	.setAttr("tabindex", )
	return 
}

func ( *htmlProgress) ( string,  ...any) HTMLProgress {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlProgress) ( any) HTMLProgress {
	.setAttr("value", )
	return 
}

func ( *htmlProgress) ( string,  EventHandler,  ...EventOption) HTMLProgress {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("blur", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("change", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("click", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("contextmenu", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("copy", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("cut", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dblclick", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("drag", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dragend", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dragenter", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dragleave", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dragover", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("dragstart", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("drop", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("focus", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("input", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("invalid", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("keydown", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("keypress", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("keyup", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mousedown", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mouseenter", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mouseleave", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mousemove", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mouseout", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mouseover", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("mouseup", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("paste", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("reset", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("scroll", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("search", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("select", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("submit", , ...)
}

func ( *htmlProgress) ( EventHandler,  ...EventOption) HTMLProgress {
	return .On("wheel", , ...)
}

func ( *htmlProgress) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlProgress) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlProgress) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlProgress) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlProgress) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlProgress) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "q" HTML element.
type HTMLQ interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLQ

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLQ

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLQ

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLQ

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLQ

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLQ

	// Provides a reference or link to a source explaining quoted or modified content in the element.
	Cite(format string, v ...any) HTMLQ

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLQ

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLQ

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLQ

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLQ

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLQ

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLQ

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLQ

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLQ

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLQ

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLQ

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLQ

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLQ

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLQ

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLQ

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLQ

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLQ

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLQ

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLQ

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLQ

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLQ

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLQ

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLQ

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLQ

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLQ

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLQ

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLQ

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLQ

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLQ

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLQ

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLQ
}

// Returns an HTML element that represents a short quotation.
func () HTMLQ {
	 := &htmlQ{
		htmlElement: htmlElement{
			tag:           "q",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlQ struct {
	htmlElement
}

func ( *htmlQ) ( ...UI) HTMLQ {
	return .setBody(FilterUIElems(...)).(*htmlQ)
}

func ( *htmlQ) ( any) HTMLQ {
	return .Body(Text())
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	return .Body(Textf(, ...))
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlQ) ( string,  any) HTMLQ {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlQ) ( string,  any) HTMLQ {
	.setAttr(, )
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("cite", FormatString(, ...))
	return 
}

func ( *htmlQ) ( ...string) HTMLQ {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlQ) ( bool) HTMLQ {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlQ) ( string,  any) HTMLQ {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlQ) ( map[string]any) HTMLQ {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlQ) ( bool) HTMLQ {
	.setAttr("draggable", )
	return 
}

func ( *htmlQ) ( bool) HTMLQ {
	.setAttr("hidden", )
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlQ) ( bool) HTMLQ {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlQ) (,  string,  ...any) HTMLQ {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlQ) ( map[string]string) HTMLQ {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlQ) ( int) HTMLQ {
	.setAttr("tabindex", )
	return 
}

func ( *htmlQ) ( string,  ...any) HTMLQ {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlQ) ( string,  EventHandler,  ...EventOption) HTMLQ {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("blur", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("change", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("click", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("contextmenu", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("copy", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("cut", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dblclick", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("drag", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dragend", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dragenter", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dragleave", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dragover", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("dragstart", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("drop", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("focus", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("input", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("invalid", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("keydown", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("keypress", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("keyup", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mousedown", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mouseenter", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mouseleave", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mousemove", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mouseout", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mouseover", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("mouseup", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("paste", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("reset", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("scroll", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("search", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("select", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("submit", , ...)
}

func ( *htmlQ) ( EventHandler,  ...EventOption) HTMLQ {
	return .On("wheel", , ...)
}

func ( *htmlQ) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlQ) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlQ) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlQ) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlQ) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlQ) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "rp" HTML element.
type HTMLRp interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLRp

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLRp

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLRp

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLRp

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLRp

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLRp

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLRp

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLRp

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLRp

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLRp

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLRp

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLRp

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLRp

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLRp

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLRp

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLRp

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLRp

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLRp

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLRp

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLRp

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLRp

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLRp

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLRp

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLRp

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLRp

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLRp

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLRp

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLRp

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLRp

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLRp

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLRp

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLRp

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLRp

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLRp

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLRp

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLRp
}

// Returns an HTML element that indicates text for browsers not supporting ruby annotations.
func () HTMLRp {
	 := &htmlRp{
		htmlElement: htmlElement{
			tag:           "rp",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlRp struct {
	htmlElement
}

func ( *htmlRp) ( ...UI) HTMLRp {
	return .setBody(FilterUIElems(...)).(*htmlRp)
}

func ( *htmlRp) ( any) HTMLRp {
	return .Body(Text())
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	return .Body(Textf(, ...))
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlRp) ( string,  any) HTMLRp {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlRp) ( string,  any) HTMLRp {
	.setAttr(, )
	return 
}

func ( *htmlRp) ( ...string) HTMLRp {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlRp) ( bool) HTMLRp {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlRp) ( string,  any) HTMLRp {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlRp) ( map[string]any) HTMLRp {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlRp) ( bool) HTMLRp {
	.setAttr("draggable", )
	return 
}

func ( *htmlRp) ( bool) HTMLRp {
	.setAttr("hidden", )
	return 
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlRp) ( bool) HTMLRp {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlRp) (,  string,  ...any) HTMLRp {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlRp) ( map[string]string) HTMLRp {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlRp) ( int) HTMLRp {
	.setAttr("tabindex", )
	return 
}

func ( *htmlRp) ( string,  ...any) HTMLRp {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlRp) ( string,  EventHandler,  ...EventOption) HTMLRp {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("blur", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("change", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("click", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("contextmenu", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("copy", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("cut", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dblclick", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("drag", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dragend", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dragenter", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dragleave", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dragover", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("dragstart", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("drop", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("focus", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("input", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("invalid", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("keydown", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("keypress", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("keyup", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mousedown", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mouseenter", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mouseleave", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mousemove", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mouseout", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mouseover", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("mouseup", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("paste", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("reset", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("scroll", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("search", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("select", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("submit", , ...)
}

func ( *htmlRp) ( EventHandler,  ...EventOption) HTMLRp {
	return .On("wheel", , ...)
}

func ( *htmlRp) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlRp) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlRp) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlRp) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlRp) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlRp) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "rt" HTML element.
type HTMLRt interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLRt

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLRt

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLRt

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLRt

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLRt

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLRt

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLRt

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLRt

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLRt

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLRt

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLRt

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLRt

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLRt

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLRt

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLRt

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLRt

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLRt

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLRt

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLRt

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLRt

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLRt

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLRt

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLRt

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLRt

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLRt

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLRt

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLRt

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLRt

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLRt

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLRt

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLRt

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLRt

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLRt

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLRt

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLRt

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLRt
}

// Returns an HTML element that provides explanation or pronunciation of characters (used in East Asian typography).
func () HTMLRt {
	 := &htmlRt{
		htmlElement: htmlElement{
			tag:           "rt",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlRt struct {
	htmlElement
}

func ( *htmlRt) ( ...UI) HTMLRt {
	return .setBody(FilterUIElems(...)).(*htmlRt)
}

func ( *htmlRt) ( any) HTMLRt {
	return .Body(Text())
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	return .Body(Textf(, ...))
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlRt) ( string,  any) HTMLRt {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlRt) ( string,  any) HTMLRt {
	.setAttr(, )
	return 
}

func ( *htmlRt) ( ...string) HTMLRt {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlRt) ( bool) HTMLRt {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlRt) ( string,  any) HTMLRt {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlRt) ( map[string]any) HTMLRt {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlRt) ( bool) HTMLRt {
	.setAttr("draggable", )
	return 
}

func ( *htmlRt) ( bool) HTMLRt {
	.setAttr("hidden", )
	return 
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlRt) ( bool) HTMLRt {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlRt) (,  string,  ...any) HTMLRt {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlRt) ( map[string]string) HTMLRt {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlRt) ( int) HTMLRt {
	.setAttr("tabindex", )
	return 
}

func ( *htmlRt) ( string,  ...any) HTMLRt {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlRt) ( string,  EventHandler,  ...EventOption) HTMLRt {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("blur", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("change", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("click", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("contextmenu", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("copy", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("cut", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dblclick", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("drag", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dragend", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dragenter", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dragleave", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dragover", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("dragstart", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("drop", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("focus", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("input", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("invalid", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("keydown", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("keypress", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("keyup", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mousedown", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mouseenter", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mouseleave", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mousemove", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mouseout", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mouseover", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("mouseup", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("paste", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("reset", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("scroll", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("search", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("select", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("submit", , ...)
}

func ( *htmlRt) ( EventHandler,  ...EventOption) HTMLRt {
	return .On("wheel", , ...)
}

func ( *htmlRt) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlRt) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlRt) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlRt) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlRt) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlRt) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "ruby" HTML element.
type HTMLRuby interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLRuby

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLRuby

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLRuby

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLRuby

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLRuby

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLRuby

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLRuby

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLRuby

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLRuby

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLRuby

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLRuby

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLRuby

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLRuby

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLRuby

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLRuby

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLRuby

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLRuby

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLRuby

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLRuby

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLRuby

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLRuby

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLRuby

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLRuby

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLRuby

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLRuby

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLRuby
}

// Returns an HTML element that marks a ruby annotation (used for East Asian typography).
func () HTMLRuby {
	 := &htmlRuby{
		htmlElement: htmlElement{
			tag:           "ruby",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlRuby struct {
	htmlElement
}

func ( *htmlRuby) ( ...UI) HTMLRuby {
	return .setBody(FilterUIElems(...)).(*htmlRuby)
}

func ( *htmlRuby) ( any) HTMLRuby {
	return .Body(Text())
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	return .Body(Textf(, ...))
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( string,  any) HTMLRuby {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlRuby) ( string,  any) HTMLRuby {
	.setAttr(, )
	return 
}

func ( *htmlRuby) ( ...string) HTMLRuby {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlRuby) ( bool) HTMLRuby {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlRuby) ( string,  any) HTMLRuby {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlRuby) ( map[string]any) HTMLRuby {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( bool) HTMLRuby {
	.setAttr("draggable", )
	return 
}

func ( *htmlRuby) ( bool) HTMLRuby {
	.setAttr("hidden", )
	return 
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( bool) HTMLRuby {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlRuby) (,  string,  ...any) HTMLRuby {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlRuby) ( map[string]string) HTMLRuby {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlRuby) ( int) HTMLRuby {
	.setAttr("tabindex", )
	return 
}

func ( *htmlRuby) ( string,  ...any) HTMLRuby {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlRuby) ( string,  EventHandler,  ...EventOption) HTMLRuby {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("blur", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("change", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("click", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("contextmenu", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("copy", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("cut", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dblclick", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("drag", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dragend", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dragenter", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dragleave", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dragover", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("dragstart", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("drop", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("focus", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("input", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("invalid", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("keydown", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("keypress", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("keyup", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mousedown", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mouseenter", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mouseleave", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mousemove", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mouseout", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mouseover", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("mouseup", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("paste", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("reset", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("scroll", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("search", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("select", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("submit", , ...)
}

func ( *htmlRuby) ( EventHandler,  ...EventOption) HTMLRuby {
	return .On("wheel", , ...)
}

func ( *htmlRuby) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlRuby) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlRuby) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlRuby) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlRuby) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlRuby) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "s" HTML element.
type HTMLS interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLS

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLS

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLS

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLS

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLS

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLS

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLS

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLS

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLS

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLS

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLS

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLS

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLS

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLS

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLS

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLS

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLS

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLS

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLS

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLS

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLS

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLS

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLS

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLS

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLS

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLS

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLS

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLS

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLS

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLS

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLS

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLS

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLS

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLS

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLS

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLS

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLS

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLS

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLS

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLS

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLS

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLS

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLS

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLS

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLS

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLS

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLS

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLS

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLS

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLS
}

// Returns an HTML element that represents text which is no longer correct or relevant.
func () HTMLS {
	 := &htmlS{
		htmlElement: htmlElement{
			tag:           "s",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlS struct {
	htmlElement
}

func ( *htmlS) ( ...UI) HTMLS {
	return .setBody(FilterUIElems(...)).(*htmlS)
}

func ( *htmlS) ( any) HTMLS {
	return .Body(Text())
}

func ( *htmlS) ( string,  ...any) HTMLS {
	return .Body(Textf(, ...))
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlS) ( string,  any) HTMLS {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlS) ( string,  any) HTMLS {
	.setAttr(, )
	return 
}

func ( *htmlS) ( ...string) HTMLS {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlS) ( bool) HTMLS {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlS) ( string,  any) HTMLS {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlS) ( map[string]any) HTMLS {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlS) ( bool) HTMLS {
	.setAttr("draggable", )
	return 
}

func ( *htmlS) ( bool) HTMLS {
	.setAttr("hidden", )
	return 
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlS) ( bool) HTMLS {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlS) (,  string,  ...any) HTMLS {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlS) ( map[string]string) HTMLS {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlS) ( int) HTMLS {
	.setAttr("tabindex", )
	return 
}

func ( *htmlS) ( string,  ...any) HTMLS {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlS) ( string,  EventHandler,  ...EventOption) HTMLS {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("blur", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("change", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("click", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("contextmenu", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("copy", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("cut", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dblclick", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("drag", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dragend", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dragenter", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dragleave", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dragover", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("dragstart", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("drop", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("focus", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("input", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("invalid", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("keydown", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("keypress", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("keyup", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mousedown", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mouseenter", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mouseleave", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mousemove", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mouseout", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mouseover", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("mouseup", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("paste", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("reset", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("scroll", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("search", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("select", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("submit", , ...)
}

func ( *htmlS) ( EventHandler,  ...EventOption) HTMLS {
	return .On("wheel", , ...)
}

func ( *htmlS) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlS) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlS) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlS) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlS) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlS) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "samp" HTML element.
type HTMLSamp interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSamp

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSamp

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSamp

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSamp

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSamp

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSamp

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSamp

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSamp

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSamp

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSamp

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSamp

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSamp

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSamp

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSamp

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSamp

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSamp

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSamp

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSamp

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSamp

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSamp

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSamp

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSamp

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSamp

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSamp

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSamp

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSamp
}

// Returns an HTML element that displays sample output from a computer program.
func () HTMLSamp {
	 := &htmlSamp{
		htmlElement: htmlElement{
			tag:           "samp",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSamp struct {
	htmlElement
}

func ( *htmlSamp) ( ...UI) HTMLSamp {
	return .setBody(FilterUIElems(...)).(*htmlSamp)
}

func ( *htmlSamp) ( any) HTMLSamp {
	return .Body(Text())
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	return .Body(Textf(, ...))
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( string,  any) HTMLSamp {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSamp) ( string,  any) HTMLSamp {
	.setAttr(, )
	return 
}

func ( *htmlSamp) ( ...string) HTMLSamp {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSamp) ( bool) HTMLSamp {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSamp) ( string,  any) HTMLSamp {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSamp) ( map[string]any) HTMLSamp {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( bool) HTMLSamp {
	.setAttr("draggable", )
	return 
}

func ( *htmlSamp) ( bool) HTMLSamp {
	.setAttr("hidden", )
	return 
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( bool) HTMLSamp {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSamp) (,  string,  ...any) HTMLSamp {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSamp) ( map[string]string) HTMLSamp {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSamp) ( int) HTMLSamp {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSamp) ( string,  ...any) HTMLSamp {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSamp) ( string,  EventHandler,  ...EventOption) HTMLSamp {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("blur", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("change", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("click", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("contextmenu", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("copy", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("cut", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dblclick", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("drag", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dragend", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dragenter", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dragleave", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dragover", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("dragstart", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("drop", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("focus", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("input", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("invalid", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("keydown", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("keypress", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("keyup", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mousedown", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mouseenter", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mouseleave", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mousemove", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mouseout", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mouseover", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("mouseup", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("paste", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("reset", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("scroll", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("search", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("select", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("submit", , ...)
}

func ( *htmlSamp) ( EventHandler,  ...EventOption) HTMLSamp {
	return .On("wheel", , ...)
}

func ( *htmlSamp) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSamp) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSamp) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSamp) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSamp) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSamp) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "script" HTML element.
type HTMLScript interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLScript

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLScript

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLScript

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLScript

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLScript

	// Specifies that external scripts are executed asynchronously, preventing blocking of page rendering.
	Async(v bool) HTMLScript

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLScript

	// Specifies the character encoding for the linked document or external resource.
	Charset(format string, v ...any) HTMLScript

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLScript

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLScript

	// Controls how cross-origin requests are managed for the element, supporting secure content integration from different origins.
	CrossOrigin(format string, v ...any) HTMLScript

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLScript

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLScript

	// Delays the execution of a script until after the document is parsed, typically applied to external scripts.
	Defer(v bool) HTMLScript

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLScript

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLScript

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLScript

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLScript

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLScript

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLScript

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLScript

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLScript

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLScript

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLScript

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLScript

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLScript

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLScript

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLScript

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLScript
}

// Returns an HTML element that embeds or references a client-side script.
func () HTMLScript {
	 := &htmlScript{
		htmlElement: htmlElement{
			tag:           "script",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlScript struct {
	htmlElement
}

func ( *htmlScript) ( ...UI) HTMLScript {
	return .setBody(FilterUIElems(...)).(*htmlScript)
}

func ( *htmlScript) ( any) HTMLScript {
	return .Body(Text())
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	return .Body(Textf(, ...))
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  any) HTMLScript {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	.setAttr("async", )
	return 
}

func ( *htmlScript) ( string,  any) HTMLScript {
	.setAttr(, )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("charset", FormatString(, ...))
	return 
}

func ( *htmlScript) ( ...string) HTMLScript {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("crossorigin", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  any) HTMLScript {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlScript) ( map[string]any) HTMLScript {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	.setAttr("defer", )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	.setAttr("draggable", )
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	.setAttr("hidden", )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlScript) ( bool) HTMLScript {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlScript) (,  string,  ...any) HTMLScript {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlScript) ( map[string]string) HTMLScript {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlScript) ( int) HTMLScript {
	.setAttr("tabindex", )
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  ...any) HTMLScript {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlScript) ( string,  EventHandler,  ...EventOption) HTMLScript {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlScript) ( EventHandler,  ...EventOption) HTMLScript {
	return .On("load", , ...)
}

func ( *htmlScript) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlScript) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlScript) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlScript) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlScript) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlScript) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "section" HTML element.
type HTMLSection interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSection

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSection

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSection

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSection

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSection

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSection

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSection

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSection

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSection

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSection

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSection

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSection

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSection

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSection

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSection

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSection

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSection

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSection

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSection

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSection

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSection

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSection

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSection

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSection

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSection

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSection

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSection

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSection

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSection

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSection

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSection

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSection

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSection

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSection

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSection

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSection
}

// Returns an HTML element that represents a standalone section in a document.
func () HTMLSection {
	 := &htmlSection{
		htmlElement: htmlElement{
			tag:           "section",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSection struct {
	htmlElement
}

func ( *htmlSection) ( ...UI) HTMLSection {
	return .setBody(FilterUIElems(...)).(*htmlSection)
}

func ( *htmlSection) ( any) HTMLSection {
	return .Body(Text())
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	return .Body(Textf(, ...))
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSection) ( string,  any) HTMLSection {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSection) ( string,  any) HTMLSection {
	.setAttr(, )
	return 
}

func ( *htmlSection) ( ...string) HTMLSection {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSection) ( bool) HTMLSection {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSection) ( string,  any) HTMLSection {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSection) ( map[string]any) HTMLSection {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSection) ( bool) HTMLSection {
	.setAttr("draggable", )
	return 
}

func ( *htmlSection) ( bool) HTMLSection {
	.setAttr("hidden", )
	return 
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSection) ( bool) HTMLSection {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSection) (,  string,  ...any) HTMLSection {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSection) ( map[string]string) HTMLSection {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSection) ( int) HTMLSection {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSection) ( string,  ...any) HTMLSection {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSection) ( string,  EventHandler,  ...EventOption) HTMLSection {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("blur", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("change", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("click", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("contextmenu", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("copy", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("cut", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dblclick", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("drag", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dragend", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dragenter", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dragleave", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dragover", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("dragstart", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("drop", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("focus", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("input", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("invalid", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("keydown", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("keypress", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("keyup", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mousedown", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mouseenter", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mouseleave", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mousemove", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mouseout", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mouseover", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("mouseup", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("paste", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("reset", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("scroll", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("search", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("select", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("submit", , ...)
}

func ( *htmlSection) ( EventHandler,  ...EventOption) HTMLSection {
	return .On("wheel", , ...)
}

func ( *htmlSection) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSection) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSection) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSection) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSection) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSection) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "select" HTML element.
type HTMLSelect interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSelect

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSelect

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSelect

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSelect

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSelect

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSelect

	// Instructs the browser to focus this element automatically when the page loads.
	AutoFocus(v bool) HTMLSelect

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSelect

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSelect

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSelect

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSelect

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSelect

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLSelect

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSelect

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLSelect

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSelect

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSelect

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSelect

	// Allows users to input multiple values.
	Multiple(v bool) HTMLSelect

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLSelect

	// Indicates that the element must contain a value before form submission.
	Required(v bool) HTMLSelect

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSelect

	// Indicates the width of the element, usually in characters for input elements.
	Size(v int) HTMLSelect

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSelect

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSelect

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSelect

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSelect

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSelect

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSelect

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSelect

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSelect

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSelect

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSelect
}

// Returns an HTML element that creates a drop-down list or list box for form input.
func () HTMLSelect {
	 := &htmlSelect{
		htmlElement: htmlElement{
			tag:           "select",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSelect struct {
	htmlElement
}

func ( *htmlSelect) ( ...UI) HTMLSelect {
	return .setBody(FilterUIElems(...)).(*htmlSelect)
}

func ( *htmlSelect) ( any) HTMLSelect {
	return .Body(Text())
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	return .Body(Textf(, ...))
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( string,  any) HTMLSelect {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSelect) ( string,  any) HTMLSelect {
	.setAttr(, )
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("autofocus", )
	return 
}

func ( *htmlSelect) ( ...string) HTMLSelect {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSelect) ( string,  any) HTMLSelect {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSelect) ( map[string]any) HTMLSelect {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("disabled", )
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("draggable", )
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("hidden", )
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("multiple", )
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	.setAttr("required", )
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( int) HTMLSelect {
	.setAttr("size", )
	return 
}

func ( *htmlSelect) ( bool) HTMLSelect {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSelect) (,  string,  ...any) HTMLSelect {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSelect) ( map[string]string) HTMLSelect {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSelect) ( int) HTMLSelect {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSelect) ( string,  ...any) HTMLSelect {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSelect) ( string,  EventHandler,  ...EventOption) HTMLSelect {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("blur", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("change", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("click", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("contextmenu", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("copy", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("cut", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dblclick", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("drag", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dragend", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dragenter", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dragleave", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dragover", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("dragstart", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("drop", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("focus", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("input", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("invalid", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("keydown", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("keypress", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("keyup", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mousedown", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mouseenter", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mouseleave", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mousemove", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mouseout", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mouseover", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("mouseup", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("paste", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("reset", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("scroll", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("search", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("select", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("submit", , ...)
}

func ( *htmlSelect) ( EventHandler,  ...EventOption) HTMLSelect {
	return .On("wheel", , ...)
}

func ( *htmlSelect) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSelect) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSelect) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSelect) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSelect) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSelect) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "small" HTML element.
type HTMLSmall interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSmall

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSmall

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSmall

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSmall

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSmall

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSmall

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSmall

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSmall

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSmall

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSmall

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSmall

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSmall

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSmall

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSmall

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSmall

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSmall

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSmall

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSmall

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSmall

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSmall

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSmall

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSmall

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSmall

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSmall

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSmall

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSmall
}

// Returns an HTML element that displays text in a smaller font, typically for side comments or legal disclaimers.
func () HTMLSmall {
	 := &htmlSmall{
		htmlElement: htmlElement{
			tag:           "small",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSmall struct {
	htmlElement
}

func ( *htmlSmall) ( ...UI) HTMLSmall {
	return .setBody(FilterUIElems(...)).(*htmlSmall)
}

func ( *htmlSmall) ( any) HTMLSmall {
	return .Body(Text())
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	return .Body(Textf(, ...))
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( string,  any) HTMLSmall {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSmall) ( string,  any) HTMLSmall {
	.setAttr(, )
	return 
}

func ( *htmlSmall) ( ...string) HTMLSmall {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSmall) ( bool) HTMLSmall {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSmall) ( string,  any) HTMLSmall {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSmall) ( map[string]any) HTMLSmall {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( bool) HTMLSmall {
	.setAttr("draggable", )
	return 
}

func ( *htmlSmall) ( bool) HTMLSmall {
	.setAttr("hidden", )
	return 
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( bool) HTMLSmall {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSmall) (,  string,  ...any) HTMLSmall {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSmall) ( map[string]string) HTMLSmall {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSmall) ( int) HTMLSmall {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSmall) ( string,  ...any) HTMLSmall {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSmall) ( string,  EventHandler,  ...EventOption) HTMLSmall {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("blur", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("change", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("click", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("contextmenu", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("copy", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("cut", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dblclick", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("drag", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dragend", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dragenter", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dragleave", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dragover", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("dragstart", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("drop", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("focus", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("input", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("invalid", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("keydown", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("keypress", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("keyup", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mousedown", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mouseenter", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mouseleave", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mousemove", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mouseout", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mouseover", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("mouseup", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("paste", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("reset", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("scroll", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("search", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("select", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("submit", , ...)
}

func ( *htmlSmall) ( EventHandler,  ...EventOption) HTMLSmall {
	return .On("wheel", , ...)
}

func ( *htmlSmall) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSmall) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSmall) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSmall) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSmall) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSmall) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "source" HTML element.
type HTMLSource interface {
	HTML

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSource

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSource

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSource

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSource

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSource

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSource

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSource

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSource

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSource

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSource

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSource

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSource

	// Indicates the intended media or device for the linked document.
	Media(format string, v ...any) HTMLSource

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSource

	// Specifies sizes of icons and images for different page or screen scenarios. Uses the given format and values.
	Sizes(format string, v ...any) HTMLSource

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSource

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLSource

	// Provides URLs of images to display in varied resolutions or viewport conditions. Uses the given format and values.
	SrcSet(format string, v ...any) HTMLSource

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSource

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSource

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSource

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSource

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLSource

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSource

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSource

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSource

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSource

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSource

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSource

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSource

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSource

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSource

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSource

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSource

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSource

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSource

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSource

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSource
}

// Returns an HTML element that specifies multiple media resources for elements like <picture>, <audio>, and <video>.
func () HTMLSource {
	 := &htmlSource{
		htmlElement: htmlElement{
			tag:           "source",
			isSelfClosing: true,
		},
	}

	return 
}

type htmlSource struct {
	htmlElement
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  any) HTMLSource {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSource) ( string,  any) HTMLSource {
	.setAttr(, )
	return 
}

func ( *htmlSource) ( ...string) HTMLSource {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSource) ( bool) HTMLSource {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSource) ( string,  any) HTMLSource {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSource) ( map[string]any) HTMLSource {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSource) ( bool) HTMLSource {
	.setAttr("draggable", )
	return 
}

func ( *htmlSource) ( bool) HTMLSource {
	.setAttr("hidden", )
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("media", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("sizes", FormatString(, ...))
	return 
}

func ( *htmlSource) ( bool) HTMLSource {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("srcset", FormatString(, ...))
	return 
}

func ( *htmlSource) (,  string,  ...any) HTMLSource {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSource) ( map[string]string) HTMLSource {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSource) ( int) HTMLSource {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  ...any) HTMLSource {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlSource) ( string,  EventHandler,  ...EventOption) HTMLSource {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("blur", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("change", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("click", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("contextmenu", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("copy", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("cut", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dblclick", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("drag", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dragend", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dragenter", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dragleave", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dragover", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("dragstart", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("drop", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("focus", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("input", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("invalid", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("keydown", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("keypress", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("keyup", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mousedown", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mouseenter", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mouseleave", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mousemove", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mouseout", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mouseover", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("mouseup", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("paste", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("reset", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("scroll", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("search", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("select", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("submit", , ...)
}

func ( *htmlSource) ( EventHandler,  ...EventOption) HTMLSource {
	return .On("wheel", , ...)
}

func ( *htmlSource) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSource) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSource) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSource) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSource) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSource) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "span" HTML element.
type HTMLSpan interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSpan

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSpan

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSpan

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSpan

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSpan

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSpan

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSpan

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSpan

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSpan

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSpan

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSpan

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSpan

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSpan

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSpan

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSpan

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSpan

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSpan

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSpan

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSpan

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSpan

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSpan

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSpan

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSpan

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSpan

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSpan

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSpan
}

// Returns an HTML element that provides a way to style a specific part of the text or to group inline-elements.
func () HTMLSpan {
	 := &htmlSpan{
		htmlElement: htmlElement{
			tag:           "span",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSpan struct {
	htmlElement
}

func ( *htmlSpan) ( ...UI) HTMLSpan {
	return .setBody(FilterUIElems(...)).(*htmlSpan)
}

func ( *htmlSpan) ( any) HTMLSpan {
	return .Body(Text())
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	return .Body(Textf(, ...))
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( string,  any) HTMLSpan {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSpan) ( string,  any) HTMLSpan {
	.setAttr(, )
	return 
}

func ( *htmlSpan) ( ...string) HTMLSpan {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSpan) ( bool) HTMLSpan {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSpan) ( string,  any) HTMLSpan {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSpan) ( map[string]any) HTMLSpan {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( bool) HTMLSpan {
	.setAttr("draggable", )
	return 
}

func ( *htmlSpan) ( bool) HTMLSpan {
	.setAttr("hidden", )
	return 
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( bool) HTMLSpan {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSpan) (,  string,  ...any) HTMLSpan {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSpan) ( map[string]string) HTMLSpan {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSpan) ( int) HTMLSpan {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSpan) ( string,  ...any) HTMLSpan {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSpan) ( string,  EventHandler,  ...EventOption) HTMLSpan {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("blur", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("change", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("click", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("contextmenu", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("copy", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("cut", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dblclick", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("drag", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dragend", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dragenter", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dragleave", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dragover", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("dragstart", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("drop", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("focus", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("input", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("invalid", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("keydown", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("keypress", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("keyup", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mousedown", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mouseenter", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mouseleave", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mousemove", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mouseout", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mouseover", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("mouseup", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("paste", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("reset", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("scroll", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("search", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("select", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("submit", , ...)
}

func ( *htmlSpan) ( EventHandler,  ...EventOption) HTMLSpan {
	return .On("wheel", , ...)
}

func ( *htmlSpan) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSpan) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSpan) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSpan) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSpan) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSpan) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "strong" HTML element.
type HTMLStrong interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLStrong

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLStrong

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLStrong

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLStrong

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLStrong

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLStrong

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLStrong

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLStrong

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLStrong

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLStrong

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLStrong

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLStrong

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLStrong

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLStrong

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLStrong

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLStrong

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLStrong

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLStrong

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLStrong

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLStrong

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLStrong

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLStrong

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLStrong

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLStrong

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLStrong

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLStrong
}

// Returns an HTML element that emphasizes text as important, typically displayed as bold.
func () HTMLStrong {
	 := &htmlStrong{
		htmlElement: htmlElement{
			tag:           "strong",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlStrong struct {
	htmlElement
}

func ( *htmlStrong) ( ...UI) HTMLStrong {
	return .setBody(FilterUIElems(...)).(*htmlStrong)
}

func ( *htmlStrong) ( any) HTMLStrong {
	return .Body(Text())
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	return .Body(Textf(, ...))
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( string,  any) HTMLStrong {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlStrong) ( string,  any) HTMLStrong {
	.setAttr(, )
	return 
}

func ( *htmlStrong) ( ...string) HTMLStrong {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlStrong) ( bool) HTMLStrong {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlStrong) ( string,  any) HTMLStrong {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlStrong) ( map[string]any) HTMLStrong {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( bool) HTMLStrong {
	.setAttr("draggable", )
	return 
}

func ( *htmlStrong) ( bool) HTMLStrong {
	.setAttr("hidden", )
	return 
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( bool) HTMLStrong {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlStrong) (,  string,  ...any) HTMLStrong {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlStrong) ( map[string]string) HTMLStrong {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlStrong) ( int) HTMLStrong {
	.setAttr("tabindex", )
	return 
}

func ( *htmlStrong) ( string,  ...any) HTMLStrong {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlStrong) ( string,  EventHandler,  ...EventOption) HTMLStrong {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("blur", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("change", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("click", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("contextmenu", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("copy", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("cut", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dblclick", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("drag", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dragend", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dragenter", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dragleave", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dragover", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("dragstart", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("drop", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("focus", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("input", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("invalid", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("keydown", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("keypress", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("keyup", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mousedown", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mouseenter", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mouseleave", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mousemove", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mouseout", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mouseover", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("mouseup", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("paste", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("reset", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("scroll", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("search", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("select", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("submit", , ...)
}

func ( *htmlStrong) ( EventHandler,  ...EventOption) HTMLStrong {
	return .On("wheel", , ...)
}

func ( *htmlStrong) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlStrong) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlStrong) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlStrong) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlStrong) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlStrong) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "style" HTML element.
type HTMLStyle interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLStyle

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLStyle

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLStyle

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLStyle

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLStyle

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLStyle

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLStyle

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLStyle

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLStyle

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLStyle

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLStyle

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLStyle

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLStyle

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLStyle

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLStyle

	// Indicates the intended media or device for the linked document.
	Media(format string, v ...any) HTMLStyle

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLStyle

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLStyle

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLStyle

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLStyle

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLStyle

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLStyle

	// Designates the type of the element or its content. Can be called with specific format and values.
	Type(format string, v ...any) HTMLStyle

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLStyle

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the specified handler once the element has completely loaded.
	OnLoad(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLStyle

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLStyle

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLStyle

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLStyle
}

// Returns an HTML element that contains style information or references for a document.
func () HTMLStyle {
	 := &htmlStyle{
		htmlElement: htmlElement{
			tag:           "style",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlStyle struct {
	htmlElement
}

func ( *htmlStyle) ( ...UI) HTMLStyle {
	return .setBody(FilterUIElems(...)).(*htmlStyle)
}

func ( *htmlStyle) ( any) HTMLStyle {
	return .Body(Text())
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	return .Body(Textf(, ...))
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  any) HTMLStyle {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlStyle) ( string,  any) HTMLStyle {
	.setAttr(, )
	return 
}

func ( *htmlStyle) ( ...string) HTMLStyle {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlStyle) ( bool) HTMLStyle {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlStyle) ( string,  any) HTMLStyle {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlStyle) ( map[string]any) HTMLStyle {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( bool) HTMLStyle {
	.setAttr("draggable", )
	return 
}

func ( *htmlStyle) ( bool) HTMLStyle {
	.setAttr("hidden", )
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("media", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( bool) HTMLStyle {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlStyle) (,  string,  ...any) HTMLStyle {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlStyle) ( map[string]string) HTMLStyle {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlStyle) ( int) HTMLStyle {
	.setAttr("tabindex", )
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  ...any) HTMLStyle {
	.setAttr("type", FormatString(, ...))
	return 
}

func ( *htmlStyle) ( string,  EventHandler,  ...EventOption) HTMLStyle {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("blur", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("change", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("click", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("contextmenu", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("copy", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("cut", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dblclick", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("drag", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dragend", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dragenter", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dragleave", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dragover", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("dragstart", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("drop", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("focus", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("input", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("invalid", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("keydown", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("keypress", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("keyup", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("load", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mousedown", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mouseenter", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mouseleave", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mousemove", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mouseout", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mouseover", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("mouseup", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("paste", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("reset", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("scroll", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("search", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("select", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("submit", , ...)
}

func ( *htmlStyle) ( EventHandler,  ...EventOption) HTMLStyle {
	return .On("wheel", , ...)
}

func ( *htmlStyle) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlStyle) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlStyle) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlStyle) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlStyle) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlStyle) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "sub" HTML element.
type HTMLSub interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSub

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSub

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSub

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSub

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSub

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSub

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSub

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSub

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSub

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSub

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSub

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSub

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSub

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSub

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSub

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSub

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSub

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSub

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSub

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSub

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSub

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSub

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSub

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSub

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSub

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSub

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSub

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSub

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSub

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSub

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSub

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSub

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSub

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSub

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSub

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSub
}

// Returns an HTML element that represents subscripted text, typically displayed lower and smaller than the main text.
func () HTMLSub {
	 := &htmlSub{
		htmlElement: htmlElement{
			tag:           "sub",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSub struct {
	htmlElement
}

func ( *htmlSub) ( ...UI) HTMLSub {
	return .setBody(FilterUIElems(...)).(*htmlSub)
}

func ( *htmlSub) ( any) HTMLSub {
	return .Body(Text())
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	return .Body(Textf(, ...))
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSub) ( string,  any) HTMLSub {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSub) ( string,  any) HTMLSub {
	.setAttr(, )
	return 
}

func ( *htmlSub) ( ...string) HTMLSub {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSub) ( bool) HTMLSub {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSub) ( string,  any) HTMLSub {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSub) ( map[string]any) HTMLSub {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSub) ( bool) HTMLSub {
	.setAttr("draggable", )
	return 
}

func ( *htmlSub) ( bool) HTMLSub {
	.setAttr("hidden", )
	return 
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSub) ( bool) HTMLSub {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSub) (,  string,  ...any) HTMLSub {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSub) ( map[string]string) HTMLSub {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSub) ( int) HTMLSub {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSub) ( string,  ...any) HTMLSub {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSub) ( string,  EventHandler,  ...EventOption) HTMLSub {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("blur", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("change", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("click", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("contextmenu", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("copy", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("cut", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dblclick", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("drag", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dragend", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dragenter", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dragleave", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dragover", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("dragstart", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("drop", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("focus", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("input", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("invalid", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("keydown", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("keypress", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("keyup", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mousedown", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mouseenter", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mouseleave", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mousemove", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mouseout", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mouseover", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("mouseup", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("paste", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("reset", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("scroll", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("search", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("select", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("submit", , ...)
}

func ( *htmlSub) ( EventHandler,  ...EventOption) HTMLSub {
	return .On("wheel", , ...)
}

func ( *htmlSub) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSub) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSub) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSub) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSub) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSub) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "summary" HTML element.
type HTMLSummary interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSummary

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSummary

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSummary

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSummary

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSummary

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSummary

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSummary

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSummary

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSummary

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSummary

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSummary

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSummary

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSummary

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSummary

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSummary

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSummary

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSummary

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSummary

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSummary

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSummary

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSummary

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSummary

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSummary

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSummary

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSummary

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSummary
}

// Returns an HTML element that provides a visible heading or label for a <details> element's content.
func () HTMLSummary {
	 := &htmlSummary{
		htmlElement: htmlElement{
			tag:           "summary",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSummary struct {
	htmlElement
}

func ( *htmlSummary) ( ...UI) HTMLSummary {
	return .setBody(FilterUIElems(...)).(*htmlSummary)
}

func ( *htmlSummary) ( any) HTMLSummary {
	return .Body(Text())
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	return .Body(Textf(, ...))
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( string,  any) HTMLSummary {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSummary) ( string,  any) HTMLSummary {
	.setAttr(, )
	return 
}

func ( *htmlSummary) ( ...string) HTMLSummary {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSummary) ( bool) HTMLSummary {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSummary) ( string,  any) HTMLSummary {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSummary) ( map[string]any) HTMLSummary {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( bool) HTMLSummary {
	.setAttr("draggable", )
	return 
}

func ( *htmlSummary) ( bool) HTMLSummary {
	.setAttr("hidden", )
	return 
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( bool) HTMLSummary {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSummary) (,  string,  ...any) HTMLSummary {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSummary) ( map[string]string) HTMLSummary {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSummary) ( int) HTMLSummary {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSummary) ( string,  ...any) HTMLSummary {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSummary) ( string,  EventHandler,  ...EventOption) HTMLSummary {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("blur", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("change", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("click", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("contextmenu", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("copy", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("cut", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dblclick", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("drag", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dragend", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dragenter", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dragleave", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dragover", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("dragstart", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("drop", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("focus", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("input", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("invalid", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("keydown", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("keypress", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("keyup", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mousedown", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mouseenter", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mouseleave", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mousemove", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mouseout", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mouseover", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("mouseup", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("paste", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("reset", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("scroll", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("search", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("select", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("submit", , ...)
}

func ( *htmlSummary) ( EventHandler,  ...EventOption) HTMLSummary {
	return .On("wheel", , ...)
}

func ( *htmlSummary) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSummary) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSummary) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSummary) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSummary) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSummary) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "sup" HTML element.
type HTMLSup interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLSup

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLSup

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLSup

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLSup

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLSup

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLSup

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLSup

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLSup

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLSup

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLSup

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLSup

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLSup

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLSup

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLSup

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLSup

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLSup

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLSup

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLSup

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLSup

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLSup

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLSup

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLSup

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLSup

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLSup

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLSup

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLSup

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLSup

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLSup

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLSup

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLSup

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLSup

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLSup

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLSup

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLSup

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLSup

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLSup
}

// Returns an HTML element that represents superscripted text, typically displayed higher and smaller than the main text.
func () HTMLSup {
	 := &htmlSup{
		htmlElement: htmlElement{
			tag:           "sup",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlSup struct {
	htmlElement
}

func ( *htmlSup) ( ...UI) HTMLSup {
	return .setBody(FilterUIElems(...)).(*htmlSup)
}

func ( *htmlSup) ( any) HTMLSup {
	return .Body(Text())
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	return .Body(Textf(, ...))
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlSup) ( string,  any) HTMLSup {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlSup) ( string,  any) HTMLSup {
	.setAttr(, )
	return 
}

func ( *htmlSup) ( ...string) HTMLSup {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlSup) ( bool) HTMLSup {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlSup) ( string,  any) HTMLSup {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlSup) ( map[string]any) HTMLSup {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlSup) ( bool) HTMLSup {
	.setAttr("draggable", )
	return 
}

func ( *htmlSup) ( bool) HTMLSup {
	.setAttr("hidden", )
	return 
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlSup) ( bool) HTMLSup {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlSup) (,  string,  ...any) HTMLSup {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlSup) ( map[string]string) HTMLSup {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlSup) ( int) HTMLSup {
	.setAttr("tabindex", )
	return 
}

func ( *htmlSup) ( string,  ...any) HTMLSup {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlSup) ( string,  EventHandler,  ...EventOption) HTMLSup {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("blur", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("change", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("click", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("contextmenu", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("copy", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("cut", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dblclick", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("drag", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dragend", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dragenter", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dragleave", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dragover", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("dragstart", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("drop", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("focus", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("input", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("invalid", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("keydown", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("keypress", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("keyup", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mousedown", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mouseenter", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mouseleave", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mousemove", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mouseout", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mouseover", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("mouseup", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("paste", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("reset", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("scroll", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("search", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("select", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("submit", , ...)
}

func ( *htmlSup) ( EventHandler,  ...EventOption) HTMLSup {
	return .On("wheel", , ...)
}

func ( *htmlSup) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlSup) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlSup) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlSup) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlSup) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlSup) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "table" HTML element.
type HTMLTable interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTable

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTable

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTable

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTable

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTable

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTable

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTable

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTable

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTable

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTable

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTable

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTable

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTable

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTable

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTable

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTable

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTable

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTable

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTable

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTable

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTable

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTable

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTable

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTable

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTable

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTable

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTable

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTable

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTable

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTable

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTable

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTable

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTable

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTable

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTable

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTable
}

// Returns an HTML element that represents a table structure.
func () HTMLTable {
	 := &htmlTable{
		htmlElement: htmlElement{
			tag:           "table",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTable struct {
	htmlElement
}

func ( *htmlTable) ( ...UI) HTMLTable {
	return .setBody(FilterUIElems(...)).(*htmlTable)
}

func ( *htmlTable) ( any) HTMLTable {
	return .Body(Text())
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	return .Body(Textf(, ...))
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTable) ( string,  any) HTMLTable {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTable) ( string,  any) HTMLTable {
	.setAttr(, )
	return 
}

func ( *htmlTable) ( ...string) HTMLTable {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTable) ( bool) HTMLTable {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTable) ( string,  any) HTMLTable {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTable) ( map[string]any) HTMLTable {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTable) ( bool) HTMLTable {
	.setAttr("draggable", )
	return 
}

func ( *htmlTable) ( bool) HTMLTable {
	.setAttr("hidden", )
	return 
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTable) ( bool) HTMLTable {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTable) (,  string,  ...any) HTMLTable {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTable) ( map[string]string) HTMLTable {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTable) ( int) HTMLTable {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTable) ( string,  ...any) HTMLTable {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTable) ( string,  EventHandler,  ...EventOption) HTMLTable {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("blur", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("change", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("click", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("contextmenu", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("copy", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("cut", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dblclick", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("drag", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dragend", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dragenter", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dragleave", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dragover", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("dragstart", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("drop", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("focus", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("input", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("invalid", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("keydown", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("keypress", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("keyup", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mousedown", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mouseenter", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mouseleave", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mousemove", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mouseout", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mouseover", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("mouseup", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("paste", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("reset", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("scroll", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("search", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("select", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("submit", , ...)
}

func ( *htmlTable) ( EventHandler,  ...EventOption) HTMLTable {
	return .On("wheel", , ...)
}

func ( *htmlTable) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTable) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTable) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTable) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTable) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTable) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "tbody" HTML element.
type HTMLTBody interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTBody

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTBody

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTBody

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTBody

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTBody

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTBody

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTBody

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTBody

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTBody

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTBody

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTBody

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTBody

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTBody

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTBody

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTBody

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTBody

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTBody

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTBody

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTBody

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTBody

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTBody

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTBody

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTBody

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTBody

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTBody

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTBody
}

// Returns an HTML element that groups the main content rows in a table.
func () HTMLTBody {
	 := &htmlTBody{
		htmlElement: htmlElement{
			tag:           "tbody",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTBody struct {
	htmlElement
}

func ( *htmlTBody) ( ...UI) HTMLTBody {
	return .setBody(FilterUIElems(...)).(*htmlTBody)
}

func ( *htmlTBody) ( any) HTMLTBody {
	return .Body(Text())
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	return .Body(Textf(, ...))
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( string,  any) HTMLTBody {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTBody) ( string,  any) HTMLTBody {
	.setAttr(, )
	return 
}

func ( *htmlTBody) ( ...string) HTMLTBody {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTBody) ( bool) HTMLTBody {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTBody) ( string,  any) HTMLTBody {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTBody) ( map[string]any) HTMLTBody {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( bool) HTMLTBody {
	.setAttr("draggable", )
	return 
}

func ( *htmlTBody) ( bool) HTMLTBody {
	.setAttr("hidden", )
	return 
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( bool) HTMLTBody {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTBody) (,  string,  ...any) HTMLTBody {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTBody) ( map[string]string) HTMLTBody {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTBody) ( int) HTMLTBody {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTBody) ( string,  ...any) HTMLTBody {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTBody) ( string,  EventHandler,  ...EventOption) HTMLTBody {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("blur", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("change", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("click", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("contextmenu", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("copy", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("cut", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dblclick", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("drag", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dragend", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dragenter", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dragleave", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dragover", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("dragstart", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("drop", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("focus", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("input", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("invalid", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("keydown", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("keypress", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("keyup", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mousedown", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mouseenter", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mouseleave", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mousemove", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mouseout", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mouseover", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("mouseup", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("paste", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("reset", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("scroll", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("search", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("select", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("submit", , ...)
}

func ( *htmlTBody) ( EventHandler,  ...EventOption) HTMLTBody {
	return .On("wheel", , ...)
}

func ( *htmlTBody) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTBody) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTBody) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTBody) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTBody) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTBody) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "td" HTML element.
type HTMLTd interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTd

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTd

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTd

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTd

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTd

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTd

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTd

	// Denotes how many columns a table cell should span across, allowing cells to occupy space of multiple columns.
	ColSpan(v int) HTMLTd

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTd

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTd

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTd

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTd

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTd

	// Designates one or more header cells to which a table cell is related.
	Headers(format string, v ...any) HTMLTd

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTd

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTd

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTd

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTd

	// Determines how many rows a table cell will span vertically.
	Rowspan(v int) HTMLTd

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTd

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTd

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTd

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTd

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTd

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTd

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTd

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTd

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTd

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTd

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTd

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTd

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTd

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTd

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTd

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTd

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTd

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTd

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTd

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTd
}

// Returns an HTML element that represents a data cell in a table.
func () HTMLTd {
	 := &htmlTd{
		htmlElement: htmlElement{
			tag:           "td",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTd struct {
	htmlElement
}

func ( *htmlTd) ( ...UI) HTMLTd {
	return .setBody(FilterUIElems(...)).(*htmlTd)
}

func ( *htmlTd) ( any) HTMLTd {
	return .Body(Text())
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	return .Body(Textf(, ...))
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTd) ( string,  any) HTMLTd {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTd) ( string,  any) HTMLTd {
	.setAttr(, )
	return 
}

func ( *htmlTd) ( ...string) HTMLTd {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTd) ( int) HTMLTd {
	.setAttr("colspan", )
	return 
}

func ( *htmlTd) ( bool) HTMLTd {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTd) ( string,  any) HTMLTd {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTd) ( map[string]any) HTMLTd {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTd) ( bool) HTMLTd {
	.setAttr("draggable", )
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("headers", FormatString(, ...))
	return 
}

func ( *htmlTd) ( bool) HTMLTd {
	.setAttr("hidden", )
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTd) ( int) HTMLTd {
	.setAttr("rowspan", )
	return 
}

func ( *htmlTd) ( bool) HTMLTd {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTd) (,  string,  ...any) HTMLTd {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTd) ( map[string]string) HTMLTd {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTd) ( int) HTMLTd {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTd) ( string,  ...any) HTMLTd {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTd) ( string,  EventHandler,  ...EventOption) HTMLTd {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("blur", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("change", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("click", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("contextmenu", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("copy", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("cut", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dblclick", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("drag", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dragend", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dragenter", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dragleave", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dragover", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("dragstart", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("drop", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("focus", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("input", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("invalid", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("keydown", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("keypress", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("keyup", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mousedown", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mouseenter", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mouseleave", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mousemove", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mouseout", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mouseover", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("mouseup", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("paste", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("reset", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("scroll", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("search", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("select", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("submit", , ...)
}

func ( *htmlTd) ( EventHandler,  ...EventOption) HTMLTd {
	return .On("wheel", , ...)
}

func ( *htmlTd) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTd) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTd) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTd) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTd) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTd) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "template" HTML element.
type HTMLTemplate interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTemplate

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTemplate

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTemplate

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTemplate

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTemplate

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTemplate

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTemplate

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTemplate

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTemplate

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTemplate

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTemplate

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTemplate

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTemplate

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTemplate

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTemplate

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTemplate

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTemplate

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTemplate

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTemplate

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTemplate

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTemplate

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTemplate
}

// Returns an HTML element that holds client-side content templates for dynamic rendering.
func () HTMLTemplate {
	 := &htmlTemplate{
		htmlElement: htmlElement{
			tag:           "template",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTemplate struct {
	htmlElement
}

func ( *htmlTemplate) ( ...UI) HTMLTemplate {
	return .setBody(FilterUIElems(...)).(*htmlTemplate)
}

func ( *htmlTemplate) ( any) HTMLTemplate {
	return .Body(Text())
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	return .Body(Textf(, ...))
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( string,  any) HTMLTemplate {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTemplate) ( string,  any) HTMLTemplate {
	.setAttr(, )
	return 
}

func ( *htmlTemplate) ( ...string) HTMLTemplate {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTemplate) ( bool) HTMLTemplate {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTemplate) ( string,  any) HTMLTemplate {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTemplate) ( map[string]any) HTMLTemplate {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( bool) HTMLTemplate {
	.setAttr("draggable", )
	return 
}

func ( *htmlTemplate) ( bool) HTMLTemplate {
	.setAttr("hidden", )
	return 
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( bool) HTMLTemplate {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTemplate) (,  string,  ...any) HTMLTemplate {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( map[string]string) HTMLTemplate {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTemplate) ( int) HTMLTemplate {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTemplate) ( string,  ...any) HTMLTemplate {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTemplate) ( string,  EventHandler,  ...EventOption) HTMLTemplate {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTemplate) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTemplate) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTemplate) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTemplate) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTemplate) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTemplate) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "textarea" HTML element.
type HTMLTextarea interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTextarea

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTextarea

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTextarea

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTextarea

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTextarea

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTextarea

	// Instructs the browser to focus this element automatically when the page loads.
	AutoFocus(v bool) HTMLTextarea

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTextarea

	// Defines the visible width, in character widths, of a text area element.
	Cols(v int) HTMLTextarea

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTextarea

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTextarea

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTextarea

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTextarea

	// Instructs the browser to also submit the text direction of a form field when the form is submitted.
	DirName(format string, v ...any) HTMLTextarea

	// Deactivates an element, rendering it uninteractive and visually distinct.
	Disabled(v bool) HTMLTextarea

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTextarea

	// Identifies the form to which the element belongs.
	Form(format string, v ...any) HTMLTextarea

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTextarea

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTextarea

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTextarea

	// Defines the maximum number of characters permissible in an element.
	MaxLength(v int) HTMLTextarea

	// Assigns a name to the element.
	Name(format string, v ...any) HTMLTextarea

	// Provides a brief hint describing the expected value of the element.
	Placeholder(format string, v ...any) HTMLTextarea

	// Indicates that the element's value cannot be edited by the user.
	ReadOnly(v bool) HTMLTextarea

	// Indicates that the element must contain a value before form submission.
	Required(v bool) HTMLTextarea

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTextarea

	// Sets the number of visible lines in a textarea element.
	Rows(v int) HTMLTextarea

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTextarea

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTextarea

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTextarea

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTextarea

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTextarea

	// Determines how the text inside a text area is wrapped when submitted in a form. Can be called with specific format and values.
	Wrap(format string, v ...any) HTMLTextarea

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTextarea

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTextarea

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTextarea

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTextarea
}

// Returns an HTML element that provides a multiline text input control.
func () HTMLTextarea {
	 := &htmlTextarea{
		htmlElement: htmlElement{
			tag:           "textarea",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTextarea struct {
	htmlElement
}

func ( *htmlTextarea) ( ...UI) HTMLTextarea {
	return .setBody(FilterUIElems(...)).(*htmlTextarea)
}

func ( *htmlTextarea) ( any) HTMLTextarea {
	.setAttr("value", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("value", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  any) HTMLTextarea {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTextarea) ( string,  any) HTMLTextarea {
	.setAttr(, )
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("autofocus", )
	return 
}

func ( *htmlTextarea) ( ...string) HTMLTextarea {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTextarea) ( int) HTMLTextarea {
	.setAttr("cols", )
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTextarea) ( string,  any) HTMLTextarea {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTextarea) ( map[string]any) HTMLTextarea {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("dirname", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("disabled", )
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("draggable", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("form", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("hidden", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( int) HTMLTextarea {
	.setAttr("maxlength", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("name", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("placeholder", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("readonly", )
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	.setAttr("required", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( int) HTMLTextarea {
	.setAttr("rows", )
	return 
}

func ( *htmlTextarea) ( bool) HTMLTextarea {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTextarea) (,  string,  ...any) HTMLTextarea {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( map[string]string) HTMLTextarea {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTextarea) ( int) HTMLTextarea {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  ...any) HTMLTextarea {
	.setAttr("wrap", FormatString(, ...))
	return 
}

func ( *htmlTextarea) ( string,  EventHandler,  ...EventOption) HTMLTextarea {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("blur", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("change", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("click", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("contextmenu", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("copy", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("cut", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dblclick", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("drag", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dragend", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dragenter", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dragleave", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dragover", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("dragstart", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("drop", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("focus", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("input", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("invalid", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("keydown", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("keypress", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("keyup", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mousedown", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mouseenter", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mouseleave", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mousemove", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mouseout", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mouseover", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("mouseup", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("paste", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("reset", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("scroll", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("search", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("select", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("submit", , ...)
}

func ( *htmlTextarea) ( EventHandler,  ...EventOption) HTMLTextarea {
	return .On("wheel", , ...)
}

func ( *htmlTextarea) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTextarea) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTextarea) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTextarea) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTextarea) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTextarea) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "tfoot" HTML element.
type HTMLTFoot interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTFoot

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTFoot

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTFoot

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTFoot

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTFoot

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTFoot

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTFoot

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTFoot

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTFoot

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTFoot

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTFoot

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTFoot

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTFoot

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTFoot

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTFoot

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTFoot

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTFoot

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTFoot

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTFoot

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTFoot

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTFoot

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTFoot

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTFoot

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTFoot

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTFoot
}

// Returns an HTML element that groups the footer rows in a table.
func () HTMLTFoot {
	 := &htmlTFoot{
		htmlElement: htmlElement{
			tag:           "tfoot",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTFoot struct {
	htmlElement
}

func ( *htmlTFoot) ( ...UI) HTMLTFoot {
	return .setBody(FilterUIElems(...)).(*htmlTFoot)
}

func ( *htmlTFoot) ( any) HTMLTFoot {
	return .Body(Text())
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	return .Body(Textf(, ...))
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( string,  any) HTMLTFoot {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTFoot) ( string,  any) HTMLTFoot {
	.setAttr(, )
	return 
}

func ( *htmlTFoot) ( ...string) HTMLTFoot {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTFoot) ( bool) HTMLTFoot {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTFoot) ( string,  any) HTMLTFoot {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTFoot) ( map[string]any) HTMLTFoot {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( bool) HTMLTFoot {
	.setAttr("draggable", )
	return 
}

func ( *htmlTFoot) ( bool) HTMLTFoot {
	.setAttr("hidden", )
	return 
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( bool) HTMLTFoot {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTFoot) (,  string,  ...any) HTMLTFoot {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( map[string]string) HTMLTFoot {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTFoot) ( int) HTMLTFoot {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTFoot) ( string,  ...any) HTMLTFoot {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTFoot) ( string,  EventHandler,  ...EventOption) HTMLTFoot {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("blur", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("change", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("click", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("contextmenu", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("copy", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("cut", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dblclick", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("drag", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dragend", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dragenter", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dragleave", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dragover", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("dragstart", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("drop", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("focus", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("input", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("invalid", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("keydown", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("keypress", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("keyup", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mousedown", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mouseenter", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mouseleave", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mousemove", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mouseout", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mouseover", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("mouseup", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("paste", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("reset", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("scroll", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("search", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("select", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("submit", , ...)
}

func ( *htmlTFoot) ( EventHandler,  ...EventOption) HTMLTFoot {
	return .On("wheel", , ...)
}

func ( *htmlTFoot) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTFoot) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTFoot) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTFoot) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTFoot) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTFoot) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "th" HTML element.
type HTMLTh interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTh

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTh

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTh

	// Denotes abbreviated content for header cells to provide clarity on shortened terms.
	Abbr(format string, v ...any) HTMLTh

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTh

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTh

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTh

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTh

	// Denotes how many columns a table cell should span across, allowing cells to occupy space of multiple columns.
	ColSpan(v int) HTMLTh

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTh

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTh

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTh

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTh

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTh

	// Designates one or more header cells to which a table cell is related.
	Headers(format string, v ...any) HTMLTh

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTh

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTh

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTh

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTh

	// Determines how many rows a table cell will span vertically.
	Rowspan(v int) HTMLTh

	// Defines the set of cells a header cell provides header information for. Uses the given format and values.
	Scope(format string, v ...any) HTMLTh

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTh

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTh

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTh

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTh

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTh

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTh

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTh

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTh

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTh

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTh

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTh

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTh

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTh

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTh

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTh

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTh

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTh

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTh

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTh

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTh
}

// Returns an HTML element that represents a header cell in a table.
func () HTMLTh {
	 := &htmlTh{
		htmlElement: htmlElement{
			tag:           "th",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTh struct {
	htmlElement
}

func ( *htmlTh) ( ...UI) HTMLTh {
	return .setBody(FilterUIElems(...)).(*htmlTh)
}

func ( *htmlTh) ( any) HTMLTh {
	return .Body(Text())
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	return .Body(Textf(, ...))
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("abbr", FormatString(, ...))
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTh) ( string,  any) HTMLTh {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTh) ( string,  any) HTMLTh {
	.setAttr(, )
	return 
}

func ( *htmlTh) ( ...string) HTMLTh {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTh) ( int) HTMLTh {
	.setAttr("colspan", )
	return 
}

func ( *htmlTh) ( bool) HTMLTh {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTh) ( string,  any) HTMLTh {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTh) ( map[string]any) HTMLTh {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTh) ( bool) HTMLTh {
	.setAttr("draggable", )
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("headers", FormatString(, ...))
	return 
}

func ( *htmlTh) ( bool) HTMLTh {
	.setAttr("hidden", )
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTh) ( int) HTMLTh {
	.setAttr("rowspan", )
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("scope", FormatString(, ...))
	return 
}

func ( *htmlTh) ( bool) HTMLTh {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTh) (,  string,  ...any) HTMLTh {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTh) ( map[string]string) HTMLTh {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTh) ( int) HTMLTh {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTh) ( string,  ...any) HTMLTh {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTh) ( string,  EventHandler,  ...EventOption) HTMLTh {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("blur", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("change", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("click", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("contextmenu", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("copy", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("cut", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dblclick", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("drag", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dragend", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dragenter", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dragleave", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dragover", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("dragstart", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("drop", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("focus", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("input", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("invalid", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("keydown", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("keypress", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("keyup", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mousedown", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mouseenter", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mouseleave", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mousemove", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mouseout", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mouseover", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("mouseup", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("paste", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("reset", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("scroll", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("search", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("select", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("submit", , ...)
}

func ( *htmlTh) ( EventHandler,  ...EventOption) HTMLTh {
	return .On("wheel", , ...)
}

func ( *htmlTh) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTh) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTh) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTh) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTh) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTh) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "thead" HTML element.
type HTMLTHead interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTHead

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTHead

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTHead

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTHead

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTHead

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTHead

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTHead

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTHead

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTHead

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTHead

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTHead

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTHead

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTHead

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTHead

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTHead

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTHead

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTHead

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTHead

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTHead

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTHead

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTHead

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTHead

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTHead

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTHead

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTHead

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTHead
}

// Returns an HTML element that groups the header rows in a table.
func () HTMLTHead {
	 := &htmlTHead{
		htmlElement: htmlElement{
			tag:           "thead",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTHead struct {
	htmlElement
}

func ( *htmlTHead) ( ...UI) HTMLTHead {
	return .setBody(FilterUIElems(...)).(*htmlTHead)
}

func ( *htmlTHead) ( any) HTMLTHead {
	return .Body(Text())
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	return .Body(Textf(, ...))
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( string,  any) HTMLTHead {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTHead) ( string,  any) HTMLTHead {
	.setAttr(, )
	return 
}

func ( *htmlTHead) ( ...string) HTMLTHead {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTHead) ( bool) HTMLTHead {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTHead) ( string,  any) HTMLTHead {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTHead) ( map[string]any) HTMLTHead {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( bool) HTMLTHead {
	.setAttr("draggable", )
	return 
}

func ( *htmlTHead) ( bool) HTMLTHead {
	.setAttr("hidden", )
	return 
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( bool) HTMLTHead {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTHead) (,  string,  ...any) HTMLTHead {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTHead) ( map[string]string) HTMLTHead {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTHead) ( int) HTMLTHead {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTHead) ( string,  ...any) HTMLTHead {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTHead) ( string,  EventHandler,  ...EventOption) HTMLTHead {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("blur", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("change", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("click", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("contextmenu", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("copy", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("cut", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dblclick", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("drag", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dragend", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dragenter", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dragleave", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dragover", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("dragstart", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("drop", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("focus", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("input", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("invalid", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("keydown", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("keypress", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("keyup", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mousedown", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mouseenter", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mouseleave", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mousemove", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mouseout", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mouseover", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("mouseup", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("paste", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("reset", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("scroll", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("search", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("select", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("submit", , ...)
}

func ( *htmlTHead) ( EventHandler,  ...EventOption) HTMLTHead {
	return .On("wheel", , ...)
}

func ( *htmlTHead) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTHead) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTHead) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTHead) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTHead) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTHead) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "time" HTML element.
type HTMLTime interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTime

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTime

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTime

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTime

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTime

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTime

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTime

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTime

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTime

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTime

	// Represents the date and time, often used in context with machine-readable equivalents of time-related content.
	DateTime(format string, v ...any) HTMLTime

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTime

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTime

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTime

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTime

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTime

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTime

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTime

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTime

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTime

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTime

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTime

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTime

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTime

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTime

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTime

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTime

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTime

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTime

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTime

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTime

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTime

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTime

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTime

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTime

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTime

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTime
}

// Returns an HTML element that represents a specific period or a single point in time.
func () HTMLTime {
	 := &htmlTime{
		htmlElement: htmlElement{
			tag:           "time",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTime struct {
	htmlElement
}

func ( *htmlTime) ( ...UI) HTMLTime {
	return .setBody(FilterUIElems(...)).(*htmlTime)
}

func ( *htmlTime) ( any) HTMLTime {
	return .Body(Text())
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	return .Body(Textf(, ...))
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTime) ( string,  any) HTMLTime {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTime) ( string,  any) HTMLTime {
	.setAttr(, )
	return 
}

func ( *htmlTime) ( ...string) HTMLTime {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTime) ( bool) HTMLTime {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTime) ( string,  any) HTMLTime {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTime) ( map[string]any) HTMLTime {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("datetime", FormatString(, ...))
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTime) ( bool) HTMLTime {
	.setAttr("draggable", )
	return 
}

func ( *htmlTime) ( bool) HTMLTime {
	.setAttr("hidden", )
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTime) ( bool) HTMLTime {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTime) (,  string,  ...any) HTMLTime {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTime) ( map[string]string) HTMLTime {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTime) ( int) HTMLTime {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTime) ( string,  ...any) HTMLTime {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTime) ( string,  EventHandler,  ...EventOption) HTMLTime {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("blur", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("change", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("click", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("contextmenu", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("copy", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("cut", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dblclick", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("drag", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dragend", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dragenter", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dragleave", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dragover", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("dragstart", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("drop", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("focus", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("input", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("invalid", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("keydown", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("keypress", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("keyup", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mousedown", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mouseenter", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mouseleave", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mousemove", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mouseout", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mouseover", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("mouseup", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("paste", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("reset", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("scroll", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("search", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("select", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("submit", , ...)
}

func ( *htmlTime) ( EventHandler,  ...EventOption) HTMLTime {
	return .On("wheel", , ...)
}

func ( *htmlTime) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTime) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTime) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTime) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTime) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTime) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "title" HTML element.
type HTMLTitle interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTitle

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTitle

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTitle

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTitle

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTitle

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTitle

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTitle

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTitle

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTitle

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTitle

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTitle

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTitle

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTitle

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTitle

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTitle

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTitle

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTitle

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTitle

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTitle

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTitle

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTitle

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTitle
}

// Returns an HTML element that specifies the title of the document, shown in the browser's title bar or tab.
func () HTMLTitle {
	 := &htmlTitle{
		htmlElement: htmlElement{
			tag:           "title",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTitle struct {
	htmlElement
}

func ( *htmlTitle) ( ...UI) HTMLTitle {
	return .setBody(FilterUIElems(...)).(*htmlTitle)
}

func ( *htmlTitle) ( any) HTMLTitle {
	return .Body(Text())
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	return .Body(Textf(, ...))
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( string,  any) HTMLTitle {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTitle) ( string,  any) HTMLTitle {
	.setAttr(, )
	return 
}

func ( *htmlTitle) ( ...string) HTMLTitle {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTitle) ( bool) HTMLTitle {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTitle) ( string,  any) HTMLTitle {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTitle) ( map[string]any) HTMLTitle {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( bool) HTMLTitle {
	.setAttr("draggable", )
	return 
}

func ( *htmlTitle) ( bool) HTMLTitle {
	.setAttr("hidden", )
	return 
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( bool) HTMLTitle {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTitle) (,  string,  ...any) HTMLTitle {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTitle) ( map[string]string) HTMLTitle {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTitle) ( int) HTMLTitle {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTitle) ( string,  ...any) HTMLTitle {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTitle) ( string,  EventHandler,  ...EventOption) HTMLTitle {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTitle) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTitle) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTitle) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTitle) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTitle) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTitle) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "tr" HTML element.
type HTMLTr interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLTr

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLTr

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLTr

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLTr

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLTr

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLTr

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLTr

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLTr

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLTr

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLTr

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLTr

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLTr

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLTr

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLTr

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLTr

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLTr

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLTr

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLTr

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLTr

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLTr

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLTr

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLTr

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLTr

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLTr

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLTr

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLTr

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLTr

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLTr

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLTr

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLTr

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLTr

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLTr

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLTr

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLTr

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLTr

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLTr
}

// Returns an HTML element that represents a row of cells in a table.
func () HTMLTr {
	 := &htmlTr{
		htmlElement: htmlElement{
			tag:           "tr",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlTr struct {
	htmlElement
}

func ( *htmlTr) ( ...UI) HTMLTr {
	return .setBody(FilterUIElems(...)).(*htmlTr)
}

func ( *htmlTr) ( any) HTMLTr {
	return .Body(Text())
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	return .Body(Textf(, ...))
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlTr) ( string,  any) HTMLTr {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlTr) ( string,  any) HTMLTr {
	.setAttr(, )
	return 
}

func ( *htmlTr) ( ...string) HTMLTr {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlTr) ( bool) HTMLTr {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlTr) ( string,  any) HTMLTr {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlTr) ( map[string]any) HTMLTr {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlTr) ( bool) HTMLTr {
	.setAttr("draggable", )
	return 
}

func ( *htmlTr) ( bool) HTMLTr {
	.setAttr("hidden", )
	return 
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlTr) ( bool) HTMLTr {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlTr) (,  string,  ...any) HTMLTr {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlTr) ( map[string]string) HTMLTr {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlTr) ( int) HTMLTr {
	.setAttr("tabindex", )
	return 
}

func ( *htmlTr) ( string,  ...any) HTMLTr {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlTr) ( string,  EventHandler,  ...EventOption) HTMLTr {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("blur", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("change", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("click", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("contextmenu", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("copy", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("cut", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dblclick", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("drag", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dragend", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dragenter", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dragleave", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dragover", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("dragstart", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("drop", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("focus", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("input", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("invalid", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("keydown", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("keypress", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("keyup", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mousedown", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mouseenter", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mouseleave", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mousemove", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mouseout", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mouseover", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("mouseup", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("paste", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("reset", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("scroll", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("search", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("select", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("submit", , ...)
}

func ( *htmlTr) ( EventHandler,  ...EventOption) HTMLTr {
	return .On("wheel", , ...)
}

func ( *htmlTr) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlTr) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlTr) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlTr) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlTr) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlTr) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "u" HTML element.
type HTMLU interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLU

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLU

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLU

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLU

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLU

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLU

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLU

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLU

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLU

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLU

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLU

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLU

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLU

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLU

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLU

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLU

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLU

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLU

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLU

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLU

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLU

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLU

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLU

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLU

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLU

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLU

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLU

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLU

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLU

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLU

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLU

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLU

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLU

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLU

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLU

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLU

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLU

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLU

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLU

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLU

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLU

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLU

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLU

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLU

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLU

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLU

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLU

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLU

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLU

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLU
}

// Returns an HTML element that renders text with an underline, typically indicating misspelled text or proper names in Chinese text.
func () HTMLU {
	 := &htmlU{
		htmlElement: htmlElement{
			tag:           "u",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlU struct {
	htmlElement
}

func ( *htmlU) ( ...UI) HTMLU {
	return .setBody(FilterUIElems(...)).(*htmlU)
}

func ( *htmlU) ( any) HTMLU {
	return .Body(Text())
}

func ( *htmlU) ( string,  ...any) HTMLU {
	return .Body(Textf(, ...))
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlU) ( string,  any) HTMLU {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlU) ( string,  any) HTMLU {
	.setAttr(, )
	return 
}

func ( *htmlU) ( ...string) HTMLU {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlU) ( bool) HTMLU {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlU) ( string,  any) HTMLU {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlU) ( map[string]any) HTMLU {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlU) ( bool) HTMLU {
	.setAttr("draggable", )
	return 
}

func ( *htmlU) ( bool) HTMLU {
	.setAttr("hidden", )
	return 
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlU) ( bool) HTMLU {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlU) (,  string,  ...any) HTMLU {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlU) ( map[string]string) HTMLU {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlU) ( int) HTMLU {
	.setAttr("tabindex", )
	return 
}

func ( *htmlU) ( string,  ...any) HTMLU {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlU) ( string,  EventHandler,  ...EventOption) HTMLU {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("blur", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("change", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("click", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("contextmenu", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("copy", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("cut", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dblclick", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("drag", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dragend", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dragenter", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dragleave", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dragover", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("dragstart", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("drop", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("focus", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("input", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("invalid", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("keydown", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("keypress", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("keyup", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mousedown", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mouseenter", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mouseleave", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mousemove", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mouseout", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mouseover", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("mouseup", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("paste", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("reset", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("scroll", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("search", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("select", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("submit", , ...)
}

func ( *htmlU) ( EventHandler,  ...EventOption) HTMLU {
	return .On("wheel", , ...)
}

func ( *htmlU) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlU) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlU) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlU) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlU) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlU) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "ul" HTML element.
type HTMLUl interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLUl

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLUl

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLUl

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLUl

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLUl

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLUl

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLUl

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLUl

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLUl

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLUl

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLUl

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLUl

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLUl

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLUl

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLUl

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLUl

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLUl

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLUl

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLUl

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLUl

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLUl

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLUl

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLUl

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLUl

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLUl

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLUl

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLUl

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLUl

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLUl

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLUl

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLUl

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLUl

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLUl

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLUl

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLUl

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLUl
}

// Returns an HTML element that represents an unordered list of items.
func () HTMLUl {
	 := &htmlUl{
		htmlElement: htmlElement{
			tag:           "ul",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlUl struct {
	htmlElement
}

func ( *htmlUl) ( ...UI) HTMLUl {
	return .setBody(FilterUIElems(...)).(*htmlUl)
}

func ( *htmlUl) ( any) HTMLUl {
	return .Body(Text())
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	return .Body(Textf(, ...))
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlUl) ( string,  any) HTMLUl {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlUl) ( string,  any) HTMLUl {
	.setAttr(, )
	return 
}

func ( *htmlUl) ( ...string) HTMLUl {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlUl) ( bool) HTMLUl {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlUl) ( string,  any) HTMLUl {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlUl) ( map[string]any) HTMLUl {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlUl) ( bool) HTMLUl {
	.setAttr("draggable", )
	return 
}

func ( *htmlUl) ( bool) HTMLUl {
	.setAttr("hidden", )
	return 
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlUl) ( bool) HTMLUl {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlUl) (,  string,  ...any) HTMLUl {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlUl) ( map[string]string) HTMLUl {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlUl) ( int) HTMLUl {
	.setAttr("tabindex", )
	return 
}

func ( *htmlUl) ( string,  ...any) HTMLUl {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlUl) ( string,  EventHandler,  ...EventOption) HTMLUl {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("blur", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("change", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("click", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("contextmenu", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("copy", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("cut", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dblclick", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("drag", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dragend", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dragenter", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dragleave", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dragover", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("dragstart", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("drop", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("focus", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("input", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("invalid", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("keydown", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("keypress", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("keyup", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mousedown", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mouseenter", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mouseleave", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mousemove", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mouseout", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mouseover", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("mouseup", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("paste", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("reset", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("scroll", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("search", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("select", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("submit", , ...)
}

func ( *htmlUl) ( EventHandler,  ...EventOption) HTMLUl {
	return .On("wheel", , ...)
}

func ( *htmlUl) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlUl) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlUl) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlUl) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlUl) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlUl) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "var" HTML element.
type HTMLVar interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLVar

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLVar

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLVar

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLVar

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLVar

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLVar

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLVar

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLVar

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLVar

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLVar

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLVar

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLVar

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLVar

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLVar

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLVar

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLVar

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLVar

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLVar

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLVar

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLVar

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLVar

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLVar

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLVar

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLVar

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLVar

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLVar

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLVar

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLVar

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLVar

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLVar

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLVar

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLVar

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLVar

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLVar

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLVar

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLVar
}

// Returns an HTML element that displays a name of a variable, typically shown in an italic typeface.
func () HTMLVar {
	 := &htmlVar{
		htmlElement: htmlElement{
			tag:           "var",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlVar struct {
	htmlElement
}

func ( *htmlVar) ( ...UI) HTMLVar {
	return .setBody(FilterUIElems(...)).(*htmlVar)
}

func ( *htmlVar) ( any) HTMLVar {
	return .Body(Text())
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	return .Body(Textf(, ...))
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlVar) ( string,  any) HTMLVar {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlVar) ( string,  any) HTMLVar {
	.setAttr(, )
	return 
}

func ( *htmlVar) ( ...string) HTMLVar {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlVar) ( bool) HTMLVar {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlVar) ( string,  any) HTMLVar {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlVar) ( map[string]any) HTMLVar {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlVar) ( bool) HTMLVar {
	.setAttr("draggable", )
	return 
}

func ( *htmlVar) ( bool) HTMLVar {
	.setAttr("hidden", )
	return 
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlVar) ( bool) HTMLVar {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlVar) (,  string,  ...any) HTMLVar {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlVar) ( map[string]string) HTMLVar {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlVar) ( int) HTMLVar {
	.setAttr("tabindex", )
	return 
}

func ( *htmlVar) ( string,  ...any) HTMLVar {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlVar) ( string,  EventHandler,  ...EventOption) HTMLVar {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("blur", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("change", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("click", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("contextmenu", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("copy", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("cut", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dblclick", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("drag", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dragend", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dragenter", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dragleave", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dragover", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("dragstart", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("drop", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("focus", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("input", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("invalid", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("keydown", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("keypress", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("keyup", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mousedown", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mouseenter", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mouseleave", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mousemove", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mouseout", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mouseover", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("mouseup", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("paste", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("reset", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("scroll", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("search", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("select", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("submit", , ...)
}

func ( *htmlVar) ( EventHandler,  ...EventOption) HTMLVar {
	return .On("wheel", , ...)
}

func ( *htmlVar) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlVar) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlVar) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlVar) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlVar) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlVar) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "video" HTML element.
type HTMLVideo interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLVideo

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLVideo

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLVideo

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLVideo

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLVideo

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLVideo

	// Automatically plays audio or video elements once they're ready, enhancing media responsiveness.
	AutoPlay(v bool) HTMLVideo

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLVideo

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLVideo

	// Indicates the presence of user interface controls for audio or video elements, such as play or pause buttons.
	Controls(v bool) HTMLVideo

	// Controls how cross-origin requests are managed for the element, supporting secure content integration from different origins.
	CrossOrigin(format string, v ...any) HTMLVideo

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLVideo

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLVideo

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLVideo

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLVideo

	// Sets the height of the element, measured in pixels.
	Height(v int) HTMLVideo

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLVideo

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLVideo

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLVideo

	// Indicates that the audio or video should replay from the beginning upon reaching its end.
	Loop(v bool) HTMLVideo

	// Ensures that the video's audio playback is muted.
	Muted(v bool) HTMLVideo

	// Sets an image displayed before a video starts playing or while it's loading.
	Poster(format string, v ...any) HTMLVideo

	// Indicates the preferred loading method for audio/video upon page load.
	Preload(format string, v ...any) HTMLVideo

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLVideo

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLVideo

	// Provides the URL source of embedded content or media. Uses the given format and values.
	Src(format string, v ...any) HTMLVideo

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLVideo

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLVideo

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLVideo

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLVideo

	// Sets the width of the element.
	Width(v int) HTMLVideo

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when media loading is aborted.
	OnAbort(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler when media has buffered sufficiently to begin playback.
	OnCanPlay(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when media can be played through without buffering interruptions.
	OnCanPlayThrough(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler upon cue changes within a track element.
	OnCueChange(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler when the media's duration changes.
	OnDurationChange(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when media unexpectedly becomes unavailable.
	OnEmptied(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when media playback reaches the end.
	OnEnded(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the given handler when an error is encountered.
	OnError(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when media loading commences.
	OnLoadStart(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler as media data finishes loading.
	OnLoadedData(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when metadata (like duration and dimensions) are fully loaded.
	OnLoadedMetaData(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler when media playback is paused.
	OnPause(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when media starts its playback.
	OnPlay(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler once the media has initiated playback.
	OnPlaying(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler while the browser fetches media data.
	OnProgress(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when playback rate changes (e.g., slow motion or fast forward).
	OnRateChange(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler post seeking completion.
	OnSeeked(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler during the seeking process.
	OnSeeking(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler when media data fetching stalls.
	OnStalled(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when media data fetching is suspended.
	OnSuspend(h EventHandler, options ...EventOption) HTMLVideo

	// Executes the handler when the media's playback position changes.
	OnTimeUpdate(h EventHandler, options ...EventOption) HTMLVideo

	// Invokes the handler upon volume changes or muting.
	OnVolumeChange(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the handler when media pauses, awaiting further buffering.
	OnWaiting(h EventHandler, options ...EventOption) HTMLVideo

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLVideo
}

// Returns an HTML element that embeds video content, allowing for playback of video files or streams.
func () HTMLVideo {
	 := &htmlVideo{
		htmlElement: htmlElement{
			tag:           "video",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlVideo struct {
	htmlElement
}

func ( *htmlVideo) ( ...UI) HTMLVideo {
	return .setBody(FilterUIElems(...)).(*htmlVideo)
}

func ( *htmlVideo) ( any) HTMLVideo {
	return .Body(Text())
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	return .Body(Textf(, ...))
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( string,  any) HTMLVideo {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlVideo) ( string,  any) HTMLVideo {
	.setAttr(, )
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("autoplay", )
	return 
}

func ( *htmlVideo) ( ...string) HTMLVideo {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("controls", )
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("crossorigin", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( string,  any) HTMLVideo {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlVideo) ( map[string]any) HTMLVideo {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("draggable", )
	return 
}

func ( *htmlVideo) ( int) HTMLVideo {
	.setAttr("height", )
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("hidden", )
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("loop", )
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	.setAttr("muted", )
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("poster", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("preload", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( bool) HTMLVideo {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("src", FormatString(, ...))
	return 
}

func ( *htmlVideo) (,  string,  ...any) HTMLVideo {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlVideo) ( map[string]string) HTMLVideo {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlVideo) ( int) HTMLVideo {
	.setAttr("tabindex", )
	return 
}

func ( *htmlVideo) ( string,  ...any) HTMLVideo {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlVideo) ( int) HTMLVideo {
	.setAttr("width", )
	return 
}

func ( *htmlVideo) ( string,  EventHandler,  ...EventOption) HTMLVideo {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("abort", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("blur", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("canplay", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("canplaythrough", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("change", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("click", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("contextmenu", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("copy", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("cuechange", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("cut", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dblclick", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("drag", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dragend", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dragenter", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dragleave", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dragover", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("dragstart", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("drop", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("durationchange", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("emptied", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("ended", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("error", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("focus", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("input", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("invalid", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("keydown", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("keypress", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("keyup", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("loadstart", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("loadeddata", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("loadedmetadata", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mousedown", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mouseenter", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mouseleave", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mousemove", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mouseout", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mouseover", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("mouseup", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("paste", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("pause", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("play", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("playing", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("progress", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("ratechange", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("reset", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("scroll", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("search", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("seeked", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("seeking", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("select", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("stalled", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("submit", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("suspend", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("timeupdate", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("volumechange", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("waiting", , ...)
}

func ( *htmlVideo) ( EventHandler,  ...EventOption) HTMLVideo {
	return .On("wheel", , ...)
}

func ( *htmlVideo) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlVideo) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlVideo) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlVideo) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlVideo) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlVideo) ( []UI) HTML {
	.children = 
	return 
}

// The interface that represents a "wbr" HTML element.
type HTMLWbr interface {
	HTML

	// Sets the content of the element.
	Body(elems ...UI) HTMLWbr

	// Sets the content of the element with a text node containing the stringified given value.
	Text(v any) HTMLWbr

	// Sets the content of the element with a text node formatted according to a format specifier.
	Textf(format string, v ...any) HTMLWbr

	// Assigns a keyboard shortcut for quick element activation or focus, enhancing user experience.
	AccessKey(format string, v ...any) HTMLWbr

	// Allocates ARIA roles and properties to the element to enhance accessibility for users with disabilities. Can be called multiple times to assign various roles and properties.
	Aria(k string, v any) HTMLWbr

	// Sets an attribute with its associated value, allowing for flexible HTML customization.
	Attr(n string, v any) HTMLWbr

	// Assigns one or more classnames to an element, linking it to styles defined in a stylesheet. Can be called multiple times to assign multiple classnames.
	Class(v ...string) HTMLWbr

	// Determines if the content of an element is editable by the user, allowing for in-page content modification.
	ContentEditable(v bool) HTMLWbr

	// Allows for storage of custom data specific to individual elements. Can be called multiple times to store multiple sets of data, often used for scripting purposes.
	DataSet(k string, v any) HTMLWbr

	// Denotes datasets linked to an element and can store multiple sets of data.
	DataSets(ds map[string]any) HTMLWbr

	// Defines the text direction for the content within an element, such as 'ltr' (left-to-right) or 'rtl' (right-to-left).
	Dir(format string, v ...any) HTMLWbr

	// Specifies if an element can be dragged by the user, supporting drag-and-drop operations.
	Draggable(v bool) HTMLWbr

	// Marks an element as currently irrelevant or not yet relevant.
	Hidden(v bool) HTMLWbr

	// Assigns a unique identifier to an element.
	ID(format string, v ...any) HTMLWbr

	// Declares the language of the element's content.
	Lang(format string, v ...any) HTMLWbr

	// Communicates the intended function or meaning of an element to assistive technologies.
	Role(format string, v ...any) HTMLWbr

	// Indicates whether the element's content is subject to spell and grammar checks.
	Spellcheck(v bool) HTMLWbr

	// Assigns inline CSS styling to an element. Can be called multiple times to set multiple CSS styles.
	Style(k, format string, v ...any) HTMLWbr

	// Allocates multiple CSS styles to an element. Accepts multiple styling definitions.
	Styles(s map[string]string) HTMLWbr

	// Determines the tabbing sequence of an element within the document navigation.
	TabIndex(v int) HTMLWbr

	// Provides additional information about an element, typically displayed as a tooltip. Can be called with the desired title format and content.
	Title(format string, v ...any) HTMLWbr

	// Invokes the specified handler when the corresponding event is triggered.
	On(event string, h EventHandler, options ...EventOption) HTMLWbr

	// Executes the given handler when the element loses focus.
	OnBlur(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler when the element's value changes.
	OnChange(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler upon a mouse click on the element.
	OnClick(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the provided handler upon activation of a context menu.
	OnContextMenu(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the handler when content of an element is copied by the user.
	OnCopy(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the handler when the user cuts content from an element.
	OnCut(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the provided handler when the element is double-clicked by the mouse.
	OnDblClick(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the handler as an element is being dragged.
	OnDrag(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the handler at the conclusion of a drag operation.
	OnDragEnd(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the handler when an element is dragged onto a valid drop target.
	OnDragEnter(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the handler when an element exits a valid drop target.
	OnDragLeave(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the handler as an element is dragged over a valid drop target.
	OnDragOver(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the handler at the initiation of a drag operation.
	OnDragStart(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the handler when a dragged element is released onto a drop target.
	OnDrop(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the given handler when the element receives focus.
	OnFocus(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler when the element receives user input.
	OnInput(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the provided handler when the element is determined to be invalid.
	OnInvalid(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the specified handler when a user starts pressing a key.
	OnKeyDown(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the provided handler as a key is pressed by the user.
	OnKeyPress(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the given handler when a user releases a key.
	OnKeyUp(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the given handler as a mouse button is pressed on the element.
	OnMouseDown(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler when the mouse pointer first enters the element's boundaries.
	OnMouseEnter(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the provided handler when the mouse pointer leaves the element and its descendants.
	OnMouseLeave(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the given handler as the mouse pointer moves across the element.
	OnMouseMove(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler when the mouse pointer exits the element.
	OnMouseOut(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the provided handler as the mouse pointer hovers over the element.
	OnMouseOver(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the given handler when a mouse button is released above the element.
	OnMouseUp(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the handler as content is pasted into an element by the user.
	OnPaste(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the given handler upon clicking the Reset button within a form.
	OnReset(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the handler as an element's scrollbar is scrolled.
	OnScroll(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler when input is provided in a search field.
	OnSearch(h EventHandler, options ...EventOption) HTMLWbr

	// Invokes the provided handler after text within the element is selected.
	OnSelect(h EventHandler, options ...EventOption) HTMLWbr

	// Executes the given handler when the form undergoes submission.
	OnSubmit(h EventHandler, options ...EventOption) HTMLWbr

	// Triggers the specified handler as the mouse wheel scrolls over the element.
	OnWheel(h EventHandler, options ...EventOption) HTMLWbr
}

// Returns an HTML element that suggests an optimal position for a line break within text.
func () HTMLWbr {
	 := &htmlWbr{
		htmlElement: htmlElement{
			tag:           "wbr",
			isSelfClosing: false,
		},
	}

	return 
}

type htmlWbr struct {
	htmlElement
}

func ( *htmlWbr) ( ...UI) HTMLWbr {
	return .setBody(FilterUIElems(...)).(*htmlWbr)
}

func ( *htmlWbr) ( any) HTMLWbr {
	return .Body(Text())
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	return .Body(Textf(, ...))
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("accesskey", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( string,  any) HTMLWbr {
	.setAttr("aria-"+, FormatString("%v", ))
	return 
}

func ( *htmlWbr) ( string,  any) HTMLWbr {
	.setAttr(, )
	return 
}

func ( *htmlWbr) ( ...string) HTMLWbr {
	.setAttr("class", strings.Join(, " "))
	return 
}

func ( *htmlWbr) ( bool) HTMLWbr {
	.setAttr("contenteditable", )
	return 
}

func ( *htmlWbr) ( string,  any) HTMLWbr {
	.setAttr("data-"+, FormatString("%v", ))
	return 
}

func ( *htmlWbr) ( map[string]any) HTMLWbr {
	for ,  := range  {
		.DataSet(, )
	}
	return 
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("dir", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( bool) HTMLWbr {
	.setAttr("draggable", )
	return 
}

func ( *htmlWbr) ( bool) HTMLWbr {
	.setAttr("hidden", )
	return 
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("id", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("lang", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("role", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( bool) HTMLWbr {
	 := "false"
	if  {
		 = "true"
	}

	.setAttr("spellcheck", )
	return 
}

func ( *htmlWbr) (,  string,  ...any) HTMLWbr {
	.setAttr("style", +":"+FormatString(, ...))
	return 
}

func ( *htmlWbr) ( map[string]string) HTMLWbr {
	for ,  := range  {
		.Style(, )
	}
	return 
}

func ( *htmlWbr) ( int) HTMLWbr {
	.setAttr("tabindex", )
	return 
}

func ( *htmlWbr) ( string,  ...any) HTMLWbr {
	.setAttr("title", FormatString(, ...))
	return 
}

func ( *htmlWbr) ( string,  EventHandler,  ...EventOption) HTMLWbr {
	.setEventHandler(, , ...)
	return 
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("blur", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("change", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("click", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("contextmenu", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("copy", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("cut", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dblclick", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("drag", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dragend", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dragenter", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dragleave", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dragover", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("dragstart", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("drop", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("focus", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("input", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("invalid", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("keydown", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("keypress", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("keyup", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mousedown", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mouseenter", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mouseleave", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mousemove", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mouseout", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mouseover", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("mouseup", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("paste", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("reset", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("scroll", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("search", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("select", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("submit", , ...)
}

func ( *htmlWbr) ( EventHandler,  ...EventOption) HTMLWbr {
	return .On("wheel", , ...)
}

func ( *htmlWbr) ( uint) UI {
	.treeDepth = 
	return 
}

func ( *htmlWbr) ( Value) HTML {
	.jsElement = 
	return 
}

func ( *htmlWbr) ( attributes) HTML {
	.attributes = 
	return 
}

func ( *htmlWbr) ( eventHandlers) HTML {
	.eventHandlers = 
	return 
}

func ( *htmlWbr) ( UI) UI {
	.parentElement = 
	return 
}

func ( *htmlWbr) ( []UI) HTML {
	.children = 
	return 
}