{ "definitions": { "propertyList": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "property-reference": { "comment": "property-reference is an extension to the JSON schema validator. Here it jumps to the root level of the hierarchy and tests if a value is an existing key there (i.e a defined property). See test/validate-schema.js for implementation details.", "$data": "/" } } }, "animationType": { "enum": [ "angleBasicShapeOrPath", "angleOrBasicShapeOrPath", "basicShapeOtherwiseNo", "byComputedValueType", "color", "discrete", "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection", "filterList", "fontStretch", "fontWeight", "integer", "length", "lpc", "notAnimatable", "numberOrLength", "number", "position", "rectangle", "repeatableListOfSimpleListOfLpc", "shadowList", "simpleListOfLpc", "simpleListOfLpcDifferenceLpc", "transform", "visibility" ] }, "percentages": { "enum": [ "blockSizeOfContainingBlock", "dependsOnLayoutModel", "inlineSizeOfContainingBlock", "lengthsAsPercentages", "logicalHeightOfContainingBlock", "logicalWidthOfContainingBlock", "logicalHeightOrWidthOfContainingBlock", "mapToRange0To1", "maxZoomFactor", "minZoomFactor", "no", "referToBorderBox", "referToContainingBlockHeight", "referToDimensionOfBorderBox", "referToDimensionOfContentArea", "referToElementFontSize", "referToFlexContainersInnerMainSize", "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight", "referToLineBoxWidth", "referToLineHeight", "referToParentElementsFontSize", "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize", "referToSizeOfBorderImage", "referToSizeOfBoundingBox", "referToSizeOfContainingBlock", "referToSizeOfElement", "referToSizeOfFont", "referToSizeOfMaskBorderImage", "referToSizeOfMaskPaintingArea", "referToTotalPathLength", "referToWidthAndHeightOfElement", "referToWidthOfAffectedGlyph", "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight", "referToWidthOfContainingBlock", "referToWidthOrHeightOfBorderImageArea", "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox", "regardingHeightOfGeneratedBoxContainingBlockPercentages0", "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone", "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock", "relativeToBackgroundPositioningArea", "relativeToMaskBorderImageArea", "relativeToScrollContainerPaddingBoxAxis", "relativeToTheScrollContainersScrollport", "relativeToWidthAndHeight" ] }, "computed": { "enum": [ "absoluteLength", "absoluteLength0ForNone", "absoluteLength0IfColumnRuleStyleNoneOrHidden", "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden", "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden", "absoluteLengthOr0IfBorderRightStyleNoneOrHidden", "absoluteLengthOr0IfBorderTopStyleNoneOrHidden", "absoluteLengthOrAsSpecified", "absoluteLengthOrKeyword", "absoluteLengthOrNone", "absoluteLengthOrNormal", "absoluteLengthOrPercentage", "absoluteLengthsSpecifiedColorAsSpecified", "absoluteLengthZeroIfBorderStyleNoneOrHidden", "absoluteLengthZeroOrLarger", "absoluteURIOrNone", "angleRoundedToNextQuarter", "asAutoOrColor", "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified", "asLength", "asSpecified", "asSpecifiedAppliesToEachProperty", "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", "asSpecifiedExceptMatchParent", "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent", "asSpecifiedRelativeToAbsoluteLengths", "asSpecifiedURLsAbsolute", "asSpecifiedWithExceptionOfResolution", "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn", "asSpecifiedWithVarsSubstituted", "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent", "autoOrRectangle", "colorPlusThreeAbsoluteLengths", "computedColor", "consistsOfTwoDimensionKeywords", "consistsOfTwoKeywordsForOriginAndOffsets", "forLengthAbsoluteValueOtherwisePercentage", "invertForTranslucentColorRGBAOtherwiseRGB", "keywordOrNumericalValueBolderLighterTransformedToRealValue", "keywordPlusIntegerIfDigits", "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin", "listEachItemHasTwoKeywordsOnePerDimension", "listEachItemIdentifyerOrNoneAuto", "listEachItemTwoKeywordsOriginOffsets", "noneOrImageWithAbsoluteURI", "normalizedAngle", "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified", "oneToFourPercentagesOrAbsoluteLengthsPlusFill", "optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal", "optimumValueOfAbsoluteLengthOrNormal", "percentageAsSpecifiedAbsoluteLengthOrNone", "percentageAsSpecifiedOrAbsoluteLength", "percentageAutoOrAbsoluteLength", "percentageOrAbsoluteLengthPlusKeywords", "sameAsBoxOffsets", "sameAsMaxWidthAndMaxHeight", "sameAsMinWidthAndMinHeight", "sameAsWidthAndHeight", "specifiedIntegerOrAbsoluteLength", "specifiedValueClipped0To1", "specifiedValueNumberClipped0To1", "theComputedLength", "theKeywordListStyleImageNoneOrComputedValue", "translucentValuesRGBAOtherwiseRGB", "twoAbsoluteLengthOrPercentages", "twoAbsoluteLengths" ] }, "appliesto": { "enum": [ "absolutelyPositionedElements", "allElements", "allElementsAcceptingWidthOrHeight", "allElementsAndPseudos", "allElementsAndText", "allElementsButNonReplacedAndTableColumns", "allElementsButNonReplacedAndTableRows", "allElementsCreatingNativeWindows", "allElementsExceptGeneratedContentOrPseudoElements", "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes", "allElementsExceptInternalTableDisplayTypes", "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups", "allElementsExceptTableDisplayTypes", "allElementsExceptTableElementsWhenCollapse", "allElementsExceptTableRowColumnGroupsTableRowsColumns", "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns", "allElementsNoEffectIfDisplayNone", "allElementsSomeValuesNoEffectOnNonInlineElements", "allElementsSVGContainerElements", "allElementsSVGContainerGraphicsAndGraphicsReferencingElements", "allElementsThatCanReferenceImages", "allElementsTreeAbidingPseudoElementsPageMarginBoxes", "allElementsUAsNotRequiredWhenCollapse", "anyElementEffectOnProgressAndMeter", "beforeAndAfterPseudos", "blockContainerElements", "blockContainers", "blockContainersAndMultiColumnContainers", "blockContainersExceptMultiColumnContainers", "blockContainersExceptTableWrappers", "blockContainersFlexContainersGridContainers", "blockElementsInNormalFlow", "blockLevelElements", "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems", "boxElements", "childrenOfBoxElements", "directChildrenOfElementsWithDisplayMozBoxMozInlineBox", "elementsForWhichLayoutContainmentCanApply", "elementsWithDisplayBoxOrInlineBox", "elementsWithDisplayMarker", "elementsWithDisplayMozBoxMozInlineBox", "elementsWithOverflowNotVisibleAndReplacedElements", "exclusionElements", "firstLetterPseudoElementsAndInlineLevelFirstChildren", "flexContainers", "flexItemsAndAbsolutelyPositionedFlexContainerChildren", "flexItemsAndInFlowPseudos", "flexItemsGridItemsAbsolutelyPositionedContainerChildren", "flexItemsGridItemsAndAbsolutelyPositionedBoxes", "floats", "gridContainers", "gridContainersWithMasonryLayout", "gridContainersWithMasonryLayoutInTheirBlockAxis", "gridContainersWithMasonryLayoutInTheirInlineAxis", "gridItemsAndBoxesWithinGridContainer", "iframeElements", "images", "inFlowBlockLevelElements", "inFlowChildrenOfBoxElements", "inlineLevelAndTableCellElements", "listItems", "maskElements", "multicolElements", "multiColumnElementsFlexContainersGridContainers", "multilineFlexContainers", "nonReplacedBlockAndInlineBlockElements", "nonReplacedBlockElements", "nonReplacedElements", "nonReplacedInlineElements", "positionedElements", "replacedElements", "rubyAnnotationsContainers", "rubyBasesAnnotationsBaseAnnotationContainers", "sameAsMargin", "sameAsWidthAndHeight", "scrollContainers", "scrollingBoxes", "sensitiveTextInputs", "tableCaptionElements", "tableCellElements", "tableElements", "textElements", "textFields", "transformableElements", "xulImageElements" ] }, "alsoApplyTo": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "enum": [ "::first-letter", "::first-line", "::placeholder" ] } }, "order": { "enum": [ "canonicalOrder", "lengthOrPercentageBeforeKeywordIfBothPresent", "lengthOrPercentageBeforeKeywords", "oneOrTwoValuesLengthAbsoluteKeywordsPercentages", "orderOfAppearance", "percentagesOrLengthsFollowedByFill", "perGrammar", "uniqueOrder" ] }, "status": { "enum": [ "standard", "nonstandard", "experimental", "obsolete" ] }, "mdn_url": { "type": "string", "pattern": "^https://developer.mozilla.org/docs/" } }, "type": "object", "additionalProperties": { "type": "object", "additionalProperties": false, "required": [ "syntax", "media", "inherited", "animationType", "percentages", "groups", "initial", "appliesto", "computed", "order", "status" ], "properties": { "syntax": { "type": "string" }, "media": { "oneOf": [ { "type": "string", "enum": [ "all", "aural", "continuous", "interactive", "none", "noPracticalMedia", "paged", "visual", "visualInContinuousMediaNoEffectInOverflowColumns" ] }, { "type": "array", "minItems": 2, "uniqueItems": true, "items": { "type": "string", "enum": [ "interactive", "paged", "visual" ] } } ] }, "inherited": { "type": "boolean" }, "animationType": { "oneOf": [ { "$ref": "#/definitions/animationType" }, { "$ref": "#/definitions/propertyList" } ] }, "percentages": { "oneOf": [ { "$ref": "#/definitions/percentages" }, { "$ref": "#/definitions/propertyList" } ] }, "groups": { "type": "array", "minitems": 1, "uniqueItems": true, "items": { "$ref": "definitions.json#/groupList" } }, "initial": { "oneOf": [ { "type": "string" }, { "$ref": "#/definitions/propertyList" } ] }, "appliesto": { "$ref": "#/definitions/appliesto" }, "alsoAppliesTo": { "$ref": "#/definitions/alsoApplyTo" }, "computed": { "oneOf": [ { "$ref": "#/definitions/computed" }, { "$ref": "#/definitions/propertyList" } ] }, "order": { "$ref": "#/definitions/order" }, "stacking": { "type": "boolean" }, "status": { "$ref": "#/definitions/status" }, "mdn_url": { "$ref": "#/definitions/mdn_url" } } } }