diff --git a/devtools/client/inspector/layout/layout.js b/devtools/client/inspector/layout/layout.js
index 4aa31d14592b..f421e564a954 100644
--- a/devtools/client/inspector/layout/layout.js
+++ b/devtools/client/inspector/layout/layout.js
@@ -199,6 +199,7 @@ function LayoutView(inspector, document) {
this.sizeLabel = this.doc.querySelector(".layout-size > span");
this.sizeHeadingLabel = this.doc.getElementById("layout-element-size");
this._geometryEditorHighlighter = null;
+ this._cssProperties = getCssProperties(inspector.toolbox);
this.init();
}
@@ -419,7 +420,8 @@ LayoutView.prototype = {
session.destroy();
}, e => console.error(e));
}
- }
+ },
+ cssProperties: this._cssProperties
}, event);
},
diff --git a/devtools/client/inspector/markup/markup.js b/devtools/client/inspector/markup/markup.js
index 0550bee6466f..4f50dda76a39 100644
--- a/devtools/client/inspector/markup/markup.js
+++ b/devtools/client/inspector/markup/markup.js
@@ -59,6 +59,7 @@ const nodeFilterConstants = require("devtools/shared/dom-node-filter-constants")
/* eslint-disable mozilla/reject-some-requires */
const {XPCOMUtils} = require("resource://gre/modules/XPCOMUtils.jsm");
/* eslint-enable mozilla/reject-some-requires */
+const {getCssProperties} = require("devtools/shared/fronts/css-properties");
loader.lazyRequireGetter(this, "CSS", "CSS");
loader.lazyGetter(this, "AutocompletePopup", () => {
@@ -2927,7 +2928,8 @@ function TextEditor(container, node, templateId) {
});
});
});
- }
+ },
+ cssProperties: getCssProperties(this.markup._inspector.toolbox)
});
this.update();
@@ -2981,6 +2983,7 @@ function ElementEditor(container, node) {
this.markup = this.container.markup;
this.template = this.markup.template.bind(this.markup);
this.doc = this.markup.doc;
+ this._cssProperties = getCssProperties(this.markup._inspector.toolbox);
this.attrElements = new Map();
this.animationTimers = {};
@@ -3006,6 +3009,7 @@ function ElementEditor(container, node) {
trigger: "dblclick",
stopOnReturn: true,
done: this.onTagEdit.bind(this),
+ cssProperties: this._cssProperties
});
}
@@ -3029,7 +3033,8 @@ function ElementEditor(container, node) {
}, function () {
undoMods.apply();
});
- }
+ },
+ cssProperties: this._cssProperties
});
let displayName = this.node.displayName;
@@ -3267,7 +3272,8 @@ ElementEditor.prototype = {
}, () => {
undoMods.apply();
});
- }
+ },
+ cssProperties: this._cssProperties
});
// Figure out where we should place the attribute.
diff --git a/devtools/client/inspector/rules/rules.js b/devtools/client/inspector/rules/rules.js
index f08b32a34875..b4c63d148979 100644
--- a/devtools/client/inspector/rules/rules.js
+++ b/devtools/client/inspector/rules/rules.js
@@ -25,7 +25,7 @@ const {PrefObserver, PREF_ORIG_SOURCES} = require("devtools/client/styleeditor/u
const {ElementStyle} = require("devtools/client/inspector/rules/models/element-style");
const {Rule} = require("devtools/client/inspector/rules/models/rule");
const {RuleEditor} = require("devtools/client/inspector/rules/views/rule-editor");
-const {createChild, promiseWarn} = require("devtools/client/inspector/shared/utils");
+const {createChild, promiseWarn, throttle} = require("devtools/client/inspector/shared/utils");
const {gDevTools} = require("devtools/client/framework/devtools");
const {getCssProperties} = require("devtools/shared/fronts/css-properties");
@@ -163,6 +163,9 @@ function CssRuleView(inspector, document, store, pageStyle) {
this.store = store || {};
this.pageStyle = pageStyle;
+ // Allow tests to override throttling behavior, as this can cause intermittents.
+ this.throttle = throttle;
+
this.cssProperties = getCssProperties(inspector.toolbox);
this._outputParser = new OutputParser(document, this.cssProperties.supportsType);
diff --git a/devtools/client/inspector/rules/test/browser_rules_multiple-properties-unfinished_02.js b/devtools/client/inspector/rules/test/browser_rules_multiple-properties-unfinished_02.js
index 8d5e09616baf..dd1360b96cdb 100644
--- a/devtools/client/inspector/rules/test/browser_rules_multiple-properties-unfinished_02.js
+++ b/devtools/client/inspector/rules/test/browser_rules_multiple-properties-unfinished_02.js
@@ -12,6 +12,11 @@ const TEST_URI = "
Test Element
";
add_task(function* () {
yield addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI));
let {inspector, view} = yield openRuleView();
+
+ // Turn off throttling, which can cause intermittents. Throttling is used by
+ // the TextPropertyEditor.
+ view.throttle = () => {};
+
yield selectNode("div", inspector);
let ruleEditor = getRuleViewRuleEditor(view, 0);
diff --git a/devtools/client/inspector/rules/views/rule-editor.js b/devtools/client/inspector/rules/views/rule-editor.js
index 375f066682a4..b558657b0a76 100644
--- a/devtools/client/inspector/rules/views/rule-editor.js
+++ b/devtools/client/inspector/rules/views/rule-editor.js
@@ -149,6 +149,7 @@ RuleEditor.prototype = {
editableField({
element: this.selectorText,
done: this._onSelectorDone,
+ cssProperties: this.rule.cssProperties
});
}
@@ -449,7 +450,8 @@ RuleEditor.prototype = {
destroy: this._newPropertyDestroy,
advanceChars: ":",
contentType: InplaceEditor.CONTENT_TYPES.CSS_PROPERTY,
- popup: this.ruleView.popup
+ popup: this.ruleView.popup,
+ cssProperties: this.rule.cssProperties
});
// Auto-close the input if multiple rules get pasted into new property.
diff --git a/devtools/client/inspector/rules/views/text-property-editor.js b/devtools/client/inspector/rules/views/text-property-editor.js
index 0d3cb50fa564..4c9acd315955 100644
--- a/devtools/client/inspector/rules/views/text-property-editor.js
+++ b/devtools/client/inspector/rules/views/text-property-editor.js
@@ -12,8 +12,7 @@ const {
createChild,
appendText,
advanceValidate,
- blurOnMultipleProperties,
- throttle
+ blurOnMultipleProperties
} = require("devtools/client/inspector/shared/utils");
const {
parseDeclarations,
@@ -76,7 +75,7 @@ function TextPropertyEditor(ruleEditor, property) {
this._onSwatchCommit = this._onSwatchCommit.bind(this);
this._onSwatchPreview = this._onSwatchPreview.bind(this);
this._onSwatchRevert = this._onSwatchRevert.bind(this);
- this._onValidate = throttle(this._previewValue, 10, this);
+ this._onValidate = this.ruleView.throttle(this._previewValue, 10, this);
this.update = this.update.bind(this);
this.updatePropertyState = this.updatePropertyState.bind(this);
@@ -219,7 +218,8 @@ TextPropertyEditor.prototype = {
destroy: this.updatePropertyState,
advanceChars: ":",
contentType: InplaceEditor.CONTENT_TYPES.CSS_PROPERTY,
- popup: this.popup
+ popup: this.popup,
+ cssProperties: this.cssProperties
});
// Auto blur name field on multiple CSS rules get pasted in.
@@ -288,7 +288,8 @@ TextPropertyEditor.prototype = {
property: this.prop,
popup: this.popup,
multiline: true,
- maxWidth: () => this.container.getBoundingClientRect().width
+ maxWidth: () => this.container.getBoundingClientRect().width,
+ cssProperties: this.cssProperties
});
}
},
diff --git a/devtools/client/shared/inplace-editor.js b/devtools/client/shared/inplace-editor.js
index 78f324a6262a..adf9abce4cac 100644
--- a/devtools/client/shared/inplace-editor.js
+++ b/devtools/client/shared/inplace-editor.js
@@ -120,6 +120,7 @@ function isKeyIn(key, ...keys) {
* {Boolean} preserveTextStyles: If true, do not copy text-related styles
* from `element` to the new input.
* defaults to false
+ * {Object} cssProperties: An instance of CSSProperties.
*/
function editableField(options) {
return editableItem(options, function (element, event) {
@@ -219,7 +220,7 @@ function InplaceEditor(options, event) {
let doc = this.elt.ownerDocument;
this.doc = doc;
this.elt.inplaceEditor = this;
-
+ this.cssProperties = options.cssProperties;
this.change = options.change;
this.done = options.done;
this.destroy = options.destroy;
@@ -1477,7 +1478,7 @@ InplaceEditor.prototype = {
* @return {Array} array of CSS property values (Strings)
*/
_getCSSValuesForPropertyName: function (propertyName) {
- return domUtils.getCSSValuesForProperty(propertyName);
+ return this.cssProperties.getValues(propertyName);
},
};
diff --git a/devtools/server/actors/css-properties.js b/devtools/server/actors/css-properties.js
index 1f834d68e38e..ba21aec0a720 100644
--- a/devtools/server/actors/css-properties.js
+++ b/devtools/server/actors/css-properties.js
@@ -10,10 +10,15 @@ loader.lazyGetter(this, "DOMUtils", () => {
return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
});
+loader.lazyGetter(this, "appInfo", () => {
+ return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
+});
+
const protocol = require("devtools/shared/protocol");
const { ActorClassWithSpec, Actor } = protocol;
const { cssPropertiesSpec } = require("devtools/shared/specs/css-properties");
const { CSS_PROPERTIES, CSS_TYPES } = require("devtools/shared/css-properties-db");
+const { cssColors } = require("devtools/shared/css-color-db");
exports.CssPropertiesActor = ActorClassWithSpec(cssPropertiesSpec, {
typeName: "cssProperties",
@@ -27,7 +32,15 @@ exports.CssPropertiesActor = ActorClassWithSpec(cssPropertiesSpec, {
Actor.prototype.destroy.call(this);
},
- getCSSDatabase() {
+ getCSSDatabase(clientBrowserVersion) {
+ // If the client and server are both the same version of Firefox, do not return a
+ // database, use the client-side css-properties-db.js.
+ const serverBrowserVersion = appInfo.platformVersion.match(/^\d+/)[0];
+
+ if (clientBrowserVersion !== 0 && clientBrowserVersion === serverBrowserVersion) {
+ return {};
+ }
+
const properties = generateCssProperties();
const pseudoElements = DOMUtils.getCSSPseudoElementNames();
@@ -44,6 +57,7 @@ exports.CssPropertiesActor = ActorClassWithSpec(cssPropertiesSpec, {
function generateCssProperties() {
const properties = {};
const propertyNames = DOMUtils.getCSSPropertyNames(DOMUtils.INCLUDE_ALIASES);
+ const colors = Object.keys(cssColors);
propertyNames.forEach(name => {
// Get the list of CSS types this property supports.
@@ -54,12 +68,20 @@ function generateCssProperties() {
}
}
+ // Don't send colors over RDP, these will be re-attached by the front.
+ let values = DOMUtils.getCSSValuesForProperty(name);
+ if (values.includes("aliceblue")) {
+ values = values.filter(x => !colors.includes(x));
+ values.unshift("COLOR");
+ }
+
// In order to maintain any backwards compatible changes when debugging older
// clients, take the definition from the static CSS properties database, and fill it
// in with the most recent property definition from the server.
const clientDefinition = CSS_PROPERTIES[name] || {};
const serverDefinition = {
isInherited: DOMUtils.isInheritedProperty(name),
+ values,
supports
};
properties[name] = Object.assign(clientDefinition, serverDefinition);
diff --git a/devtools/server/tests/mochitest/chrome.ini b/devtools/server/tests/mochitest/chrome.ini
index 98691e45e140..68da673be772 100644
--- a/devtools/server/tests/mochitest/chrome.ini
+++ b/devtools/server/tests/mochitest/chrome.ini
@@ -32,7 +32,8 @@ skip-if = buildapp == 'mulet'
[test_css-logic.html]
[test_css-logic-media-queries.html]
[test_css-logic-specificity.html]
-[test_css-properties.html]
+[test_css-properties_01.html]
+[test_css-properties_02.html]
[test_Debugger.Source.prototype.introductionScript.html]
[test_Debugger.Source.prototype.introductionType.html]
[test_Debugger.Source.prototype.element.html]
diff --git a/devtools/server/tests/mochitest/test_css-properties.html b/devtools/server/tests/mochitest/test_css-properties_01.html
similarity index 78%
rename from devtools/server/tests/mochitest/test_css-properties.html
rename to devtools/server/tests/mochitest/test_css-properties_01.html
index 1fc933c99095..e2e2f51c57b0 100644
--- a/devtools/server/tests/mochitest/test_css-properties.html
+++ b/devtools/server/tests/mochitest/test_css-properties_01.html
@@ -25,8 +25,12 @@ window.onload = function() {
})
}
+ function toSortedString(array) {
+ return JSON.stringify(array.sort());
+ }
+
const runCssPropertiesTests = Task.async(function* (url, useActor) {
- info("Opening two tabs.");
+ info(`Opening two tabs ${useActor ? "with" : "without"} CssPropertiesActor support.`);
let attachmentA = yield promiseAttachUrl(url);
let attachmentB = yield promiseAttachUrl(url);
@@ -73,6 +77,20 @@ window.onload = function() {
"A CSS variable unicode properly evaluates.");
ok(!cssProperties.isKnown("--foo bar"),
"A CSS variable with spaces fails");
+
+ is(toSortedString(cssProperties.getValues('margin')),
+ toSortedString(["-moz-calc","auto","calc","inherit","initial","unset"]),
+ "Can get values for the CSS margin.");
+ is(cssProperties.getValues('foobar').length, 0,
+ "Unknown values return an empty array.");
+
+ const bgColorValues = cssProperties.getValues('background-color');
+ ok(bgColorValues.includes("blanchedalmond"),
+ "A property with color values includes blanchedalmond.");
+ ok(bgColorValues.includes("papayawhip"),
+ "A property with color values includes papayawhip.");
+ ok(bgColorValues.includes("rgb"),
+ "A property with color values includes non-colors.");
});
addAsyncTest(function* setup() {
diff --git a/devtools/server/tests/mochitest/test_css-properties_02.html b/devtools/server/tests/mochitest/test_css-properties_02.html
new file mode 100644
index 000000000000..65262e171131
--- /dev/null
+++ b/devtools/server/tests/mochitest/test_css-properties_02.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+ Test CSS Properties Actor
+
+
+
+
+
+
+ Mozilla Bug 1265798
+ Test Document
+
+
diff --git a/devtools/shared/css-properties-db.js b/devtools/shared/css-properties-db.js
index eb7f12a6a087..855a6cbfb1a8 100644
--- a/devtools/shared/css-properties-db.js
+++ b/devtools/shared/css-properties-db.js
@@ -94,7 +94,7 @@ console.log("The CSS_PROPERTIES have been copied to your clipboard.");
*/
/*eslint-disable */
-exports.CSS_PROPERTIES = {"align-content":{"isInherited":false,"supports":[]},"align-items":{"isInherited":false,"supports":[]},"align-self":{"isInherited":false,"supports":[]},"animation-delay":{"isInherited":false,"supports":[9]},"animation-direction":{"isInherited":false,"supports":[]},"animation-duration":{"isInherited":false,"supports":[9]},"animation-fill-mode":{"isInherited":false,"supports":[]},"animation-iteration-count":{"isInherited":false,"supports":[7]},"animation-name":{"isInherited":false,"supports":[]},"animation-play-state":{"isInherited":false,"supports":[]},"animation-timing-function":{"isInherited":false,"supports":[10]},"-moz-appearance":{"isInherited":false,"supports":[]},"backface-visibility":{"isInherited":false,"supports":[]},"background-attachment":{"isInherited":false,"supports":[]},"background-blend-mode":{"isInherited":false,"supports":[]},"background-clip":{"isInherited":false,"supports":[]},"background-color":{"isInherited":false,"supports":[2]},"background-image":{"isInherited":false,"supports":[4,5,11]},"background-origin":{"isInherited":false,"supports":[]},"background-position-x":{"isInherited":false,"supports":[6,8]},"background-position-y":{"isInherited":false,"supports":[6,8]},"background-repeat":{"isInherited":false,"supports":[]},"background-size":{"isInherited":false,"supports":[6,8]},"-moz-binding":{"isInherited":false,"supports":[11]},"block-size":{"isInherited":false,"supports":[6,8]},"border-block-end-color":{"isInherited":false,"supports":[2]},"border-block-end-style":{"isInherited":false,"supports":[]},"border-block-end-width":{"isInherited":false,"supports":[6]},"border-block-start-color":{"isInherited":false,"supports":[2]},"border-block-start-style":{"isInherited":false,"supports":[]},"border-block-start-width":{"isInherited":false,"supports":[6]},"border-bottom-color":{"isInherited":false,"supports":[2]},"-moz-border-bottom-colors":{"isInherited":false,"supports":[2]},"border-bottom-left-radius":{"isInherited":false,"supports":[6,8]},"border-bottom-right-radius":{"isInherited":false,"supports":[6,8]},"border-bottom-style":{"isInherited":false,"supports":[]},"border-bottom-width":{"isInherited":false,"supports":[6]},"border-collapse":{"isInherited":true,"supports":[]},"border-image-outset":{"isInherited":false,"supports":[6,7]},"border-image-repeat":{"isInherited":false,"supports":[]},"border-image-slice":{"isInherited":false,"supports":[7,8]},"border-image-source":{"isInherited":false,"supports":[4,5,11]},"border-image-width":{"isInherited":false,"supports":[6,7,8]},"border-inline-end-color":{"isInherited":false,"supports":[2]},"border-inline-end-style":{"isInherited":false,"supports":[]},"border-inline-end-width":{"isInherited":false,"supports":[6]},"border-inline-start-color":{"isInherited":false,"supports":[2]},"border-inline-start-style":{"isInherited":false,"supports":[]},"border-inline-start-width":{"isInherited":false,"supports":[6]},"border-left-color":{"isInherited":false,"supports":[2]},"-moz-border-left-colors":{"isInherited":false,"supports":[2]},"border-left-style":{"isInherited":false,"supports":[]},"border-left-width":{"isInherited":false,"supports":[6]},"border-right-color":{"isInherited":false,"supports":[2]},"-moz-border-right-colors":{"isInherited":false,"supports":[2]},"border-right-style":{"isInherited":false,"supports":[]},"border-right-width":{"isInherited":false,"supports":[6]},"border-spacing":{"isInherited":true,"supports":[6]},"border-top-color":{"isInherited":false,"supports":[2]},"-moz-border-top-colors":{"isInherited":false,"supports":[2]},"border-top-left-radius":{"isInherited":false,"supports":[6,8]},"border-top-right-radius":{"isInherited":false,"supports":[6,8]},"border-top-style":{"isInherited":false,"supports":[]},"border-top-width":{"isInherited":false,"supports":[6]},"bottom":{"isInherited":false,"supports":[6,8]},"-moz-box-align":{"isInherited":false,"supports":[]},"box-decoration-break":{"isInherited":false,"supports":[]},"-moz-box-direction":{"isInherited":false,"supports":[]},"-moz-box-flex":{"isInherited":false,"supports":[7]},"-moz-box-ordinal-group":{"isInherited":false,"supports":[7]},"-moz-box-orient":{"isInherited":false,"supports":[]},"-moz-box-pack":{"isInherited":false,"supports":[]},"box-shadow":{"isInherited":false,"supports":[2,6]},"box-sizing":{"isInherited":false,"supports":[]},"caption-side":{"isInherited":true,"supports":[]},"clear":{"isInherited":false,"supports":[]},"clip":{"isInherited":false,"supports":[]},"clip-path":{"isInherited":false,"supports":[11]},"clip-rule":{"isInherited":true,"supports":[]},"color":{"isInherited":true,"supports":[2]},"color-adjust":{"isInherited":true,"supports":[]},"color-interpolation":{"isInherited":true,"supports":[]},"color-interpolation-filters":{"isInherited":true,"supports":[]},"-moz-column-count":{"isInherited":false,"supports":[7]},"-moz-column-fill":{"isInherited":false,"supports":[]},"-moz-column-gap":{"isInherited":false,"supports":[6]},"-moz-column-rule-color":{"isInherited":false,"supports":[2]},"-moz-column-rule-style":{"isInherited":false,"supports":[]},"-moz-column-rule-width":{"isInherited":false,"supports":[6]},"-moz-column-width":{"isInherited":false,"supports":[6]},"content":{"isInherited":false,"supports":[11]},"-moz-control-character-visibility":{"isInherited":true,"supports":[]},"counter-increment":{"isInherited":false,"supports":[]},"counter-reset":{"isInherited":false,"supports":[]},"cursor":{"isInherited":true,"supports":[11]},"direction":{"isInherited":true,"supports":[]},"display":{"isInherited":false,"supports":[]},"dominant-baseline":{"isInherited":false,"supports":[]},"empty-cells":{"isInherited":true,"supports":[]},"fill":{"isInherited":true,"supports":[2,11]},"fill-opacity":{"isInherited":true,"supports":[7]},"fill-rule":{"isInherited":true,"supports":[]},"filter":{"isInherited":false,"supports":[11]},"flex-basis":{"isInherited":false,"supports":[6,8]},"flex-direction":{"isInherited":false,"supports":[]},"flex-grow":{"isInherited":false,"supports":[7]},"flex-shrink":{"isInherited":false,"supports":[7]},"flex-wrap":{"isInherited":false,"supports":[]},"float":{"isInherited":false,"supports":[]},"-moz-float-edge":{"isInherited":false,"supports":[]},"flood-color":{"isInherited":false,"supports":[2]},"flood-opacity":{"isInherited":false,"supports":[7]},"font-family":{"isInherited":true,"supports":[]},"font-feature-settings":{"isInherited":true,"supports":[]},"font-kerning":{"isInherited":true,"supports":[]},"font-language-override":{"isInherited":true,"supports":[]},"font-size":{"isInherited":true,"supports":[6,8]},"font-size-adjust":{"isInherited":true,"supports":[7]},"font-stretch":{"isInherited":true,"supports":[]},"font-style":{"isInherited":true,"supports":[]},"font-synthesis":{"isInherited":true,"supports":[]},"font-variant-alternates":{"isInherited":true,"supports":[]},"font-variant-caps":{"isInherited":true,"supports":[]},"font-variant-east-asian":{"isInherited":true,"supports":[]},"font-variant-ligatures":{"isInherited":true,"supports":[]},"font-variant-numeric":{"isInherited":true,"supports":[]},"font-variant-position":{"isInherited":true,"supports":[]},"font-weight":{"isInherited":true,"supports":[7]},"-moz-force-broken-image-icon":{"isInherited":false,"supports":[7]},"grid-auto-columns":{"isInherited":false,"supports":[6,8]},"grid-auto-flow":{"isInherited":false,"supports":[]},"grid-auto-rows":{"isInherited":false,"supports":[6,8]},"grid-column-end":{"isInherited":false,"supports":[7]},"grid-column-gap":{"isInherited":false,"supports":[6,8]},"grid-column-start":{"isInherited":false,"supports":[7]},"grid-row-end":{"isInherited":false,"supports":[7]},"grid-row-gap":{"isInherited":false,"supports":[6,8]},"grid-row-start":{"isInherited":false,"supports":[7]},"grid-template-areas":{"isInherited":false,"supports":[]},"grid-template-columns":{"isInherited":false,"supports":[6,8]},"grid-template-rows":{"isInherited":false,"supports":[6,8]},"height":{"isInherited":false,"supports":[6,8]},"hyphens":{"isInherited":true,"supports":[]},"image-orientation":{"isInherited":true,"supports":[1]},"-moz-image-region":{"isInherited":true,"supports":[]},"image-rendering":{"isInherited":true,"supports":[]},"ime-mode":{"isInherited":false,"supports":[]},"inline-size":{"isInherited":false,"supports":[6,8]},"isolation":{"isInherited":false,"supports":[]},"justify-content":{"isInherited":false,"supports":[]},"justify-items":{"isInherited":false,"supports":[]},"justify-self":{"isInherited":false,"supports":[]},"left":{"isInherited":false,"supports":[6,8]},"letter-spacing":{"isInherited":true,"supports":[6]},"lighting-color":{"isInherited":false,"supports":[2]},"line-height":{"isInherited":true,"supports":[6,7,8]},"list-style-image":{"isInherited":true,"supports":[11]},"list-style-position":{"isInherited":true,"supports":[]},"list-style-type":{"isInherited":true,"supports":[]},"margin-block-end":{"isInherited":false,"supports":[6,8]},"margin-block-start":{"isInherited":false,"supports":[6,8]},"margin-bottom":{"isInherited":false,"supports":[6,8]},"margin-inline-end":{"isInherited":false,"supports":[6,8]},"margin-inline-start":{"isInherited":false,"supports":[6,8]},"margin-left":{"isInherited":false,"supports":[6,8]},"margin-right":{"isInherited":false,"supports":[6,8]},"margin-top":{"isInherited":false,"supports":[6,8]},"marker-end":{"isInherited":true,"supports":[11]},"marker-mid":{"isInherited":true,"supports":[11]},"marker-offset":{"isInherited":false,"supports":[6]},"marker-start":{"isInherited":true,"supports":[11]},"mask":{"isInherited":false,"supports":[11]},"mask-type":{"isInherited":false,"supports":[]},"max-block-size":{"isInherited":false,"supports":[6,8]},"max-height":{"isInherited":false,"supports":[6,8]},"max-inline-size":{"isInherited":false,"supports":[6,8]},"max-width":{"isInherited":false,"supports":[6,8]},"min-block-size":{"isInherited":false,"supports":[6,8]},"min-height":{"isInherited":false,"supports":[6,8]},"min-inline-size":{"isInherited":false,"supports":[6,8]},"min-width":{"isInherited":false,"supports":[6,8]},"mix-blend-mode":{"isInherited":false,"supports":[]},"object-fit":{"isInherited":false,"supports":[]},"object-position":{"isInherited":false,"supports":[6,8]},"offset-block-end":{"isInherited":false,"supports":[6,8]},"offset-block-start":{"isInherited":false,"supports":[6,8]},"offset-inline-end":{"isInherited":false,"supports":[6,8]},"offset-inline-start":{"isInherited":false,"supports":[6,8]},"opacity":{"isInherited":false,"supports":[7]},"order":{"isInherited":false,"supports":[7]},"-moz-orient":{"isInherited":false,"supports":[]},"outline-color":{"isInherited":false,"supports":[2]},"outline-offset":{"isInherited":false,"supports":[6]},"-moz-outline-radius-bottomleft":{"isInherited":false,"supports":[6,8]},"-moz-outline-radius-bottomright":{"isInherited":false,"supports":[6,8]},"-moz-outline-radius-topleft":{"isInherited":false,"supports":[6,8]},"-moz-outline-radius-topright":{"isInherited":false,"supports":[6,8]},"outline-style":{"isInherited":false,"supports":[]},"outline-width":{"isInherited":false,"supports":[6]},"overflow-x":{"isInherited":false,"supports":[]},"overflow-y":{"isInherited":false,"supports":[]},"padding-block-end":{"isInherited":false,"supports":[6,8]},"padding-block-start":{"isInherited":false,"supports":[6,8]},"padding-bottom":{"isInherited":false,"supports":[6,8]},"padding-inline-end":{"isInherited":false,"supports":[6,8]},"padding-inline-start":{"isInherited":false,"supports":[6,8]},"padding-left":{"isInherited":false,"supports":[6,8]},"padding-right":{"isInherited":false,"supports":[6,8]},"padding-top":{"isInherited":false,"supports":[6,8]},"page-break-after":{"isInherited":false,"supports":[]},"page-break-before":{"isInherited":false,"supports":[]},"page-break-inside":{"isInherited":false,"supports":[]},"paint-order":{"isInherited":true,"supports":[]},"perspective":{"isInherited":false,"supports":[6]},"perspective-origin":{"isInherited":false,"supports":[6,8]},"pointer-events":{"isInherited":true,"supports":[]},"position":{"isInherited":false,"supports":[]},"quotes":{"isInherited":true,"supports":[]},"resize":{"isInherited":false,"supports":[]},"right":{"isInherited":false,"supports":[6,8]},"ruby-align":{"isInherited":true,"supports":[]},"ruby-position":{"isInherited":true,"supports":[]},"scroll-behavior":{"isInherited":false,"supports":[]},"scroll-snap-coordinate":{"isInherited":false,"supports":[6,8]},"scroll-snap-destination":{"isInherited":false,"supports":[6,8]},"scroll-snap-points-x":{"isInherited":false,"supports":[]},"scroll-snap-points-y":{"isInherited":false,"supports":[]},"scroll-snap-type-x":{"isInherited":false,"supports":[]},"scroll-snap-type-y":{"isInherited":false,"supports":[]},"shape-rendering":{"isInherited":true,"supports":[]},"-moz-stack-sizing":{"isInherited":false,"supports":[]},"stop-color":{"isInherited":false,"supports":[2]},"stop-opacity":{"isInherited":false,"supports":[7]},"stroke":{"isInherited":true,"supports":[2,11]},"stroke-dasharray":{"isInherited":true,"supports":[6,7,8]},"stroke-dashoffset":{"isInherited":true,"supports":[6,7,8]},"stroke-linecap":{"isInherited":true,"supports":[]},"stroke-linejoin":{"isInherited":true,"supports":[]},"stroke-miterlimit":{"isInherited":true,"supports":[7]},"stroke-opacity":{"isInherited":true,"supports":[7]},"stroke-width":{"isInherited":true,"supports":[6,7,8]},"-moz-tab-size":{"isInherited":true,"supports":[7]},"table-layout":{"isInherited":false,"supports":[]},"text-align":{"isInherited":true,"supports":[]},"text-align-last":{"isInherited":true,"supports":[]},"text-anchor":{"isInherited":true,"supports":[]},"text-combine-upright":{"isInherited":true,"supports":[]},"text-decoration-color":{"isInherited":false,"supports":[2]},"text-decoration-line":{"isInherited":false,"supports":[]},"text-decoration-style":{"isInherited":false,"supports":[]},"text-emphasis-color":{"isInherited":true,"supports":[2]},"text-emphasis-position":{"isInherited":true,"supports":[]},"text-emphasis-style":{"isInherited":true,"supports":[]},"-webkit-text-fill-color":{"isInherited":true,"supports":[2]},"text-indent":{"isInherited":true,"supports":[6,8]},"text-orientation":{"isInherited":true,"supports":[]},"text-overflow":{"isInherited":false,"supports":[]},"text-rendering":{"isInherited":true,"supports":[]},"text-shadow":{"isInherited":true,"supports":[2,6]},"-moz-text-size-adjust":{"isInherited":true,"supports":[]},"-webkit-text-stroke-color":{"isInherited":true,"supports":[2]},"-webkit-text-stroke-width":{"isInherited":true,"supports":[6]},"text-transform":{"isInherited":true,"supports":[]},"top":{"isInherited":false,"supports":[6,8]},"touch-action":{"isInherited":false,"supports":[]},"transform":{"isInherited":false,"supports":[]},"transform-box":{"isInherited":false,"supports":[]},"transform-origin":{"isInherited":false,"supports":[6,8]},"transform-style":{"isInherited":false,"supports":[]},"transition-delay":{"isInherited":false,"supports":[9]},"transition-duration":{"isInherited":false,"supports":[9]},"transition-property":{"isInherited":false,"supports":[]},"transition-timing-function":{"isInherited":false,"supports":[10]},"unicode-bidi":{"isInherited":false,"supports":[]},"-moz-user-focus":{"isInherited":true,"supports":[]},"-moz-user-input":{"isInherited":true,"supports":[]},"-moz-user-modify":{"isInherited":true,"supports":[]},"-moz-user-select":{"isInherited":false,"supports":[]},"vector-effect":{"isInherited":false,"supports":[]},"vertical-align":{"isInherited":false,"supports":[6,8]},"visibility":{"isInherited":true,"supports":[]},"white-space":{"isInherited":true,"supports":[]},"width":{"isInherited":false,"supports":[6,8]},"will-change":{"isInherited":false,"supports":[]},"-moz-window-dragging":{"isInherited":false,"supports":[]},"word-break":{"isInherited":true,"supports":[]},"word-spacing":{"isInherited":true,"supports":[6,8]},"overflow-wrap":{"isInherited":true,"supports":[]},"writing-mode":{"isInherited":true,"supports":[]},"z-index":{"isInherited":false,"supports":[7]},"all":{"isInherited":false,"supports":[1,2,4,5,6,7,8,9,10,11]},"animation":{"isInherited":false,"supports":[7,9,10]},"background":{"isInherited":false,"supports":[2,4,5,6,8,11]},"background-position":{"isInherited":false,"supports":[6,8]},"border":{"isInherited":false,"supports":[2,6]},"border-block-end":{"isInherited":false,"supports":[2,6]},"border-block-start":{"isInherited":false,"supports":[2,6]},"border-bottom":{"isInherited":false,"supports":[2,6]},"border-color":{"isInherited":false,"supports":[2]},"border-image":{"isInherited":false,"supports":[4,5,6,7,8,11]},"border-inline-end":{"isInherited":false,"supports":[2,6]},"border-inline-start":{"isInherited":false,"supports":[2,6]},"border-left":{"isInherited":false,"supports":[2,6]},"border-radius":{"isInherited":false,"supports":[6,8]},"border-right":{"isInherited":false,"supports":[2,6]},"border-style":{"isInherited":false,"supports":[]},"border-top":{"isInherited":false,"supports":[2,6]},"border-width":{"isInherited":false,"supports":[6]},"-moz-column-rule":{"isInherited":false,"supports":[2,6]},"-moz-columns":{"isInherited":false,"supports":[6,7]},"flex":{"isInherited":false,"supports":[6,7,8]},"flex-flow":{"isInherited":false,"supports":[]},"font":{"isInherited":true,"supports":[6,7,8]},"font-variant":{"isInherited":true,"supports":[]},"grid":{"isInherited":false,"supports":[6,8]},"grid-area":{"isInherited":false,"supports":[7]},"grid-column":{"isInherited":false,"supports":[7]},"grid-gap":{"isInherited":false,"supports":[6,8]},"grid-row":{"isInherited":false,"supports":[7]},"grid-template":{"isInherited":false,"supports":[6,8]},"list-style":{"isInherited":true,"supports":[11]},"margin":{"isInherited":false,"supports":[6,8]},"marker":{"isInherited":true,"supports":[11]},"outline":{"isInherited":false,"supports":[2,6]},"-moz-outline-radius":{"isInherited":false,"supports":[6,8]},"overflow":{"isInherited":false,"supports":[]},"padding":{"isInherited":false,"supports":[6,8]},"scroll-snap-type":{"isInherited":false,"supports":[]},"text-decoration":{"isInherited":false,"supports":[2]},"text-emphasis":{"isInherited":true,"supports":[2]},"-webkit-text-stroke":{"isInherited":true,"supports":[2,6]},"-moz-transform":{"isInherited":false,"supports":[]},"transition":{"isInherited":false,"supports":[9,10]},"word-wrap":{"isInherited":true,"supports":[]},"-moz-transform-origin":{"isInherited":false,"supports":[6,8]},"-moz-perspective-origin":{"isInherited":false,"supports":[6,8]},"-moz-perspective":{"isInherited":false,"supports":[6]},"-moz-transform-style":{"isInherited":false,"supports":[]},"-moz-backface-visibility":{"isInherited":false,"supports":[]},"-moz-border-image":{"isInherited":false,"supports":[4,5,6,7,8,11]},"-moz-transition":{"isInherited":false,"supports":[9,10]},"-moz-transition-delay":{"isInherited":false,"supports":[9]},"-moz-transition-duration":{"isInherited":false,"supports":[9]},"-moz-transition-property":{"isInherited":false,"supports":[]},"-moz-transition-timing-function":{"isInherited":false,"supports":[10]},"-moz-animation":{"isInherited":false,"supports":[7,9,10]},"-moz-animation-delay":{"isInherited":false,"supports":[9]},"-moz-animation-direction":{"isInherited":false,"supports":[]},"-moz-animation-duration":{"isInherited":false,"supports":[9]},"-moz-animation-fill-mode":{"isInherited":false,"supports":[]},"-moz-animation-iteration-count":{"isInherited":false,"supports":[7]},"-moz-animation-name":{"isInherited":false,"supports":[]},"-moz-animation-play-state":{"isInherited":false,"supports":[]},"-moz-animation-timing-function":{"isInherited":false,"supports":[10]},"-moz-box-sizing":{"isInherited":false,"supports":[]},"-moz-font-feature-settings":{"isInherited":true,"supports":[]},"-moz-font-language-override":{"isInherited":true,"supports":[]},"-moz-padding-end":{"isInherited":false,"supports":[6,8]},"-moz-padding-start":{"isInherited":false,"supports":[6,8]},"-moz-margin-end":{"isInherited":false,"supports":[6,8]},"-moz-margin-start":{"isInherited":false,"supports":[6,8]},"-moz-border-end":{"isInherited":false,"supports":[2,6]},"-moz-border-end-color":{"isInherited":false,"supports":[2]},"-moz-border-end-style":{"isInherited":false,"supports":[]},"-moz-border-end-width":{"isInherited":false,"supports":[6]},"-moz-border-start":{"isInherited":false,"supports":[2,6]},"-moz-border-start-color":{"isInherited":false,"supports":[2]},"-moz-border-start-style":{"isInherited":false,"supports":[]},"-moz-border-start-width":{"isInherited":false,"supports":[6]},"-moz-hyphens":{"isInherited":true,"supports":[]},"-moz-text-align-last":{"isInherited":true,"supports":[]},"-webkit-animation":{"isInherited":false,"supports":[7,9,10]},"-webkit-animation-delay":{"isInherited":false,"supports":[9]},"-webkit-animation-direction":{"isInherited":false,"supports":[]},"-webkit-animation-duration":{"isInherited":false,"supports":[9]},"-webkit-animation-fill-mode":{"isInherited":false,"supports":[]},"-webkit-animation-iteration-count":{"isInherited":false,"supports":[7]},"-webkit-animation-name":{"isInherited":false,"supports":[]},"-webkit-animation-play-state":{"isInherited":false,"supports":[]},"-webkit-animation-timing-function":{"isInherited":false,"supports":[10]},"-webkit-filter":{"isInherited":false,"supports":[11]},"-webkit-text-size-adjust":{"isInherited":true,"supports":[]},"-webkit-transform":{"isInherited":false,"supports":[]},"-webkit-transform-origin":{"isInherited":false,"supports":[6,8]},"-webkit-transform-style":{"isInherited":false,"supports":[]},"-webkit-backface-visibility":{"isInherited":false,"supports":[]},"-webkit-perspective":{"isInherited":false,"supports":[6]},"-webkit-perspective-origin":{"isInherited":false,"supports":[6,8]},"-webkit-transition":{"isInherited":false,"supports":[9,10]},"-webkit-transition-delay":{"isInherited":false,"supports":[9]},"-webkit-transition-duration":{"isInherited":false,"supports":[9]},"-webkit-transition-property":{"isInherited":false,"supports":[]},"-webkit-transition-timing-function":{"isInherited":false,"supports":[10]},"-webkit-border-radius":{"isInherited":false,"supports":[6,8]},"-webkit-border-top-left-radius":{"isInherited":false,"supports":[6,8]},"-webkit-border-top-right-radius":{"isInherited":false,"supports":[6,8]},"-webkit-border-bottom-left-radius":{"isInherited":false,"supports":[6,8]},"-webkit-border-bottom-right-radius":{"isInherited":false,"supports":[6,8]},"-webkit-background-clip":{"isInherited":false,"supports":[]},"-webkit-background-origin":{"isInherited":false,"supports":[]},"-webkit-background-size":{"isInherited":false,"supports":[6,8]},"-webkit-border-image":{"isInherited":false,"supports":[4,5,6,7,8,11]},"-webkit-box-shadow":{"isInherited":false,"supports":[2,6]},"-webkit-box-sizing":{"isInherited":false,"supports":[]},"-webkit-box-flex":{"isInherited":false,"supports":[7]},"-webkit-box-ordinal-group":{"isInherited":false,"supports":[7]},"-webkit-box-orient":{"isInherited":false,"supports":[]},"-webkit-box-direction":{"isInherited":false,"supports":[]},"-webkit-box-align":{"isInherited":false,"supports":[]},"-webkit-box-pack":{"isInherited":false,"supports":[]},"-webkit-flex-direction":{"isInherited":false,"supports":[]},"-webkit-flex-wrap":{"isInherited":false,"supports":[]},"-webkit-flex-flow":{"isInherited":false,"supports":[]},"-webkit-order":{"isInherited":false,"supports":[7]},"-webkit-flex":{"isInherited":false,"supports":[6,7,8]},"-webkit-flex-grow":{"isInherited":false,"supports":[7]},"-webkit-flex-shrink":{"isInherited":false,"supports":[7]},"-webkit-flex-basis":{"isInherited":false,"supports":[6,8]},"-webkit-justify-content":{"isInherited":false,"supports":[]},"-webkit-align-items":{"isInherited":false,"supports":[]},"-webkit-align-self":{"isInherited":false,"supports":[]},"-webkit-align-content":{"isInherited":false,"supports":[]},"-webkit-user-select":{"isInherited":false,"supports":[]}};
+exports.CSS_PROPERTIES = {"align-content":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","space-around","space-between","space-evenly","start","stretch","unset"]},"align-items":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"align-self":{"isInherited":false,"supports":[],"values":["auto","baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"animation-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"animation-direction":{"isInherited":false,"supports":[],"values":["alternate","alternate-reverse","inherit","initial","normal","reverse","unset"]},"animation-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"animation-fill-mode":{"isInherited":false,"supports":[],"values":["backwards","both","forwards","inherit","initial","none","unset"]},"animation-iteration-count":{"isInherited":false,"supports":[7],"values":["infinite","inherit","initial","unset"]},"animation-name":{"isInherited":false,"supports":[],"values":["inherit","initial","none","unset"]},"animation-play-state":{"isInherited":false,"supports":[],"values":["inherit","initial","paused","running","unset"]},"animation-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"-moz-appearance":{"isInherited":false,"supports":[],"values":["-moz-gtk-info-bar","-moz-mac-disclosure-button-closed","-moz-mac-disclosure-button-open","-moz-mac-fullscreen-button","-moz-mac-help-button","-moz-mac-source-list","-moz-mac-vibrancy-dark","-moz-mac-vibrancy-light","-moz-win-borderless-glass","-moz-win-browsertabbar-toolbox","-moz-win-communications-toolbox","-moz-win-exclude-glass","-moz-win-glass","-moz-win-media-toolbox","-moz-window-button-box","-moz-window-button-box-maximized","-moz-window-button-close","-moz-window-button-maximize","-moz-window-button-minimize","-moz-window-button-restore","-moz-window-frame-bottom","-moz-window-frame-left","-moz-window-frame-right","-moz-window-titlebar","-moz-window-titlebar-maximized","button","button-arrow-down","button-arrow-next","button-arrow-previous","button-arrow-up","button-bevel","button-focus","caret","checkbox","checkbox-container","checkbox-label","checkmenuitem","dialog","dualbutton","groupbox","inherit","initial","listbox","listitem","menuarrow","menubar","menucheckbox","menuimage","menuitem","menuitemtext","menulist","menulist-button","menulist-text","menulist-textfield","menupopup","menuradio","menuseparator","meterbar","meterchunk","none","number-input","progressbar","progressbar-vertical","progresschunk","progresschunk-vertical","radio","radio-container","radio-label","radiomenuitem","range","range-thumb","resizer","resizerpanel","scale-horizontal","scale-vertical","scalethumb-horizontal","scalethumb-vertical","scalethumbend","scalethumbstart","scalethumbtick","scrollbar","scrollbar-horizontal","scrollbar-small","scrollbar-vertical","scrollbarbutton-down","scrollbarbutton-left","scrollbarbutton-right","scrollbarbutton-up","scrollbarthumb-horizontal","scrollbarthumb-vertical","scrollbartrack-horizontal","scrollbartrack-vertical","searchfield","separator","spinner","spinner-downbutton","spinner-textfield","spinner-upbutton","splitter","statusbar","statusbarpanel","tab","tab-scroll-arrow-back","tab-scroll-arrow-forward","tabpanel","tabpanels","textfield","textfield-multiline","toolbar","toolbarbutton","toolbarbutton-dropdown","toolbargripper","toolbox","tooltip","treeheader","treeheadercell","treeheadersortarrow","treeitem","treeline","treetwisty","treetwistyopen","treeview","unset","window"]},"backface-visibility":{"isInherited":false,"supports":[],"values":["hidden","inherit","initial","unset","visible"]},"background-attachment":{"isInherited":false,"supports":[],"values":["fixed","inherit","initial","local","scroll","unset"]},"background-blend-mode":{"isInherited":false,"supports":[],"values":["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","inherit","initial","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light","unset"]},"background-clip":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","padding-box","text","unset"]},"background-color":{"isInherited":false,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"background-image":{"isInherited":false,"supports":[4,5,11],"values":["-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","inherit","initial","linear-gradient","none","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","unset","url"]},"background-origin":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","padding-box","unset"]},"background-position-x":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"background-position-y":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"background-repeat":{"isInherited":false,"supports":[],"values":["inherit","initial","no-repeat","repeat","repeat-x","repeat-y","round","space","unset"]},"background-size":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-binding":{"isInherited":false,"supports":[11],"values":["inherit","initial","none","unset","url"]},"block-size":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"border-block-end-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"border-block-end-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-block-end-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-block-start-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"border-block-start-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-block-start-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-bottom-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-bottom-colors":{"isInherited":false,"supports":[2],"values":["inherit","initial","unset"]},"border-bottom-left-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border-bottom-right-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border-bottom-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-bottom-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-collapse":{"isInherited":true,"supports":[],"values":["collapse","inherit","initial","separate","unset"]},"border-image-outset":{"isInherited":false,"supports":[6,7],"values":["inherit","initial","unset"]},"border-image-repeat":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"border-image-slice":{"isInherited":false,"supports":[7,8],"values":["inherit","initial","unset"]},"border-image-source":{"isInherited":false,"supports":[4,5,11],"values":["-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","inherit","initial","linear-gradient","none","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","unset","url"]},"border-image-width":{"isInherited":false,"supports":[6,7,8],"values":["inherit","initial","unset"]},"border-inline-end-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"border-inline-end-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-inline-end-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-inline-start-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"border-inline-start-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-inline-start-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-left-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-left-colors":{"isInherited":false,"supports":[2],"values":["inherit","initial","unset"]},"border-left-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-left-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-right-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-right-colors":{"isInherited":false,"supports":[2],"values":["inherit","initial","unset"]},"border-right-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-right-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"border-spacing":{"isInherited":true,"supports":[6],"values":["inherit","initial","unset"]},"border-top-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-top-colors":{"isInherited":false,"supports":[2],"values":["inherit","initial","unset"]},"border-top-left-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border-top-right-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border-top-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-top-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"bottom":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"-moz-box-align":{"isInherited":false,"supports":[],"values":["baseline","center","end","inherit","initial","start","stretch","unset"]},"box-decoration-break":{"isInherited":false,"supports":[],"values":["clone","inherit","initial","slice","unset"]},"-moz-box-direction":{"isInherited":false,"supports":[],"values":["inherit","initial","normal","reverse","unset"]},"-moz-box-flex":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-moz-box-ordinal-group":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-moz-box-orient":{"isInherited":false,"supports":[],"values":["block-axis","horizontal","inherit","initial","inline-axis","unset","vertical"]},"-moz-box-pack":{"isInherited":false,"supports":[],"values":["center","end","inherit","initial","justify","start","unset"]},"box-shadow":{"isInherited":false,"supports":[2,6],"values":["inherit","initial","unset"]},"box-sizing":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","unset"]},"caption-side":{"isInherited":true,"supports":[],"values":["bottom","bottom-outside","inherit","initial","left","right","top","top-outside","unset"]},"clear":{"isInherited":false,"supports":[],"values":["both","inherit","initial","inline-end","inline-start","left","none","right","unset"]},"clip":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"clip-path":{"isInherited":false,"supports":[11],"values":["inherit","initial","unset"]},"clip-rule":{"isInherited":true,"supports":[],"values":["evenodd","inherit","initial","nonzero","unset"]},"color":{"isInherited":true,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"color-adjust":{"isInherited":true,"supports":[],"values":["economy","exact","inherit","initial","unset"]},"color-interpolation":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","linearrgb","srgb","unset"]},"color-interpolation-filters":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","linearrgb","srgb","unset"]},"-moz-column-count":{"isInherited":false,"supports":[7],"values":["auto","inherit","initial","unset"]},"-moz-column-fill":{"isInherited":false,"supports":[],"values":["auto","balance","inherit","initial","unset"]},"-moz-column-gap":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","normal","unset"]},"-moz-column-rule-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-column-rule-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"-moz-column-rule-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"-moz-column-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"content":{"isInherited":false,"supports":[11],"values":["inherit","initial","unset"]},"-moz-control-character-visibility":{"isInherited":true,"supports":[],"values":["hidden","inherit","initial","unset","visible"]},"counter-increment":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"counter-reset":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"cursor":{"isInherited":true,"supports":[11],"values":["inherit","initial","unset"]},"direction":{"isInherited":true,"supports":[],"values":["inherit","initial","ltr","rtl","unset"]},"display":{"isInherited":false,"supports":[],"values":["-moz-box","-moz-deck","-moz-grid","-moz-grid-group","-moz-grid-line","-moz-groupbox","-moz-inline-box","-moz-inline-grid","-moz-inline-stack","-moz-popup","-moz-stack","-webkit-box","-webkit-flex","-webkit-inline-box","-webkit-inline-flex","block","contents","flex","grid","inherit","initial","inline","inline-block","inline-flex","inline-grid","inline-table","list-item","none","ruby","ruby-base","ruby-base-container","ruby-text","ruby-text-container","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","unset"]},"dominant-baseline":{"isInherited":false,"supports":[],"values":["alphabetic","auto","central","hanging","ideographic","inherit","initial","mathematical","middle","no-change","reset-size","text-after-edge","text-before-edge","unset","use-script"]},"empty-cells":{"isInherited":true,"supports":[],"values":["hide","inherit","initial","show","unset"]},"fill":{"isInherited":true,"supports":[2,11],"values":["inherit","initial","unset"]},"fill-opacity":{"isInherited":true,"supports":[7],"values":["inherit","initial","unset"]},"fill-rule":{"isInherited":true,"supports":[],"values":["evenodd","inherit","initial","nonzero","unset"]},"filter":{"isInherited":false,"supports":[11],"values":["inherit","initial","unset"]},"flex-basis":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"flex-direction":{"isInherited":false,"supports":[],"values":["column","column-reverse","inherit","initial","row","row-reverse","unset"]},"flex-grow":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"flex-shrink":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"flex-wrap":{"isInherited":false,"supports":[],"values":["inherit","initial","nowrap","unset","wrap","wrap-reverse"]},"float":{"isInherited":false,"supports":[],"values":["inherit","initial","inline-end","inline-start","left","none","right","unset"]},"-moz-float-edge":{"isInherited":false,"supports":[],"values":["content-box","inherit","initial","margin-box","unset"]},"flood-color":{"isInherited":false,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"flood-opacity":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"font-family":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-feature-settings":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-kerning":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","none","normal","unset"]},"font-language-override":{"isInherited":true,"supports":[],"values":["inherit","initial","normal","unset"]},"font-size":{"isInherited":true,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","large","larger","medium","small","smaller","unset","x-large","x-small","xx-large","xx-small"]},"font-size-adjust":{"isInherited":true,"supports":[7],"values":["inherit","initial","none","unset"]},"font-stretch":{"isInherited":true,"supports":[],"values":["condensed","expanded","extra-condensed","extra-expanded","inherit","initial","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded","unset"]},"font-style":{"isInherited":true,"supports":[],"values":["inherit","initial","italic","normal","oblique","unset"]},"font-synthesis":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-variant-alternates":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-variant-caps":{"isInherited":true,"supports":[],"values":["all-petite-caps","all-small-caps","inherit","initial","normal","petite-caps","small-caps","titling-caps","unicase","unset"]},"font-variant-east-asian":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-variant-ligatures":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-variant-numeric":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"font-variant-position":{"isInherited":true,"supports":[],"values":["inherit","initial","normal","sub","super","unset"]},"font-weight":{"isInherited":true,"supports":[7],"values":["inherit","initial","unset"]},"-moz-force-broken-image-icon":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-auto-columns":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"grid-auto-flow":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"grid-auto-rows":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"grid-column-end":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-column-gap":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"grid-column-start":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-row-end":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-row-gap":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"grid-row-start":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-template-areas":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"grid-template-columns":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"grid-template-rows":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"height":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"hyphens":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","manual","none","unset"]},"image-orientation":{"isInherited":true,"supports":[1],"values":["inherit","initial","unset"]},"-moz-image-region":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"image-rendering":{"isInherited":true,"supports":[],"values":["-moz-crisp-edges","auto","inherit","initial","optimizequality","optimizespeed","unset"]},"ime-mode":{"isInherited":false,"supports":[],"values":["active","auto","disabled","inactive","inherit","initial","normal","unset"]},"inline-size":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"isolation":{"isInherited":false,"supports":[],"values":["auto","inherit","initial","isolate","unset"]},"justify-content":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","space-around","space-between","space-evenly","start","stretch","unset"]},"justify-items":{"isInherited":false,"supports":[],"values":["auto","baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"justify-self":{"isInherited":false,"supports":[],"values":["auto","baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"left":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"letter-spacing":{"isInherited":true,"supports":[6],"values":["-moz-calc","calc","inherit","initial","normal","unset"]},"lighting-color":{"isInherited":false,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"line-height":{"isInherited":true,"supports":[6,7,8],"values":["-moz-block-height","-moz-calc","calc","inherit","initial","normal","unset"]},"list-style-image":{"isInherited":true,"supports":[11],"values":["inherit","initial","none","unset","url"]},"list-style-position":{"isInherited":true,"supports":[],"values":["inherit","initial","inside","outside","unset"]},"list-style-type":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"margin-block-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-block-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-bottom":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-inline-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-inline-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-left":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-right":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"margin-top":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"marker-end":{"isInherited":true,"supports":[11],"values":["inherit","initial","none","unset","url"]},"marker-mid":{"isInherited":true,"supports":[11],"values":["inherit","initial","none","unset","url"]},"marker-offset":{"isInherited":false,"supports":[6],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"marker-start":{"isInherited":true,"supports":[11],"values":["inherit","initial","none","unset","url"]},"mask":{"isInherited":false,"supports":[11],"values":["inherit","initial","none","unset","url"]},"mask-type":{"isInherited":false,"supports":[],"values":["alpha","inherit","initial","luminance","unset"]},"max-block-size":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","none","unset"]},"max-height":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","calc","inherit","initial","none","unset"]},"max-inline-size":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","calc","inherit","initial","none","unset"]},"max-width":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","calc","inherit","initial","none","unset"]},"min-block-size":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"min-height":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"min-inline-size":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"min-width":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"mix-blend-mode":{"isInherited":false,"supports":[],"values":["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","inherit","initial","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light","unset"]},"object-fit":{"isInherited":false,"supports":[],"values":["contain","cover","fill","inherit","initial","none","scale-down","unset"]},"object-position":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"offset-block-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"offset-block-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"offset-inline-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"offset-inline-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"opacity":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"order":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-moz-orient":{"isInherited":false,"supports":[],"values":["block","horizontal","inherit","initial","inline","unset","vertical"]},"outline-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"outline-offset":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","unset"]},"-moz-outline-radius-bottomleft":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-outline-radius-bottomright":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-outline-radius-topleft":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-outline-radius-topright":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"outline-style":{"isInherited":false,"supports":[],"values":["auto","dashed","dotted","double","groove","inherit","initial","inset","none","outset","ridge","solid","unset"]},"outline-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"overflow-x":{"isInherited":false,"supports":[],"values":["-moz-hidden-unscrollable","auto","hidden","inherit","initial","scroll","unset","visible"]},"overflow-y":{"isInherited":false,"supports":[],"values":["-moz-hidden-unscrollable","auto","hidden","inherit","initial","scroll","unset","visible"]},"padding-block-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-block-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-bottom":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-inline-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-inline-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-left":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-right":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"padding-top":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"page-break-after":{"isInherited":false,"supports":[],"values":["always","auto","avoid","inherit","initial","left","right","unset"]},"page-break-before":{"isInherited":false,"supports":[],"values":["always","auto","avoid","inherit","initial","left","right","unset"]},"page-break-inside":{"isInherited":false,"supports":[],"values":["auto","avoid","inherit","initial","unset"]},"paint-order":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"perspective":{"isInherited":false,"supports":[6],"values":["inherit","initial","none","unset"]},"perspective-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"pointer-events":{"isInherited":true,"supports":[],"values":["all","auto","fill","inherit","initial","none","painted","stroke","unset","visible","visiblefill","visiblepainted","visiblestroke"]},"position":{"isInherited":false,"supports":[],"values":["absolute","fixed","inherit","initial","relative","static","sticky","unset"]},"quotes":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"resize":{"isInherited":false,"supports":[],"values":["both","horizontal","inherit","initial","none","unset","vertical"]},"right":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"ruby-align":{"isInherited":true,"supports":[],"values":["center","inherit","initial","space-around","space-between","start","unset"]},"ruby-position":{"isInherited":true,"supports":[],"values":["inherit","initial","over","under","unset"]},"scroll-behavior":{"isInherited":false,"supports":[],"values":["auto","inherit","initial","smooth","unset"]},"scroll-snap-coordinate":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"scroll-snap-destination":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"scroll-snap-points-x":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"scroll-snap-points-y":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"scroll-snap-type-x":{"isInherited":false,"supports":[],"values":["inherit","initial","mandatory","none","proximity","unset"]},"scroll-snap-type-y":{"isInherited":false,"supports":[],"values":["inherit","initial","mandatory","none","proximity","unset"]},"shape-rendering":{"isInherited":true,"supports":[],"values":["auto","crispedges","geometricprecision","inherit","initial","optimizespeed","unset"]},"-moz-stack-sizing":{"isInherited":false,"supports":[],"values":["ignore","inherit","initial","stretch-to-fit","unset"]},"stop-color":{"isInherited":false,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"stop-opacity":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"stroke":{"isInherited":true,"supports":[2,11],"values":["inherit","initial","unset"]},"stroke-dasharray":{"isInherited":true,"supports":[6,7,8],"values":["inherit","initial","unset"]},"stroke-dashoffset":{"isInherited":true,"supports":[6,7,8],"values":["inherit","initial","unset"]},"stroke-linecap":{"isInherited":true,"supports":[],"values":["butt","inherit","initial","round","square","unset"]},"stroke-linejoin":{"isInherited":true,"supports":[],"values":["bevel","inherit","initial","miter","round","unset"]},"stroke-miterlimit":{"isInherited":true,"supports":[7],"values":["inherit","initial","unset"]},"stroke-opacity":{"isInherited":true,"supports":[7],"values":["inherit","initial","unset"]},"stroke-width":{"isInherited":true,"supports":[6,7,8],"values":["inherit","initial","unset"]},"-moz-tab-size":{"isInherited":true,"supports":[7],"values":["inherit","initial","unset"]},"table-layout":{"isInherited":false,"supports":[],"values":["auto","fixed","inherit","initial","unset"]},"text-align":{"isInherited":true,"supports":[],"values":["-moz-center","-moz-left","-moz-right","center","end","inherit","initial","justify","left","right","start","unset"]},"text-align-last":{"isInherited":true,"supports":[],"values":["auto","center","end","inherit","initial","justify","left","right","start","unset"]},"text-anchor":{"isInherited":true,"supports":[],"values":["end","inherit","initial","middle","start","unset"]},"text-combine-upright":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"text-decoration-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"text-decoration-line":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"text-decoration-style":{"isInherited":false,"supports":[],"values":["-moz-none","dashed","dotted","double","inherit","initial","solid","unset","wavy"]},"text-emphasis-color":{"isInherited":true,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"text-emphasis-position":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"text-emphasis-style":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"-webkit-text-fill-color":{"isInherited":true,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"text-indent":{"isInherited":true,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"text-orientation":{"isInherited":true,"supports":[],"values":["inherit","initial","mixed","sideways","sideways-right","unset","upright"]},"text-overflow":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"text-rendering":{"isInherited":true,"supports":[],"values":["auto","geometricprecision","inherit","initial","optimizelegibility","optimizespeed","unset"]},"text-shadow":{"isInherited":true,"supports":[2,6],"values":["inherit","initial","unset"]},"-moz-text-size-adjust":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","none","unset"]},"-webkit-text-stroke-color":{"isInherited":true,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-webkit-text-stroke-width":{"isInherited":true,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"text-transform":{"isInherited":true,"supports":[],"values":["capitalize","full-width","inherit","initial","lowercase","none","unset","uppercase"]},"top":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"touch-action":{"isInherited":false,"supports":[],"values":["auto","inherit","initial","manipulation","none","pan-x","pan-y","unset"]},"transform":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"transform-box":{"isInherited":false,"supports":[],"values":["border-box","fill-box","inherit","initial","unset","view-box"]},"transform-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"transform-style":{"isInherited":false,"supports":[],"values":["flat","inherit","initial","preserve-3d","unset"]},"transition-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"transition-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"transition-property":{"isInherited":false,"supports":[],"values":["all","inherit","initial","none","unset"]},"transition-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"unicode-bidi":{"isInherited":false,"supports":[],"values":["-moz-isolate","-moz-isolate-override","-moz-plaintext","bidi-override","embed","inherit","initial","isolate","isolate-override","normal","plaintext","unset"]},"-moz-user-focus":{"isInherited":true,"supports":[],"values":["ignore","inherit","initial","none","normal","select-after","select-all","select-before","select-menu","select-same","unset"]},"-moz-user-input":{"isInherited":true,"supports":[],"values":["auto","disabled","enabled","inherit","initial","none","unset"]},"-moz-user-modify":{"isInherited":true,"supports":[],"values":["inherit","initial","read-only","read-write","unset","write-only"]},"-moz-user-select":{"isInherited":false,"supports":[],"values":["-moz-all","-moz-none","-moz-text","all","auto","element","elements","inherit","initial","none","text","toggle","tri-state","unset"]},"vector-effect":{"isInherited":false,"supports":[],"values":["inherit","initial","non-scaling-stroke","none","unset"]},"vertical-align":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","-moz-middle-with-baseline","baseline","bottom","calc","inherit","initial","middle","sub","super","text-bottom","text-top","top","unset"]},"visibility":{"isInherited":true,"supports":[],"values":["collapse","hidden","inherit","initial","unset","visible"]},"white-space":{"isInherited":true,"supports":[],"values":["-moz-pre-space","inherit","initial","normal","nowrap","pre","pre-line","pre-wrap","unset"]},"width":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"will-change":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"-moz-window-dragging":{"isInherited":false,"supports":[],"values":["default","drag","inherit","initial","no-drag","unset"]},"word-break":{"isInherited":true,"supports":[],"values":["break-all","inherit","initial","keep-all","normal","unset"]},"word-spacing":{"isInherited":true,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","normal","unset"]},"overflow-wrap":{"isInherited":true,"supports":[],"values":["break-word","inherit","initial","normal","unset"]},"writing-mode":{"isInherited":true,"supports":[],"values":["horizontal-tb","inherit","initial","lr","lr-tb","rl","rl-tb","sideways-lr","sideways-rl","tb","tb-rl","unset","vertical-lr","vertical-rl"]},"z-index":{"isInherited":false,"supports":[7],"values":["auto","inherit","initial","unset"]},"all":{"isInherited":false,"supports":[1,2,4,5,6,7,8,9,10,11],"values":["COLOR","-moz-all","-moz-available","-moz-block-height","-moz-box","-moz-calc","-moz-center","-moz-crisp-edges","-moz-deck","-moz-element","-moz-fit-content","-moz-grid","-moz-grid-group","-moz-grid-line","-moz-groupbox","-moz-gtk-info-bar","-moz-hidden-unscrollable","-moz-image-rect","-moz-inline-box","-moz-inline-grid","-moz-inline-stack","-moz-left","-moz-linear-gradient","-moz-mac-disclosure-button-closed","-moz-mac-disclosure-button-open","-moz-mac-fullscreen-button","-moz-mac-help-button","-moz-mac-source-list","-moz-mac-vibrancy-dark","-moz-mac-vibrancy-light","-moz-max-content","-moz-middle-with-baseline","-moz-min-content","-moz-none","-moz-popup","-moz-pre-space","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","-moz-right","-moz-stack","-moz-text","-moz-use-text-color","-moz-win-borderless-glass","-moz-win-browsertabbar-toolbox","-moz-win-communications-toolbox","-moz-win-exclude-glass","-moz-win-glass","-moz-win-media-toolbox","-moz-window-button-box","-moz-window-button-box-maximized","-moz-window-button-close","-moz-window-button-maximize","-moz-window-button-minimize","-moz-window-button-restore","-moz-window-frame-bottom","-moz-window-frame-left","-moz-window-frame-right","-moz-window-titlebar","-moz-window-titlebar-maximized","-webkit-box","-webkit-flex","-webkit-inline-box","-webkit-inline-flex","absolute","active","all","all-petite-caps","all-small-caps","alpha","alphabetic","alternate","alternate-reverse","always","auto","avoid","backwards","balance","baseline","bevel","block","block-axis","border-box","both","bottom","bottom-outside","break-all","break-word","butt","button","button-arrow-down","button-arrow-next","button-arrow-previous","button-arrow-up","button-bevel","button-focus","calc","capitalize","caret","center","central","checkbox","checkbox-container","checkbox-label","checkmenuitem","clone","collapse","color","color-burn","color-dodge","column","column-reverse","condensed","contain","content-box","contents","cover","crispedges","cubic-bezier","currentColor","darken","dashed","default","dialog","difference","disabled","dotted","double","drag","dualbutton","ease","ease-in","ease-in-out","ease-out","economy","element","elements","enabled","end","evenodd","exact","exclusion","expanded","extra-condensed","extra-expanded","fill","fill-box","fixed","flat","flex","flex-end","flex-start","forwards","full-width","geometricprecision","grayscale","grid","groove","groupbox","hanging","hard-light","hidden","hide","horizontal","horizontal-tb","hsl","hsla","hue","ideographic","ignore","inactive","infinite","inherit","initial","inline","inline-axis","inline-block","inline-end","inline-flex","inline-grid","inline-start","inline-table","inset","inside","isolate","italic","justify","keep-all","large","larger","last-baseline","left","lighten","linear","linear-gradient","linearrgb","list-item","listbox","listitem","local","lowercase","lr","lr-tb","luminance","luminosity","mandatory","manipulation","manual","margin-box","mathematical","medium","menuarrow","menubar","menucheckbox","menuimage","menuitem","menuitemtext","menulist","menulist-button","menulist-text","menulist-textfield","menupopup","menuradio","menuseparator","meterbar","meterchunk","middle","miter","mixed","multiply","no-change","no-drag","no-repeat","non-scaling-stroke","none","nonzero","normal","nowrap","number-input","oblique","optimizelegibility","optimizequality","optimizespeed","outset","outside","over","overlay","padding-box","painted","pan-x","pan-y","paused","petite-caps","pre","pre-line","pre-wrap","preserve-3d","progressbar","progressbar-vertical","progresschunk","progresschunk-vertical","proximity","radial-gradient","radio","radio-container","radio-label","radiomenuitem","range","range-thumb","read-only","read-write","relative","repeat","repeat-x","repeat-y","repeating-linear-gradient","repeating-radial-gradient","reset-size","resizer","resizerpanel","reverse","rgb","rgba","ridge","right","rl","rl-tb","round","row","row-reverse","ruby","ruby-base","ruby-base-container","ruby-text","ruby-text-container","running","saturation","scale-down","scale-horizontal","scale-vertical","scalethumb-horizontal","scalethumb-vertical","scalethumbend","scalethumbstart","scalethumbtick","screen","scroll","scrollbar","scrollbar-horizontal","scrollbar-small","scrollbar-vertical","scrollbarbutton-down","scrollbarbutton-left","scrollbarbutton-right","scrollbarbutton-up","scrollbarthumb-horizontal","scrollbarthumb-vertical","scrollbartrack-horizontal","scrollbartrack-vertical","searchfield","select-after","select-all","select-before","select-menu","select-same","self-end","self-start","semi-condensed","semi-expanded","separate","separator","show","sideways","sideways-lr","sideways-right","sideways-rl","slice","small","small-caps","smaller","smooth","soft-light","solid","space","space-around","space-between","space-evenly","spinner","spinner-downbutton","spinner-textfield","spinner-upbutton","splitter","square","srgb","start","static","statusbar","statusbarpanel","step-end","step-start","steps","sticky","stretch","stretch-to-fit","stroke","sub","super","tab","tab-scroll-arrow-back","tab-scroll-arrow-forward","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tabpanel","tabpanels","tb","tb-rl","text","text-after-edge","text-before-edge","text-bottom","text-top","textfield","textfield-multiline","thick","thin","titling-caps","toggle","toolbar","toolbarbutton","toolbarbutton-dropdown","toolbargripper","toolbox","tooltip","top","top-outside","transparent","treeheader","treeheadercell","treeheadersortarrow","treeitem","treeline","treetwisty","treetwistyopen","treeview","tri-state","ultra-condensed","ultra-expanded","under","unicase","unset","uppercase","upright","url","use-script","vertical","vertical-lr","vertical-rl","view-box","visible","visiblefill","visiblepainted","visiblestroke","wavy","window","wrap","wrap-reverse","write-only","x-large","x-small","xx-large","xx-small"]},"animation":{"isInherited":false,"supports":[7,9,10],"values":["alternate","alternate-reverse","backwards","both","cubic-bezier","ease","ease-in","ease-in-out","ease-out","forwards","infinite","inherit","initial","linear","none","normal","paused","reverse","running","step-end","step-start","steps","unset"]},"background":{"isInherited":false,"supports":[2,4,5,6,8,11],"values":["COLOR","-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","border-box","content-box","currentColor","fixed","hsl","hsla","inherit","initial","linear-gradient","local","no-repeat","none","padding-box","radial-gradient","repeat","repeat-x","repeat-y","repeating-linear-gradient","repeating-radial-gradient","rgb","rgba","round","scroll","space","text","transparent","unset","url"]},"background-position":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","linear-gradient","medium","none","outset","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","rgb","rgba","ridge","solid","thick","thin","transparent","unset","url"]},"border-block-end":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-block-start":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-bottom":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"border-image":{"isInherited":false,"supports":[4,5,6,7,8,11],"values":["-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","inherit","initial","linear-gradient","none","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","unset","url"]},"border-inline-end":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-inline-start":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-left":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"border-right":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"border-top":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"border-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"-moz-column-rule":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"-moz-columns":{"isInherited":false,"supports":[6,7],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"flex":{"isInherited":false,"supports":[6,7,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"flex-flow":{"isInherited":false,"supports":[],"values":["column","column-reverse","inherit","initial","nowrap","row","row-reverse","unset","wrap","wrap-reverse"]},"font":{"isInherited":true,"supports":[6,7,8],"values":["-moz-block-height","-moz-calc","all-petite-caps","all-small-caps","auto","calc","condensed","expanded","extra-condensed","extra-expanded","inherit","initial","italic","large","larger","medium","none","normal","oblique","petite-caps","semi-condensed","semi-expanded","small","small-caps","smaller","sub","super","titling-caps","ultra-condensed","ultra-expanded","unicase","unset","x-large","x-small","xx-large","xx-small"]},"font-variant":{"isInherited":true,"supports":[],"values":["all-petite-caps","all-small-caps","inherit","initial","normal","petite-caps","small-caps","sub","super","titling-caps","unicase","unset"]},"grid":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"grid-area":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-column":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-gap":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"grid-row":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"grid-template":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"list-style":{"isInherited":true,"supports":[11],"values":["inherit","initial","inside","none","outside","unset","url"]},"margin":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"marker":{"isInherited":true,"supports":[11],"values":["inherit","initial","none","unset","url"]},"outline":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","auto","calc","currentColor","dashed","dotted","double","groove","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"-moz-outline-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"overflow":{"isInherited":false,"supports":[],"values":["-moz-hidden-unscrollable","auto","hidden","inherit","initial","scroll","unset","visible"]},"padding":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"scroll-snap-type":{"isInherited":false,"supports":[],"values":["inherit","initial","mandatory","none","proximity","unset"]},"text-decoration":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-none","-moz-use-text-color","currentColor","dashed","dotted","double","hsl","hsla","inherit","initial","rgb","rgba","solid","transparent","unset","wavy"]},"text-emphasis":{"isInherited":true,"supports":[2],"values":["COLOR","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-webkit-text-stroke":{"isInherited":true,"supports":[2,6],"values":["COLOR","-moz-calc","calc","currentColor","hsl","hsla","inherit","initial","medium","rgb","rgba","thick","thin","transparent","unset"]},"-moz-transform":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"transition":{"isInherited":false,"supports":[9,10],"values":["all","cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","none","step-end","step-start","steps","unset"]},"word-wrap":{"isInherited":true,"supports":[],"values":["break-word","inherit","initial","normal","unset"]},"-moz-transform-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-perspective-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-moz-perspective":{"isInherited":false,"supports":[6],"values":["inherit","initial","none","unset"]},"-moz-transform-style":{"isInherited":false,"supports":[],"values":["flat","inherit","initial","preserve-3d","unset"]},"-moz-backface-visibility":{"isInherited":false,"supports":[],"values":["hidden","inherit","initial","unset","visible"]},"-moz-border-image":{"isInherited":false,"supports":[4,5,6,7,8,11],"values":["-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","inherit","initial","linear-gradient","none","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","unset","url"]},"-moz-transition":{"isInherited":false,"supports":[9,10],"values":["all","cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","none","step-end","step-start","steps","unset"]},"-moz-transition-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-moz-transition-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-moz-transition-property":{"isInherited":false,"supports":[],"values":["all","inherit","initial","none","unset"]},"-moz-transition-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"-moz-animation":{"isInherited":false,"supports":[7,9,10],"values":["alternate","alternate-reverse","backwards","both","cubic-bezier","ease","ease-in","ease-in-out","ease-out","forwards","infinite","inherit","initial","linear","none","normal","paused","reverse","running","step-end","step-start","steps","unset"]},"-moz-animation-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-moz-animation-direction":{"isInherited":false,"supports":[],"values":["alternate","alternate-reverse","inherit","initial","normal","reverse","unset"]},"-moz-animation-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-moz-animation-fill-mode":{"isInherited":false,"supports":[],"values":["backwards","both","forwards","inherit","initial","none","unset"]},"-moz-animation-iteration-count":{"isInherited":false,"supports":[7],"values":["infinite","inherit","initial","unset"]},"-moz-animation-name":{"isInherited":false,"supports":[],"values":["inherit","initial","none","unset"]},"-moz-animation-play-state":{"isInherited":false,"supports":[],"values":["inherit","initial","paused","running","unset"]},"-moz-animation-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"-moz-box-sizing":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","unset"]},"-moz-font-feature-settings":{"isInherited":true,"supports":[],"values":["inherit","initial","unset"]},"-moz-font-language-override":{"isInherited":true,"supports":[],"values":["inherit","initial","normal","unset"]},"-moz-padding-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"-moz-padding-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","calc","inherit","initial","unset"]},"-moz-margin-end":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"-moz-margin-start":{"isInherited":false,"supports":[6,8],"values":["-moz-calc","auto","calc","inherit","initial","unset"]},"-moz-border-end":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"-moz-border-end-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-end-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"-moz-border-end-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"-moz-border-start":{"isInherited":false,"supports":[2,6],"values":["COLOR","-moz-calc","-moz-use-text-color","calc","currentColor","dashed","dotted","double","groove","hidden","hsl","hsla","inherit","initial","inset","medium","none","outset","rgb","rgba","ridge","solid","thick","thin","transparent","unset"]},"-moz-border-start-color":{"isInherited":false,"supports":[2],"values":["COLOR","-moz-use-text-color","currentColor","hsl","hsla","inherit","initial","rgb","rgba","transparent","unset"]},"-moz-border-start-style":{"isInherited":false,"supports":[],"values":["dashed","dotted","double","groove","hidden","inherit","initial","inset","none","outset","ridge","solid","unset"]},"-moz-border-start-width":{"isInherited":false,"supports":[6],"values":["-moz-calc","calc","inherit","initial","medium","thick","thin","unset"]},"-moz-hyphens":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","manual","none","unset"]},"-moz-text-align-last":{"isInherited":true,"supports":[],"values":["auto","center","end","inherit","initial","justify","left","right","start","unset"]},"-webkit-animation":{"isInherited":false,"supports":[7,9,10],"values":["alternate","alternate-reverse","backwards","both","cubic-bezier","ease","ease-in","ease-in-out","ease-out","forwards","infinite","inherit","initial","linear","none","normal","paused","reverse","running","step-end","step-start","steps","unset"]},"-webkit-animation-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-webkit-animation-direction":{"isInherited":false,"supports":[],"values":["alternate","alternate-reverse","inherit","initial","normal","reverse","unset"]},"-webkit-animation-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-webkit-animation-fill-mode":{"isInherited":false,"supports":[],"values":["backwards","both","forwards","inherit","initial","none","unset"]},"-webkit-animation-iteration-count":{"isInherited":false,"supports":[7],"values":["infinite","inherit","initial","unset"]},"-webkit-animation-name":{"isInherited":false,"supports":[],"values":["inherit","initial","none","unset"]},"-webkit-animation-play-state":{"isInherited":false,"supports":[],"values":["inherit","initial","paused","running","unset"]},"-webkit-animation-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"-webkit-filter":{"isInherited":false,"supports":[11],"values":["inherit","initial","unset"]},"-webkit-text-size-adjust":{"isInherited":true,"supports":[],"values":["auto","inherit","initial","none","unset"]},"-webkit-transform":{"isInherited":false,"supports":[],"values":["inherit","initial","unset"]},"-webkit-transform-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-transform-style":{"isInherited":false,"supports":[],"values":["flat","inherit","initial","preserve-3d","unset"]},"-webkit-backface-visibility":{"isInherited":false,"supports":[],"values":["hidden","inherit","initial","unset","visible"]},"-webkit-perspective":{"isInherited":false,"supports":[6],"values":["inherit","initial","none","unset"]},"-webkit-perspective-origin":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-transition":{"isInherited":false,"supports":[9,10],"values":["all","cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","none","step-end","step-start","steps","unset"]},"-webkit-transition-delay":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-webkit-transition-duration":{"isInherited":false,"supports":[9],"values":["inherit","initial","unset"]},"-webkit-transition-property":{"isInherited":false,"supports":[],"values":["all","inherit","initial","none","unset"]},"-webkit-transition-timing-function":{"isInherited":false,"supports":[10],"values":["cubic-bezier","ease","ease-in","ease-in-out","ease-out","inherit","initial","linear","step-end","step-start","steps","unset"]},"-webkit-border-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-border-top-left-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-border-top-right-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-border-bottom-left-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-border-bottom-right-radius":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-background-clip":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","padding-box","text","unset"]},"-webkit-background-origin":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","padding-box","unset"]},"-webkit-background-size":{"isInherited":false,"supports":[6,8],"values":["inherit","initial","unset"]},"-webkit-border-image":{"isInherited":false,"supports":[4,5,6,7,8,11],"values":["-moz-element","-moz-image-rect","-moz-linear-gradient","-moz-radial-gradient","-moz-repeating-linear-gradient","-moz-repeating-radial-gradient","inherit","initial","linear-gradient","none","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","unset","url"]},"-webkit-box-shadow":{"isInherited":false,"supports":[2,6],"values":["inherit","initial","unset"]},"-webkit-box-sizing":{"isInherited":false,"supports":[],"values":["border-box","content-box","inherit","initial","unset"]},"-webkit-box-flex":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-webkit-box-ordinal-group":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-webkit-box-orient":{"isInherited":false,"supports":[],"values":["block-axis","horizontal","inherit","initial","inline-axis","unset","vertical"]},"-webkit-box-direction":{"isInherited":false,"supports":[],"values":["inherit","initial","normal","reverse","unset"]},"-webkit-box-align":{"isInherited":false,"supports":[],"values":["baseline","center","end","inherit","initial","start","stretch","unset"]},"-webkit-box-pack":{"isInherited":false,"supports":[],"values":["center","end","inherit","initial","justify","start","unset"]},"-webkit-flex-direction":{"isInherited":false,"supports":[],"values":["column","column-reverse","inherit","initial","row","row-reverse","unset"]},"-webkit-flex-wrap":{"isInherited":false,"supports":[],"values":["inherit","initial","nowrap","unset","wrap","wrap-reverse"]},"-webkit-flex-flow":{"isInherited":false,"supports":[],"values":["column","column-reverse","inherit","initial","nowrap","row","row-reverse","unset","wrap","wrap-reverse"]},"-webkit-order":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-webkit-flex":{"isInherited":false,"supports":[6,7,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"-webkit-flex-grow":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-webkit-flex-shrink":{"isInherited":false,"supports":[7],"values":["inherit","initial","unset"]},"-webkit-flex-basis":{"isInherited":false,"supports":[6,8],"values":["-moz-available","-moz-calc","-moz-fit-content","-moz-max-content","-moz-min-content","auto","calc","inherit","initial","unset"]},"-webkit-justify-content":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","space-around","space-between","space-evenly","start","stretch","unset"]},"-webkit-align-items":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"-webkit-align-self":{"isInherited":false,"supports":[],"values":["auto","baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","self-end","self-start","start","stretch","unset"]},"-webkit-align-content":{"isInherited":false,"supports":[],"values":["baseline","center","end","flex-end","flex-start","inherit","initial","last-baseline","left","normal","right","space-around","space-between","space-evenly","start","stretch","unset"]},"-webkit-user-select":{"isInherited":false,"supports":[],"values":["-moz-all","-moz-none","-moz-text","all","auto","element","elements","inherit","initial","none","text","toggle","tri-state","unset"]}};
/*eslint-enable */
exports.CSS_PROPERTIES_DB = {
diff --git a/devtools/shared/fronts/css-properties.js b/devtools/shared/fronts/css-properties.js
index 9d1be6ae5571..dea1bb4c901e 100644
--- a/devtools/shared/fronts/css-properties.js
+++ b/devtools/shared/fronts/css-properties.js
@@ -7,6 +7,7 @@ const { FrontClassWithSpec, Front } = require("devtools/shared/protocol");
const { cssPropertiesSpec } = require("devtools/shared/specs/css-properties");
const { Task } = require("devtools/shared/task");
const { CSS_PROPERTIES_DB } = require("devtools/shared/css-properties-db");
+const { cssColors } = require("devtools/shared/css-color-db");
/**
* Build up a regular expression that matches a CSS variable token. This is an
@@ -45,8 +46,6 @@ const CssPropertiesFront = FrontClassWithSpec(cssPropertiesSpec, {
}
});
-exports.CssPropertiesFront = CssPropertiesFront;
-
/**
* Ask questions to a CSS database. This class does not care how the database
* gets loaded in, only the questions that you can ask to it.
@@ -100,11 +99,19 @@ CssProperties.prototype = {
*/
supportsType(property, type) {
return this.properties[property] && this.properties[property].supports.includes(type);
+ },
+
+ /**
+ * Gets the CSS values for a given property name.
+ *
+ * @param {String} property The property to use.
+ * @return {Array} An array of strings.
+ */
+ getValues(property) {
+ return this.properties[property] ? this.properties[property].values : [];
}
};
-exports.CssProperties = CssProperties;
-
/**
* Create a CssProperties object with a fully loaded CSS database. The
* CssProperties interface can be queried synchronously, but the initialization
@@ -116,8 +123,8 @@ exports.CssProperties = CssProperties;
* @param {Toolbox} The current toolbox.
* @returns {Promise} Resolves to {cssProperties, cssPropertiesFront}.
*/
-exports.initCssProperties = Task.async(function* (toolbox) {
- let client = toolbox.target.client;
+const initCssProperties = Task.async(function* (toolbox) {
+ const client = toolbox.target.client;
if (cachedCssProperties.has(client)) {
return cachedCssProperties.get(client);
}
@@ -127,28 +134,13 @@ exports.initCssProperties = Task.async(function* (toolbox) {
// Get the list dynamically if the cssProperties actor exists.
if (toolbox.target.hasActor("cssProperties")) {
front = CssPropertiesFront(client, toolbox.target.form);
- db = yield front.getCSSDatabase();
+ const serverDB = yield front.getCSSDatabase(getClientBrowserVersion(toolbox));
- // Even if the target has the cssProperties actor, the returned data may
- // not be in the same shape or have all of the data we need. The following
- // code normalizes this data.
-
- // Firefox 49's getCSSDatabase() just returned the properties object, but
- // now it returns an object with multiple types of CSS information.
- if (!db.properties) {
- db = { properties: db };
- }
-
- // Fill in any missing DB information from the static database.
- db = Object.assign({}, CSS_PROPERTIES_DB, db);
-
- // Add "supports" information to the css properties if it's missing.
- if (!db.properties.color.supports) {
- for (let name in db.properties) {
- if (typeof CSS_PROPERTIES_DB.properties[name] === "object") {
- db.properties[name].supports = CSS_PROPERTIES_DB.properties[name].supports;
- }
- }
+ // The serverDB will be blank if the browser versions match, so use the static list.
+ if (!serverDB.properties && !serverDB.margin) {
+ db = CSS_PROPERTIES_DB;
+ } else {
+ db = normalizeCssData(serverDB);
}
} else {
// The target does not support this actor, so require a static list of supported
@@ -156,6 +148,9 @@ exports.initCssProperties = Task.async(function* (toolbox) {
db = CSS_PROPERTIES_DB;
}
+ // Color values are omitted to save on space. Add them back here.
+ reattachCssColorValues(db);
+
const cssProperties = new CssProperties(db);
cachedCssProperties.set(client, {cssProperties, front});
return {cssProperties, front};
@@ -167,13 +162,86 @@ exports.initCssProperties = Task.async(function* (toolbox) {
* @param {Toolbox} The current toolbox.
* @returns {CssProperties}
*/
-exports.getCssProperties = function (toolbox) {
+function getCssProperties(toolbox) {
if (!cachedCssProperties.has(toolbox.target.client)) {
throw new Error("The CSS database has not been initialized, please make " +
"sure initCssDatabase was called once before for this " +
"toolbox.");
}
return cachedCssProperties.get(toolbox.target.client).cssProperties;
-};
+}
-exports.CssPropertiesFront = CssPropertiesFront;
+/**
+ * Get the current browser version.
+ * @returns {string} The browser version.
+ */
+function getClientBrowserVersion(toolbox) {
+ if (!toolbox._host) {
+ return "0";
+ }
+ const regexResult = toolbox._host.frame.contentWindow.navigator
+ .userAgent.match(/Firefox\/(\d+)\.\d/);
+ return Array.isArray(regexResult) ? regexResult[1] : "0";
+}
+
+/**
+ * Even if the target has the cssProperties actor, the returned data may not be in the
+ * same shape or have all of the data we need. This normalizes this data.
+ *
+ * @return {Object} The normalized CSS database.
+ */
+function normalizeCssData(db) {
+ // Firefox 49's getCSSDatabase() just returned the properties object, but
+ // now it returns an object with multiple types of CSS information.
+ if (!db.properties) {
+ db = { properties: db };
+ }
+
+ // Fill in any missing DB information from the static database.
+ db = Object.assign({}, CSS_PROPERTIES_DB, db);
+
+ // Add "supports" information to the css properties if it's missing.
+ if (!db.properties.color.supports) {
+ for (let name in db.properties) {
+ if (typeof CSS_PROPERTIES_DB.properties[name] === "object") {
+ db.properties[name].supports = CSS_PROPERTIES_DB.properties[name].supports;
+ }
+ }
+ }
+
+ // Add "values" information to the css properties if it's missing.
+ if (!db.properties.color.values) {
+ for (let name in db.properties) {
+ if (typeof CSS_PROPERTIES_DB.properties[name] === "object") {
+ db.properties[name].values = CSS_PROPERTIES_DB.properties[name].values;
+ }
+ }
+ }
+
+ return db;
+}
+
+/**
+ * Color values are omitted to save on space. Add them back here.
+ * @param {Object} The CSS database.
+ */
+function reattachCssColorValues(db) {
+ if (db.properties.color.values[0] === "COLOR") {
+ const colors = Object.keys(cssColors);
+
+ for (let name in db.properties) {
+ const property = db.properties[name];
+ if (property.values[0] === "COLOR") {
+ property.values.shift();
+ property.values = property.values.concat(colors).sort();
+ }
+ }
+ }
+}
+
+module.exports = {
+ CssPropertiesFront,
+ CssProperties,
+ getCssProperties,
+ initCssProperties
+};
diff --git a/devtools/shared/specs/css-properties.js b/devtools/shared/specs/css-properties.js
index 00a4c8e7fd4b..f265872aa4f9 100644
--- a/devtools/shared/specs/css-properties.js
+++ b/devtools/shared/specs/css-properties.js
@@ -3,14 +3,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
-const { RetVal, generateActorSpec } = require("devtools/shared/protocol");
+const { Arg, RetVal, generateActorSpec } = require("devtools/shared/protocol");
const cssPropertiesSpec = generateActorSpec({
typeName: "cssProperties",
methods: {
getCSSDatabase: {
- request: {},
+ request: {
+ clientBrowserVersion: Arg(0, "string"),
+ },
+
response: RetVal("json"),
}
}