853 lines
34 KiB
Rust
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"),
|
|
];
|
|
}
|