385 lines
12 KiB
JSON
385 lines
12 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": [
|
||
|
"angle",
|
||
|
"angleOrBasicShapeOrPath",
|
||
|
"basicShapeOtherwiseNo",
|
||
|
"color",
|
||
|
"discrete",
|
||
|
"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",
|
||
|
"filterList",
|
||
|
"fontStretch",
|
||
|
"fontWeight",
|
||
|
"integer",
|
||
|
"length",
|
||
|
"lpc",
|
||
|
"numberOrLength",
|
||
|
"number",
|
||
|
"position",
|
||
|
"rectangle",
|
||
|
"repeatableListOfSimpleListOfLpc",
|
||
|
"shadowList",
|
||
|
"simpleListOfLpc",
|
||
|
"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",
|
||
|
"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",
|
||
|
"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",
|
||
|
"allElementsExceptInternalTableDisplayTypes",
|
||
|
"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups",
|
||
|
"allElementsExceptTableDisplayTypes",
|
||
|
"allElementsExceptTableElementsWhenCollapse",
|
||
|
"allElementsExceptTableRowColumnGroupsTableRowsColumns",
|
||
|
"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns",
|
||
|
"allElementsNoEffectIfDisplayNone",
|
||
|
"allElementsSomeValuesNoEffectOnNonInlineElements",
|
||
|
"allElementsSVGContainerElements",
|
||
|
"allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
|
||
|
"allElementsThatCanReferenceImages",
|
||
|
"allElementsUAsNotRequiredWhenCollapse",
|
||
|
"anyElementEffectOnProgressAndMeter",
|
||
|
"beforeAndAfterPseudos",
|
||
|
"blockContainerElements",
|
||
|
"blockContainers",
|
||
|
"blockContainersExceptMultiColumnContainers",
|
||
|
"blockContainersExceptTableWrappers",
|
||
|
"blockContainersFlexContainersGridContainers",
|
||
|
"blockElementsInNormalFlow",
|
||
|
"blockLevelElements",
|
||
|
"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
|
||
|
"boxElements",
|
||
|
"childrenOfBoxElements",
|
||
|
"directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
|
||
|
"elementsWithDisplayBoxOrInlineBox",
|
||
|
"elementsWithDisplayMarker",
|
||
|
"elementsWithDisplayMozBoxMozInlineBox",
|
||
|
"elementsWithOverflowNotVisibleAndReplacedElements",
|
||
|
"exclusionElements",
|
||
|
"firstLetterPseudoElementsAndInlineLevelFirstChildren",
|
||
|
"flexContainers",
|
||
|
"flexItemsAndAbsolutelyPositionedFlexContainerChildren",
|
||
|
"flexItemsAndInFlowPseudos",
|
||
|
"flexItemsGridItemsAndAbsolutelyPositionedBoxes",
|
||
|
"floats",
|
||
|
"gridContainers",
|
||
|
"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"
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"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"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|