Represents a single attribute on a virtual DOM node.
Combines an attribute name with its corresponding value.
OPT 2: attribute names are Cow<'static, str>. The html! macro
emits Cow::Borrowed("class") for the common literal case so
attribute keys share a single static slice across the whole rendered
DOM, removing the per-attribute String heap allocation. The
AttributeValue::Text(String) payload keeps its owned allocation
(text values are user-supplied strings that almost always come
from string interpolation or runtime formatting).
get_name is public: ui/tests/view_factories collects attribute
names from outside this crate. get_mut / set stay crate-internal —
an attribute entry is built once by New and never rewritten.