#![allow(non_upper_case_globals)]
#[cfg(feature = "mathml")]
pub use super::mathml::MathMlGlobalAttributes;
use crate::validation::{Attribute, Element};
#[allow(unused_imports)]
use crate::validation::{AttributeNamespace, AttributeSymbol};
pub trait GlobalAttributes: Element {
const access_key: Attribute = Attribute;
const autocapitalize: Attribute = Attribute;
const autofocus: Attribute = Attribute;
#[doc(alias = ".")]
const class: Attribute = Attribute;
const contenteditable: Attribute = Attribute;
const dir: Attribute = Attribute;
const draggable: Attribute = Attribute;
const enterkeyhint: Attribute = Attribute;
const hidden: Attribute = Attribute;
#[doc(alias = "#")]
const id: Attribute = Attribute;
const inert: Attribute = Attribute;
const inputmode: Attribute = Attribute;
const is: Attribute = Attribute;
const itemid: Attribute = Attribute;
const itemprop: Attribute = Attribute;
const itemref: Attribute = Attribute;
const itemscope: Attribute = Attribute;
const itemtype: Attribute = Attribute;
const lang: Attribute = Attribute;
const nonce: Attribute = Attribute;
const popover: Attribute = Attribute;
const slot: Attribute = Attribute;
const spellcheck: Attribute = Attribute;
const style: Attribute = Attribute;
const tabindex: Attribute = Attribute;
const title: Attribute = Attribute;
const translate: Attribute = Attribute;
}
#[expect(missing_docs)]
pub trait AriaAttributes: GlobalAttributes {
const role: Attribute = Attribute;
const aria_activedescendant: Attribute = Attribute;
const aria_atomic: Attribute = Attribute;
const aria_autocomplete: Attribute = Attribute;
const aria_braillelabel: Attribute = Attribute;
const aria_brailleroledescription: Attribute = Attribute;
const aria_busy: Attribute = Attribute;
const aria_checked: Attribute = Attribute;
const aria_colcount: Attribute = Attribute;
const aria_colindex: Attribute = Attribute;
const aria_colindextext: Attribute = Attribute;
const aria_colspan: Attribute = Attribute;
const aria_controls: Attribute = Attribute;
const aria_current: Attribute = Attribute;
const aria_describedby: Attribute = Attribute;
const aria_description: Attribute = Attribute;
const aria_details: Attribute = Attribute;
const aria_disabled: Attribute = Attribute;
const aria_dropeffect: Attribute = Attribute;
const aria_errormessage: Attribute = Attribute;
const aria_expanded: Attribute = Attribute;
const aria_flowto: Attribute = Attribute;
const aria_grabbed: Attribute = Attribute;
const aria_haspopup: Attribute = Attribute;
const aria_hidden: Attribute = Attribute;
const aria_invalid: Attribute = Attribute;
const aria_keyshortcuts: Attribute = Attribute;
const aria_label: Attribute = Attribute;
const aria_labelledby: Attribute = Attribute;
const aria_level: Attribute = Attribute;
const aria_live: Attribute = Attribute;
const aria_modal: Attribute = Attribute;
const aria_multiline: Attribute = Attribute;
const aria_multiselectable: Attribute = Attribute;
const aria_orientation: Attribute = Attribute;
const aria_owns: Attribute = Attribute;
const aria_placeholder: Attribute = Attribute;
const aria_posinset: Attribute = Attribute;
const aria_pressed: Attribute = Attribute;
const aria_readonly: Attribute = Attribute;
const aria_relevant: Attribute = Attribute;
const aria_required: Attribute = Attribute;
const aria_roledescription: Attribute = Attribute;
const aria_rowcount: Attribute = Attribute;
const aria_rowindex: Attribute = Attribute;
const aria_rowindextext: Attribute = Attribute;
const aria_rowspan: Attribute = Attribute;
const aria_selected: Attribute = Attribute;
const aria_setsize: Attribute = Attribute;
const aria_sort: Attribute = Attribute;
const aria_valuemax: Attribute = Attribute;
const aria_valuemin: Attribute = Attribute;
const aria_valuenow: Attribute = Attribute;
const aria_valuetext: Attribute = Attribute;
}
impl<T: GlobalAttributes> AriaAttributes for T {}
#[expect(missing_docs)]
pub trait EventHandlerAttributes: GlobalAttributes {
const onabort: Attribute = Attribute;
const onautocomplete: Attribute = Attribute;
const onautocompleteerror: Attribute = Attribute;
const onblur: Attribute = Attribute;
const oncancel: Attribute = Attribute;
const oncanplay: Attribute = Attribute;
const oncanplaythrough: Attribute = Attribute;
const onchange: Attribute = Attribute;
const onclick: Attribute = Attribute;
const onclose: Attribute = Attribute;
const oncontextmenu: Attribute = Attribute;
const oncuechange: Attribute = Attribute;
const ondblclick: Attribute = Attribute;
const ondrag: Attribute = Attribute;
const ondragend: Attribute = Attribute;
const ondragenter: Attribute = Attribute;
const ondragleave: Attribute = Attribute;
const ondragover: Attribute = Attribute;
const ondragstart: Attribute = Attribute;
const ondrop: Attribute = Attribute;
const ondurationchange: Attribute = Attribute;
const onemptied: Attribute = Attribute;
const onended: Attribute = Attribute;
const onerror: Attribute = Attribute;
const onfocus: Attribute = Attribute;
const oninput: Attribute = Attribute;
const oninvalid: Attribute = Attribute;
const onkeydown: Attribute = Attribute;
const onkeypress: Attribute = Attribute;
const onkeyup: Attribute = Attribute;
const onload: Attribute = Attribute;
const onloadeddata: Attribute = Attribute;
const onloadedmetadata: Attribute = Attribute;
const onloadstart: Attribute = Attribute;
const onmousedown: Attribute = Attribute;
const onmouseenter: Attribute = Attribute;
const onmouseleave: Attribute = Attribute;
const onmousemove: Attribute = Attribute;
const onmouseout: Attribute = Attribute;
const onmouseover: Attribute = Attribute;
const onmouseup: Attribute = Attribute;
const onmousewheel: Attribute = Attribute;
const onpause: Attribute = Attribute;
const onplay: Attribute = Attribute;
const onplaying: Attribute = Attribute;
const onprogress: Attribute = Attribute;
const onratechange: Attribute = Attribute;
const onreset: Attribute = Attribute;
const onresize: Attribute = Attribute;
const onscroll: Attribute = Attribute;
const onseeked: Attribute = Attribute;
const onseeking: Attribute = Attribute;
const onselect: Attribute = Attribute;
const onshow: Attribute = Attribute;
const onsort: Attribute = Attribute;
const onstalled: Attribute = Attribute;
const onsubmit: Attribute = Attribute;
const onsuspend: Attribute = Attribute;
const ontimeupdate: Attribute = Attribute;
const ontoggle: Attribute = Attribute;
const onvolumechange: Attribute = Attribute;
const onwaiting: Attribute = Attribute;
}
impl<T: GlobalAttributes> EventHandlerAttributes for T {}
#[cfg(feature = "htmx")]
pub trait HtmxAttributes: GlobalAttributes {
const hx_get: Attribute = Attribute;
const hx_post: Attribute = Attribute;
const hx_on: AttributeNamespace = AttributeNamespace;
const hx_push_url: Attribute = Attribute;
const hx_select: Attribute = Attribute;
const hx_select_oob: Attribute = Attribute;
const hx_swap: Attribute = Attribute;
const hx_swap_oob: Attribute = Attribute;
const hx_target: Attribute = Attribute;
const hx_trigger: Attribute = Attribute;
const hx_vals: Attribute = Attribute;
const hx_boost: Attribute = Attribute;
const hx_confirm: Attribute = Attribute;
const hx_delete: Attribute = Attribute;
const hx_disable: Attribute = Attribute;
const hx_disabled_elt: Attribute = Attribute;
const hx_disinherit: Attribute = Attribute;
const hx_encoding: Attribute = Attribute;
const hx_ext: Attribute = Attribute;
const hx_headers: Attribute = Attribute;
const hx_history: Attribute = Attribute;
const hx_history_elt: Attribute = Attribute;
const hx_include: Attribute = Attribute;
const hx_indicator: Attribute = Attribute;
const hx_inherit: Attribute = Attribute;
const hx_params: Attribute = Attribute;
const hx_patch: Attribute = Attribute;
const hx_preserve: Attribute = Attribute;
const hx_prompt: Attribute = Attribute;
const hx_put: Attribute = Attribute;
const hx_replace_url: Attribute = Attribute;
const hx_request: Attribute = Attribute;
const hx_sync: Attribute = Attribute;
const hx_validate: Attribute = Attribute;
#[deprecated = "use `hx-vals` instead"]
const hx_vars: Attribute = Attribute;
}
#[cfg(feature = "htmx")]
impl<T: GlobalAttributes> HtmxAttributes for T {}
#[cfg(feature = "hyperscript")]
pub trait HyperscriptAttributes: GlobalAttributes {
const __: Attribute = Attribute;
}
#[cfg(feature = "hyperscript")]
impl<T: GlobalAttributes> HyperscriptAttributes for T {}
#[cfg(feature = "alpine")]
pub trait AlpineJsAttributes: GlobalAttributes {
const x_data: Attribute = Attribute;
const x_bind: AttributeNamespace = AttributeNamespace;
#[doc(alias = ":")]
const _colon: AttributeSymbol = AttributeSymbol;
const x_on: AttributeNamespace = AttributeNamespace;
#[doc(alias = "@")]
const _at: AttributeSymbol = AttributeSymbol;
const x_text: Attribute = Attribute;
const x_html: Attribute = Attribute;
const x_model: Attribute = Attribute;
const x_show: Attribute = Attribute;
const x_transition: Attribute = Attribute;
const x_for: Attribute = Attribute;
const x_if: Attribute = Attribute;
const x_init: Attribute = Attribute;
const x_effect: Attribute = Attribute;
const x_ref: Attribute = Attribute;
const x_cloak: Attribute = Attribute;
const x_ignore: Attribute = Attribute;
}
#[cfg(feature = "alpine")]
impl<T: GlobalAttributes> AlpineJsAttributes for T {}