Browse Source

chore: tweak global attributes

Jonathan Kelley 2 năm trước cách đây
mục cha
commit
4e49d71efe
1 tập tin đã thay đổi với 2273 bổ sung833 xóa
  1. 2273 833
      packages/html/src/global_attributes.rs

+ 2273 - 833
packages/html/src/global_attributes.rs

@@ -2,131 +2,165 @@
 
 use crate::AttributeDiscription;
 
-macro_rules! no_namespace_trait_methods {
+macro_rules! trait_methods {
     (
+        $trait:ident;
         $(
             $(#[$attr:meta])*
-            $name:ident;
-        )*
+            $name:ident $(: $($arg:literal),*)*;
+        )+
     ) => {
-        $(
-            $(#[$attr])*
-            const $name: AttributeDiscription = (
-                stringify!($name),
-                None,
-                false
-            );
-        )*
-    };
-}
-macro_rules! style_trait_methods {
-    (
-        $(
-            $(#[$attr:meta])*
-            $name:ident: $lit:literal,
-        )*
-    ) => {
-        $(
-            $(#[$attr])*
-            const $name: AttributeDiscription = (
-                $lit,
-                Some("style"),
-                false
-            );
-        )*
-    };
-}
-macro_rules! aria_trait_methods {
-    (
-        $(
-            $(#[$attr:meta])*
-            $name:ident: $lit:literal,
-        )*
-    ) => {
-        $(
-            $(#[$attr])*
-            const $name: AttributeDiscription = (
-                $lit,
-                None,
-                false
-            );
-        )*
+        pub trait $trait {
+            $(
+                $(#[$attr])*
+                const $name: AttributeDiscription = trait_methods! { $name $(: $($arg),*)*; };
+            )*
+        }
     };
+
+    // Rename the incoming ident and apply a custom namespace
+    ( $name:ident: $lit:literal, $ns:literal; ) => { ($lit, Some($ns), false) };
+
+    // Rename the incoming ident
+    ( $name:ident: $lit:literal; ) => { ($lit, None, false ) };
+
+    // Don't rename the incoming ident
+    ( $name:ident; ) => { (stringify!($name), None, false) };
 }
 
-pub trait GlobalAttributes {
+trait_methods! {
+    GlobalAttributes;
+
     /// Prevent the default action for this element.
     ///
     /// For more information, see the MDN docs:
     /// <https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault>
+    prevent_default: "dioxus-prevent-default";
+
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey>
+    accesskey: "accesskey";
+
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize>
+    autocapitalize: "autocapitalize";
+
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus>
+    autofocus;
+
+    /// The HTML class attribute is used to specify a class for an HTML element.
+    ///
+    /// ## Details
+    /// Multiple HTML elements can share the same class.
+    ///
+    /// The class global attribute is a space-separated list of the case-sensitive classes of the element.
+    /// Classes allow CSS and Javascript to select and access specific elements via the class selectors or
+    /// functions like the DOM method document.getElementsByClassName.
+    ///
+    /// ## Example
+    ///
+    /// ### HTML:
+    /// ```html
+    /// <p class="note editorial">Above point sounds a bit obvious. Remove/rewrite?</p>
+    /// ```
+    ///
+    /// ### CSS:
+    /// ```css
+    /// .note {
+    ///     font-style: italic;
+    ///     font-weight: bold;
+    /// }
+    ///
+    /// .editorial {
+    ///     background: rgb(255, 0, 0, .25);
+    ///     padding: 10px;
+    /// }
+    /// ```
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class>
+    class;
 
-    const prevent_default: AttributeDiscription = ("dioxus-prevent-default", None, false);
-
-    no_namespace_trait_methods! {
-        accesskey;
-        autocapitalize;
-        autofocus;
-        /// The HTML class attribute is used to specify a class for an HTML element.
-        ///
-        /// ## Details
-        /// Multiple HTML elements can share the same class.
-        ///
-        /// The class global attribute is a space-separated list of the case-sensitive classes of the element.
-        /// Classes allow CSS and Javascript to select and access specific elements via the class selectors or
-        /// functions like the DOM method document.getElementsByClassName.
-        ///
-        /// ## Example
-        ///
-        /// ### HTML:
-        /// ```html
-        /// <p class="note editorial">Above point sounds a bit obvious. Remove/rewrite?</p>
-        /// ```
-        ///
-        /// ### CSS:
-        /// ```css
-        /// .note {
-        ///     font-style: italic;
-        ///     font-weight: bold;
-        /// }
-        ///
-        /// .editorial {
-        ///     background: rgb(255, 0, 0, .25);
-        ///     padding: 10px;
-        /// }
-        /// ```
-        class;
-        contenteditable;
-        data;
-        dir;
-        draggable;
-        enterkeyhint;
-        exportparts;
-        hidden;
-        id;
-        inputmode;
-        is;
-        itemid;
-        itemprop;
-        itemref;
-        itemscope;
-        itemtype;
-        lang;
-        nonce;
-        part;
-        role;
-        slot;
-        spellcheck;
-        style;
-        tabindex;
-        title;
-        translate;
-
-        /// dangerous_inner_html is Dioxus's replacement for using innerHTML in the browser DOM. In general, setting
-        /// HTML from code is risky because it’s easy to inadvertently expose your users to a cross-site scripting (XSS)
-        /// attack. So, you can set HTML directly from Dioxus, but you have to type out dangerous_inner_html to remind
-        /// yourself that it’s dangerous
-        dangerous_inner_html;
-    }
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable>
+    contenteditable;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data>
+    data;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir>
+    dir;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable>
+    draggable;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint>
+    enterkeyhint;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts>
+    exportparts;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden>
+    hidden;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id>
+    id;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode>
+    inputmode;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/is>
+    is;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemid>
+    itemid;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop>
+    itemprop;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemref>
+    itemref;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemscope>
+    itemscope;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemtype>
+    itemtype;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang>
+    lang;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce>
+    nonce;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part>
+    part;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/role>
+    role;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/slot>
+    slot;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck>
+    spellcheck;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/style>
+    style;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex>
+    tabindex;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title>
+    title;
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate>
+    translate;
+
+
+    /// dangerous_inner_html is Dioxus's replacement for using innerHTML in the browser DOM. In general, setting
+    /// HTML from code is risky because it’s easy to inadvertently expose your users to a cross-site scripting (XSS)
+    /// attack. So, you can set HTML directly from Dioxus, but you have to type out dangerous_inner_html to remind
+    /// yourself that it’s dangerous
+    dangerous_inner_html;
 
     // This macro creates an explicit method call for each of the style attributes.
     //
@@ -134,725 +168,2131 @@ pub trait GlobalAttributes {
     // actual name of the attribute generated.
     //
     // This roughly follows the html spec
-    style_trait_methods! {
-        align_content: "align-content",
-        align_items: "align-items",
-        align_self: "align-self",
-        alignment_adjust: "alignment-adjust",
-        alignment_baseline: "alignment-baseline",
-        all: "all",
-        alt: "alt",
-        animation: "animation",
-        animation_delay: "animation-delay",
-        animation_direction: "animation-direction",
-        animation_duration: "animation-duration",
-        animation_fill_mode: "animation-fill-mode",
-        animation_iteration_count: "animation-iteration-count",
-        animation_name: "animation-name",
-        animation_play_state: "animation-play-state",
-        animation_timing_function: "animation-timing-function",
-        azimuth: "azimuth",
-        backface_visibility: "backface-visibility",
-        background: "background",
-        background_attachment: "background-attachment",
-        background_clip: "background-clip",
-        background_color: "background-color",
-        background_image: "background-image",
-        background_origin: "background-origin",
-        background_position: "background-position",
-        background_repeat: "background-repeat",
-        background_size: "background-size",
-        background_blend_mode: "background-blend-mode",
-        baseline_shift: "baseline-shift",
-        bleed: "bleed",
-        bookmark_label: "bookmark-label",
-        bookmark_level: "bookmark-level",
-        bookmark_state: "bookmark-state",
-        border: "border",
-        border_color: "border-color",
-        border_style: "border-style",
-        border_width: "border-width",
-        border_bottom: "border-bottom",
-        border_bottom_color: "border-bottom-color",
-        border_bottom_style: "border-bottom-style",
-        border_bottom_width: "border-bottom-width",
-        border_left: "border-left",
-        border_left_color: "border-left-color",
-        border_left_style: "border-left-style",
-        border_left_width: "border-left-width",
-        border_right: "border-right",
-        border_right_color: "border-right-color",
-        border_right_style: "border-right-style",
-        border_right_width: "border-right-width",
-        border_top: "border-top",
-        border_top_color: "border-top-color",
-        border_top_style: "border-top-style",
-        border_top_width: "border-top-width",
-        border_collapse: "border-collapse",
-        border_image: "border-image",
-        border_image_outset: "border-image-outset",
-        border_image_repeat: "border-image-repeat",
-        border_image_slice: "border-image-slice",
-        border_image_source: "border-image-source",
-        border_image_width: "border-image-width",
-        border_radius: "border-radius",
-        border_bottom_left_radius: "border-bottom-left-radius",
-        border_bottom_right_radius: "border-bottom-right-radius",
-        border_top_left_radius: "border-top-left-radius",
-        border_top_right_radius: "border-top-right-radius",
-        border_spacing: "border-spacing",
-        bottom: "bottom",
-        box_decoration_break: "box-decoration-break",
-        box_shadow: "box-shadow",
-        box_sizing: "box-sizing",
-        box_snap: "box-snap",
-        break_after: "break-after",
-        break_before: "break-before",
-        break_inside: "break-inside",
-        buffered_rendering: "buffered-rendering",
-        caption_side: "caption-side",
-        clear: "clear",
-        clear_side: "clear-side",
-        clip: "clip",
-        clip_path: "clip-path",
-        clip_rule: "clip-rule",
-        color: "color",
-        color_adjust: "color-adjust",
-        color_correction: "color-correction",
-        color_interpolation: "color-interpolation",
-        color_interpolation_filters: "color-interpolation-filters",
-        color_profile: "color-profile",
-        color_rendering: "color-rendering",
-        column_fill: "column-fill",
-        column_gap: "column-gap",
-        column_rule: "column-rule",
-        column_rule_color: "column-rule-color",
-        column_rule_style: "column-rule-style",
-        column_rule_width: "column-rule-width",
-        column_span: "column-span",
-        columns: "columns",
-        column_count: "column-count",
-        column_width: "column-width",
-        contain: "contain",
-        content: "content",
-        counter_increment: "counter-increment",
-        counter_reset: "counter-reset",
-        counter_set: "counter-set",
-        cue: "cue",
-        cue_after: "cue-after",
-        cue_before: "cue-before",
-        cursor: "cursor",
-        direction: "direction",
-        display: "display",
-        display_inside: "display-inside",
-        display_outside: "display-outside",
-        display_extras: "display-extras",
-        display_box: "display-box",
-        dominant_baseline: "dominant-baseline",
-        elevation: "elevation",
-        empty_cells: "empty-cells",
-        enable_background: "enable-background",
-        fill: "fill",
-        fill_opacity: "fill-opacity",
-        fill_rule: "fill-rule",
-        filter: "filter",
-        float: "float",
-        float_defer_column: "float-defer-column",
-        float_defer_page: "float-defer-page",
-        float_offset: "float-offset",
-        float_wrap: "float-wrap",
-        flow_into: "flow-into",
-        flow_from: "flow-from",
-        flex: "flex",
-        flex_basis: "flex-basis",
-        flex_grow: "flex-grow",
-        flex_shrink: "flex-shrink",
-        flex_flow: "flex-flow",
-        flex_direction: "flex-direction",
-        flex_wrap: "flex-wrap",
-        flood_color: "flood-color",
-        flood_opacity: "flood-opacity",
-        font: "font",
-        font_family: "font-family",
-        font_size: "font-size",
-        font_stretch: "font-stretch",
-        font_style: "font-style",
-        font_weight: "font-weight",
-        font_feature_settings: "font-feature-settings",
-        font_kerning: "font-kerning",
-        font_language_override: "font-language-override",
-        font_size_adjust: "font-size-adjust",
-        font_synthesis: "font-synthesis",
-        font_variant: "font-variant",
-        font_variant_alternates: "font-variant-alternates",
-        font_variant_caps: "font-variant-caps",
-        font_variant_east_asian: "font-variant-east-asian",
-        font_variant_ligatures: "font-variant-ligatures",
-        font_variant_numeric: "font-variant-numeric",
-        font_variant_position: "font-variant-position",
-        footnote_policy: "footnote-policy",
-        glyph_orientation_horizontal: "glyph-orientation-horizontal",
-        glyph_orientation_vertical: "glyph-orientation-vertical",
-        grid: "grid",
-        grid_auto_flow: "grid-auto-flow",
-        grid_auto_columns: "grid-auto-columns",
-        grid_auto_rows: "grid-auto-rows",
-        grid_template: "grid-template",
-        grid_template_areas: "grid-template-areas",
-        grid_template_columns: "grid-template-columns",
-        grid_template_rows: "grid-template-rows",
-        grid_area: "grid-area",
-        grid_column: "grid-column",
-        grid_column_start: "grid-column-start",
-        grid_column_end: "grid-column-end",
-        grid_row: "grid-row",
-        grid_row_start: "grid-row-start",
-        grid_row_end: "grid-row-end",
-        hanging_punctuation: "hanging-punctuation",
-        height: "height",
-        hyphenate_character: "hyphenate-character",
-        hyphenate_limit_chars: "hyphenate-limit-chars",
-        hyphenate_limit_last: "hyphenate-limit-last",
-        hyphenate_limit_lines: "hyphenate-limit-lines",
-        hyphenate_limit_zone: "hyphenate-limit-zone",
-        hyphens: "hyphens",
-        icon: "icon",
-        image_orientation: "image-orientation",
-        image_resolution: "image-resolution",
-        image_rendering: "image-rendering",
-        ime: "ime",
-        ime_align: "ime-align",
-        ime_mode: "ime-mode",
-        ime_offset: "ime-offset",
-        ime_width: "ime-width",
-        initial_letters: "initial-letters",
-        inline_box_align: "inline-box-align",
-        isolation: "isolation",
-        justify_content: "justify-content",
-        justify_items: "justify-items",
-        justify_self: "justify-self",
-        kerning: "kerning",
-        left: "left",
-        letter_spacing: "letter-spacing",
-        lighting_color: "lighting-color",
-        line_box_contain: "line-box-contain",
-        line_break: "line-break",
-        line_grid: "line-grid",
-        line_height: "line-height",
-        line_slack: "line-slack",
-        line_snap: "line-snap",
-        list_style: "list-style",
-        list_style_image: "list-style-image",
-        list_style_position: "list-style-position",
-        list_style_type: "list-style-type",
-        margin: "margin",
-        margin_bottom: "margin-bottom",
-        margin_left: "margin-left",
-        margin_right: "margin-right",
-        margin_top: "margin-top",
-        marker: "marker",
-        marker_end: "marker-end",
-        marker_mid: "marker-mid",
-        marker_pattern: "marker-pattern",
-        marker_segment: "marker-segment",
-        marker_start: "marker-start",
-        marker_knockout_left: "marker-knockout-left",
-        marker_knockout_right: "marker-knockout-right",
-        marker_side: "marker-side",
-        marks: "marks",
-        marquee_direction: "marquee-direction",
-        marquee_play_count: "marquee-play-count",
-        marquee_speed: "marquee-speed",
-        marquee_style: "marquee-style",
-        mask: "mask",
-        mask_image: "mask-image",
-        mask_repeat: "mask-repeat",
-        mask_position: "mask-position",
-        mask_clip: "mask-clip",
-        mask_origin: "mask-origin",
-        mask_size: "mask-size",
-        mask_box: "mask-box",
-        mask_box_outset: "mask-box-outset",
-        mask_box_repeat: "mask-box-repeat",
-        mask_box_slice: "mask-box-slice",
-        mask_box_source: "mask-box-source",
-        mask_box_width: "mask-box-width",
-        mask_type: "mask-type",
-        max_height: "max-height",
-        max_lines: "max-lines",
-        max_width: "max-width",
-        min_height: "min-height",
-        min_width: "min-width",
-        mix_blend_mode: "mix-blend-mode",
-        nav_down: "nav-down",
-        nav_index: "nav-index",
-        nav_left: "nav-left",
-        nav_right: "nav-right",
-        nav_up: "nav-up",
-        object_fit: "object-fit",
-        object_position: "object-position",
-        offset_after: "offset-after",
-        offset_before: "offset-before",
-        offset_end: "offset-end",
-        offset_start: "offset-start",
-        opacity: "opacity",
-        order: "order",
-        orphans: "orphans",
-        outline: "outline",
-        outline_color: "outline-color",
-        outline_style: "outline-style",
-        outline_width: "outline-width",
-        outline_offset: "outline-offset",
-        overflow: "overflow",
-        overflow_x: "overflow-x",
-        overflow_y: "overflow-y",
-        overflow_style: "overflow-style",
-        overflow_wrap: "overflow-wrap",
-        padding: "padding",
-        padding_bottom: "padding-bottom",
-        padding_left: "padding-left",
-        padding_right: "padding-right",
-        padding_top: "padding-top",
-        page: "page",
-        page_break_after: "page-break-after",
-        page_break_before: "page-break-before",
-        page_break_inside: "page-break-inside",
-        paint_order: "paint-order",
-        pause: "pause",
-        pause_after: "pause-after",
-        pause_before: "pause-before",
-        perspective: "perspective",
-        perspective_origin: "perspective-origin",
-        pitch: "pitch",
-        pitch_range: "pitch-range",
-        play_during: "play-during",
-        pointer_events: "pointer-events",
-        position: "position",
-        quotes: "quotes",
-        region_fragment: "region-fragment",
-        resize: "resize",
-        rest: "rest",
-        rest_after: "rest-after",
-        rest_before: "rest-before",
-        richness: "richness",
-        right: "right",
-        ruby_align: "ruby-align",
-        ruby_merge: "ruby-merge",
-        ruby_position: "ruby-position",
-        scroll_behavior: "scroll-behavior",
-        scroll_snap_coordinate: "scroll-snap-coordinate",
-        scroll_snap_destination: "scroll-snap-destination",
-        scroll_snap_points_x: "scroll-snap-points-x",
-        scroll_snap_points_y: "scroll-snap-points-y",
-        scroll_snap_type: "scroll-snap-type",
-        shape_image_threshold: "shape-image-threshold",
-        shape_inside: "shape-inside",
-        shape_margin: "shape-margin",
-        shape_outside: "shape-outside",
-        shape_padding: "shape-padding",
-        shape_rendering: "shape-rendering",
-        size: "size",
-        speak: "speak",
-        speak_as: "speak-as",
-        speak_header: "speak-header",
-        speak_numeral: "speak-numeral",
-        speak_punctuation: "speak-punctuation",
-        speech_rate: "speech-rate",
-        stop_color: "stop-color",
-        stop_opacity: "stop-opacity",
-        stress: "stress",
-        string_set: "string-set",
-        stroke: "stroke",
-        stroke_dasharray: "stroke-dasharray",
-        stroke_dashoffset: "stroke-dashoffset",
-        stroke_linecap: "stroke-linecap",
-        stroke_linejoin: "stroke-linejoin",
-        stroke_miterlimit: "stroke-miterlimit",
-        stroke_opacity: "stroke-opacity",
-        stroke_width: "stroke-width",
-        tab_size: "tab-size",
-        table_layout: "table-layout",
-        text_align: "text-align",
-        text_align_all: "text-align-all",
-        text_align_last: "text-align-last",
-        text_anchor: "text-anchor",
-        text_combine_upright: "text-combine-upright",
-        text_decoration: "text-decoration",
-        text_decoration_color: "text-decoration-color",
-        text_decoration_line: "text-decoration-line",
-        text_decoration_style: "text-decoration-style",
-        text_decoration_skip: "text-decoration-skip",
-        text_emphasis: "text-emphasis",
-        text_emphasis_color: "text-emphasis-color",
-        text_emphasis_style: "text-emphasis-style",
-        text_emphasis_position: "text-emphasis-position",
-        text_emphasis_skip: "text-emphasis-skip",
-        text_height: "text-height",
-        text_indent: "text-indent",
-        text_justify: "text-justify",
-        text_orientation: "text-orientation",
-        text_overflow: "text-overflow",
-        text_rendering: "text-rendering",
-        text_shadow: "text-shadow",
-        text_size_adjust: "text-size-adjust",
-        text_space_collapse: "text-space-collapse",
-        text_spacing: "text-spacing",
-        text_transform: "text-transform",
-        text_underline_position: "text-underline-position",
-        text_wrap: "text-wrap",
-        top: "top",
-        touch_action: "touch-action",
-        transform: "transform",
-        transform_box: "transform-box",
-        transform_origin: "transform-origin",
-        transform_style: "transform-style",
-        transition: "transition",
-        transition_delay: "transition-delay",
-        transition_duration: "transition-duration",
-        transition_property: "transition-property",
-        unicode_bidi: "unicode-bidi",
-        vector_effect: "vector-effect",
-        vertical_align: "vertical-align",
-        visibility: "visibility",
-        voice_balance: "voice-balance",
-        voice_duration: "voice-duration",
-        voice_family: "voice-family",
-        voice_pitch: "voice-pitch",
-        voice_range: "voice-range",
-        voice_rate: "voice-rate",
-        voice_stress: "voice-stress",
-        voice_volumn: "voice-volumn",
-        volume: "volume",
-        white_space: "white-space",
-        widows: "widows",
-        width: "width",
-        will_change: "will-change",
-        word_break: "word-break",
-        word_spacing: "word-spacing",
-        word_wrap: "word-wrap",
-        wrap_flow: "wrap-flow",
-        wrap_through: "wrap-through",
-        writing_mode: "writing-mode",
-        gap: "gap",
-        list_styler_type: "list-style-type",
-        row_gap: "row-gap",
-        transition_timing_function: "transition-timing-function",
-        user_select: "user-select",
-        webkit_user_select: "-webkit-user-select",
-        z_index : "z-index",
-    }
-    aria_trait_methods! {
-        aria_current: "aria-current",
-        aria_details: "aria-details",
-        aria_disabled: "aria-disabled",
-        aria_hidden: "aria-hidden",
-        aria_invalid: "aria-invalid",
-        aria_keyshortcuts: "aria-keyshortcuts",
-        aria_label: "aria-label",
-        aria_roledescription: "aria-roledescription",
-        // Widget Attributes
-        aria_autocomplete: "aria-autocomplete",
-        aria_checked: "aria-checked",
-        aria_expanded: "aria-expanded",
-        aria_haspopup: "aria-haspopup",
-        aria_level: "aria-level",
-        aria_modal: "aria-modal",
-        aria_multiline: "aria-multiline",
-        aria_multiselectable: "aria-multiselectable",
-        aria_orientation: "aria-orientation",
-        aria_placeholder: "aria-placeholder",
-        aria_pressed: "aria-pressed",
-        aria_readonly: "aria-readonly",
-        aria_required: "aria-required",
-        aria_selected: "aria-selected",
-        aria_sort: "aria-sort",
-        aria_valuemax: "aria-valuemax",
-        aria_valuemin: "aria-valuemin",
-        aria_valuenow: "aria-valuenow",
-        aria_valuetext: "aria-valuetext",
-        // Live Region Attributes
-        aria_atomic: "aria-atomic",
-        aria_busy: "aria-busy",
-        aria_live: "aria-live",
-        aria_relevant: "aria-relevant",
-
-        aria_dropeffect: "aria-dropeffect",
-        aria_grabbed: "aria-grabbed",
-        // Relationship Attributes
-        aria_activedescendant: "aria-activedescendant",
-        aria_colcount: "aria-colcount",
-        aria_colindex: "aria-colindex",
-        aria_colspan: "aria-colspan",
-        aria_controls: "aria-controls",
-        aria_describedby: "aria-describedby",
-        aria_errormessage: "aria-errormessage",
-        aria_flowto: "aria-flowto",
-        aria_labelledby: "aria-labelledby",
-        aria_owns: "aria-owns",
-        aria_posinset: "aria-posinset",
-        aria_rowcount: "aria-rowcount",
-        aria_rowindex: "aria-rowindex",
-        aria_rowspan: "aria-rowspan",
-        aria_setsize: "aria-setsize",
-    }
-}
 
-pub trait SvgAttributes {
-    /// Prevent the default action for this element.
-    ///
-    /// For more information, see the MDN docs:
-    /// <https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault>
-    const prevent_default: AttributeDiscription = ("dioxus-prevent-default", None, false);
-
-    aria_trait_methods! {
-        accent_height: "accent-height",
-        accumulate: "accumulate",
-        additive: "additive",
-        alignment_baseline: "alignment-baseline",
-        alphabetic: "alphabetic",
-        amplitude: "amplitude",
-        arabic_form: "arabic-form",
-        ascent: "ascent",
-        attributeName: "attributeName",
-        attributeType: "attributeType",
-        azimuth: "azimuth",
-        baseFrequency: "baseFrequency",
-        baseline_shift: "baseline-shift",
-        baseProfile: "baseProfile",
-        bbox: "bbox",
-        begin: "begin",
-        bias: "bias",
-        by: "by",
-        calcMode: "calcMode",
-        cap_height: "cap-height",
-        class: "class",
-        clip: "clip",
-        clipPathUnits: "clipPathUnits",
-        clip_path: "clip-path",
-        clip_rule: "clip-rule",
-        color: "color",
-        color_interpolation: "color-interpolation",
-        color_interpolation_filters: "color-interpolation-filters",
-        color_profile: "color-profile",
-        color_rendering: "color-rendering",
-        contentScriptType: "contentScriptType",
-        contentStyleType: "contentStyleType",
-        crossorigin: "crossorigin",
-        cursor: "cursor",
-        cx: "cx",
-        cy: "cy",
-        d: "d",
-        decelerate: "decelerate",
-        descent: "descent",
-        diffuseConstant: "diffuseConstant",
-        direction: "direction",
-        display: "display",
-        divisor: "divisor",
-        dominant_baseline: "dominant-baseline",
-        dur: "dur",
-        dx: "dx",
-        dy: "dy",
-        edgeMode: "edgeMode",
-        elevation: "elevation",
-        enable_background: "enable-background",
-        end: "end",
-        exponent: "exponent",
-        fill: "fill",
-        fill_opacity: "fill-opacity",
-        fill_rule: "fill-rule",
-        filter: "filter",
-        filterRes: "filterRes",
-        filterUnits: "filterUnits",
-        flood_color: "flood-color",
-        flood_opacity: "flood-opacity",
-        font_family: "font-family",
-        font_size: "font-size",
-        font_size_adjust: "font-size-adjust",
-        font_stretch: "font-stretch",
-        font_style: "font-style",
-        font_variant: "font-variant",
-        font_weight: "font-weight",
-        format: "format",
-        from: "from",
-        fr: "fr",
-        fx: "fx",
-        fy: "fy",
-        g1: "g1",
-        g2: "g2",
-        glyph_name: "glyph-name",
-        glyph_orientation_horizontal: "glyph-orientation-horizontal",
-        glyph_orientation_vertical: "glyph-orientation-vertical",
-        glyphRef: "glyphRef",
-        gradientTransform: "gradientTransform",
-        gradientUnits: "gradientUnits",
-        hanging: "hanging",
-        height: "height",
-        href: "href",
-        hreflang: "hreflang",
-        horiz_adv_x: "horiz-adv-x",
-        horiz_origin_x: "horiz-origin-x",
-        id: "id",
-        ideographic: "ideographic",
-        image_rendering: "image-rendering",
-        _in: "_in",
-        in2: "in2",
-        intercept: "intercept",
-        k: "k",
-        k1: "k1",
-        k2: "k2",
-        k3: "k3",
-        k4: "k4",
-        kernelMatrix: "kernelMatrix",
-        kernelUnitLength: "kernelUnitLength",
-        kerning: "kerning",
-        keyPoints: "keyPoints",
-        keySplines: "keySplines",
-        keyTimes: "keyTimes",
-        lang: "lang",
-        lengthAdjust: "lengthAdjust",
-        letter_spacing: "letter-spacing",
-        lighting_color: "lighting-color",
-        limitingConeAngle: "limitingConeAngle",
-        local: "local",
-        marker_end: "marker-end",
-        marker_mid: "marker-mid",
-        marker_start: "marker_start",
-        markerHeight: "markerHeight",
-        markerUnits: "markerUnits",
-        markerWidth: "markerWidth",
-        mask: "mask",
-        maskContentUnits: "maskContentUnits",
-        maskUnits: "maskUnits",
-        mathematical: "mathematical",
-        max: "max",
-        media: "media",
-        method: "method",
-        min: "min",
-        mode: "mode",
-        name: "name",
-        numOctaves: "numOctaves",
-        offset: "offset",
-        opacity: "opacity",
-        operator: "operator",
-        order: "order",
-        orient: "orient",
-        orientation: "orientation",
-        origin: "origin",
-        overflow: "overflow",
-        overline_position: "overline-position",
-        overline_thickness: "overline-thickness",
-        panose_1: "panose-1",
-        paint_order: "paint-order",
-        path: "path",
-        pathLength: "pathLength",
-        patternContentUnits: "patternContentUnits",
-        patternTransform: "patternTransform",
-        patternUnits: "patternUnits",
-        ping: "ping",
-        pointer_events: "pointer-events",
-        points: "points",
-        pointsAtX: "pointsAtX",
-        pointsAtY: "pointsAtY",
-        pointsAtZ: "pointsAtZ",
-        preserveAlpha: "preserveAlpha",
-        preserveAspectRatio: "preserveAspectRatio",
-        primitiveUnits: "primitiveUnits",
-        r: "r",
-        radius: "radius",
-        referrerPolicy: "referrerPolicy",
-        refX: "refX",
-        refY: "refY",
-        rel: "rel",
-        rendering_intent: "rendering-intent",
-        repeatCount: "repeatCount",
-        repeatDur: "repeatDur",
-        requiredExtensions: "requiredExtensions",
-        requiredFeatures: "requiredFeatures",
-        restart: "restart",
-        result: "result",
-        role: "role",
-        rotate: "rotate",
-        rx: "rx",
-        ry: "ry",
-        scale: "scale",
-        seed: "seed",
-        shape_rendering: "shape-rendering",
-        slope: "slope",
-        spacing: "spacing",
-        specularConstant: "specularConstant",
-        specularExponent: "specularExponent",
-        speed: "speed",
-        spreadMethod: "spreadMethod",
-        startOffset: "startOffset",
-        stdDeviation: "stdDeviation",
-        stemh: "stemh",
-        stemv: "stemv",
-        stitchTiles: "stitchTiles",
-        stop_color: "stop_color",
-        stop_opacity: "stop_opacity",
-        strikethrough_position: "strikethrough-position",
-        strikethrough_thickness: "strikethrough-thickness",
-        string: "string",
-        stroke: "stroke",
-        stroke_dasharray: "stroke-dasharray",
-        stroke_dashoffset: "stroke-dashoffset",
-        stroke_linecap: "stroke-linecap",
-        stroke_linejoin: "stroke-linejoin",
-        stroke_miterlimit: "stroke-miterlimit",
-        stroke_opacity: "stroke-opacity",
-        stroke_width: "stroke-width",
-        style: "style",
-        surfaceScale: "surfaceScale",
-        systemLanguage: "systemLanguage",
-        tabindex: "tabindex",
-        tableValues: "tableValues",
-        target: "target",
-        targetX: "targetX",
-        targetY: "targetY",
-        text_anchor: "text-anchor",
-        text_decoration: "text-decoration",
-        text_rendering: "text-rendering",
-        textLength: "textLength",
-        to: "to",
-        transform: "transform",
-        transform_origin: "transform-origin",
-        r#type: "_type",
-        u1: "u1",
-        u2: "u2",
-        underline_position: "underline-position",
-        underline_thickness: "underline-thickness",
-        unicode: "unicode",
-        unicode_bidi: "unicode-bidi",
-        unicode_range: "unicode-range",
-        units_per_em: "units-per-em",
-        v_alphabetic: "v-alphabetic",
-        v_hanging: "v-hanging",
-        v_ideographic: "v-ideographic",
-        v_mathematical: "v-mathematical",
-        values: "values",
-        vector_effect: "vector-effect",
-        version: "version",
-        vert_adv_y: "vert-adv-y",
-        vert_origin_x: "vert-origin-x",
-        vert_origin_y: "vert-origin-y",
-        view_box: "viewBox",
-        view_target: "viewTarget",
-        visibility: "visibility",
-        width: "width",
-        widths: "widths",
-        word_spacing: "word-spacing",
-        writing_mode: "writing-mode",
-        x: "x",
-        x_height: "x-height",
-        x1: "x1",
-        x2: "x2",
-        xmlns: "xmlns",
-        x_channel_selector: "xChannelSelector",
-        y: "y",
-        y1: "y1",
-        y2: "y2",
-        y_channel_selector: "yChannelSelector",
-        z: "z",
-        zoomAndPan: "zoomAndPan",
-    }
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/align-content>
+    align_content: "align-content", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/align-items>
+    align_items: "align-items", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/align-self>
+    align_self: "align-self", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/alignment-adjust>
+    alignment_adjust: "alignment-adjust", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/alignment-baseline>
+    alignment_baseline: "alignment-baseline", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/all>
+    all: "all", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/alt>
+    alt: "alt", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation>
+    animation: "animation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay>
+    animation_delay: "animation-delay", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction>
+    animation_direction: "animation-direction", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration>
+    animation_duration: "animation-duration", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode>
+    animation_fill_mode: "animation-fill-mode", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-iteration-count>
+    animation_iteration_count: "animation-iteration-count", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-name>
+    animation_name: "animation-name", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-play-state>
+    animation_play_state: "animation-play-state", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timing-function>
+    animation_timing_function: "animation-timing-function", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/azimuth>
+    azimuth: "azimuth", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/backface-visibility>
+    backface_visibility: "backface-visibility", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background>
+    background: "background", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment>
+    background_attachment: "background-attachment", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip>
+    background_clip: "background-clip", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-color>
+    background_color: "background-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-image>
+    background_image: "background-image", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin>
+    background_origin: "background-origin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-position>
+    background_position: "background-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat>
+    background_repeat: "background-repeat", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-size>
+    background_size: "background-size", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode>
+    background_blend_mode: "background-blend-mode", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/baseline-shift>
+    baseline_shift: "baseline-shift", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/bleed>
+    bleed: "bleed", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/bookmark-label>
+    bookmark_label: "bookmark-label", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/bookmark-level>
+    bookmark_level: "bookmark-level", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/bookmark-state>
+    bookmark_state: "bookmark-state", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border>
+    border: "border", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-color>
+    border_color: "border-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-style>
+    border_style: "border-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-width>
+    border_width: "border-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom>
+    border_bottom: "border-bottom", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-color>
+    border_bottom_color: "border-bottom-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-style>
+    border_bottom_style: "border-bottom-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-width>
+    border_bottom_width: "border-bottom-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-left>
+    border_left: "border-left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-color>
+    border_left_color: "border-left-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-style>
+    border_left_style: "border-left-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-width>
+    border_left_width: "border-left-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-right>
+    border_right: "border-right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-color>
+    border_right_color: "border-right-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-style>
+    border_right_style: "border-right-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-width>
+    border_right_width: "border-right-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top>
+    border_top: "border-top", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-color>
+    border_top_color: "border-top-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-style>
+    border_top_style: "border-top-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-width>
+    border_top_width: "border-top-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-collapse>
+    border_collapse: "border-collapse", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image>
+    border_image: "border-image", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-outset>
+    border_image_outset: "border-image-outset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-repeat>
+    border_image_repeat: "border-image-repeat", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-slice>
+    border_image_slice: "border-image-slice", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-source>
+    border_image_source: "border-image-source", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-width>
+    border_image_width: "border-image-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius>
+    border_radius: "border-radius", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius>
+    border_bottom_left_radius: "border-bottom-left-radius", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius>
+    border_bottom_right_radius: "border-bottom-right-radius", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius>
+    border_top_left_radius: "border-top-left-radius", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-right-radius>
+    border_top_right_radius: "border-top-right-radius", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/border-spacing>
+    border_spacing: "border-spacing", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/bottom>
+    bottom: "bottom", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break>
+    box_decoration_break: "box-decoration-break", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow>
+    box_shadow: "box-shadow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing>
+    box_sizing: "box-sizing", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/box-snap>
+    box_snap: "box-snap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/break-after>
+    break_after: "break-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/break-before>
+    break_before: "break-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/break-inside>
+    break_inside: "break-inside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/buffered-rendering>
+    buffered_rendering: "buffered-rendering", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side>
+    caption_side: "caption-side", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/clear>
+    clear: "clear", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/clear-side>
+    clear_side: "clear-side", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/clip>
+    clip: "clip", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path>
+    clip_path: "clip-path", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/clip-rule>
+    clip_rule: "clip-rule", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color>
+    color: "color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-adjust>
+    color_adjust: "color-adjust", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-correction>
+    color_correction: "color-correction", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation>
+    color_interpolation: "color-interpolation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation-filters>
+    color_interpolation_filters: "color-interpolation-filters", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-profile>
+    color_profile: "color-profile", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/color-rendering>
+    color_rendering: "color-rendering", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-fill>
+    column_fill: "column-fill", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap>
+    column_gap: "column-gap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule>
+    column_rule: "column-rule", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-color>
+    column_rule_color: "column-rule-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-style>
+    column_rule_style: "column-rule-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule-width>
+    column_rule_width: "column-rule-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-span>
+    column_span: "column-span", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/columns>
+    columns: "columns", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-count>
+    column_count: "column-count", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/column-width>
+    column_width: "column-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/contain>
+    contain: "contain", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/content>
+    content: "content", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/counter-increment>
+    counter_increment: "counter-increment", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/counter-reset>
+    counter_reset: "counter-reset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/counter-set>
+    counter_set: "counter-set", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/cue>
+    cue: "cue", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/cue-after>
+    cue_after: "cue-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/cue-before>
+    cue_before: "cue-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/cursor>
+    cursor: "cursor", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/direction>
+    direction: "direction", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/display>
+    display: "display", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/display-inside>
+    display_inside: "display-inside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/display-outside>
+    display_outside: "display-outside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/display-extras>
+    display_extras: "display-extras", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/display-box>
+    display_box: "display-box", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/dominant-baseline>
+    dominant_baseline: "dominant-baseline", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/elevation>
+    elevation: "elevation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/empty-cells>
+    empty_cells: "empty-cells", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/enable-background>
+    enable_background: "enable-background", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/fill>
+    fill: "fill", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/fill-opacity>
+    fill_opacity: "fill-opacity", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/fill-rule>
+    fill_rule: "fill-rule", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/filter>
+    filter: "filter", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/float>
+    float: "float", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/float-defer-column>
+    float_defer_column: "float-defer-column", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/float-defer-page>
+    float_defer_page: "float-defer-page", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/float-offset>
+    float_offset: "float-offset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/float-wrap>
+    float_wrap: "float-wrap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flow-into>
+    flow_into: "flow-into", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flow-from>
+    flow_from: "flow-from", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex>
+    flex: "flex", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis>
+    flex_basis: "flex-basis", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow>
+    flex_grow: "flex-grow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink>
+    flex_shrink: "flex-shrink", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-flow>
+    flex_flow: "flex-flow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction>
+    flex_direction: "flex-direction", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap>
+    flex_wrap: "flex-wrap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flood-color>
+    flood_color: "flood-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/flood-opacity>
+    flood_opacity: "flood-opacity", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font>
+    font: "font", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-family>
+    font_family: "font-family", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-size>
+    font_size: "font-size", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch>
+    font_stretch: "font-stretch", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-style>
+    font_style: "font-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight>
+    font_weight: "font-weight", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings>
+    font_feature_settings: "font-feature-settings", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-kerning>
+    font_kerning: "font-kerning", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-language-override>
+    font_language_override: "font-language-override", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust>
+    font_size_adjust: "font-size-adjust", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis>
+    font_synthesis: "font-synthesis", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant>
+    font_variant: "font-variant", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-alternates>
+    font_variant_alternates: "font-variant-alternates", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-caps>
+    font_variant_caps: "font-variant-caps", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-east-asian>
+    font_variant_east_asian: "font-variant-east-asian", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-ligatures>
+    font_variant_ligatures: "font-variant-ligatures", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric>
+    font_variant_numeric: "font-variant-numeric", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-position>
+    font_variant_position: "font-variant-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/footnote-policy>
+    footnote_policy: "footnote-policy", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/glyph-orientation-horizontal>
+    glyph_orientation_horizontal: "glyph-orientation-horizontal", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/glyph-orientation-vertical>
+    glyph_orientation_vertical: "glyph-orientation-vertical", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid>
+    grid: "grid", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow>
+    grid_auto_flow: "grid-auto-flow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns>
+    grid_auto_columns: "grid-auto-columns", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows>
+    grid_auto_rows: "grid-auto-rows", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template>
+    grid_template: "grid-template", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas>
+    grid_template_areas: "grid-template-areas", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns>
+    grid_template_columns: "grid-template-columns", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows>
+    grid_template_rows: "grid-template-rows", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area>
+    grid_area: "grid-area", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column>
+    grid_column: "grid-column", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start>
+    grid_column_start: "grid-column-start", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end>
+    grid_column_end: "grid-column-end", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row>
+    grid_row: "grid-row", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start>
+    grid_row_start: "grid-row-start", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end>
+    grid_row_end: "grid-row-end", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hanging-punctuation>
+    hanging_punctuation: "hanging-punctuation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/height>
+    height: "height", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-character>
+    hyphenate_character: "hyphenate-character", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-limit-chars>
+    hyphenate_limit_chars: "hyphenate-limit-chars", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-limit-last>
+    hyphenate_limit_last: "hyphenate-limit-last", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-limit-lines>
+    hyphenate_limit_lines: "hyphenate-limit-lines", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphenate-limit-zone>
+    hyphenate_limit_zone: "hyphenate-limit-zone", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens>
+    hyphens: "hyphens", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/icon>
+    icon: "icon", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation>
+    image_orientation: "image-orientation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/image-resolution>
+    image_resolution: "image-resolution", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering>
+    image_rendering: "image-rendering", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ime>
+    ime: "ime", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ime-align>
+    ime_align: "ime-align", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ime-mode>
+    ime_mode: "ime-mode", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ime-offset>
+    ime_offset: "ime-offset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ime-width>
+    ime_width: "ime-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letters>
+    initial_letters: "initial-letters", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/inline-box-align>
+    inline_box_align: "inline-box-align", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/isolation>
+    isolation: "isolation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content>
+    justify_content: "justify-content", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items>
+    justify_items: "justify-items", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self>
+    justify_self: "justify-self", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/kerning>
+    kerning: "kerning", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/left>
+    left: "left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing>
+    letter_spacing: "letter-spacing", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/lighting-color>
+    lighting_color: "lighting-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-box-contain>
+    line_box_contain: "line-box-contain", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-break>
+    line_break: "line-break", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-grid>
+    line_grid: "line-grid", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-height>
+    line_height: "line-height", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-slack>
+    line_slack: "line-slack", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/line-snap>
+    line_snap: "line-snap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/list-style>
+    list_style: "list-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-image>
+    list_style_image: "list-style-image", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-position>
+    list_style_position: "list-style-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type>
+    list_style_type: "list-style-type", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/margin>
+    margin: "margin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom>
+    margin_bottom: "margin-bottom", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left>
+    margin_left: "margin-left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right>
+    margin_right: "margin-right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top>
+    margin_top: "margin-top", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker>
+    marker: "marker", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-end>
+    marker_end: "marker-end", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-mid>
+    marker_mid: "marker-mid", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-pattern>
+    marker_pattern: "marker-pattern", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-segment>
+    marker_segment: "marker-segment", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-start>
+    marker_start: "marker-start", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-knockout-left>
+    marker_knockout_left: "marker-knockout-left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-knockout-right>
+    marker_knockout_right: "marker-knockout-right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marker-side>
+    marker_side: "marker-side", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marks>
+    marks: "marks", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marquee-direction>
+    marquee_direction: "marquee-direction", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marquee-play-count>
+    marquee_play_count: "marquee-play-count", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marquee-speed>
+    marquee_speed: "marquee-speed", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/marquee-style>
+    marquee_style: "marquee-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask>
+    mask: "mask", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image>
+    mask_image: "mask-image", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-repeat>
+    mask_repeat: "mask-repeat", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-position>
+    mask_position: "mask-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-clip>
+    mask_clip: "mask-clip", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-origin>
+    mask_origin: "mask-origin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-size>
+    mask_size: "mask-size", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box>
+    mask_box: "mask-box", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box-outset>
+    mask_box_outset: "mask-box-outset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box-repeat>
+    mask_box_repeat: "mask-box-repeat", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box-slice>
+    mask_box_slice: "mask-box-slice", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box-source>
+    mask_box_source: "mask-box-source", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-box-width>
+    mask_box_width: "mask-box-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mask-type>
+    mask_type: "mask-type", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/max-height>
+    max_height: "max-height", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/max-lines>
+    max_lines: "max-lines", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/max-width>
+    max_width: "max-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/min-height>
+    min_height: "min-height", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/min-width>
+    min_width: "min-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode>
+    mix_blend_mode: "mix-blend-mode", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/nav-down>
+    nav_down: "nav-down", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/nav-index>
+    nav_index: "nav-index", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/nav-left>
+    nav_left: "nav-left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/nav-right>
+    nav_right: "nav-right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/nav-up>
+    nav_up: "nav-up", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit>
+    object_fit: "object-fit", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/object-position>
+    object_position: "object-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/offset-after>
+    offset_after: "offset-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/offset-before>
+    offset_before: "offset-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/offset-end>
+    offset_end: "offset-end", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/offset-start>
+    offset_start: "offset-start", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/opacity>
+    opacity: "opacity", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/order>
+    order: "order", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/orphans>
+    orphans: "orphans", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/outline>
+    outline: "outline", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/outline-color>
+    outline_color: "outline-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/outline-style>
+    outline_style: "outline-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/outline-width>
+    outline_width: "outline-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/outline-offset>
+    outline_offset: "outline-offset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/overflow>
+    overflow: "overflow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-x>
+    overflow_x: "overflow-x", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-y>
+    overflow_y: "overflow-y", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-style>
+    overflow_style: "overflow-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap>
+    overflow_wrap: "overflow-wrap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/padding>
+    padding: "padding", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom>
+    padding_bottom: "padding-bottom", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left>
+    padding_left: "padding-left", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right>
+    padding_right: "padding-right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top>
+    padding_top: "padding-top", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/page>
+    page: "page", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after>
+    page_break_after: "page-break-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before>
+    page_break_before: "page-break-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-inside>
+    page_break_inside: "page-break-inside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/paint-order>
+    paint_order: "paint-order", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pause>
+    pause: "pause", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pause-after>
+    pause_after: "pause-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pause-before>
+    pause_before: "pause-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/perspective>
+    perspective: "perspective", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/perspective-origin>
+    perspective_origin: "perspective-origin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pitch>
+    pitch: "pitch", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pitch-range>
+    pitch_range: "pitch-range", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/play-during>
+    play_during: "play-during", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events>
+    pointer_events: "pointer-events", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/position>
+    position: "position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/quotes>
+    quotes: "quotes", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/region-fragment>
+    region_fragment: "region-fragment", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/resize>
+    resize: "resize", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/rest>
+    rest: "rest", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/rest-after>
+    rest_after: "rest-after", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/rest-before>
+    rest_before: "rest-before", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/richness>
+    richness: "richness", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/right>
+    right: "right", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-align>
+    ruby_align: "ruby-align", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-merge>
+    ruby_merge: "ruby-merge", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-position>
+    ruby_position: "ruby-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior>
+    scroll_behavior: "scroll-behavior", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-coordinate>
+    scroll_snap_coordinate: "scroll-snap-coordinate", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-destination>
+    scroll_snap_destination: "scroll-snap-destination", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-points-x>
+    scroll_snap_points_x: "scroll-snap-points-x", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-points-y>
+    scroll_snap_points_y: "scroll-snap-points-y", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type>
+    scroll_snap_type: "scroll-snap-type", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-image-threshold>
+    shape_image_threshold: "shape-image-threshold", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-inside>
+    shape_inside: "shape-inside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-margin>
+    shape_margin: "shape-margin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-outside>
+    shape_outside: "shape-outside", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-padding>
+    shape_padding: "shape-padding", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/shape-rendering>
+    shape_rendering: "shape-rendering", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/size>
+    size: "size", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speak>
+    speak: "speak", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speak-as>
+    speak_as: "speak-as", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speak-header>
+    speak_header: "speak-header", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speak-numeral>
+    speak_numeral: "speak-numeral", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speak-punctuation>
+    speak_punctuation: "speak-punctuation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/speech-rate>
+    speech_rate: "speech-rate", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stop-color>
+    stop_color: "stop-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stop-opacity>
+    stop_opacity: "stop-opacity", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stress>
+    stress: "stress", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/string-set>
+    string_set: "string-set", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke>
+    stroke: "stroke", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-dasharray>
+    stroke_dasharray: "stroke-dasharray", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-dashoffset>
+    stroke_dashoffset: "stroke-dashoffset", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-linecap>
+    stroke_linecap: "stroke-linecap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-linejoin>
+    stroke_linejoin: "stroke-linejoin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-miterlimit>
+    stroke_miterlimit: "stroke-miterlimit", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-opacity>
+    stroke_opacity: "stroke-opacity", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/stroke-width>
+    stroke_width: "stroke-width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size>
+    tab_size: "tab-size", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout>
+    table_layout: "table-layout", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-align>
+    text_align: "text-align", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-all>
+    text_align_all: "text-align-all", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last>
+    text_align_last: "text-align-last", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-anchor>
+    text_anchor: "text-anchor", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-combine-upright>
+    text_combine_upright: "text-combine-upright", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration>
+    text_decoration: "text-decoration", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color>
+    text_decoration_color: "text-decoration-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line>
+    text_decoration_line: "text-decoration-line", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style>
+    text_decoration_style: "text-decoration-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip>
+    text_decoration_skip: "text-decoration-skip", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis>
+    text_emphasis: "text-emphasis", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-color>
+    text_emphasis_color: "text-emphasis-color", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-style>
+    text_emphasis_style: "text-emphasis-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-position>
+    text_emphasis_position: "text-emphasis-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis-skip>
+    text_emphasis_skip: "text-emphasis-skip", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-height>
+    text_height: "text-height", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-indent>
+    text_indent: "text-indent", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-justify>
+    text_justify: "text-justify", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation>
+    text_orientation: "text-orientation", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow>
+    text_overflow: "text-overflow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering>
+    text_rendering: "text-rendering", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow>
+    text_shadow: "text-shadow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust>
+    text_size_adjust: "text-size-adjust", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-space-collapse>
+    text_space_collapse: "text-space-collapse", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-spacing>
+    text_spacing: "text-spacing", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform>
+    text_transform: "text-transform", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-underline-position>
+    text_underline_position: "text-underline-position", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap>
+    text_wrap: "text-wrap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/top>
+    top: "top", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action>
+    touch_action: "touch-action", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transform>
+    transform: "transform", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transform-box>
+    transform_box: "transform-box", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transform-origin>
+    transform_origin: "transform-origin", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style>
+    transform_style: "transform-style", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transition>
+    transition: "transition", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transition-delay>
+    transition_delay: "transition-delay", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transition-duration>
+    transition_duration: "transition-duration", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transition-property>
+    transition_property: "transition-property", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi>
+    unicode_bidi: "unicode-bidi", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/vector-effect>
+    vector_effect: "vector-effect", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align>
+    vertical_align: "vertical-align", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/visibility>
+    visibility: "visibility", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-balance>
+    voice_balance: "voice-balance", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-duration>
+    voice_duration: "voice-duration", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-family>
+    voice_family: "voice-family", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-pitch>
+    voice_pitch: "voice-pitch", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-range>
+    voice_range: "voice-range", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-rate>
+    voice_rate: "voice-rate", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-stress>
+    voice_stress: "voice-stress", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/voice-volumn>
+    voice_volumn: "voice-volumn", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/volume>
+    volume: "volume", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/white-space>
+    white_space: "white-space", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/widows>
+    widows: "widows", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/width>
+    width: "width", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/will-change>
+    will_change: "will-change", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/word-break>
+    word_break: "word-break", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/word-spacing>
+    word_spacing: "word-spacing", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/word-wrap>
+    word_wrap: "word-wrap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/wrap-flow>
+    wrap_flow: "wrap-flow", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/wrap-through>
+    wrap_through: "wrap-through", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode>
+    writing_mode: "writing-mode", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/gap>
+    gap: "gap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type>
+    list_styler_type: "list-style-type", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap>
+    row_gap: "row-gap", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/transition-timing-function>
+    transition_timing_function: "transition-timing-function", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/user-select>
+    user_select: "user-select", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-user-select>
+    webkit_user_select: "-webkit-user-select", "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/CSS/z-index>
+    z_index : "z-index", "style";
+
+    // area attribute
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current>
+    aria_current: "aria-current";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-details>
+    aria_details: "aria-details";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled>
+    aria_disabled: "aria-disabled";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-hidden>
+    aria_hidden: "aria-hidden";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-invalid>
+    aria_invalid: "aria-invalid";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-keyshortcuts>
+    aria_keyshortcuts: "aria-keyshortcuts";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label>
+    aria_label: "aria-label";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-roledescription>
+    aria_roledescription: "aria-roledescription";
+
+// Widget Attributes
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-autocomplete>
+    aria_autocomplete: "aria-autocomplete";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-checked>
+    aria_checked: "aria-checked";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded>
+    aria_expanded: "aria-expanded";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup>
+    aria_haspopup: "aria-haspopup";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-level>
+    aria_level: "aria-level";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-modal>
+    aria_modal: "aria-modal";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-multiline>
+    aria_multiline: "aria-multiline";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-multiselectable>
+    aria_multiselectable: "aria-multiselectable";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-orientation>
+    aria_orientation: "aria-orientation";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-placeholder>
+    aria_placeholder: "aria-placeholder";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-pressed>
+    aria_pressed: "aria-pressed";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-readonly>
+    aria_readonly: "aria-readonly";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-required>
+    aria_required: "aria-required";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected>
+    aria_selected: "aria-selected";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-sort>
+    aria_sort: "aria-sort";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuemax>
+    aria_valuemax: "aria-valuemax";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuemin>
+    aria_valuemin: "aria-valuemin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuenow>
+    aria_valuenow: "aria-valuenow";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext>
+    aria_valuetext: "aria-valuetext";
+
+// Live Region Attributes
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-atomic>
+    aria_atomic: "aria-atomic";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-busy>
+    aria_busy: "aria-busy";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-live>
+    aria_live: "aria-live";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-relevant>
+    aria_relevant: "aria-relevant";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-dropeffect>
+    aria_dropeffect: "aria-dropeffect";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-grabbed>
+    aria_grabbed: "aria-grabbed";
+
+// Relationship Attributes
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-activedescendant>
+    aria_activedescendant: "aria-activedescendant";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-colcount>
+    aria_colcount: "aria-colcount";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-colindex>
+    aria_colindex: "aria-colindex";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-colspan>
+    aria_colspan: "aria-colspan";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls>
+    aria_controls: "aria-controls";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-describedby>
+    aria_describedby: "aria-describedby";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-errormessage>
+    aria_errormessage: "aria-errormessage";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-flowto>
+    aria_flowto: "aria-flowto";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-labelledby>
+    aria_labelledby: "aria-labelledby";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns>
+    aria_owns: "aria-owns";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-posinset>
+    aria_posinset: "aria-posinset";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-rowcount>
+    aria_rowcount: "aria-rowcount";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-rowindex>
+    aria_rowindex: "aria-rowindex";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-rowspan>
+    aria_rowspan: "aria-rowspan";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-setsize>
+    aria_setsize: "aria-setsize";
+}
+
+trait_methods! {
+SvgAttributes;
+map_svg_attributes;
+
+
+    /// Prevent the default action for this element.
+    ///
+    /// For more information, see the MDN docs:
+    /// <https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault>
+    prevent_default: "dioxus-prevent-default";
+
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accent-height>
+    accent_height: "accent-height";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accumulate>
+    accumulate: "accumulate";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/additive>
+    additive: "additive";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline>
+    alignment_baseline: "alignment-baseline";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alphabetic>
+    alphabetic: "alphabetic";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/amplitude>
+    amplitude: "amplitude";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form>
+    arabic_form: "arabic-form";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ascent>
+    ascent: "ascent";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeName>
+    attributeName: "attributeName";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeType>
+    attributeType: "attributeType";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/azimuth>
+    azimuth: "azimuth";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseFrequency>
+    baseFrequency: "baseFrequency";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseline-shift>
+    baseline_shift: "baseline-shift";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseProfile>
+    baseProfile: "baseProfile";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/bbox>
+    bbox: "bbox";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/begin>
+    begin: "begin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/bias>
+    bias: "bias";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/by>
+    by: "by";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/calcMode>
+    calcMode: "calcMode";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cap-height>
+    cap_height: "cap-height";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/class>
+    class: "class";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip>
+    clip: "clip";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clipPathUnits>
+    clipPathUnits: "clipPathUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-path>
+    clip_path: "clip-path";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-rule>
+    clip_rule: "clip-rule";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color>
+    color: "color";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation>
+    color_interpolation: "color-interpolation";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation-filters>
+    color_interpolation_filters: "color-interpolation-filters";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-profile>
+    color_profile: "color-profile";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-rendering>
+    color_rendering: "color-rendering";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentScriptType>
+    contentScriptType: "contentScriptType";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentStyleType>
+    contentStyleType: "contentStyleType";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/crossorigin>
+    crossorigin: "crossorigin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cursor>
+    cursor: "cursor";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cx>
+    cx: "cx";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cy>
+    cy: "cy";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d>
+    d: "d";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/decelerate>
+    decelerate: "decelerate";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/descent>
+    descent: "descent";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/diffuseConstant>
+    diffuseConstant: "diffuseConstant";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/direction>
+    direction: "direction";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/display>
+    display: "display";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/divisor>
+    divisor: "divisor";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dominant-baseline>
+    dominant_baseline: "dominant-baseline";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dur>
+    dur: "dur";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dx>
+    dx: "dx";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dy>
+    dy: "dy";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/edgeMode>
+    edgeMode: "edgeMode";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/elevation>
+    elevation: "elevation";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/enable-background>
+    enable_background: "enable-background";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/end>
+    end: "end";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/exponent>
+    exponent: "exponent";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill>
+    fill: "fill";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-opacity>
+    fill_opacity: "fill-opacity";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule>
+    fill_rule: "fill-rule";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filter>
+    filter: "filter";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterRes>
+    filterRes: "filterRes";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterUnits>
+    filterUnits: "filterUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-color>
+    flood_color: "flood-color";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-opacity>
+    flood_opacity: "flood-opacity";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-family>
+    font_family: "font-family";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size>
+    font_size: "font-size";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size-adjust>
+    font_size_adjust: "font-size-adjust";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-stretch>
+    font_stretch: "font-stretch";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-style>
+    font_style: "font-style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant>
+    font_variant: "font-variant";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-weight>
+    font_weight: "font-weight";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/format>
+    format: "format";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/from>
+    from: "from";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fr>
+    fr: "fr";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fx>
+    fx: "fx";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fy>
+    fy: "fy";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/g1>
+    g1: "g1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/g2>
+    g2: "g2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-name>
+    glyph_name: "glyph-name";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-orientation-horizontal>
+    glyph_orientation_horizontal: "glyph-orientation-horizontal";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-orientation-vertical>
+    glyph_orientation_vertical: "glyph-orientation-vertical";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyphRef>
+    glyphRef: "glyphRef";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientTransform>
+    gradientTransform: "gradientTransform";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientUnits>
+    gradientUnits: "gradientUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/hanging>
+    hanging: "hanging";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/height>
+    height: "height";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/href>
+    href: "href";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/hreflang>
+    hreflang: "hreflang";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/horiz-adv-x>
+    horiz_adv_x: "horiz-adv-x";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/horiz-origin-x>
+    horiz_origin_x: "horiz-origin-x";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/id>
+    id: "id";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ideographic>
+    ideographic: "ideographic";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering>
+    image_rendering: "image-rendering";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/_in>
+    _in: "_in";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/in2>
+    in2: "in2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/intercept>
+    intercept: "intercept";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k>
+    k: "k";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k1>
+    k1: "k1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k2>
+    k2: "k2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k3>
+    k3: "k3";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k4>
+    k4: "k4";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelMatrix>
+    kernelMatrix: "kernelMatrix";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelUnitLength>
+    kernelUnitLength: "kernelUnitLength";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kerning>
+    kerning: "kerning";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keyPoints>
+    keyPoints: "keyPoints";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keySplines>
+    keySplines: "keySplines";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keyTimes>
+    keyTimes: "keyTimes";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lang>
+    lang: "lang";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust>
+    lengthAdjust: "lengthAdjust";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing>
+    letter_spacing: "letter-spacing";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lighting-color>
+    lighting_color: "lighting-color";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/limitingConeAngle>
+    limitingConeAngle: "limitingConeAngle";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/local>
+    local: "local";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-end>
+    marker_end: "marker-end";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-mid>
+    marker_mid: "marker-mid";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker_start>
+    marker_start: "marker_start";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerHeight>
+    markerHeight: "markerHeight";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerUnits>
+    markerUnits: "markerUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerWidth>
+    markerWidth: "markerWidth";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mask>
+    mask: "mask";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskContentUnits>
+    maskContentUnits: "maskContentUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskUnits>
+    maskUnits: "maskUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mathematical>
+    mathematical: "mathematical";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/max>
+    max: "max";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/media>
+    media: "media";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/method>
+    method: "method";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/min>
+    min: "min";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mode>
+    mode: "mode";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/name>
+    name: "name";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/numOctaves>
+    numOctaves: "numOctaves";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/offset>
+    offset: "offset";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/opacity>
+    opacity: "opacity";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/operator>
+    operator: "operator";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/order>
+    order: "order";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/orient>
+    orient: "orient";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/orientation>
+    orientation: "orientation";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/origin>
+    origin: "origin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overflow>
+    overflow: "overflow";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overline-position>
+    overline_position: "overline-position";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overline-thickness>
+    overline_thickness: "overline-thickness";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/panose-1>
+    panose_1: "panose-1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/paint-order>
+    paint_order: "paint-order";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/path>
+    path: "path";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength>
+    pathLength: "pathLength";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternContentUnits>
+    patternContentUnits: "patternContentUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternTransform>
+    patternTransform: "patternTransform";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternUnits>
+    patternUnits: "patternUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ping>
+    ping: "ping";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events>
+    pointer_events: "pointer-events";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/points>
+    points: "points";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtX>
+    pointsAtX: "pointsAtX";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtY>
+    pointsAtY: "pointsAtY";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtZ>
+    pointsAtZ: "pointsAtZ";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAlpha>
+    preserveAlpha: "preserveAlpha";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio>
+    preserveAspectRatio: "preserveAspectRatio";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/primitiveUnits>
+    primitiveUnits: "primitiveUnits";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/r>
+    r: "r";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/radius>
+    radius: "radius";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/referrerPolicy>
+    referrerPolicy: "referrerPolicy";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/refX>
+    refX: "refX";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/refY>
+    refY: "refY";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rel>
+    rel: "rel";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rendering-intent>
+    rendering_intent: "rendering-intent";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatCount>
+    repeatCount: "repeatCount";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatDur>
+    repeatDur: "repeatDur";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/requiredExtensions>
+    requiredExtensions: "requiredExtensions";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/requiredFeatures>
+    requiredFeatures: "requiredFeatures";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/restart>
+    restart: "restart";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/result>
+    result: "result";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/role>
+    role: "role";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rotate>
+    rotate: "rotate";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rx>
+    rx: "rx";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ry>
+    ry: "ry";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/scale>
+    scale: "scale";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/seed>
+    seed: "seed";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering>
+    shape_rendering: "shape-rendering";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/slope>
+    slope: "slope";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/spacing>
+    spacing: "spacing";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/specularConstant>
+    specularConstant: "specularConstant";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/specularExponent>
+    specularExponent: "specularExponent";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/speed>
+    speed: "speed";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/spreadMethod>
+    spreadMethod: "spreadMethod";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/startOffset>
+    startOffset: "startOffset";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stdDeviation>
+    stdDeviation: "stdDeviation";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stemh>
+    stemh: "stemh";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stemv>
+    stemv: "stemv";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stitchTiles>
+    stitchTiles: "stitchTiles";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stop_color>
+    stop_color: "stop_color";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stop_opacity>
+    stop_opacity: "stop_opacity";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/strikethrough-position>
+    strikethrough_position: "strikethrough-position";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/strikethrough-thickness>
+    strikethrough_thickness: "strikethrough-thickness";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/string>
+    string: "string";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke>
+    stroke: "stroke";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray>
+    stroke_dasharray: "stroke-dasharray";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset>
+    stroke_dashoffset: "stroke-dashoffset";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap>
+    stroke_linecap: "stroke-linecap";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin>
+    stroke_linejoin: "stroke-linejoin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit>
+    stroke_miterlimit: "stroke-miterlimit";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-opacity>
+    stroke_opacity: "stroke-opacity";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width>
+    stroke_width: "stroke-width";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/style>
+    style: "style";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/surfaceScale>
+    surfaceScale: "surfaceScale";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/systemLanguage>
+    systemLanguage: "systemLanguage";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/tabindex>
+    tabindex: "tabindex";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/tableValues>
+    tableValues: "tableValues";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/target>
+    target: "target";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetX>
+    targetX: "targetX";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetY>
+    targetY: "targetY";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor>
+    text_anchor: "text-anchor";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-decoration>
+    text_decoration: "text-decoration";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering>
+    text_rendering: "text-rendering";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/textLength>
+    textLength: "textLength";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/to>
+    to: "to";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform>
+    transform: "transform";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform-origin>
+    transform_origin: "transform-origin";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/_type>
+    r#type: "_type";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/u1>
+    u1: "u1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/u2>
+    u2: "u2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-position>
+    underline_position: "underline-position";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-thickness>
+    underline_thickness: "underline-thickness";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode>
+    unicode: "unicode";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode-bidi>
+    unicode_bidi: "unicode-bidi";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode-range>
+    unicode_range: "unicode-range";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/units-per-em>
+    units_per_em: "units-per-em";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-alphabetic>
+    v_alphabetic: "v-alphabetic";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-hanging>
+    v_hanging: "v-hanging";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-ideographic>
+    v_ideographic: "v-ideographic";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-mathematical>
+    v_mathematical: "v-mathematical";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/values>
+    values: "values";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vector-effect>
+    vector_effect: "vector-effect";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/version>
+    version: "version";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-adv-y>
+    vert_adv_y: "vert-adv-y";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-origin-x>
+    vert_origin_x: "vert-origin-x";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-origin-y>
+    vert_origin_y: "vert-origin-y";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox>
+    view_box: "viewBox";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewTarget>
+    view_target: "viewTarget";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/visibility>
+    visibility: "visibility";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width>
+    width: "width";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/widths>
+    widths: "widths";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/word-spacing>
+    word_spacing: "word-spacing";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/writing-mode>
+    writing_mode: "writing-mode";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x>
+    x: "x";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x-height>
+    x_height: "x-height";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x1>
+    x1: "x1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x2>
+    x2: "x2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xmlns>
+    xmlns: "xmlns";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xChannelSelector>
+    x_channel_selector: "xChannelSelector";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y>
+    y: "y";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y1>
+    y1: "y1";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y2>
+    y2: "y2";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/yChannelSelector>
+    y_channel_selector: "yChannelSelector";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/z>
+    z: "z";
+
+    /// <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/zoomAndPan>
+    zoomAndPan: "zoomAndPan";
 }