//// This module is a drop-in replacement for `lustre/element/html`. Just
//// use the new functions, and everything will automagically be styled.
//// Every stylable node has two functions: `[node]` and `[node]_`, the former
//// applying a style, while the latter does not accept style, in case you don't
//// need to style a node.
import lustre/attribute.{type Attribute}
import sketch/css.{type Class}
import sketch/lustre/element.{type Element} as el
/// The `` HTML element represents the root (top-level element) of an
/// HTML document, so it is also referred to as the root element. All other
/// elements must be descendants of this element. There can be only one ``
/// element in a document.
///
/// ---
///
/// [MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/html)
pub fn html(
attributes: List(Attribute(a)),
children: List(Element(a)),
) -> Element(a) {
el.element_("html", attributes, children)
}
/// The `` HTML element specifies the base URL to use for all relative
/// URLs in a document. There can be only one `` element in a document.
///
/// A document's used base URL can be accessed by scripts with `Node.baseURI`.
/// If the document has no `` elements, then `baseURI` defaults to
/// `location.href`.
///
/// ---
///
/// [MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/base)
pub fn base(attributes: List(Attribute(a))) -> Element(a) {
el.element_("base", attributes, [])
}
/// The `
` HTML element contains machine-readable information (metadata)
/// about the document, like its title, scripts, and style sheets. There can be
/// only one `` element in an HTML document.
///
/// > `` primarily holds information for machine processing, not
/// > human-readability. For human-visible information, like top-level headings
/// > and listed authors, see the `` element.
///
/// ---
///
/// [MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/head)
pub fn head(
attributes: List(Attribute(a)),
children: List(Element(a)),
) -> Element(a) {
el.element_("head", attributes, children)
}
/// The `` HTML element specifies relationships between the current
/// document and an external resource. This element is most commonly used to
/// link to stylesheets, but is also used to establish site icons (both "favicon"
/// style icons and icons for the home screen and apps on mobile devices) among
/// other things.
///
/// ---
///
/// [MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/link)
pub fn link(attributes: List(Attribute(a))) -> Element(a) {
el.element_("link", attributes, [])
}
/// The `` HTML element represents metadata that cannot be represented
/// by other HTML meta-related elements, like ``, ``, `