Files
chela/src/config/relaxed.rs
2020-03-19 14:34:24 -04:00

853 lines
34 KiB
Rust

use html5ever::LocalName;
use std::collections::{HashMap, HashSet};
use super::basic::{
ADD_ATTRIBUTES as BASIC_ADD_ATTRIBUTES, ALL_ATTRIBUTES as BASIC_ALL_ATTRIBUTES,
ATTRIBUTES as BASIC_ATTRIBUTES, CSS_PROPERTIES as BASIC_CSS_PROPERTIES,
ELEMENTS as BASIC_ELEMENTS,
};
#[macro_use]
mod css_property {
include!(concat!(env!("OUT_DIR"), "/css_property.rs"));
}
use css_property::{CssProperty};
lazy_static! {
pub static ref ELEMENTS: HashSet<LocalName> = BASIC_ELEMENTS
.union(&hashset!(
local_name!("address"),
local_name!("article"),
local_name!("aside"),
local_name!("bdi"),
local_name!("bdo"),
local_name!("body"),
local_name!("caption"),
local_name!("col"),
local_name!("colgroup"),
local_name!("data"),
local_name!("del"),
local_name!("div"),
local_name!("figcaption"),
local_name!("figure"),
local_name!("footer"),
local_name!("h1"),
local_name!("h2"),
local_name!("h3"),
local_name!("h4"),
local_name!("h5"),
local_name!("h6"),
local_name!("head"),
local_name!("header"),
local_name!("hgroup"),
local_name!("hr"),
local_name!("html"),
local_name!("img"),
local_name!("ins"),
local_name!("main"),
local_name!("nav"),
local_name!("rp"),
local_name!("rt"),
local_name!("ruby"),
local_name!("section"),
local_name!("span"),
local_name!("style"),
local_name!("summary"),
local_name!("sup"),
local_name!("table"),
local_name!("tbody"),
local_name!("td"),
local_name!("tfoot"),
local_name!("th"),
local_name!("thead"),
local_name!("title"),
local_name!("tr"),
local_name!("wbr"),
))
.into_iter()
.cloned()
.collect();
pub static ref ALL_ATTRIBUTES: HashSet<LocalName> = BASIC_ALL_ATTRIBUTES.union(&hashset! {
local_name!("class"),
local_name!("dir"),
local_name!("hidden"),
local_name!("id"),
local_name!("lang"),
local_name!("style"),
local_name!("tabindex"),
local_name!("title"),
LocalName::from("translate"),
}).into_iter().cloned().collect();
// Can't figure out how to merge HashMaps :(
pub static ref ATTRIBUTES: HashMap<LocalName, HashSet<LocalName>> = hashmap! {
local_name!("a") => hashset!{
local_name!("href"),
local_name!("hreflang"),
local_name!("name"),
local_name!("rel"),
},
local_name!("abbr") => hashset!{
local_name!("title"),
},
local_name!("blockquote") => hashset!{
local_name!("cite"),
},
local_name!("col") => hashset!{
local_name!("span"),
local_name!("width"),
},
local_name!("colgroup") => hashset!{
local_name!("span"),
local_name!("width"),
},
local_name!("data") => hashset!{
local_name!("value"),
},
local_name!("del") => hashset!{
local_name!("cite"),
local_name!("datetime"),
},
local_name!("dfn") => hashset!{
local_name!("title"),
},
local_name!("img") => hashset!{
local_name!("align"),
local_name!("alt"),
local_name!("border"),
local_name!("height"),
local_name!("src"),
local_name!("srcset"),
local_name!("width"),
},
local_name!("ins") => hashset!{
local_name!("cite"),
local_name!("datetime"),
},
local_name!("li") => hashset!{
local_name!("value"),
},
local_name!("ol") => hashset!{
LocalName::from("reversed"),
local_name!("start"),
local_name!("type"),
},
local_name!("q") => hashset!{
local_name!("cite"),
},
local_name!("style") => hashset!{
local_name!("media"),
local_name!("scoped"),
local_name!("type"),
},
local_name!("table") => hashset!{
local_name!("align"),
local_name!("bgcolor"),
local_name!("border"),
local_name!("cellpadding"),
local_name!("cellspacing"),
local_name!("frame"),
local_name!("rules"),
LocalName::from("sortable"),
local_name!("summary"),
local_name!("width"),
},
local_name!("td") => hashset!{
local_name!("abbr"),
local_name!("align"),
local_name!("axis"),
local_name!("colspan"),
local_name!("headers"),
local_name!("rowspan"),
local_name!("valign"),
local_name!("width"),
},
local_name!("th") => hashset!{
local_name!("abbr"),
local_name!("align"),
local_name!("axis"),
local_name!("colspan"),
local_name!("headers"),
local_name!("rowspan"),
local_name!("scope"),
LocalName::from("sorted"),
local_name!("valign"),
local_name!("width"),
},
local_name!("time") => hashset!{
local_name!("datetime"),
LocalName::from("pubdate"),
},
local_name!("ul") => hashset!{
local_name!("type"),
},
};
pub static ref ADD_ATTRIBUTES: HashMap<LocalName, HashMap<LocalName, &'static str>> = BASIC_ADD_ATTRIBUTES.clone();
pub static ref PROTOCOLS: HashMap<LocalName, HashMap<LocalName, HashSet<&'static str>>> = hashmap! {
local_name!("a") => hashmap! {
local_name!("href") => hashset!{"ftp", "http", "https", "mailto"},
},
local_name!("blockquote") => hashmap! {
local_name!("cite") => hashset!{"http", "https"},
},
local_name!("del") => hashmap! {
local_name!("cite") => hashset!{"http", "https"},
},
local_name!("img") => hashmap! {
local_name!("src") => hashset!{"http", "https"},
},
local_name!("ins") => hashmap! {
local_name!("cite") => hashset!{"http", "https"},
},
local_name!("q") => hashmap! {
local_name!("cite") => hashset!{"http", "https"},
},
};
pub static ref CSS_PROPERTIES: Vec<CssProperty> = vec![
css_property!("-moz-appearance"),
css_property!("-moz-background-inline-policy"),
css_property!("-moz-box-sizing"),
css_property!("-moz-column-count"),
css_property!("-moz-column-fill"),
css_property!("-moz-column-gap"),
css_property!("-moz-column-rule"),
css_property!("-moz-column-rule-color"),
css_property!("-moz-column-rule-style"),
css_property!("-moz-column-rule-width"),
css_property!("-moz-column-width"),
css_property!("-moz-font-feature-settings"),
css_property!("-moz-font-language-override"),
css_property!("-moz-hyphens"),
css_property!("-moz-text-align-last"),
css_property!("-moz-text-decoration-color"),
css_property!("-moz-text-decoration-line"),
css_property!("-moz-text-decoration-style"),
css_property!("-moz-text-size-adjust"),
css_property!("-ms-background-position-x"),
css_property!("-ms-background-position-y"),
css_property!("-ms-block-progression"),
css_property!("-ms-content-zoom-chaining"),
css_property!("-ms-content-zoom-limit"),
css_property!("-ms-content-zoom-limit-max"),
css_property!("-ms-content-zoom-limit-min"),
css_property!("-ms-content-zoom-snap"),
css_property!("-ms-content-zoom-snap-points"),
css_property!("-ms-content-zoom-snap-type"),
css_property!("-ms-content-zooming"),
css_property!("-ms-filter"),
css_property!("-ms-flex"),
css_property!("-ms-flex-align"),
css_property!("-ms-flex-direction"),
css_property!("-ms-flex-order"),
css_property!("-ms-flex-pack"),
css_property!("-ms-flex-wrap"),
css_property!("-ms-flow-from"),
css_property!("-ms-flow-into"),
css_property!("-ms-grid-column"),
css_property!("-ms-grid-column-align"),
css_property!("-ms-grid-column-span"),
css_property!("-ms-grid-columns"),
css_property!("-ms-grid-row"),
css_property!("-ms-grid-row-align"),
css_property!("-ms-grid-row-span"),
css_property!("-ms-grid-rows"),
css_property!("-ms-high-contrast-adjust"),
css_property!("-ms-hyphenate-limit-chars"),
css_property!("-ms-hyphenate-limit-lines"),
css_property!("-ms-hyphenate-limit-zone"),
css_property!("-ms-hyphens"),
css_property!("-ms-ime-mode"),
css_property!("-ms-interpolation-mode"),
css_property!("-ms-layout-flow"),
css_property!("-ms-layout-grid"),
css_property!("-ms-layout-grid-char"),
css_property!("-ms-layout-grid-line"),
css_property!("-ms-layout-grid-mode"),
css_property!("-ms-layout-grid-type"),
css_property!("-ms-overflow-style"),
css_property!("-ms-overflow-x"),
css_property!("-ms-overflow-y"),
css_property!("-ms-progress-appearance"),
css_property!("-ms-scroll-chaining"),
css_property!("-ms-scroll-limit"),
css_property!("-ms-scroll-limit-x-max"),
css_property!("-ms-scroll-limit-x-min"),
css_property!("-ms-scroll-limit-y-max"),
css_property!("-ms-scroll-limit-y-min"),
css_property!("-ms-scroll-rails"),
css_property!("-ms-scroll-snap-points-x"),
css_property!("-ms-scroll-snap-points-y"),
css_property!("-ms-scroll-snap-type"),
css_property!("-ms-scroll-snap-x"),
css_property!("-ms-scroll-snap-y"),
css_property!("-ms-scroll-translation"),
css_property!("-ms-scrollbar-arrow-color"),
css_property!("-ms-scrollbar-base-color"),
css_property!("-ms-scrollbar-darkshadow-color"),
css_property!("-ms-scrollbar-face-color"),
css_property!("-ms-scrollbar-highlight-color"),
css_property!("-ms-scrollbar-shadow-color"),
css_property!("-ms-scrollbar-track-color"),
css_property!("-ms-text-align-last"),
css_property!("-ms-text-autospace"),
css_property!("-ms-text-justify"),
css_property!("-ms-text-kashida-space"),
css_property!("-ms-text-overflow"),
css_property!("-ms-text-size-adjust"),
css_property!("-ms-text-underline-position"),
css_property!("-ms-touch-action"),
css_property!("-ms-user-select"),
css_property!("-ms-word-break"),
css_property!("-ms-word-wrap"),
css_property!("-ms-wrap-flow"),
css_property!("-ms-wrap-margin"),
css_property!("-ms-wrap-through"),
css_property!("-ms-writing-mode"),
css_property!("-ms-zoom"),
css_property!("-webkit-align-content"),
css_property!("-webkit-align-items"),
css_property!("-webkit-align-self"),
css_property!("-webkit-animation"),
css_property!("-webkit-animation-delay"),
css_property!("-webkit-animation-direction"),
css_property!("-webkit-animation-duration"),
css_property!("-webkit-animation-fill-mode"),
css_property!("-webkit-animation-iteration-count"),
css_property!("-webkit-animation-name"),
css_property!("-webkit-animation-play-state"),
css_property!("-webkit-animation-timing-function"),
css_property!("-webkit-appearance"),
css_property!("-webkit-backface-visibility"),
css_property!("-webkit-background-blend-mode"),
css_property!("-webkit-background-clip"),
css_property!("-webkit-background-composite"),
css_property!("-webkit-background-origin"),
css_property!("-webkit-background-size"),
css_property!("-webkit-blend-mode"),
css_property!("-webkit-border-after"),
css_property!("-webkit-border-after-color"),
css_property!("-webkit-border-after-style"),
css_property!("-webkit-border-after-width"),
css_property!("-webkit-border-before"),
css_property!("-webkit-border-before-color"),
css_property!("-webkit-border-before-style"),
css_property!("-webkit-border-before-width"),
css_property!("-webkit-border-bottom-left-radius"),
css_property!("-webkit-border-bottom-right-radius"),
css_property!("-webkit-border-end"),
css_property!("-webkit-border-end-color"),
css_property!("-webkit-border-end-style"),
css_property!("-webkit-border-end-width"),
css_property!("-webkit-border-fit"),
css_property!("-webkit-border-image"),
css_property!("-webkit-border-radius"),
css_property!("-webkit-border-start"),
css_property!("-webkit-border-start-color"),
css_property!("-webkit-border-start-style"),
css_property!("-webkit-border-start-width"),
css_property!("-webkit-border-top-left-radius"),
css_property!("-webkit-border-top-right-radius"),
css_property!("-webkit-box-align"),
css_property!("-webkit-box-decoration-break"),
css_property!("-webkit-box-flex"),
css_property!("-webkit-box-flex-group"),
css_property!("-webkit-box-lines"),
css_property!("-webkit-box-ordinal-group"),
css_property!("-webkit-box-orient"),
css_property!("-webkit-box-pack"),
css_property!("-webkit-box-reflect"),
css_property!("-webkit-box-shadow"),
css_property!("-webkit-box-sizing"),
css_property!("-webkit-clip-path"),
css_property!("-webkit-column-axis"),
css_property!("-webkit-column-break-after"),
css_property!("-webkit-column-break-before"),
css_property!("-webkit-column-break-inside"),
css_property!("-webkit-column-count"),
css_property!("-webkit-column-gap"),
css_property!("-webkit-column-progression"),
css_property!("-webkit-column-rule"),
css_property!("-webkit-column-rule-color"),
css_property!("-webkit-column-rule-style"),
css_property!("-webkit-column-rule-width"),
css_property!("-webkit-column-span"),
css_property!("-webkit-column-width"),
css_property!("-webkit-columns"),
css_property!("-webkit-filter"),
css_property!("-webkit-flex"),
css_property!("-webkit-flex-basis"),
css_property!("-webkit-flex-direction"),
css_property!("-webkit-flex-flow"),
css_property!("-webkit-flex-grow"),
css_property!("-webkit-flex-shrink"),
css_property!("-webkit-flex-wrap"),
css_property!("-webkit-flow-from"),
css_property!("-webkit-flow-into"),
css_property!("-webkit-font-size-delta"),
css_property!("-webkit-font-smoothing"),
css_property!("-webkit-grid-area"),
css_property!("-webkit-grid-auto-columns"),
css_property!("-webkit-grid-auto-flow"),
css_property!("-webkit-grid-auto-rows"),
css_property!("-webkit-grid-column"),
css_property!("-webkit-grid-column-end"),
css_property!("-webkit-grid-column-start"),
css_property!("-webkit-grid-definition-columns"),
css_property!("-webkit-grid-definition-rows"),
css_property!("-webkit-grid-row"),
css_property!("-webkit-grid-row-end"),
css_property!("-webkit-grid-row-start"),
css_property!("-webkit-justify-content"),
css_property!("-webkit-line-clamp"),
css_property!("-webkit-logical-height"),
css_property!("-webkit-logical-width"),
css_property!("-webkit-margin-after"),
css_property!("-webkit-margin-after-collapse"),
css_property!("-webkit-margin-before"),
css_property!("-webkit-margin-before-collapse"),
css_property!("-webkit-margin-bottom-collapse"),
css_property!("-webkit-margin-collapse"),
css_property!("-webkit-margin-end"),
css_property!("-webkit-margin-start"),
css_property!("-webkit-margin-top-collapse"),
css_property!("-webkit-marquee"),
css_property!("-webkit-marquee-direction"),
css_property!("-webkit-marquee-increment"),
css_property!("-webkit-marquee-repetition"),
css_property!("-webkit-marquee-speed"),
css_property!("-webkit-marquee-style"),
css_property!("-webkit-mask"),
css_property!("-webkit-mask-box-image"),
css_property!("-webkit-mask-box-image-outset"),
css_property!("-webkit-mask-box-image-repeat"),
css_property!("-webkit-mask-box-image-slice"),
css_property!("-webkit-mask-box-image-source"),
css_property!("-webkit-mask-box-image-width"),
css_property!("-webkit-mask-clip"),
css_property!("-webkit-mask-composite"),
css_property!("-webkit-mask-image"),
css_property!("-webkit-mask-origin"),
css_property!("-webkit-mask-position"),
css_property!("-webkit-mask-position-x"),
css_property!("-webkit-mask-position-y"),
css_property!("-webkit-mask-repeat"),
css_property!("-webkit-mask-repeat-x"),
css_property!("-webkit-mask-repeat-y"),
css_property!("-webkit-mask-size"),
css_property!("-webkit-mask-source-type"),
css_property!("-webkit-max-logical-height"),
css_property!("-webkit-max-logical-width"),
css_property!("-webkit-min-logical-height"),
css_property!("-webkit-min-logical-width"),
css_property!("-webkit-opacity"),
css_property!("-webkit-order"),
css_property!("-webkit-padding-after"),
css_property!("-webkit-padding-before"),
css_property!("-webkit-padding-end"),
css_property!("-webkit-padding-start"),
css_property!("-webkit-perspective"),
css_property!("-webkit-perspective-origin"),
css_property!("-webkit-perspective-origin-x"),
css_property!("-webkit-perspective-origin-y"),
css_property!("-webkit-region-break-after"),
css_property!("-webkit-region-break-before"),
css_property!("-webkit-region-break-inside"),
css_property!("-webkit-region-fragment"),
css_property!("-webkit-shape-inside"),
css_property!("-webkit-shape-margin"),
css_property!("-webkit-shape-outside"),
css_property!("-webkit-shape-padding"),
css_property!("-webkit-svg-shadow"),
css_property!("-webkit-tap-highlight-color"),
css_property!("-webkit-text-decoration"),
css_property!("-webkit-text-decoration-color"),
css_property!("-webkit-text-decoration-line"),
css_property!("-webkit-text-decoration-style"),
css_property!("-webkit-text-size-adjust"),
css_property!("-webkit-touch-callout"),
css_property!("-webkit-transform"),
css_property!("-webkit-transform-origin"),
css_property!("-webkit-transform-origin-x"),
css_property!("-webkit-transform-origin-y"),
css_property!("-webkit-transform-origin-z"),
css_property!("-webkit-transform-style"),
css_property!("-webkit-transition"),
css_property!("-webkit-transition-delay"),
css_property!("-webkit-transition-duration"),
css_property!("-webkit-transition-property"),
css_property!("-webkit-transition-timing-function"),
css_property!("-webkit-user-drag"),
css_property!("-webkit-wrap-flow"),
css_property!("-webkit-wrap-through"),
css_property!("align-content"),
css_property!("align-items"),
css_property!("align-self"),
css_property!("alignment-adjust"),
css_property!("alignment-baseline"),
css_property!("all"),
css_property!("anchor-point"),
css_property!("animation"),
css_property!("animation-delay"),
css_property!("animation-direction"),
css_property!("animation-duration"),
css_property!("animation-fill-mode"),
css_property!("animation-iteration-count"),
css_property!("animation-name"),
css_property!("animation-play-state"),
css_property!("animation-timing-function"),
css_property!("azimuth"),
css_property!("backface-visibility"),
css_property!("background"),
css_property!("background-attachment"),
css_property!("background-clip"),
css_property!("background-color"),
css_property!("background-image"),
css_property!("background-origin"),
css_property!("background-position"),
css_property!("background-repeat"),
css_property!("background-size"),
css_property!("baseline-shift"),
css_property!("binding"),
css_property!("bleed"),
css_property!("bookmark-label"),
css_property!("bookmark-level"),
css_property!("bookmark-state"),
css_property!("border"),
css_property!("border-bottom"),
css_property!("border-bottom-color"),
css_property!("border-bottom-left-radius"),
css_property!("border-bottom-right-radius"),
css_property!("border-bottom-style"),
css_property!("border-bottom-width"),
css_property!("border-collapse"),
css_property!("border-color"),
css_property!("border-image"),
css_property!("border-image-outset"),
css_property!("border-image-repeat"),
css_property!("border-image-slice"),
css_property!("border-image-source"),
css_property!("border-image-width"),
css_property!("border-left"),
css_property!("border-left-color"),
css_property!("border-left-style"),
css_property!("border-left-width"),
css_property!("border-radius"),
css_property!("border-right"),
css_property!("border-right-color"),
css_property!("border-right-style"),
css_property!("border-right-width"),
css_property!("border-spacing"),
css_property!("border-style"),
css_property!("border-top"),
css_property!("border-top-color"),
css_property!("border-top-left-radius"),
css_property!("border-top-right-radius"),
css_property!("border-top-style"),
css_property!("border-top-width"),
css_property!("border-width"),
css_property!("bottom"),
css_property!("box-decoration-break"),
css_property!("box-shadow"),
css_property!("box-sizing"),
css_property!("box-snap"),
css_property!("box-suppress"),
css_property!("break-after"),
css_property!("break-before"),
css_property!("break-inside"),
css_property!("caption-side"),
css_property!("chains"),
css_property!("clear"),
css_property!("clip"),
css_property!("clip-path"),
css_property!("clip-rule"),
css_property!("color"),
css_property!("color-interpolation"),
css_property!("color-interpolation-filters"),
css_property!("color-profile"),
css_property!("color-rendering"),
css_property!("column-count"),
css_property!("column-fill"),
css_property!("column-gap"),
css_property!("column-rule"),
css_property!("column-rule-color"),
css_property!("column-rule-style"),
css_property!("column-rule-width"),
css_property!("column-span"),
css_property!("column-width"),
css_property!("columns"),
css_property!("contain"),
css_property!("content"),
css_property!("counter-increment"),
css_property!("counter-reset"),
css_property!("counter-set"),
css_property!("crop"),
css_property!("cue"),
css_property!("cue-after"),
css_property!("cue-before"),
css_property!("cursor"),
css_property!("direction"),
css_property!("display"),
css_property!("display-inside"),
css_property!("display-list"),
css_property!("display-outside"),
css_property!("dominant-baseline"),
css_property!("elevation"),
css_property!("empty-cells"),
css_property!("enable-background"),
css_property!("fill"),
css_property!("fill-opacity"),
css_property!("fill-rule"),
css_property!("filter"),
css_property!("flex"),
css_property!("flex-basis"),
css_property!("flex-direction"),
css_property!("flex-flow"),
css_property!("flex-grow"),
css_property!("flex-shrink"),
css_property!("flex-wrap"),
css_property!("float"),
css_property!("float-offset"),
css_property!("flood-color"),
css_property!("flood-opacity"),
css_property!("flow-from"),
css_property!("flow-into"),
css_property!("font"),
css_property!("font-family"),
css_property!("font-feature-settings"),
css_property!("font-kerning"),
css_property!("font-language-override"),
css_property!("font-size"),
css_property!("font-size-adjust"),
css_property!("font-stretch"),
css_property!("font-style"),
css_property!("font-synthesis"),
css_property!("font-variant"),
css_property!("font-variant-alternates"),
css_property!("font-variant-caps"),
css_property!("font-variant-east-asian"),
css_property!("font-variant-ligatures"),
css_property!("font-variant-numeric"),
css_property!("font-variant-position"),
css_property!("font-weight"),
css_property!("glyph-orientation-horizontal"),
css_property!("glyph-orientation-vertical"),
css_property!("grid"),
css_property!("grid-area"),
css_property!("grid-auto-columns"),
css_property!("grid-auto-flow"),
css_property!("grid-auto-rows"),
css_property!("grid-column"),
css_property!("grid-column-end"),
css_property!("grid-column-start"),
css_property!("grid-row"),
css_property!("grid-row-end"),
css_property!("grid-row-start"),
css_property!("grid-template"),
css_property!("grid-template-areas"),
css_property!("grid-template-columns"),
css_property!("grid-template-rows"),
css_property!("hanging-punctuation"),
css_property!("height"),
css_property!("hyphens"),
css_property!("icon"),
css_property!("image-orientation"),
css_property!("image-rendering"),
css_property!("image-resolution"),
css_property!("ime-mode"),
css_property!("initial-letters"),
css_property!("inline-box-align"),
css_property!("justify-content"),
css_property!("justify-items"),
css_property!("justify-self"),
css_property!("kerning"),
css_property!("left"),
css_property!("letter-spacing"),
css_property!("lighting-color"),
css_property!("line-box-contain"),
css_property!("line-break"),
css_property!("line-grid"),
css_property!("line-height"),
css_property!("line-snap"),
css_property!("line-stacking"),
css_property!("line-stacking-ruby"),
css_property!("line-stacking-shift"),
css_property!("line-stacking-strategy"),
css_property!("list-style"),
css_property!("list-style-image"),
css_property!("list-style-position"),
css_property!("list-style-type"),
css_property!("margin"),
css_property!("margin-bottom"),
css_property!("margin-left"),
css_property!("margin-right"),
css_property!("margin-top"),
css_property!("marker"),
css_property!("marker-end"),
css_property!("marker-mid"),
css_property!("marker-offset"),
css_property!("marker-side"),
css_property!("marker-start"),
css_property!("marks"),
css_property!("mask"),
css_property!("mask-box"),
css_property!("mask-box-outset"),
css_property!("mask-box-repeat"),
css_property!("mask-box-slice"),
css_property!("mask-box-source"),
css_property!("mask-box-width"),
css_property!("mask-clip"),
css_property!("mask-image"),
css_property!("mask-origin"),
css_property!("mask-position"),
css_property!("mask-repeat"),
css_property!("mask-size"),
css_property!("mask-source-type"),
css_property!("mask-type"),
css_property!("max-height"),
css_property!("max-lines"),
css_property!("max-width"),
css_property!("min-height"),
css_property!("min-width"),
css_property!("move-to"),
css_property!("nav-down"),
css_property!("nav-index"),
css_property!("nav-left"),
css_property!("nav-right"),
css_property!("nav-up"),
css_property!("object-fit"),
css_property!("object-position"),
css_property!("opacity"),
css_property!("order"),
css_property!("orphans"),
css_property!("outline"),
css_property!("outline-color"),
css_property!("outline-offset"),
css_property!("outline-style"),
css_property!("outline-width"),
css_property!("overflow"),
css_property!("overflow-wrap"),
css_property!("overflow-x"),
css_property!("overflow-y"),
css_property!("padding"),
css_property!("padding-bottom"),
css_property!("padding-left"),
css_property!("padding-right"),
css_property!("padding-top"),
css_property!("page"),
css_property!("page-break-after"),
css_property!("page-break-before"),
css_property!("page-break-inside"),
css_property!("page-policy"),
css_property!("pause"),
css_property!("pause-after"),
css_property!("pause-before"),
css_property!("perspective"),
css_property!("perspective-origin"),
css_property!("pitch"),
css_property!("pitch-range"),
css_property!("play-during"),
css_property!("pointer-events"),
css_property!("position"),
css_property!("presentation-level"),
css_property!("quotes"),
css_property!("region-fragment"),
css_property!("resize"),
css_property!("rest"),
css_property!("rest-after"),
css_property!("rest-before"),
css_property!("richness"),
css_property!("right"),
css_property!("rotation"),
css_property!("rotation-point"),
css_property!("ruby-align"),
css_property!("ruby-merge"),
css_property!("ruby-position"),
css_property!("shape-image-threshold"),
css_property!("shape-margin"),
css_property!("shape-outside"),
css_property!("shape-rendering"),
css_property!("size"),
css_property!("speak"),
css_property!("speak-as"),
css_property!("speak-header"),
css_property!("speak-numeral"),
css_property!("speak-punctuation"),
css_property!("speech-rate"),
css_property!("stop-color"),
css_property!("stop-opacity"),
css_property!("stress"),
css_property!("string-set"),
css_property!("stroke"),
css_property!("stroke-dasharray"),
css_property!("stroke-dashoffset"),
css_property!("stroke-linecap"),
css_property!("stroke-linejoin"),
css_property!("stroke-miterlimit"),
css_property!("stroke-opacity"),
css_property!("stroke-width"),
css_property!("tab-size"),
css_property!("table-layout"),
css_property!("text-align"),
css_property!("text-align-last"),
css_property!("text-anchor"),
css_property!("text-combine-horizontal"),
css_property!("text-combine-upright"),
css_property!("text-decoration"),
css_property!("text-decoration-color"),
css_property!("text-decoration-line"),
css_property!("text-decoration-skip"),
css_property!("text-decoration-style"),
css_property!("text-emphasis"),
css_property!("text-emphasis-color"),
css_property!("text-emphasis-position"),
css_property!("text-emphasis-style"),
css_property!("text-height"),
css_property!("text-indent"),
css_property!("text-justify"),
css_property!("text-orientation"),
css_property!("text-overflow"),
css_property!("text-rendering"),
css_property!("text-shadow"),
css_property!("text-size-adjust"),
css_property!("text-space-collapse"),
css_property!("text-transform"),
css_property!("text-underline-position"),
css_property!("text-wrap"),
css_property!("top"),
css_property!("touch-action"),
css_property!("transform"),
css_property!("transform-origin"),
css_property!("transform-style"),
css_property!("transition"),
css_property!("transition-delay"),
css_property!("transition-duration"),
css_property!("transition-property"),
css_property!("transition-timing-function"),
css_property!("unicode-bidi"),
css_property!("unicode-range"),
css_property!("vertical-align"),
css_property!("visibility"),
css_property!("voice-balance"),
css_property!("voice-duration"),
css_property!("voice-family"),
css_property!("voice-pitch"),
css_property!("voice-range"),
css_property!("voice-rate"),
css_property!("voice-stress"),
css_property!("voice-volume"),
css_property!("volume"),
css_property!("white-space"),
css_property!("widows"),
css_property!("width"),
css_property!("will-change"),
css_property!("word-break"),
css_property!("word-spacing"),
css_property!("word-wrap"),
css_property!("wrap-flow"),
css_property!("wrap-through"),
css_property!("writing-mode"),
css_property!("z-index"),
];
}