1 | {
|
---|
2 | "definitions": {
|
---|
3 | "propertyList": {
|
---|
4 | "type": "array",
|
---|
5 | "minItems": 1,
|
---|
6 | "uniqueItems": true,
|
---|
7 | "items": {
|
---|
8 | "type": "string",
|
---|
9 | "property-reference": {
|
---|
10 | "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.",
|
---|
11 | "$data": "/"
|
---|
12 | }
|
---|
13 | }
|
---|
14 | },
|
---|
15 | "animationType": {
|
---|
16 | "enum": [
|
---|
17 | "angleBasicShapeOrPath",
|
---|
18 | "angleOrBasicShapeOrPath",
|
---|
19 | "basicShapeOtherwiseNo",
|
---|
20 | "byComputedValueType",
|
---|
21 | "color",
|
---|
22 | "discrete",
|
---|
23 | "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",
|
---|
24 | "filterList",
|
---|
25 | "fontStretch",
|
---|
26 | "fontWeight",
|
---|
27 | "integer",
|
---|
28 | "length",
|
---|
29 | "lpc",
|
---|
30 | "notAnimatable",
|
---|
31 | "numberOrLength",
|
---|
32 | "number",
|
---|
33 | "position",
|
---|
34 | "rectangle",
|
---|
35 | "repeatableListOfSimpleListOfLpc",
|
---|
36 | "shadowList",
|
---|
37 | "simpleListOfLpc",
|
---|
38 | "simpleListOfLpcDifferenceLpc",
|
---|
39 | "transform",
|
---|
40 | "visibility"
|
---|
41 | ]
|
---|
42 | },
|
---|
43 | "percentages": {
|
---|
44 | "enum": [
|
---|
45 | "blockSizeOfContainingBlock",
|
---|
46 | "dependsOnLayoutModel",
|
---|
47 | "inlineSizeOfContainingBlock",
|
---|
48 | "lengthsAsPercentages",
|
---|
49 | "logicalHeightOfContainingBlock",
|
---|
50 | "logicalWidthOfContainingBlock",
|
---|
51 | "maxZoomFactor",
|
---|
52 | "minZoomFactor",
|
---|
53 | "no",
|
---|
54 | "referToBorderBox",
|
---|
55 | "referToContainingBlockHeight",
|
---|
56 | "referToDimensionOfBorderBox",
|
---|
57 | "referToDimensionOfContentArea",
|
---|
58 | "referToElementFontSize",
|
---|
59 | "referToFlexContainersInnerMainSize",
|
---|
60 | "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight",
|
---|
61 | "referToLineBoxWidth",
|
---|
62 | "referToLineHeight",
|
---|
63 | "referToParentElementsFontSize",
|
---|
64 | "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize",
|
---|
65 | "referToSizeOfBorderImage",
|
---|
66 | "referToSizeOfBoundingBox",
|
---|
67 | "referToSizeOfContainingBlock",
|
---|
68 | "referToSizeOfElement",
|
---|
69 | "referToSizeOfFont",
|
---|
70 | "referToSizeOfMaskBorderImage",
|
---|
71 | "referToSizeOfMaskPaintingArea",
|
---|
72 | "referToTotalPathLength",
|
---|
73 | "referToWidthAndHeightOfElement",
|
---|
74 | "referToWidthOfAffectedGlyph",
|
---|
75 | "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight",
|
---|
76 | "referToWidthOfContainingBlock",
|
---|
77 | "referToWidthOrHeightOfBorderImageArea",
|
---|
78 | "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox",
|
---|
79 | "regardingHeightOfGeneratedBoxContainingBlockPercentages0",
|
---|
80 | "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone",
|
---|
81 | "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock",
|
---|
82 | "relativeToBackgroundPositioningArea",
|
---|
83 | "relativeToMaskBorderImageArea",
|
---|
84 | "relativeToScrollContainerPaddingBoxAxis",
|
---|
85 | "relativeToTheScrollContainersScrollport",
|
---|
86 | "relativeToWidthAndHeight"
|
---|
87 | ]
|
---|
88 | },
|
---|
89 | "computed": {
|
---|
90 | "enum": [
|
---|
91 | "absoluteLength",
|
---|
92 | "absoluteLength0ForNone",
|
---|
93 | "absoluteLength0IfColumnRuleStyleNoneOrHidden",
|
---|
94 | "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden",
|
---|
95 | "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden",
|
---|
96 | "absoluteLengthOr0IfBorderRightStyleNoneOrHidden",
|
---|
97 | "absoluteLengthOr0IfBorderTopStyleNoneOrHidden",
|
---|
98 | "absoluteLengthOrAsSpecified",
|
---|
99 | "absoluteLengthOrKeyword",
|
---|
100 | "absoluteLengthOrNone",
|
---|
101 | "absoluteLengthOrNormal",
|
---|
102 | "absoluteLengthOrPercentage",
|
---|
103 | "absoluteLengthsSpecifiedColorAsSpecified",
|
---|
104 | "absoluteLengthZeroIfBorderStyleNoneOrHidden",
|
---|
105 | "absoluteLengthZeroOrLarger",
|
---|
106 | "absoluteURIOrNone",
|
---|
107 | "angleRoundedToNextQuarter",
|
---|
108 | "asAutoOrColor",
|
---|
109 | "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified",
|
---|
110 | "asLength",
|
---|
111 | "asSpecified",
|
---|
112 | "asSpecifiedAppliesToEachProperty",
|
---|
113 | "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
|
---|
114 | "asSpecifiedExceptMatchParent",
|
---|
115 | "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent",
|
---|
116 | "asSpecifiedRelativeToAbsoluteLengths",
|
---|
117 | "asSpecifiedURLsAbsolute",
|
---|
118 | "asSpecifiedWithExceptionOfResolution",
|
---|
119 | "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
|
---|
120 | "asSpecifiedWithVarsSubstituted",
|
---|
121 | "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent",
|
---|
122 | "autoOrRectangle",
|
---|
123 | "colorPlusThreeAbsoluteLengths",
|
---|
124 | "computedColor",
|
---|
125 | "consistsOfTwoDimensionKeywords",
|
---|
126 | "consistsOfTwoKeywordsForOriginAndOffsets",
|
---|
127 | "forLengthAbsoluteValueOtherwisePercentage",
|
---|
128 | "invertForTranslucentColorRGBAOtherwiseRGB",
|
---|
129 | "keywordOrNumericalValueBolderLighterTransformedToRealValue",
|
---|
130 | "keywordPlusIntegerIfDigits",
|
---|
131 | "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
|
---|
132 | "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
|
---|
133 | "listEachItemHasTwoKeywordsOnePerDimension",
|
---|
134 | "listEachItemTwoKeywordsOriginOffsets",
|
---|
135 | "noneOrImageWithAbsoluteURI",
|
---|
136 | "normalizedAngle",
|
---|
137 | "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified",
|
---|
138 | "oneToFourPercentagesOrAbsoluteLengthsPlusFill",
|
---|
139 | "optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal",
|
---|
140 | "optimumValueOfAbsoluteLengthOrNormal",
|
---|
141 | "percentageAsSpecifiedAbsoluteLengthOrNone",
|
---|
142 | "percentageAsSpecifiedOrAbsoluteLength",
|
---|
143 | "percentageAutoOrAbsoluteLength",
|
---|
144 | "percentageOrAbsoluteLengthPlusKeywords",
|
---|
145 | "sameAsBoxOffsets",
|
---|
146 | "sameAsMaxWidthAndMaxHeight",
|
---|
147 | "sameAsMinWidthAndMinHeight",
|
---|
148 | "sameAsWidthAndHeight",
|
---|
149 | "specifiedIntegerOrAbsoluteLength",
|
---|
150 | "specifiedValueClipped0To1",
|
---|
151 | "specifiedValueNumberClipped0To1",
|
---|
152 | "translucentValuesRGBAOtherwiseRGB",
|
---|
153 | "twoAbsoluteLengthOrPercentages",
|
---|
154 | "twoAbsoluteLengths"
|
---|
155 | ]
|
---|
156 | },
|
---|
157 | "appliesto": {
|
---|
158 | "enum": [
|
---|
159 | "absolutelyPositionedElements",
|
---|
160 | "allElements",
|
---|
161 | "allElementsAcceptingWidthOrHeight",
|
---|
162 | "allElementsAndPseudos",
|
---|
163 | "allElementsButNonReplacedAndTableColumns",
|
---|
164 | "allElementsButNonReplacedAndTableRows",
|
---|
165 | "allElementsCreatingNativeWindows",
|
---|
166 | "allElementsExceptGeneratedContentOrPseudoElements",
|
---|
167 | "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes",
|
---|
168 | "allElementsExceptInternalTableDisplayTypes",
|
---|
169 | "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups",
|
---|
170 | "allElementsExceptTableDisplayTypes",
|
---|
171 | "allElementsExceptTableElementsWhenCollapse",
|
---|
172 | "allElementsExceptTableRowColumnGroupsTableRowsColumns",
|
---|
173 | "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns",
|
---|
174 | "allElementsNoEffectIfDisplayNone",
|
---|
175 | "allElementsSomeValuesNoEffectOnNonInlineElements",
|
---|
176 | "allElementsSVGContainerElements",
|
---|
177 | "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
|
---|
178 | "allElementsThatCanReferenceImages",
|
---|
179 | "allElementsUAsNotRequiredWhenCollapse",
|
---|
180 | "anyElementEffectOnProgressAndMeter",
|
---|
181 | "beforeAndAfterPseudos",
|
---|
182 | "blockContainerElements",
|
---|
183 | "blockContainers",
|
---|
184 | "blockContainersAndMultiColumnContainers",
|
---|
185 | "blockContainersExceptMultiColumnContainers",
|
---|
186 | "blockContainersExceptTableWrappers",
|
---|
187 | "blockContainersFlexContainersGridContainers",
|
---|
188 | "blockElementsInNormalFlow",
|
---|
189 | "blockLevelElements",
|
---|
190 | "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
|
---|
191 | "boxElements",
|
---|
192 | "childrenOfBoxElements",
|
---|
193 | "directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
|
---|
194 | "elementsWithDisplayBoxOrInlineBox",
|
---|
195 | "elementsWithDisplayMarker",
|
---|
196 | "elementsWithDisplayMozBoxMozInlineBox",
|
---|
197 | "elementsWithOverflowNotVisibleAndReplacedElements",
|
---|
198 | "exclusionElements",
|
---|
199 | "firstLetterPseudoElementsAndInlineLevelFirstChildren",
|
---|
200 | "flexContainers",
|
---|
201 | "flexItemsAndAbsolutelyPositionedFlexContainerChildren",
|
---|
202 | "flexItemsAndInFlowPseudos",
|
---|
203 | "flexItemsGridItemsAbsolutelyPositionedContainerChildren",
|
---|
204 | "flexItemsGridItemsAndAbsolutelyPositionedBoxes",
|
---|
205 | "floats",
|
---|
206 | "gridContainers",
|
---|
207 | "gridContainersWithMasonryLayout",
|
---|
208 | "gridContainersWithMasonryLayoutInTheirBlockAxis",
|
---|
209 | "gridContainersWithMasonryLayoutInTheirInlineAxis",
|
---|
210 | "gridItemsAndBoxesWithinGridContainer",
|
---|
211 | "iframeElements",
|
---|
212 | "images",
|
---|
213 | "inFlowBlockLevelElements",
|
---|
214 | "inFlowChildrenOfBoxElements",
|
---|
215 | "inlineLevelAndTableCellElements",
|
---|
216 | "listItems",
|
---|
217 | "maskElements",
|
---|
218 | "multicolElements",
|
---|
219 | "multiColumnElementsFlexContainersGridContainers",
|
---|
220 | "multilineFlexContainers",
|
---|
221 | "nonReplacedBlockAndInlineBlockElements",
|
---|
222 | "nonReplacedBlockElements",
|
---|
223 | "nonReplacedElements",
|
---|
224 | "nonReplacedInlineElements",
|
---|
225 | "positionedElements",
|
---|
226 | "replacedElements",
|
---|
227 | "rubyAnnotationsContainers",
|
---|
228 | "rubyBasesAnnotationsBaseAnnotationContainers",
|
---|
229 | "sameAsMargin",
|
---|
230 | "sameAsWidthAndHeight",
|
---|
231 | "scrollContainers",
|
---|
232 | "scrollingBoxes",
|
---|
233 | "tableCaptionElements",
|
---|
234 | "tableCellElements",
|
---|
235 | "tableElements",
|
---|
236 | "textElements",
|
---|
237 | "textFields",
|
---|
238 | "transformableElements",
|
---|
239 | "xulImageElements"
|
---|
240 | ]
|
---|
241 | },
|
---|
242 | "alsoApplyTo": {
|
---|
243 | "type": "array",
|
---|
244 | "minItems": 1,
|
---|
245 | "uniqueItems": true,
|
---|
246 | "items": {
|
---|
247 | "enum": [
|
---|
248 | "::first-letter",
|
---|
249 | "::first-line",
|
---|
250 | "::placeholder"
|
---|
251 | ]
|
---|
252 | }
|
---|
253 | },
|
---|
254 | "order": {
|
---|
255 | "enum": [
|
---|
256 | "canonicalOrder",
|
---|
257 | "lengthOrPercentageBeforeKeywordIfBothPresent",
|
---|
258 | "lengthOrPercentageBeforeKeywords",
|
---|
259 | "oneOrTwoValuesLengthAbsoluteKeywordsPercentages",
|
---|
260 | "orderOfAppearance",
|
---|
261 | "percentagesOrLengthsFollowedByFill",
|
---|
262 | "perGrammar",
|
---|
263 | "uniqueOrder"
|
---|
264 | ]
|
---|
265 | },
|
---|
266 | "status": {
|
---|
267 | "enum": [
|
---|
268 | "standard",
|
---|
269 | "nonstandard",
|
---|
270 | "experimental",
|
---|
271 | "obsolete"
|
---|
272 | ]
|
---|
273 | },
|
---|
274 | "mdn_url": {
|
---|
275 | "type": "string",
|
---|
276 | "pattern": "^https://developer.mozilla.org/docs/"
|
---|
277 | }
|
---|
278 | },
|
---|
279 | "type": "object",
|
---|
280 | "additionalProperties": {
|
---|
281 | "type": "object",
|
---|
282 | "additionalProperties": false,
|
---|
283 | "required": [
|
---|
284 | "syntax",
|
---|
285 | "media",
|
---|
286 | "inherited",
|
---|
287 | "animationType",
|
---|
288 | "percentages",
|
---|
289 | "groups",
|
---|
290 | "initial",
|
---|
291 | "appliesto",
|
---|
292 | "computed",
|
---|
293 | "order",
|
---|
294 | "status"
|
---|
295 | ],
|
---|
296 | "properties": {
|
---|
297 | "syntax": {
|
---|
298 | "type": "string"
|
---|
299 | },
|
---|
300 | "media": {
|
---|
301 | "oneOf": [
|
---|
302 | {
|
---|
303 | "type": "string",
|
---|
304 | "enum": [
|
---|
305 | "all",
|
---|
306 | "aural",
|
---|
307 | "continuous",
|
---|
308 | "interactive",
|
---|
309 | "none",
|
---|
310 | "noPracticalMedia",
|
---|
311 | "paged",
|
---|
312 | "visual",
|
---|
313 | "visualInContinuousMediaNoEffectInOverflowColumns"
|
---|
314 | ]
|
---|
315 | },
|
---|
316 | {
|
---|
317 | "type": "array",
|
---|
318 | "minItems": 2,
|
---|
319 | "uniqueItems": true,
|
---|
320 | "items": {
|
---|
321 | "type": "string",
|
---|
322 | "enum": [
|
---|
323 | "interactive",
|
---|
324 | "paged",
|
---|
325 | "visual"
|
---|
326 | ]
|
---|
327 | }
|
---|
328 | }
|
---|
329 | ]
|
---|
330 | },
|
---|
331 | "inherited": {
|
---|
332 | "type": "boolean"
|
---|
333 | },
|
---|
334 | "animationType": {
|
---|
335 | "oneOf": [
|
---|
336 | {
|
---|
337 | "$ref": "#/definitions/animationType"
|
---|
338 | },
|
---|
339 | {
|
---|
340 | "$ref": "#/definitions/propertyList"
|
---|
341 | }
|
---|
342 | ]
|
---|
343 | },
|
---|
344 | "percentages": {
|
---|
345 | "oneOf": [
|
---|
346 | {
|
---|
347 | "$ref": "#/definitions/percentages"
|
---|
348 | },
|
---|
349 | {
|
---|
350 | "$ref": "#/definitions/propertyList"
|
---|
351 | }
|
---|
352 | ]
|
---|
353 | },
|
---|
354 | "groups": {
|
---|
355 | "type": "array",
|
---|
356 | "minitems": 1,
|
---|
357 | "uniqueItems": true,
|
---|
358 | "items": {
|
---|
359 | "$ref": "definitions.json#/groupList"
|
---|
360 | }
|
---|
361 | },
|
---|
362 | "initial": {
|
---|
363 | "oneOf": [
|
---|
364 | {
|
---|
365 | "type": "string"
|
---|
366 | },
|
---|
367 | {
|
---|
368 | "$ref": "#/definitions/propertyList"
|
---|
369 | }
|
---|
370 | ]
|
---|
371 | },
|
---|
372 | "appliesto": {
|
---|
373 | "$ref": "#/definitions/appliesto"
|
---|
374 | },
|
---|
375 | "alsoAppliesTo": {
|
---|
376 | "$ref": "#/definitions/alsoApplyTo"
|
---|
377 | },
|
---|
378 | "computed": {
|
---|
379 | "oneOf": [
|
---|
380 | {
|
---|
381 | "$ref": "#/definitions/computed"
|
---|
382 | },
|
---|
383 | {
|
---|
384 | "$ref": "#/definitions/propertyList"
|
---|
385 | }
|
---|
386 | ]
|
---|
387 | },
|
---|
388 | "order": {
|
---|
389 | "$ref": "#/definitions/order"
|
---|
390 | },
|
---|
391 | "stacking": {
|
---|
392 | "type": "boolean"
|
---|
393 | },
|
---|
394 | "status": {
|
---|
395 | "$ref": "#/definitions/status"
|
---|
396 | },
|
---|
397 | "mdn_url": {
|
---|
398 | "$ref": "#/definitions/mdn_url"
|
---|
399 | }
|
---|
400 | }
|
---|
401 | }
|
---|
402 | }
|
---|