403 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			403 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "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",
 | |
|         "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",
 | |
|         "listEachItemTwoKeywordsOriginOffsets",
 | |
|         "noneOrImageWithAbsoluteURI",
 | |
|         "normalizedAngle",
 | |
|         "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified",
 | |
|         "oneToFourPercentagesOrAbsoluteLengthsPlusFill",
 | |
|         "optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal",
 | |
|         "optimumValueOfAbsoluteLengthOrNormal",
 | |
|         "percentageAsSpecifiedAbsoluteLengthOrNone",
 | |
|         "percentageAsSpecifiedOrAbsoluteLength",
 | |
|         "percentageAutoOrAbsoluteLength",
 | |
|         "percentageOrAbsoluteLengthPlusKeywords",
 | |
|         "sameAsBoxOffsets",
 | |
|         "sameAsMaxWidthAndMaxHeight",
 | |
|         "sameAsMinWidthAndMinHeight",
 | |
|         "sameAsWidthAndHeight",
 | |
|         "specifiedIntegerOrAbsoluteLength",
 | |
|         "specifiedValueClipped0To1",
 | |
|         "specifiedValueNumberClipped0To1",
 | |
|         "translucentValuesRGBAOtherwiseRGB",
 | |
|         "twoAbsoluteLengthOrPercentages",
 | |
|         "twoAbsoluteLengths"
 | |
|       ]
 | |
|     },
 | |
|     "appliesto": {
 | |
|       "enum": [
 | |
|         "absolutelyPositionedElements",
 | |
|         "allElements",
 | |
|         "allElementsAcceptingWidthOrHeight",
 | |
|         "allElementsAndPseudos",
 | |
|         "allElementsButNonReplacedAndTableColumns",
 | |
|         "allElementsButNonReplacedAndTableRows",
 | |
|         "allElementsCreatingNativeWindows",
 | |
|         "allElementsExceptGeneratedContentOrPseudoElements",
 | |
|         "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes",
 | |
|         "allElementsExceptInternalTableDisplayTypes",
 | |
|         "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups",
 | |
|         "allElementsExceptTableDisplayTypes",
 | |
|         "allElementsExceptTableElementsWhenCollapse",
 | |
|         "allElementsExceptTableRowColumnGroupsTableRowsColumns",
 | |
|         "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns",
 | |
|         "allElementsNoEffectIfDisplayNone",
 | |
|         "allElementsSomeValuesNoEffectOnNonInlineElements",
 | |
|         "allElementsSVGContainerElements",
 | |
|         "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
 | |
|         "allElementsThatCanReferenceImages",
 | |
|         "allElementsUAsNotRequiredWhenCollapse",
 | |
|         "anyElementEffectOnProgressAndMeter",
 | |
|         "beforeAndAfterPseudos",
 | |
|         "blockContainerElements",
 | |
|         "blockContainers",
 | |
|         "blockContainersAndMultiColumnContainers",
 | |
|         "blockContainersExceptMultiColumnContainers",
 | |
|         "blockContainersExceptTableWrappers",
 | |
|         "blockContainersFlexContainersGridContainers",
 | |
|         "blockElementsInNormalFlow",
 | |
|         "blockLevelElements",
 | |
|         "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
 | |
|         "boxElements",
 | |
|         "childrenOfBoxElements",
 | |
|         "directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
 | |
|         "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",
 | |
|         "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"
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 |