Support transform-box to switch sizing box in SVG
[WebKit-https.git] / Source / WebCore / css / CSSProperties.json
1 {
2     "instructions": [
3         "CSS Properties",
4         "",
5         "Some properties are used internally, but are not part of CSS. They are used to get",
6         "HTML4 compatibility in the rendering engine.",
7         "",
8         "Microsoft extensions are documented here:",
9         "http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp",
10         "",
11         "1. Possible Keys",
12         "",
13         "Keys that control CSS behavior:",
14         "",
15         "* inherited:",
16         "Whether the property is inherited.",
17         "",
18         "* animatable:",
19         "Indicates that this CSS property is an animation / transition property.",
20         "It must have corresponding methods on the Animation class.",
21         "",
22         "Keys that control code generation:",
23         "",
24         "* initial:",
25         "Overrides the method name on RenderStyle to get the initial value for",
26         "the property. By default, \"initial\" + PropertyId is used (e.g.",
27         "initialBorderCollapse()).",
28         "",
29         "* getter:",
30         "Overrides the method name on RenderStyle to get the current value for",
31         "the property. By default, the PropertyId with first letter lowercased",
32         "is used (e.g. borderCollapse()).",
33         "",
34         "* setter:",
35         "Overrides the method name on RenderStyle to set the current value for",
36         "the property. By default, \"set\" + PropertyId is used (e.g.",
37         "setBorderCollapse()).",
38         "",
39         "* name-for-methods:",
40         "Overrides the getter / setter / initial method names on RenderStyle.",
41         "For example, '\"name-for-methods\": \"OverflowWrap\"' will use",
42         "\"overflowWrap() / setOverflowWrap() / initialOverflowWrap()\".",
43         "",
44         "* converter:",
45         "The name of the converter helper function in css/StyleBuilderConverter.h",
46         "to use. The converter helper function takes ",
47         "If converting the input CSSValue into the setter method argument type",
48         "is not trivial (i.e. the CSSPrimitiveValue cannot be implicitly converted",
49         "to the expected type), then you can indicate that a converter helper",
50         "function in css/StyleBuilderConverter.h should be used.",
51         "",
52         "* conditional-converter:",
53         "Similar to property converter, but the converter function returns a",
54         "WTF::Optional<> to indicate if the property setter should be called",
55         "or not.",
56         "",
57         "* custom:",
58         "A string that is \"All\", \"Initial\", \"Inherit\", or \"Value\" or some combination",
59         "of the latter three separated by '|' (e.g. \"Inherit|Value\"). These options",
60         "are described as follows:",
61         "",
62         "All - the CSS property requires special handling to set its initial value,",
63         "inherit value, and its value. Prefer this option over listing the individual",
64         "options.",
65         "",
66         "Initial - the CSS property requires special handling to set its initial value.",
67         "",
68         "Inherit - the CSS property requires special handling to set its inherit value.",
69         "",
70         "Value - the CSS property requires special handling to set its value, and a",
71         "regular converter helper cannot be used.",
72         "",
73         "The custom code for the property should be located in css/StyleBuilderCustom.h",
74         "and named applyValue[CSSPropertyName]().",
75         "",
76         "* svg:",
77         "Indicates that this is an SVG CSS property and that the corresponding",
78         "methods are on SVGRenderStyle instead of RenderStyle.",
79         "",
80         "* auto-functions:",
81         "Indicates that this CSS property requires handling of \"auto\" and has",
82         "corresponding hasAutoXXX() / setHasAutoXXX() methods on RenderStyle.",
83         "",
84         "* visited-link-color-support:",
85         "Indicates that this CSS property is a color property with a",
86         "\"setVisitedLinkXXX()\" setter on RenderStyle to be called when",
87         "StyleResolver::applyPropertyToVisitedLinkStyle() return true.",
88         "The regular setter on RenderStyle will only be called if",
89         "StyleResolver::applyPropertyToRegularStyle() returns true.",
90         "",
91         "* no-default-color:",
92         "Should only with used with \"VisitedLinkColorSupport\". It indicates that for",
93         "setting the inherited value, it will not fallback to using the parent's",
94         "\"color\" property if the inherited color is invalid.",
95         "",
96         "* fone-property:",
97         "Indicates that this CSS property is font-related. It must have corresponding",
98         "methods on the FontDescription class.",
99         "",
100         "* fill-layer-property:",
101         "Indicates that this CSS property is a FillLayer property. It must have",
102         "corresponding methods on the FillLayer class.",
103         "",
104         "* skip-builder:",
105         "Ignore this property in the StyleBuilder.",
106         "",
107         "* longhands:",
108         "Indicated the array longhand property names associated with this shorthand",
109         "property. Shorthand properties should not use the StyleBuilder. An",
110         "ASSERT_NOT_REACHED() will be generated for this property in the StyleBuilder.",
111         "property1, property2, ... are the longhands for this shorthand property. A",
112         "corresponding \"StylePropertyShorthand propertyIdShorthand()\" function will be",
113         "generated in StylePropertyShorthandFunctions.h header.",
114         "",
115         "* high-priority:",
116         "Whether the property needs to be applied before non-high-priority properties",
117         "in CSS cascading order.",
118         "",
119         "* aliases:",
120         "An array of the alternative names for this property.",
121         "",
122         "* enable-if:",
123         "Indicates that code should only be generated for this property/value if the",
124         "specified macro define is enabled. Prefix the macro define with '!' to",
125         "generate code when the macro define is not enabled.",
126         "",
127         "2. Lesser known capabilities of this file format",
128         "",
129         "Conditional CSS keyword value:",
130         "",
131         "Typically the value of key \"values\" is an array of strings that represent the",
132         "CSS keyword values that are recognized by a CSS property. This array may also",
133         "contain objects of the form:",
134         "",
135         "    {",
136         "        \"value\": \"awesome\",",
137         "        \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
138         "    }",
139         "",
140         "The key \"value\" is the name of the conditional keyword and key \"enable-if\"",
141         "describes the code generation criterion. See the documentation for \"enable-if\"",
142         "above for more details.",
143         "",
144         "Conditonal CSS property definition:",
145         "",
146         "A CSS property can have more than one definition so long as the key \"enable-if\"",
147         "differs in each definition. For example, ",
148         "",
149         "    \"awesome-property\": [",
150         "        {",
151         "            \"inherited\": true,",
152         "            ...,",
153         "            \"codegen-properties\": {",
154         "                ...",
155         "                \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
156         "            }",
157         "        },",
158         "        {",
159         "            \"inherited\": false,",
160         "            ...,",
161         "            \"codegen-properties\": {",
162         "                ...",
163         "                \"enable-if\": \"!ENABLE_AWESOME_FEATURE\"",
164         "            }",
165         "        },",
166         "        ...",
167         "    ],",
168         "",
169         "The first definition in parse order whose \"enable-if\" criterion evaluates",
170         "to true is chosen for code generation."
171     ],
172     "properties": {
173         "color": {
174             "inherited": true,
175             "codegen-properties": {
176                 "visited-link-color-support": true,
177                 "no-default-color": true,
178                 "high-priority": true
179             },
180             "status": {
181                 "comment": "All the values from CSS Color Level 3 are supported, as well as the 8- and 4-digit forms of hex color, and the color() function."
182             },
183             "specification": {
184                 "category": "css-color",
185                 "url": "https://www.w3.org/TR/css-color-4/#the-color-property"
186             }
187         },
188         "direction": {
189             "inherited": true,
190             "values": [
191                 "ltr",
192                 "rtl"
193             ],
194             "codegen-properties": {
195                 "custom": "Value",
196                 "high-priority": true
197             },
198             "specification": {
199                 "category": "css-writing-modes",
200                 "url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-direction"
201             }
202         },
203         "display": {
204             "values": [
205                 "inline",
206                 "block",
207                 {
208                     "value": "flow",
209                     "status": "not implemented",
210                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow"
211                 },
212                 {
213                     "value": "flow-root",
214                     "status": "not implemented",
215                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow-root"
216                 },
217                 "list-item",
218                 {
219                     "value": "compact",
220                     "url": "https://www.w3.org/TR/REC-CSS2/visuren.html#compact"
221                 },
222                 "inline-block",
223                 {
224                     "value": "run-in",
225                     "status": "removed",
226                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-run-in",
227                     "comment": "Removed in https://trac.webkit.org/r163560"
228                 },
229                 "table",
230                 "inline-table",
231                 "table-row-group",
232                 "table-header-group",
233                 "table-footer-group",
234                 "table-row",
235                 "table-column-group",
236                 "table-column",
237                 "table-cell",
238                 "table-caption",
239                 {
240                     "value": "-webkit-box",
241                     "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
242                 },
243                 {
244                     "value": "-webkit-inline-box",
245                     "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
246                 },
247                 {
248                     "value": "flex",
249                     "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-flex"
250                 },
251                 "-webkit-flex",
252                 {
253                     "value": "inline-flex",
254                     "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-inline-flex"
255                 },
256                 "-webkit-inline-flex",
257                 {
258                     "value": "contents",
259                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-contents"
260                 },
261                 "none",
262                 {
263                     "value": "grid",
264                     "url": "https://www.w3.org/TR/css-grid/#valdef-display-grid"
265                 },
266                 {  
267                     "value": "inline-grid",
268                     "url": "https://www.w3.org/TR/css-grid/#valdef-display-inline-grid"
269                 }
270             ],
271             "codegen-properties": {
272                 "custom": "Inherit|Value",
273                 "high-priority": true
274             },
275             "specification": {
276                 "category": "css-display",
277                 "url": "https://www.w3.org/TR/css-display-3/#the-display-properties"
278             }
279         },
280         "font-family": {
281             "inherited": true,
282             "codegen-properties": {
283                 "custom": "All",
284                 "high-priority": true
285             },
286             "specification": {
287                 "category": "css-fonts",
288                 "url": "https://www.w3.org/TR/css-fonts-3/#font-family-prop"
289             }
290         },
291         "font-size": {
292             "inherited": true,
293             "codegen-properties": {
294                 "custom": "All",
295                 "high-priority": true
296             },
297             "specification": {
298                 "category": "css-fonts",
299                 "url": "https://www.w3.org/TR/css-fonts-3/#font-size-prop"
300             }
301         },
302         "font-style": {
303             "inherited": true,
304             "values": [
305                 "normal",
306                 "italic",
307                 "oblique"
308             ],
309             "codegen-properties": {
310                 "name-for-methods": "Italic",
311                 "font-property": true,
312                 "high-priority": true,
313                 "converter": "FontStyle"
314             },
315             "specification": {
316                 "category": "css-fonts",
317                 "url": "https://www.w3.org/TR/css-fonts-3/#font-style-prop"
318             }
319         },
320         "font-weight": {
321             "inherited": true,
322             "codegen-properties": {
323                 "name-for-methods": "Weight",
324                 "font-property": true,
325                 "high-priority": true,
326                 "converter": "FontWeight"
327             },
328             "specification": {
329                 "category": "css-fonts",
330                 "url": "https://www.w3.org/TR/css-fonts-3/#font-weight-prop"
331             }
332         },
333         "font-stretch": {
334             "inherited": true,
335             "values": [
336                 "normal",
337                 "ultra-condensed",
338                 "extra-condensed",
339                 "condensed",
340                 "semi-condensed",
341                 "semi-expanded",
342                 "expanded",
343                 "extra-expanded",
344                 "ultra-expanded"
345             ],
346             "codegen-properties": {
347                 "name-for-methods": "Stretch",
348                 "font-property": true,
349                 "high-priority": true,
350                 "converter": "FontStretch"
351             },
352             "specification": {
353                 "category": "css-fonts",
354                 "url": "https://www.w3.org/TR/css-fonts-3/#font-stretch-prop"
355             }
356         },
357         "text-rendering": {
358             "inherited": true,
359             "values": [
360                 "auto",
361                 "optimizespeed",
362                 "optimizelegibility",
363                 "geometricprecision"
364             ],
365             "codegen-properties": {
366                 "name-for-methods": "TextRenderingMode",
367                 "font-property": true,
368                 "high-priority": true
369             },
370             "specification": {
371                 "category": "svg",
372                 "url": "https://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty"
373             }
374         },
375         "font-feature-settings": {
376             "inherited": true,
377             "codegen-properties": {
378                 "name-for-methods": "FeatureSettings",
379                 "converter": "FontFeatureSettings",
380                 "custom": "Initial|Inherit",
381                 "font-property": true,
382                 "high-priority": true
383             },
384             "specification": {
385                 "category": "css-fonts",
386                 "url": "https://www.w3.org/TR/css-fonts-3/#font-rend-desc"
387             }
388         },
389         "font-variation-settings": {
390             "inherited": true,
391             "codegen-properties": {
392                 "name-for-methods": "VariationSettings",
393                 "converter": "FontVariationSettings",
394                 "custom": "Initial|Inherit",
395                 "font-property": true,
396                 "high-priority": true,
397                 "enable-if": "ENABLE_VARIATION_FONTS"
398             },
399             "specification": {
400                 "category": "css-fonts",
401                 "url": "https://drafts.csswg.org/css-fonts-4/#low-level-font-variation-settings-control-the-font-variation-settings-property"
402             }
403         },
404         "-webkit-font-kerning": {
405             "inherited": true,
406             "values": [
407                 "auto",
408                 "normal",
409                 "none"
410             ],
411             "codegen-properties": {
412                 "aliases": [
413                     "font-kerning"
414                 ],
415                 "name-for-methods": "Kerning",
416                 "font-property": true,
417                 "high-priority": true
418             },
419             "specification": {
420                 "category": "css-fonts",
421                 "url": "https://drafts.csswg.org/css-fonts-3/#font-kerning-prop"
422             }
423         },
424         "-webkit-font-smoothing": {
425             "inherited": true,
426             "values": [
427                 "auto",
428                 "none",
429                 "antialiased",
430                 "subpixel-antialiased"
431             ],
432             "codegen-properties": {
433                 "font-property": true,
434                 "high-priority": true
435             },
436             "status": "non-standard"
437         },
438         "font-variant-ligatures": {
439             "inherited": true,
440             "codegen-properties": {
441                 "name-for-methods": "VariantLigatures",
442                 "custom": "All",
443                 "font-property": true,
444                 "high-priority": true
445             },
446             "specification": {
447                 "category": "css-fonts",
448                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-ligatures-prop"
449             }
450         },
451         "font-variant-position": {
452             "inherited": true,
453             "values": [
454                 "normal",
455                 "sub",
456                 "super"
457             ],
458             "codegen-properties": {
459                 "name-for-methods": "VariantPosition",
460                 "font-property": true,
461                 "high-priority": true
462             },
463             "status": {
464                 "status": "in development",
465                 "enabled-by-default": true
466             },
467             "specification": {
468                 "category": "css-fonts",
469                 "url": "https://drafts.csswg.org/css-fonts-3/#propdef-font-variant-position"
470             }
471         },
472         "font-variant-caps": {
473             "inherited": true,
474             "values": [
475                 "normal",
476                 "small-caps",
477                 "all-small-caps",
478                 "petite-caps",
479                 "all-petite-caps",
480                 "unicase",
481                 "titling-caps"
482             ],
483             "codegen-properties": {
484                 "name-for-methods": "VariantCaps",
485                 "font-property": true,
486                 "high-priority": true
487             },
488             "specification": {
489                 "category": "css-fonts",
490                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-caps-prop"
491             }
492         },
493         "font-variant-numeric": {
494             "inherited": true,
495             "codegen-properties": {
496                 "name-for-methods": "VariantNumeric",
497                 "custom": "All",
498                 "font-property": true,
499                 "high-priority": true
500             },
501             "specification": {
502                 "category": "css-fonts",
503                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-numeric-prop"
504             }
505         },
506         "font-variant-alternates": {
507             "inherited": true,
508             "values": [
509                 "normal",
510                 "historical-forms"
511             ],
512             "codegen-properties": {
513                 "name-for-methods": "VariantAlternates",
514                 "font-property": true,
515                 "high-priority": true
516             },
517             "specification": {
518                 "category": "css-fonts",
519                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-alternates-prop"
520             }
521         },
522         "font-variant-east-asian": {
523             "inherited": true,
524             "codegen-properties": {
525                 "name-for-methods": "VariantEastAsian",
526                 "custom": "All",
527                 "font-property": true,
528                 "high-priority": true
529             },
530             "specification": {
531                 "category": "css-fonts",
532                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-east-asian-prop"
533             }
534         },
535         "font-synthesis": {
536             "inherited": true,
537             "codegen-properties": {
538                 "converter": "FontSynthesis",
539                 "font-property": true,
540                 "high-priority": true
541             },
542             "specification": {
543                 "category": "css-fonts",
544                 "url": "https://drafts.csswg.org/css-fonts-3/#font-synthesis-prop"
545             }
546         },
547         "font-optical-sizing": {
548             "inherited": true,
549             "values": [
550                 "auto",
551                 "none"
552             ],
553             "codegen-properties": {
554                 "name-for-methods": "OpticalSizing",
555                 "font-property": true,
556                 "high-priority": true,
557                 "enable-if": "ENABLE_VARIATION_FONTS"
558             },
559             "specification": {
560                 "category": "css-fonts",
561                 "url": "https://drafts.csswg.org/css-fonts-4/#optical-sizing-control-the-font-optical-sizing-property"
562             }
563         },
564         "font": {
565             "inherited": true,
566             "codegen-properties": {
567                 "longhands": [
568                               "font-family",
569                               "font-size",
570                               "font-style",
571                               "font-variant-caps",
572                               "font-weight",
573                               "font-stretch",
574                               "line-height"
575                               ]
576             },
577             "specification": {
578                 "category": "css-fonts",
579                 "url": "https://www.w3.org/TR/css-fonts-3/#font-prop"
580             }
581         },
582         "font-variant": {
583             "inherited": true,
584             "codegen-properties": {
585                 "longhands": [
586                               "font-variant-ligatures",
587                               "font-variant-position",
588                               "font-variant-caps",
589                               "font-variant-numeric",
590                               "font-variant-alternates",
591                               "font-variant-east-asian"
592                               ]
593             },
594             "specification": {
595                 "category": "css-fonts",
596                 "url": "https://www.w3.org/TR/css-fonts-3/#propdef-font-variant"
597             }
598         },
599         "-webkit-locale": {
600             "inherited": true,
601             "codegen-properties": {
602                 "custom": "Value",
603                 "font-property": true,
604                 "high-priority": true
605             },
606             "status": "non-standard"
607         },
608         "-webkit-text-orientation": {
609             "inherited": true,
610             "values": [
611                 "sideways",
612                 {
613                     "value": "sideways-right",
614                     "status": "deprecated"
615                 },
616                 {
617                     "value": "vertical-right",
618                     "status": "non-standard"
619                 },
620                 "mixed",
621                 "upright"
622             ],
623             "codegen-properties": {
624                 "aliases": [
625                     "-epub-text-orientation"
626                 ],
627                 "custom": "Value",
628                 "high-priority": true
629             },
630             "specification": {
631                 "category": "css-writing-modes",
632                 "url": "https://www.w3.org/TR/css-writing-modes-3/#text-orientation"
633             }
634         },
635         "-webkit-text-size-adjust": {
636             "inherited": true,
637             "codegen-properties": {
638                 "custom": "Value",
639                 "high-priority": true,
640                 "enable-if": "ENABLE_TEXT_AUTOSIZING"
641             },
642             "status": "experimental",
643             "specification": {
644                 "non-canonical-url": "https://drafts.csswg.org/css-size-adjust/#adjustment-control"
645             }
646         },
647         "writing-mode": {
648             "inherited": true,
649             "values": [
650                 {
651                     "value": "lr-tb",
652                     "status": "deprecated"
653                 },
654                 {
655                     "value": "rl-tb",
656                     "status": "deprecated"
657                 },
658                 {
659                     "value": "tb-rl",
660                     "status": "deprecated"
661                 },
662                 {
663                     "value": "lr",
664                     "status": "deprecated"
665                 },
666                 {
667                     "value": "rl",
668                     "status": "deprecated"
669                 },
670                 {
671                     "value": "tb",
672                     "status": "deprecated"
673                 },
674                 {
675                     "value": "horizontal-tb",
676                     "status": "unimplemented"
677                 },
678                 {
679                     "value": "vertical-rl",
680                     "status": "unimplemented"
681                 },
682                 {
683                     "value": "vertical-lr",
684                     "status": "unimplemented"
685                 },
686                 {
687                     "value": "sideways-rl",
688                     "status": "unimplemented"
689                 },
690                 {
691                     "value": "sideways-lr",
692                     "status": "unimplemented"
693                 }
694             ],
695             "codegen-properties": {
696                 "aliases": [
697                     "-webkit-writing-mode",
698                     "-epub-writing-mode"
699                 ],
700                 "custom": "Value",
701                 "high-priority": true
702             },
703             "specification": {
704                 "category": "css-writing-modes",
705                 "non-canonical-url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode"
706             }
707         },
708         "-webkit-text-zoom": {
709             "inherited": true,
710             "values": [
711                 "normal",
712                 "reset"
713             ],
714             "codegen-properties": {
715                 "custom": "Value",
716                 "high-priority": true
717             },
718             "status": "non-standard",
719             "specification": {
720                 "description": "Used to reset the text zoom level.",
721                 "comment": "Used to reset the size of text affected by the zoom property."
722             }
723         },
724         "zoom": {
725             "codegen-properties": {
726                 "custom": "All",
727                 "high-priority": true
728             },
729             "status": "non-standard",
730             "specification": {
731                 "url": "https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx"
732             }
733         },
734         "-webkit-ruby-position": {
735             "inherited": true,
736             "values": [
737                 {
738                     "value": "before",
739                     "status": "deprecated"
740                 },
741                 {
742                     "value": "after",
743                     "status": "deprecated"
744                 },
745                 "inter-character",
746                 {
747                     "value": "over",
748                     "status": "unimplemented"
749                 },
750                 {
751                     "value": "under",
752                     "status": "unimplemented"
753                 }
754             ],
755             "codegen-properties": {
756                 "comment": "This is the highest priority property and 'is resolved before all other properties, to ensure that its value can be checked when determining a smart default font size', (<https://trac.webkit.org/browser/trunk/Source/WebCore/ChangeLog?rev=172861>)."
757             },
758             "specification": {
759                 "category": "css-ruby",
760                 "url": "https://www.w3.org/TR/css-ruby-1/#rubypos"
761             }
762         },
763         "alignment-baseline": {
764             "values": [
765                 "auto",
766                 "baseline",
767                 "middle",
768                 "before-edge",
769                 "after-edge",
770                 "central",
771                 "text-before-edge",
772                 "text-after-edge",
773                 "ideographic",
774                 "hanging",
775                 "mathematical"
776             ],
777             "codegen-properties": {
778                 "svg": true
779             },
780             "specification": {
781                 "category": "svg",
782                 "url": "https://www.w3.org/TR/SVG11/text.html#AlignmentBaselineProperty"
783             }
784         },
785         "all": {
786             "codegen-properties": {
787                 "longhands": [
788                     "all"
789                 ]
790             },
791             "specification": {
792                 "category": "css-cascade",
793                 "url": "https://www.w3.org/TR/css-cascade-3/#all-shorthand"
794             }
795         },
796         "animation": {
797             "codegen-properties": {
798                 "aliases": [
799                     "-webkit-animation"
800                 ],
801                 "longhands": [
802                     "animation-name",
803                     "animation-duration",
804                     "animation-timing-function",
805                     "animation-delay",
806                     "animation-iteration-count",
807                     "animation-direction",
808                     "animation-fill-mode",
809                     "animation-play-state"
810                 ]
811             },
812             "specification": {
813                 "category": "css-animations",
814                 "url": "https://www.w3.org/TR/css3-animations/#animation-shorthand-property",
815                 "keywords": ["animation"],
816                 "description": "Used to animate elements"
817             }
818         },
819         "animation-delay": {
820             "animatable": true,
821             "codegen-properties": {
822                 "aliases": [
823                     "-webkit-animation-delay"
824                 ],
825                 "name-for-methods": "Delay"
826             },
827             "specification": {
828                 "category": "css-animations",
829                 "url": "https://www.w3.org/TR/css3-animations/#animation-delay-property"
830             }
831         },
832         "animation-direction": {
833             "values": [
834                 "normal",
835                 "reverse",
836                 "alternate",
837                 "alternate-reverse"
838             ],
839             "animatable": true,
840             "codegen-properties": {
841                 "aliases": [
842                     "-webkit-animation-direction"
843                 ],
844                 "name-for-methods": "Direction"
845             },
846             "specification": {
847                 "category": "css-animations",
848                 "url": "https://www.w3.org/TR/css3-animations/#animation-direction-property"
849             }
850         },
851         "animation-duration": {
852             "animatable": true,
853             "codegen-properties": {
854                 "aliases": [
855                     "-webkit-animation-duration"
856                 ],
857                 "name-for-methods": "Duration"
858             },
859             "specification": {
860                 "category": "css-animations",
861                 "url": "https://www.w3.org/TR/css3-animations/#animation-duration-property",
862                 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration"
863             }
864         },
865         "animation-fill-mode": {
866             "values": [
867                 "forwards",
868                 "backwards",
869                 "both"
870             ],
871             "animatable": true,
872             "codegen-properties": {
873                 "aliases": [
874                     "-webkit-animation-fill-mode"
875                 ],
876                 "name-for-methods": "FillMode"
877             },
878             "specification": {
879                 "category": "css-animations",
880                 "url": "https://www.w3.org/TR/css3-animations/#animation-fill-mode-property"
881             }
882         },
883         "animation-iteration-count": {
884             "animatable": true,
885             "codegen-properties": {
886                 "aliases": [
887                     "-webkit-animation-iteration-count"
888                 ],
889                 "name-for-methods": "IterationCount"
890             },
891             "specification": {
892                 "category": "css-animations",
893                 "url": "https://www.w3.org/TR/css3-animations/#animation-iteration-count-property"
894             }
895         },
896         "animation-name": {
897             "animatable": true,
898             "codegen-properties": {
899                 "aliases": [
900                     "-webkit-animation-name"
901                 ],
902                 "name-for-methods": "Name"
903             },
904             "specification": {
905                 "category": "css-animations",
906                 "url": "https://www.w3.org/TR/css3-animations/#animation-name-property"
907             }
908         },
909         "animation-play-state": {
910             "values": [
911                 "running",
912                 "paused"
913             ],
914             "animatable": true,
915             "codegen-properties": {
916                 "aliases": [
917                     "-webkit-animation-play-state"
918                 ],
919                 "name-for-methods": "PlayState"
920             },
921             "specification": {
922                 "category": "css-animations",
923                 "url": "https://www.w3.org/TR/css3-animations/#animation-play-state-property"
924             }
925         },
926         "animation-timing-function": {
927             "animatable": true,
928             "codegen-properties": {
929                 "aliases": [
930                     "-webkit-animation-timing-function"
931                 ],
932                 "name-for-methods": "TimingFunction"
933             },
934             "specification": {
935                 "category": "css-animations",
936                 "url": "https://www.w3.org/TR/css3-animations/#animation-timing-function-property"
937             }
938         },
939         "background": {
940             "codegen-properties": {
941                 "longhands": [
942                     "background-image",
943                     "background-position-x",
944                     "background-position-y",
945                     "background-size",
946                     "background-repeat-x",
947                     "background-repeat-y",
948                     "background-attachment",
949                     "background-origin",
950                     "background-clip",
951                     "background-color"
952                 ]
953             },
954             "specification": {
955                 "category": "css-backgrounds",
956                 "url": "https://www.w3.org/TR/css3-background/#the-background"
957             }
958         },
959         "background-attachment": {
960             "values": [
961                 "fixed",
962                 "local",
963                 "scroll"
964             ],
965             "codegen-properties": {
966                 "name-for-methods": "Attachment",
967                 "fill-layer-property": true
968             },
969             "specification": {
970                 "category": "css-backgrounds",
971                 "url": "https://www.w3.org/TR/css3-background/#the-background-attachment"
972             }
973         },
974         "background-blend-mode": {
975             "values" : [
976                 "normal",
977                 "multiply",
978                 "screen",
979                 "overlay",
980                 "darken",
981                 "lighten",
982                 "color-dodge",
983                 "color-burn",
984                 "hard-light",
985                 "soft-light",
986                 "difference",
987                 "exclusion",
988                 "hue",
989                 "saturation",
990                 "color",
991                 "luminosity"
992             ],
993             "codegen-properties": {
994                 "name-for-methods": "BlendMode",
995                 "fill-layer-property": true
996             },
997             "specification": {
998                 "category": "css-compositing",
999                 "url": "https://www.w3.org/TR/compositing-1/#background-blend-mode"
1000             }
1001         },
1002         "background-clip": {
1003             "values": [
1004                 "border-box",
1005                 "padding-box",
1006                 "content-box",
1007                 {
1008                     "value": "-webkit-text",
1009                     "status": "non-standard"
1010                 }
1011             ],
1012             "codegen-properties": {
1013                 "name-for-methods": "Clip",
1014                 "fill-layer-property": true
1015             },
1016             "specification": {
1017                 "category": "css-backgrounds",
1018                 "url": "https://www.w3.org/TR/css3-background/#the-background-clip"
1019             }
1020         },
1021         "background-color": {
1022             "codegen-properties": {
1023                 "visited-link-color-support": true,
1024                 "no-default-color": true
1025             },
1026             "specification": {
1027                 "category": "css-backgrounds",
1028                 "url": "https://www.w3.org/TR/css3-background/#the-background-color"
1029             }
1030         },
1031         "background-image": {
1032             "codegen-properties": {
1033                 "name-for-methods": "Image",
1034                 "fill-layer-property": true
1035             },
1036             "specification": {
1037                 "category": "css-backgrounds",
1038                 "url": "https://www.w3.org/TR/css3-background/#the-background-image"
1039             }
1040         },
1041         "background-origin": {
1042             "codegen-properties": {
1043                 "name-for-methods": "Origin",
1044                 "fill-layer-property": true
1045             },
1046             "specification": {
1047                 "category": "css-backgrounds",
1048                 "url": "https://www.w3.org/TR/css3-background/#the-background-origin"
1049             }
1050         },
1051         "background-position": {
1052             "codegen-properties": {
1053                 "longhands": [
1054                     "background-position-x",
1055                     "background-position-y"
1056                 ]
1057             },
1058             "specification": {
1059                 "category": "css-backgrounds",
1060                 "url": "https://www.w3.org/TR/css3-background/#background-position"
1061             }
1062         },
1063         "background-position-x": {
1064             "codegen-properties": {
1065                 "name-for-methods": "XPosition",
1066                 "fill-layer-property": true
1067             },
1068             "specification": {
1069                 "category": "css-backgrounds",
1070                 "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x"
1071             },
1072             "status": {
1073                 "status": "experimental",
1074                 "enabled-by-default": true
1075             }
1076         },
1077         "background-position-y": {
1078             "codegen-properties": {
1079                 "name-for-methods": "YPosition",
1080                 "fill-layer-property": true
1081             },
1082             "specification": {
1083                 "category": "css-backgrounds",
1084                 "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y"
1085             },
1086             "status": {
1087                 "status": "experimental",
1088                 "enabled-by-default": true
1089             }
1090         },
1091         "background-repeat": {
1092             "codegen-properties": {
1093                 "longhands": [
1094                     "background-repeat-x",
1095                     "background-repeat-y"
1096                 ]
1097             },
1098             "specification": {
1099                 "category": "css-backgrounds",
1100                 "url": "https://www.w3.org/TR/css3-background/#background-repeat"
1101             }
1102         },
1103         "background-repeat-x": {
1104             "codegen-properties": {
1105                 "name-for-methods": "RepeatX",
1106                 "fill-layer-property": true,
1107                 "internal-only": true
1108             },
1109             "specification": {
1110                 "category": "css-backgrounds"
1111             },
1112             "status": {
1113                 "status": "experimental",
1114                 "enabled-by-default": true
1115             }
1116         },
1117         "background-repeat-y": {
1118             "codegen-properties": {
1119                 "name-for-methods": "RepeatY",
1120                 "fill-layer-property": true,
1121                 "internal-only": true
1122             },
1123             "specification": {
1124                 "category": "css-backgrounds"
1125             },
1126             "status": {
1127                 "status": "experimental",
1128                 "enabled-by-default": true
1129             }
1130         },
1131         "background-size": {
1132             "codegen-properties": {
1133                 "name-for-methods": "Size",
1134                 "fill-layer-property": true
1135             },
1136             "specification": {
1137                 "category": "css-backgrounds",
1138                 "url": "https://www.w3.org/TR/css3-background/#background-size"
1139             }
1140         },
1141         "baseline-shift": {
1142             "codegen-properties": {
1143                 "custom": "Value",
1144                 "svg": true
1145             },
1146             "specification": {
1147                 "category": "svg",
1148                 "url": "https://www.w3.org/TR/SVG11/text.html#BaselineShiftProperty"
1149             }
1150         },
1151         "border": {
1152             "codegen-properties": {
1153                 "longhands": [
1154                     "border-top-color",
1155                     "border-top-style",
1156                     "border-top-width",
1157                     "border-right-color",
1158                     "border-right-style",
1159                     "border-right-width",
1160                     "border-bottom-color",
1161                     "border-bottom-style",
1162                     "border-bottom-width",
1163                     "border-left-color",
1164                     "border-left-style",
1165                     "border-left-width"
1166                 ]
1167             },
1168             "specification": {
1169                 "category": "css-backgrounds",
1170                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1171             }
1172         },
1173         "border-bottom": {
1174             "codegen-properties": {
1175                 "longhands": [
1176                     "border-bottom-width",
1177                     "border-bottom-style",
1178                     "border-bottom-color"
1179                 ]
1180             },
1181             "specification": {
1182                 "category": "css-backgrounds",
1183                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1184             }
1185         },
1186         "border-bottom-color": {
1187             "codegen-properties": {
1188                 "initial": "invalidColor",
1189                 "visited-link-color-support": true
1190             },
1191             "specification": {
1192                 "category": "css-backgrounds",
1193                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1194             }
1195         },
1196         "border-bottom-left-radius": {
1197             "codegen-properties": {
1198                 "aliases": [
1199                     "-webkit-border-bottom-left-radius"
1200                 ],
1201                 "initial": "initialBorderRadius",
1202                 "converter": "Radius"
1203             },
1204             "specification": {
1205                 "category": "css-backgrounds",
1206                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1207             }
1208         },
1209         "border-bottom-right-radius": {
1210             "codegen-properties": {
1211                 "aliases": [
1212                     "-webkit-border-bottom-right-radius"
1213                 ],
1214                 "initial": "initialBorderRadius",
1215                 "converter": "Radius"
1216             },
1217             "specification": {
1218                 "category": "css-backgrounds",
1219                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1220             }
1221         },
1222         "border-bottom-style": {
1223             "values": [
1224                 "none",
1225                 "hidden",
1226                 "inset",
1227                 "groove",
1228                 "outset",
1229                 "ridge",
1230                 "dotted",
1231                 "dashed",
1232                 "solid",
1233                 "double"
1234             ],
1235             "codegen-properties": {
1236                 "initial": "initialBorderStyle"
1237             },
1238             "specification": {
1239                 "category": "css-backgrounds",
1240                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1241             }
1242         },
1243         "border-bottom-width": {
1244             "codegen-properties": {
1245                 "initial": "initialBorderWidth",
1246                 "converter": "LineWidth<float>"
1247             },
1248             "specification": {
1249                 "category": "css-backgrounds",
1250                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1251             }
1252         },
1253         "border-collapse": {
1254             "values": [
1255                 "collapse",
1256                 "separate"
1257             ],
1258             "inherited": true,
1259             "values": [
1260                 "collapse",
1261                 "separate"
1262             ],
1263             "specification": {
1264                 "category": "css-22",
1265                 "url": "https://www.w3.org/TR/CSS22/tables.html#borders"
1266             }
1267         },
1268         "border-color": {
1269             "codegen-properties": {
1270                 "longhands": [
1271                     "border-top-color",
1272                     "border-right-color",
1273                     "border-bottom-color",
1274                     "border-left-color"
1275                 ]
1276             },
1277             "specification": {
1278                 "category": "css-backgrounds",
1279                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1280             }
1281         },
1282         "border-image": {
1283             "codegen-properties": {
1284                 "longhands": [
1285                     "border-image-source",
1286                     "border-image-slice",
1287                     "border-image-width",
1288                     "border-image-outset",
1289                     "border-image-repeat"
1290                 ]
1291             },
1292             "specification": {
1293                 "category": "css-backgrounds",
1294                 "url": "https://www.w3.org/TR/css3-background/#the-border-image"
1295             }
1296         },
1297         "border-image-outset": {
1298             "codegen-properties": {
1299                 "custom": "All"
1300             },
1301             "specification": {
1302                 "category": "css-backgrounds",
1303                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-outset"
1304             }
1305         },
1306         "border-image-repeat": {
1307             "codegen-properties": {
1308                 "custom": "All"
1309             },
1310             "specification": {
1311                 "category": "css-backgrounds",
1312                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-repeat"
1313             }
1314         },
1315         "border-image-slice": {
1316             "codegen-properties": {
1317                 "custom": "All"
1318             },
1319             "specification": {
1320                 "category": "css-backgrounds",
1321                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-slice"
1322             }
1323         },
1324         "border-image-source": {
1325             "codegen-properties": {
1326                 "converter": "StyleImage<CSSPropertyBorderImageSource>"
1327             },
1328             "specification": {
1329                 "category": "css-backgrounds",
1330                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-source"
1331             }
1332         },
1333         "border-image-width": {
1334             "codegen-properties": {
1335                 "custom": "All"
1336             },
1337             "specification": {
1338                 "category": "css-backgrounds",
1339                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-width"
1340             }
1341         },
1342         "border-left": {
1343             "codegen-properties": {
1344                 "longhands": [
1345                     "border-left-width",
1346                     "border-left-style",
1347                     "border-left-color"
1348                 ]
1349             },
1350             "specification": {
1351                 "category": "css-backgrounds",
1352                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1353             }
1354         },
1355         "border-left-color": {
1356             "codegen-properties": {
1357                 "initial": "invalidColor",
1358                 "visited-link-color-support": true
1359             },
1360             "specification": {
1361                 "category": "css-backgrounds",
1362                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1363             }
1364         },
1365         "border-left-style": {
1366             "values": [
1367                 "none",
1368                 "hidden",
1369                 "inset",
1370                 "groove",
1371                 "outset",
1372                 "ridge",
1373                 "dotted",
1374                 "dashed",
1375                 "solid",
1376                 "double"
1377             ],
1378             "codegen-properties": {
1379                 "initial": "initialBorderStyle"
1380             },
1381             "specification": {
1382                 "category": "css-backgrounds",
1383                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1384             }
1385         },
1386         "border-left-width": {
1387             "codegen-properties": {
1388                 "initial": "initialBorderWidth",
1389                 "converter": "LineWidth<float>"
1390             },
1391             "specification": {
1392                 "category": "css-backgrounds",
1393                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1394             }
1395         },
1396         "border-radius": {
1397             "codegen-properties": {
1398                 "longhands": [
1399                     "border-top-left-radius",
1400                     "border-top-right-radius",
1401                     "border-bottom-right-radius",
1402                     "border-bottom-left-radius"
1403                 ]
1404             },
1405             "specification": {
1406                 "category": "css-backgrounds",
1407                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1408             }
1409         },
1410         "border-right": {
1411             "codegen-properties": {
1412                 "longhands": [
1413                     "border-right-width",
1414                     "border-right-style",
1415                     "border-right-color"
1416                 ]
1417             },
1418             "specification": {
1419                 "category": "css-backgrounds",
1420                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1421             }
1422         },
1423         "border-right-color": {
1424             "codegen-properties": {
1425                 "initial": "invalidColor",
1426                 "visited-link-color-support": true
1427             },
1428             "specification": {
1429                 "category": "css-backgrounds",
1430                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1431             }
1432         },
1433         "border-right-style": {
1434             "values": [
1435                 "none",
1436                 "hidden",
1437                 "inset",
1438                 "groove",
1439                 "outset",
1440                 "ridge",
1441                 "dotted",
1442                 "dashed",
1443                 "solid",
1444                 "double"
1445             ],
1446             "codegen-properties": {
1447                 "initial": "initialBorderStyle"
1448             },
1449             "specification": {
1450                 "category": "css-backgrounds",
1451                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1452             }
1453         },
1454         "border-right-width": {
1455             "codegen-properties": {
1456                 "initial": "initialBorderWidth",
1457                 "converter": "LineWidth<float>"
1458             },
1459             "specification": {
1460                 "category": "css-backgrounds",
1461                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1462             }
1463         },
1464         "border-spacing": {
1465             "inherited": true,
1466             "codegen-properties": {
1467                 "longhands": [
1468                     "-webkit-border-horizontal-spacing",
1469                     "-webkit-border-vertical-spacing"
1470                 ]
1471             },
1472             "specification": {
1473                 "category": "css-22",
1474                 "url": "https://www.w3.org/TR/CSS22/tables.html#separated-borders"
1475             }
1476         },
1477         "border-style": {
1478             "codegen-properties": {
1479                 "longhands": [
1480                     "border-top-style",
1481                     "border-right-style",
1482                     "border-bottom-style",
1483                     "border-left-style"
1484                 ]
1485             },
1486             "specification": {
1487                 "category": "css-backgrounds",
1488                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1489             }
1490         },
1491         "border-top": {
1492             "codegen-properties": {
1493                 "longhands": [
1494                     "border-top-width",
1495                     "border-top-style",
1496                     "border-top-color"
1497                 ]
1498             },
1499             "specification": {
1500                 "category": "css-backgrounds",
1501                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1502             }
1503         },
1504         "border-top-color": {
1505             "codegen-properties": {
1506                 "initial": "invalidColor",
1507                 "visited-link-color-support": true
1508             },
1509             "specification": {
1510                 "category": "css-backgrounds",
1511                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1512             }
1513         },
1514         "border-top-left-radius": {
1515             "codegen-properties": {
1516                 "aliases": [
1517                     "-webkit-border-top-left-radius"
1518                 ],
1519                 "initial": "initialBorderRadius",
1520                 "converter": "Radius"
1521             },
1522             "specification": {
1523                 "category": "css-backgrounds",
1524                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1525             }
1526         },
1527         "border-top-right-radius": {
1528             "codegen-properties": {
1529                 "aliases": [
1530                     "-webkit-border-top-right-radius"
1531                 ],
1532                 "initial": "initialBorderRadius",
1533                 "converter": "Radius"
1534             },
1535             "specification": {
1536                 "category": "css-backgrounds",
1537                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1538             }
1539         },
1540         "border-top-style": {
1541             "values": [
1542                 "none",
1543                 "hidden",
1544                 "inset",
1545                 "groove",
1546                 "outset",
1547                 "ridge",
1548                 "dotted",
1549                 "dashed",
1550                 "solid",
1551                 "double"
1552             ],
1553             "codegen-properties": {
1554                 "initial": "initialBorderStyle"
1555             },
1556             "specification": {
1557                 "category": "css-backgrounds",
1558                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1559             }
1560         },
1561         "border-top-width": {
1562             "codegen-properties": {
1563                 "initial": "initialBorderWidth",
1564                 "converter": "LineWidth<float>"
1565             },
1566             "specification": {
1567                 "category": "css-backgrounds",
1568                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1569             }
1570         },
1571         "border-width": {
1572             "codegen-properties": {
1573                 "longhands": [
1574                     "border-top-width",
1575                     "border-right-width",
1576                     "border-bottom-width",
1577                     "border-left-width"
1578                 ]
1579             },
1580             "specification": {
1581                 "category": "css-backgrounds",
1582                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1583             }
1584         },
1585         "bottom": {
1586             "codegen-properties": {
1587                 "initial": "initialOffset",
1588                 "converter": "LengthOrAuto"
1589             },
1590             "specification": {
1591                 "category": "css-22",
1592                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-bottom"
1593             }
1594         },
1595         "box-shadow": {
1596             "codegen-properties": {
1597                 "custom": "All"
1598             },
1599             "specification": {
1600                 "category": "css-backgrounds",
1601                 "url": "https://www.w3.org/TR/css3-background/#the-box-shadow"
1602             }
1603         },
1604         "box-sizing": {
1605             "values": [
1606                 "border-box",
1607                 "content-box"
1608             ],
1609             "codegen-properties": {
1610                 "aliases": [
1611                     "-webkit-box-sizing"
1612                 ]
1613             },
1614             "status": {
1615                 "comment": "-webkit-box-sizing worked in Safari 4 and earlier."
1616             },
1617             "specification": {
1618                 "category": "css-ui",
1619                 "url": "https://www.w3.org/TR/css-ui-3/#box-sizing"
1620             }
1621         },
1622         "break-after": {
1623             "values": [
1624                 "auto",
1625                 "avoid",
1626                 "left",
1627                 "right",
1628                 "recto",
1629                 "verso",
1630                 "column",
1631                 "page",
1632                 "region",
1633                 "avoid-column",
1634                 "avoid-page",
1635                 "avoid-region"
1636             ],
1637             "codegen-properties": {
1638                 "initial": "initialBreakBetween"
1639             },
1640             "specification": {
1641                 "category": "css-break",
1642                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1643             }
1644         },
1645         "break-before": {
1646             "values": [
1647                 "auto",
1648                 "avoid",
1649                 "left",
1650                 "right",
1651                 "recto",
1652                 "verso",
1653                 "column",
1654                 "page",
1655                 "region",
1656                 "avoid-column",
1657                 "avoid-page",
1658                 "avoid-region"
1659             ],
1660             "codegen-properties": {
1661                 "initial": "initialBreakBetween"
1662             },
1663             "specification": {
1664                 "category": "css-break",
1665                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1666             }
1667         },
1668         "break-inside": {
1669             "values": [
1670                 "auto",
1671                 "avoid",
1672                 "avoid-column",
1673                 "avoid-page",
1674                 "avoid-region"
1675             ],
1676             "codegen-properties": {
1677                 "initial": "initialBreakInside"
1678             },
1679             "specification": {
1680                 "category": "css-break",
1681                 "url": "https://www.w3.org/TR/css-break-3/#break-within"
1682             }
1683         },
1684         "buffered-rendering": {
1685             "values": [
1686                 "auto",
1687                 "dynamic",
1688                 "static"
1689             ],
1690             "codegen-properties": {
1691                 "svg": true
1692             },
1693             "specification": {
1694                 "category": "svg",
1695                 "url": "https://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty"
1696             }
1697         },
1698         "caption-side": {
1699             "inherited": true,
1700             "values": [
1701                 "left",
1702                 "right",
1703                 "top",
1704                 "bottom"
1705             ],
1706             "codegen-properties": {
1707                 "aliases": [
1708                     "-epub-caption-side"
1709                 ]
1710             },
1711             "specification": {
1712                 "category": "css-22",
1713                 "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-caption-side"
1714             }
1715         },
1716         "clear": {
1717             "values": [
1718                 "none",
1719                 "left",
1720                 "right",
1721                 "both"
1722             ],
1723             "specification": {
1724                 "category": "css-22",
1725                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-clear"
1726             }
1727         },
1728         "clip": {
1729             "codegen-properties": {
1730                 "custom": "All"
1731             },
1732             "specification": {
1733                 "category": "css-22",
1734                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-clip"
1735             }
1736         },
1737         "-webkit-clip-path": {
1738             "codegen-properties": {
1739                 "converter": "ClipPath"
1740             }
1741         },
1742         "clip-path": {
1743             "codegen-properties": {
1744                 "name-for-methods": "ClipperResource",
1745                 "converter": "SVGURIReference",
1746                 "svg": true
1747             },
1748             "specification": {
1749                 "category": "css-masking",
1750                 "url": "https://www.w3.org/TR/css-masking-1/#the-clip-path"
1751             }
1752         },
1753         "clip-rule": {
1754             "inherited": true,
1755             "values": [
1756                 "nonzero",
1757                 "evenodd"
1758             ],
1759             "codegen-properties": {
1760                 "svg": true
1761             },
1762             "specification": {
1763                 "category": "svg",
1764                 "url": "https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty"
1765             }
1766         },
1767         "color-interpolation": {
1768             "inherited": true,
1769             "values": [
1770                 "auto",
1771                 "srgb",
1772                 "linearrgb"
1773             ],
1774             "codegen-properties": {
1775                 "svg": true
1776             },
1777             "specification": {
1778                 "category": "svg",
1779                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty"
1780             }
1781         },
1782         "color-interpolation-filters": {
1783             "inherited": true,
1784             "values": [
1785                 "auto",
1786                 "srgb",
1787                 "linearrgb"
1788             ],
1789             "codegen-properties": {
1790                 "svg": true
1791             },
1792             "specification": {
1793                 "category": "svg",
1794                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty"
1795             }
1796         },
1797         "color-profile": {
1798             "codegen-properties": {
1799                 "skip-builder": true,
1800                 "svg": true
1801             },
1802             "status": {
1803                 "status": "not implemented",
1804                 "enabled-by-default": true
1805             },
1806             "specification": {
1807                 "category": "svg",
1808                 "url": "https://www.w3.org/TR/SVG11/color.html#ColorProfileProperty"
1809             }
1810         },
1811         "color-rendering": {
1812             "inherited": true,
1813             "values": [
1814                 "auto",
1815                 "optimizespeed",
1816                 "optimizequality"
1817             ],
1818             "codegen-properties": {
1819                 "svg": true
1820             },
1821             "specification": {
1822                 "category": "svg",
1823                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorRenderingProperty"
1824             }
1825         },
1826         "content": {
1827             "codegen-properties": {
1828                 "custom": "All"
1829             },
1830             "specification": {
1831                 "category": "css-content",
1832                 "url": "https://www.w3.org/TR/css-content-3/#content-property"
1833             }
1834         },
1835         "counter-increment": {
1836             "codegen-properties": {
1837                 "custom": "All"
1838             },
1839             "specification": {
1840                 "category": "css-lists",
1841                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-increment"
1842             }
1843         },
1844         "counter-reset": {
1845             "codegen-properties": {
1846                 "custom": "All"
1847             },
1848             "specification": {
1849                 "category": "css-lists",
1850                 "url": "https://www.w3.org/TR/css-lists-3/#counter-properties"
1851             }
1852         },
1853         "counter-set": {
1854             "codegen-properties": {
1855                 "skip-codegen": true
1856             },
1857             "status": {
1858                 "status": "not implemented"
1859             },
1860             "specification": {
1861                 "category": "css-lists",
1862                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-set"
1863             }
1864         },
1865         "cursor": {
1866             "values": [
1867                 "context-menu",
1868                 "help",
1869                 "pointer",
1870                 "progress",
1871                 "wait",
1872                 "cell",
1873                 "crosshair",
1874                 "text",
1875                 "vertical-text",
1876                 "alias",
1877                 "copy",
1878                 "move",
1879                 "no-drop",
1880                 "not-allowed",
1881                 "grab",
1882                 {
1883                     "value": "-webkit-grab",
1884                     "status": "non-standard"
1885                 },
1886                 "grabbing",
1887                 {
1888                     "value": "-webkit-grabbing",
1889                     "status": "non-standard"
1890                 },
1891                 "e-resize",
1892                 "n-resize",
1893                 "ne-resize",
1894                 "nw-resize",
1895                 "s-resize",
1896                 "se-resize",
1897                 "sw-resize",
1898                 "w-resize",
1899                 "ew-resize",
1900                 "ns-resize",
1901                 "nesw-resize",
1902                 "nwse-resize",
1903                 "col-resize",
1904                 "row-resize",
1905                 "all-scroll",
1906                 "zoom-in",
1907                 "zoom-out",
1908                 {
1909                     "value": "-webkit-zoom-in",
1910                     "status": "non-standard"
1911                 },
1912                 {
1913                     "value": "-webkit-zoom-out",
1914                     "status": "non-standard"
1915                 }
1916             ],
1917             "inherited": true,
1918             "codegen-properties": {
1919                 "custom": "All"
1920             },
1921             "specification": {
1922                 "category": "css-ui",
1923                 "url": "https://www.w3.org/TR/css-ui-3/#cursor"
1924             }
1925         },
1926         "-webkit-cursor-visibility": {
1927             "inherited": true,
1928             "values": [
1929                 "auto",
1930                 "auto-hide"
1931             ],
1932             "codegen-properties": {
1933                 "enable-if": "ENABLE_CURSOR_VISIBILITY"
1934             },
1935             "status": "non-standard"
1936         },
1937         "cx": {
1938             "codegen-properties": {
1939                 "initial": "initialZeroLength",
1940                 "converter": "Length"
1941             },
1942             "specification": {
1943                 "category": "svg",
1944                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1945             }
1946         },
1947         "cy": {
1948             "codegen-properties": {
1949                 "initial": "initialZeroLength",
1950                 "converter": "Length"
1951             },
1952             "specification": {
1953                 "category": "svg",
1954                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1955             }
1956         },
1957         "dominant-baseline": {
1958             "values": [
1959                 "auto",
1960                 "middle",
1961                 "use-script",
1962                 "no-change",
1963                 "reset-size",
1964                 "central",
1965                 "text-before-edge",
1966                 "text-after-edge",
1967                 "ideographic",
1968                 "hanging",
1969                 "mathematical"
1970             ],
1971             "codegen-properties": {
1972                 "svg": true
1973             },
1974             "specification": {
1975                 "category": "svg",
1976                 "url": "https://www.w3.org/TR/SVG11/text.html#DominantBaselineProperty"
1977             }
1978         },
1979         "empty-cells": {
1980             "inherited": true,
1981             "values": [
1982                 "show",
1983                 "hide"
1984             ],
1985             "specification": {
1986                 "category": "css-22",
1987                 "url": "https://www.w3.org/TR/CSS2/tables.html#empty-cells"
1988             }
1989         },
1990         "enable-background": {
1991             "codegen-properties": {
1992                 "skip-builder": true
1993             },
1994             "status": {
1995                 "status": "not implemented",
1996                 "enabled-by-default": true
1997             },
1998             "specification": {
1999                 "category": "svg"
2000             }
2001         },
2002         "fill": {
2003             "inherited": true,
2004             "codegen-properties": {
2005                 "custom": "All",
2006                 "svg": true
2007             },
2008             "specification": {
2009                 "category": "svg",
2010                 "url": "https://www.w3.org/TR/SVG/painting.html#FillProperty"
2011             }
2012         },
2013         "fill-opacity": {
2014             "inherited": true,
2015             "codegen-properties": {
2016                 "converter": "Opacity",
2017                 "svg": true
2018             },
2019             "specification": {
2020                 "category": "svg",
2021                 "url": "https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty"
2022             }
2023         },
2024         "fill-rule": {
2025             "inherited": true,
2026             "values": [
2027                 "nonzero",
2028                 "evenodd"
2029             ],
2030             "codegen-properties": {
2031                 "svg": true
2032             },
2033             "specification": {
2034                 "category": "svg",
2035                 "url": "https://www.w3.org/TR/SVG/painting.html#FillRuleProperty"
2036             }
2037         },
2038         "float": {
2039             "values": [
2040                 "left",
2041                 "right",
2042                 "none"
2043             ],
2044             "codegen-properties": {
2045                 "name-for-methods": "Floating"
2046             },
2047             "specification": {
2048                 "category": "css-22",
2049                 "url": "https://www.w3.org/TR/CSS22/visuren.html#float-position"
2050             }
2051         },
2052         "flood-color": {
2053             "codegen-properties": {
2054                 "converter": "SVGColor",
2055                 "svg": true
2056             },
2057             "specification": {
2058                 "category": "svg",
2059                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodColorProperty"
2060             }
2061         },
2062         "flood-opacity": {
2063             "codegen-properties": {
2064                 "converter": "Opacity",
2065                 "svg": true
2066             },
2067             "specification": {
2068                 "category": "svg",
2069                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodOpacityProperty"
2070             }
2071         },
2072         "glyph-orientation-horizontal": {
2073             "inherited": true,
2074             "codegen-properties": {
2075                 "converter": "GlyphOrientation",
2076                 "svg": true
2077             },
2078             "specification": {
2079                 "category": "svg",
2080                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationHorizontalProperty"
2081             }
2082         },
2083         "glyph-orientation-vertical": {
2084             "inherited": true,
2085             "codegen-properties": {
2086                 "converter": "GlyphOrientationOrAuto",
2087                 "svg": true
2088             },
2089             "specification": {
2090                 "category": "svg",
2091                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationVerticalProperty"
2092             }
2093         },
2094         "hanging-punctuation": {
2095             "inherited": true,
2096             "codegen-properties": {
2097                 "converter": "HangingPunctuation"
2098             },
2099             "specification": {
2100                 "category": "css-text",
2101                 "url": "https://www.w3.org/TR/css-text-3/#hanging-punctuation"
2102             }
2103         },
2104         "height": {
2105             "codegen-properties": {
2106                 "initial": "initialSize",
2107                 "converter": "LengthSizing"
2108             },
2109             "specification": {
2110                 "category": "css-22",
2111                 "url": "https://www.w3.org/TR/CSS22/visudet.html#the-height-property"
2112             }
2113         },
2114         "image-orientation": {
2115             "inherited": true,
2116             "codegen-properties": {
2117                 "enable-if": "ENABLE_CSS_IMAGE_ORIENTATION"
2118             },
2119             "status": {
2120                 "status": "under consideration",
2121                 "enabled-by-default": false
2122             },
2123             "specification": {
2124                 "category": "css-images",
2125                 "url": "https://www.w3.org/TR/css3-images/#the-image-orientation"
2126             }
2127         },
2128         "image-rendering": {
2129             "inherited": true,
2130             "values": [
2131                 "auto",
2132                 {
2133                     "value": "optimizespeed",
2134                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2135                 },
2136                 {
2137                     "value": "optimizequality",
2138                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2139                 },
2140                 {
2141                     "value": "-webkit-crisp-edges",
2142                     "status": "non-standard"
2143                 },
2144                 {
2145                     "value": "-webkit-optimize-contrast",
2146                     "status": "non-standard"
2147                 },
2148                 "crisp-edges",
2149                 "pixelated"
2150             ],
2151             "specification": {
2152                 "category": "css-images",
2153                 "url": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering"
2154             }
2155         },
2156         "image-resolution": {
2157             "inherited": true,
2158             "codegen-properties": {
2159                 "custom": "All",
2160                 "enable-if": "ENABLE_CSS_IMAGE_RESOLUTION"
2161             },
2162             "status": {
2163                 "status": "under consideration",
2164                 "enabled-by-default": false
2165             },
2166             "specification": {
2167                 "category": "css-images",
2168                 "url": "https://www.w3.org/TR/css3-images/#image-resolution"
2169             }
2170         },
2171         "kerning": {
2172             "inherited": true,
2173             "codegen-properties": {
2174                 "converter": "SVGLengthValue",
2175                 "svg": true
2176             },
2177             "specification": {
2178                 "category": "svg",
2179                 "url": "https://www.w3.org/TR/SVG11/text.html#KerningProperty"
2180             }
2181         },
2182         "left": {
2183             "codegen-properties": {
2184                 "initial": "initialOffset",
2185                 "converter": "LengthOrAuto"
2186             },
2187             "specification": {
2188                 "category": "css-22",
2189                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-left"
2190             }
2191         },
2192         "letter-spacing": {
2193             "inherited": true,
2194             "codegen-properties": {
2195                 "converter": "Spacing"
2196             },
2197             "specification": {
2198                 "category": "css-text",
2199                 "url": "https://www.w3.org/TR/css-text-3/#letter-spacing-property"
2200             }
2201         },
2202         "lighting-color": {
2203             "codegen-properties": {
2204                 "converter": "SVGColor",
2205                 "svg": true
2206             }
2207         },
2208         "line-height": {
2209             "inherited": true,
2210             "codegen-properties": [
2211                 {
2212                     "custom": "All",
2213                     "enable-if": "ENABLE_TEXT_AUTOSIZING"
2214                 },
2215                 {
2216                     "getter": "specifiedLineHeight",
2217                     "conditional-converter": "LineHeight",
2218                     "enable-if": "!ENABLE_TEXT_AUTOSIZING"
2219                 }
2220             ],
2221             "specification": {
2222                 "category": "css-22",
2223                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-line-height"
2224             }
2225         },
2226         "list-style": {
2227             "inherited": true,
2228             "codegen-properties": {
2229                 "longhands": [
2230                     "list-style-type",
2231                     "list-style-position",
2232                     "list-style-image"
2233                 ]
2234             },
2235             "specification": {
2236                 "category": "css-lists",
2237                 "url": "https://www.w3.org/TR/css-lists-3/#list-style-property"
2238             }
2239         },
2240         "list-style-image": {
2241             "inherited": true,
2242             "codegen-properties": {
2243                 "converter": "StyleImage<CSSPropertyListStyleImage>"
2244             },
2245             "specification": {
2246                 "category": "css-lists",
2247                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-image"
2248             }
2249         },
2250         "list-style-position": {
2251             "inherited": true,
2252             "values": [
2253                 "inside",
2254                 "outside"
2255             ],
2256             "specification": {
2257                 "category": "css-lists",
2258                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-position"
2259             }
2260         },
2261         "list-style-type": {
2262             "inherited": true,
2263             "values": [
2264                 "disc",
2265                 "circle",
2266                 "square",
2267                 "decimal",
2268                 "decimal-leading-zero",
2269                 "arabic-indic",
2270                 "binary",
2271                 "bengali",
2272                 "cambodian",
2273                 "khmer",
2274                 "devanagari",
2275                 "gujarati",
2276                 "gurmukhi",
2277                 "kannada",
2278                 "lower-hexadecimal",
2279                 "lao",
2280                 "malayalam",
2281                 "mongolian",
2282                 "myanmar",
2283                 "octal",
2284                 "oriya",
2285                 "persian",
2286                 "urdu",
2287                 "telugu",
2288                 "tibetan",
2289                 "thai",
2290                 "upper-hexadecimal",
2291                 "lower-roman",
2292                 "upper-roman",
2293                 "lower-greek",
2294                 "lower-alpha",
2295                 "lower-latin",
2296                 "upper-alpha",
2297                 "upper-latin",
2298                 "afar",
2299                 "ethiopic-halehame-aa-et",
2300                 "ethiopic-halehame-aa-er",
2301                 "amharic",
2302                 "ethiopic-halehame-am-et",
2303                 "amharic-abegede",
2304                 "ethiopic-abegede-am-et",
2305                 "cjk-earthly-branch",
2306                 "cjk-heavenly-stem",
2307                 "ethiopic",
2308                 "ethiopic-halehame-gez",
2309                 "ethiopic-abegede",
2310                 "ethiopic-abegede-gez",
2311                 "hangul-consonant",
2312                 "hangul",
2313                 "lower-norwegian",
2314                 "oromo",
2315                 "ethiopic-halehame-om-et",
2316                 "sidama",
2317                 "ethiopic-halehame-sid-et",
2318                 "somali",
2319                 "ethiopic-halehame-so-et",
2320                 "tigre",
2321                 "ethiopic-halehame-tig",
2322                 "tigrinya-er",
2323                 "ethiopic-halehame-ti-er",
2324                 "tigrinya-er-abegede",
2325                 "ethiopic-abegede-ti-er",
2326                 "tigrinya-et",
2327                 "ethiopic-halehame-ti-et",
2328                 "tigrinya-et-abegede",
2329                 "ethiopic-abegede-ti-et",
2330                 "upper-greek",
2331                 "upper-norwegian",
2332                 "asterisks",
2333                 "footnotes",
2334                 "hebrew",
2335                 "armenian",
2336                 "lower-armenian",
2337                 "upper-armenian",
2338                 "georgian",
2339                 "cjk-ideographic",
2340                 "hiragana",
2341                 "katakana",
2342                 "hiragana-iroha",
2343                 "katakana-iroha",
2344                 "none"
2345             ],
2346             "specification": {
2347                 "category": "css-lists",
2348                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-type"
2349             }
2350         },
2351         "margin": {
2352             "codegen-properties": {
2353                 "longhands": [
2354                     "margin-top",
2355                     "margin-right",
2356                     "margin-bottom",
2357                     "margin-left"
2358                 ]
2359             },
2360             "specification": {
2361                 "category": "css-22",
2362                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin"
2363             }
2364         },
2365         "margin-bottom": {
2366             "codegen-properties": {
2367                 "initial": "initialMargin",
2368                 "converter": "LengthOrAuto"
2369             },
2370             "specification": {
2371                 "category": "css-22",
2372                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-bottom"
2373             }
2374         },
2375         "margin-left": {
2376             "codegen-properties": {
2377                 "initial": "initialMargin",
2378                 "converter": "LengthOrAuto"
2379             },
2380             "specification": {
2381                 "category": "css-22",
2382                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-left"
2383             }
2384         },
2385         "margin-right": {
2386             "codegen-properties": {
2387                 "initial": "initialMargin",
2388                 "converter": "LengthOrAuto"
2389             },
2390             "specification": {
2391                 "category": "css-22",
2392                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-right"
2393             }
2394         },
2395         "margin-top": {
2396             "codegen-properties": {
2397                 "initial": "initialMargin",
2398                 "converter": "LengthOrAuto"
2399             },
2400             "specification": {
2401                 "category": "css-22",
2402                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-top"
2403             }
2404         },
2405         "marker": {
2406             "inherited": true,
2407             "codegen-properties": {
2408                 "longhands": [
2409                     "marker-start",
2410                     "marker-mid",
2411                     "marker-end"
2412                 ]
2413             },
2414             "specification": {
2415                 "category": "svg",
2416                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerProperty"
2417             }
2418         },
2419         "marker-end": {
2420             "inherited": true,
2421             "codegen-properties": {
2422                 "name-for-methods": "MarkerEndResource",
2423                 "converter": "SVGURIReference",
2424                 "svg": true
2425             },
2426             "specification": {
2427                 "category": "svg",
2428                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerEndProperty"
2429             }
2430         },
2431         "marker-mid": {
2432             "inherited": true,
2433             "codegen-properties": {
2434                 "name-for-methods": "MarkerMidResource",
2435                 "converter": "SVGURIReference",
2436                 "svg": true
2437             },
2438             "specification": {
2439                 "category": "svg",
2440                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerMidProperty"
2441             }
2442         },
2443         "marker-start": {
2444             "inherited": true,
2445             "codegen-properties": {
2446                 "name-for-methods": "MarkerStartResource",
2447                 "converter": "SVGURIReference",
2448                 "svg": true
2449             },
2450             "specification": {
2451                 "category": "svg",
2452                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerStartProperty"
2453             }
2454         },
2455         "mask": {
2456             "codegen-properties": {
2457                 "name-for-methods": "MaskerResource",
2458                 "converter": "SVGURIReference",
2459                 "svg": true
2460             },
2461             "specification": {
2462                 "category": "svg",
2463                 "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty"
2464             }
2465         },
2466         "mask-type": {
2467             "values": [
2468                 "luminance",
2469                 "alpha"
2470             ],
2471             "codegen-properties": {
2472                 "svg": true
2473             },
2474             "specification": {
2475                 "category": "css-masking",
2476                 "url": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type"
2477             }
2478         },
2479         "max-height": {
2480             "codegen-properties": {
2481                 "initial": "initialMaxSize",
2482                 "converter": "LengthMaxSizing"
2483             },
2484             "specification": {
2485                 "category": "css-22",
2486                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-height"
2487             }
2488         },
2489         "max-width": {
2490             "codegen-properties": {
2491                 "initial": "initialMaxSize",
2492                 "converter": "LengthMaxSizing"
2493             },
2494             "specification": {
2495                 "category": "css-22",
2496                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-width"
2497             }
2498         },
2499         "min-height": {
2500             "codegen-properties": {
2501                 "initial": "initialMinSize",
2502                 "converter": "LengthSizing"
2503             },
2504             "specification": {
2505                 "category": "css-22",
2506                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-height"
2507             }
2508         },
2509         "min-width": {
2510             "codegen-properties": {
2511                 "initial": "initialMinSize",
2512                 "converter": "LengthSizing"
2513             },
2514             "specification": {
2515                 "category": "css-22",
2516                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-width"
2517             }
2518         },
2519         "object-fit": {
2520             "values": [
2521                 "fill",
2522                 "contain",
2523                 "cover",
2524                 "none",
2525                 "scale-down"
2526             ],
2527             "specification": {
2528                 "category": "css-images",
2529                 "url": "https://www.w3.org/TR/css3-images/#object-fit"
2530             }
2531         },
2532         "object-position": {
2533             "codegen-properties": {
2534                 "converter": "ObjectPosition"
2535             },
2536             "specification": {
2537                 "category": "css-images",
2538                 "url": "https://www.w3.org/TR/css3-images/#object-position"
2539             }
2540         },
2541         "opacity": {
2542             "codegen-properties": {
2543                 "aliases": [
2544                     "-webkit-opacity"
2545                 ]
2546             },
2547             "status": {
2548                 "comment": "Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets."
2549             },
2550             "specification": {
2551                 "category": "css-color",
2552                 "url": "https://www.w3.org/TR/css3-color/#opacity"
2553             }
2554         },
2555         "orphans": {
2556             "inherited": true,
2557             "codegen-properties": {
2558                 "auto-functions": true
2559             },
2560             "specification": {
2561                 "category": "css-22",
2562                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
2563             }
2564         },
2565         "outline": {
2566             "codegen-properties": {
2567                 "longhands": [
2568                     "outline-color",
2569                     "outline-style",
2570                     "outline-width"
2571                 ]
2572             },
2573             "specification": {
2574                 "category": "css-ui",
2575                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline"
2576             }
2577         },
2578         "outline-color": {
2579             "codegen-properties": {
2580                 "initial": "invalidColor",
2581                 "visited-link-color-support": true
2582             },
2583             "specification": {
2584                 "category": "css-ui",
2585                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-color"
2586             }
2587         },
2588         "outline-offset": {
2589             "codegen-properties": {
2590                 "converter": "ComputedLength<float>"
2591             },
2592             "specification": {
2593                 "category": "css-ui",
2594                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-offset"
2595             }
2596         },
2597         "outline-style": {
2598             "values": [
2599                 "auto",
2600                 "none",
2601                 "inset",
2602                 "groove",
2603                 "outset",
2604                 "ridge",
2605                 "dotted",
2606                 "dashed",
2607                 "solid",
2608                 "double"
2609             ],
2610             "codegen-properties": {
2611                 "custom": "All"
2612             },
2613             "specification": {
2614                 "category": "css-ui",
2615                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-style"
2616             }
2617         },
2618         "outline-width": {
2619             "codegen-properties": {
2620                 "converter": "LineWidth<float>"
2621             },
2622             "specification": {
2623                 "category": "css-ui",
2624                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-width"
2625             }
2626         },
2627         "overflow": {
2628             "codegen-properties": {
2629                 "longhands": [
2630                     "overflow-x",
2631                     "overflow-y"
2632                 ]
2633             },
2634             "specification": {
2635                 "category": "css-22",
2636                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow"
2637             }
2638         },
2639         "overflow-wrap": {
2640             "values": [
2641                 "normal",
2642                 "break-word"
2643             ],
2644             "specification": {
2645                 "category": "css-text",
2646                 "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
2647             }
2648         },
2649         "overflow-x": {
2650             "values": [
2651                 "visible",
2652                 "hidden",
2653                 "scroll",
2654                 "auto",
2655                 "overlay"
2656             ],
2657             "specification": {
2658                 "category": "css-overflow",
2659                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-x"
2660             }
2661         },
2662         "overflow-y": {
2663             "values": [
2664                 "visible",
2665                 "hidden",
2666                 "scroll",
2667                 "auto",
2668                 "overlay",
2669                 "-webkit-paged-x",
2670                 "-webkit-paged-y"
2671             ],
2672             "specification": {
2673                 "category": "css-overflow",
2674                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-y"
2675             }
2676         },
2677         "padding": {
2678             "codegen-properties": {
2679                 "longhands": [
2680                     "padding-top",
2681                     "padding-right",
2682                     "padding-bottom",
2683                     "padding-left"
2684                 ]
2685             },
2686             "specification": {
2687                 "category": "css-22",
2688                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding"
2689             }
2690         },
2691         "padding-bottom": {
2692             "codegen-properties": {
2693                 "initial": "initialPadding",
2694                 "converter": "Length"
2695             },
2696             "specification": {
2697                 "category": "css-22",
2698                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-bottom"
2699             }
2700         },
2701         "padding-left": {
2702             "codegen-properties": {
2703                 "initial": "initialPadding",
2704                 "converter": "Length"
2705             },
2706             "specification": {
2707                 "category": "css-22",
2708                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-left"
2709             }
2710         },
2711         "padding-right": {
2712             "codegen-properties": {
2713                 "initial": "initialPadding",
2714                 "converter": "Length"
2715             },
2716             "specification": {
2717                 "category": "css-22",
2718                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-right"
2719             }
2720         },
2721         "padding-top": {
2722             "codegen-properties": {
2723                 "initial": "initialPadding",
2724                 "converter": "Length"
2725             },
2726             "specification": {
2727                 "category": "css-22",
2728                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"
2729             }
2730         },
2731         "page": {
2732             "codegen-properties": {
2733                 "skip-builder": true
2734             },
2735             "specification": {
2736                 "category": "css-page",
2737                 "url": "https://www.w3.org/TR/css3-page/#page"
2738             }
2739         },
2740         "page-break-after": {
2741             "values": [
2742                 "auto",
2743                 "always",
2744                 "avoid",
2745                 "left",
2746                 "right"
2747             ],
2748             "codegen-properties": {
2749                 "initial": "initialBreakBetween",
2750                 "name-for-methods": "BreakAfter",
2751                 "converter": "PageBreakBetween"
2752             },
2753             "specification": {
2754                 "category": "css-22",
2755                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-after"
2756             }
2757         },
2758         "page-break-before": {
2759             "values": [
2760                 "auto",
2761                 "always",
2762                 "avoid",
2763                 "left",
2764                 "right"
2765             ],
2766             "codegen-properties": {
2767                 "initial": "initialBreakBetween",
2768                 "name-for-methods": "BreakBefore",
2769                 "converter": "PageBreakBetween"
2770             },
2771             "specification": {
2772                 "category": "css-22",
2773                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-before"
2774             }
2775         },
2776         "page-break-inside": {
2777             "values": [
2778                 "auto",
2779                 "avoid"
2780             ],
2781             "codegen-properties": {
2782                 "initial": "initialBreakInside",
2783                 "name-for-methods": "BreakInside",
2784                 "converter": "PageBreakInside"
2785             },
2786             "specification": {
2787                 "category": "css-22",
2788                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-inside"
2789             }
2790         },
2791         "paint-order": {
2792             "codegen-properties": {
2793                 "converter": "PaintOrder"
2794             },
2795             "status": "supported",
2796             "specification": {
2797                 "category": "css-text-fill-and-stroke",
2798                 "obsolete-category": "svg",
2799                 "obsolete-url": "https://www.w3.org/TR/SVG2/painting.html#PaintOrderProperty"
2800             }
2801         },
2802         "pointer-events": {
2803             "inherited": true,
2804             "values": [
2805                 "visible",
2806                 "none",
2807                 "all",
2808                 "auto",
2809                 "visiblepainted",
2810                 "visiblefill",
2811                 "visiblestroke",
2812                 "painted",
2813                 "fill",
2814                 "stroke"
2815             ],
2816             "specification": {
2817                 "category": "svg",
2818                 "url": "https://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty"
2819             }
2820         },
2821         "position": {
2822             "values": [
2823                 "static",
2824                 "relative",
2825                 "absolute",
2826                 "fixed",
2827                 {
2828                     "value": "-webkit-sticky",
2829                     "status": "experimental",
2830                     "url": "https://www.w3.org/TR/css-position-3/#valdef-position-sticky"
2831                 }
2832             ],
2833             "specification": {
2834                 "category": "css-22",
2835                 "url": "https://www.w3.org/TR/CSS2/visuren.html#propdef-position"
2836             }
2837         },
2838         "quotes": {
2839             "inherited": true,
2840             "codegen-properties": {
2841                 "converter": "Quotes"
2842             },
2843             "specification": {
2844                 "category": "css-22",
2845                 "url": "https://www.w3.org/TR/CSS22/generate.html#propdef-quotes"
2846             }
2847         },
2848         "r": {
2849             "codegen-properties": {
2850                 "initial": "initialZeroLength",
2851                 "converter": "Length"
2852             },
2853             "specification": {
2854                 "category": "svg",
2855                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2856             }
2857         },
2858         "resize": {
2859             "inherited": true,
2860             "values": [
2861                 "none",
2862                 "both",
2863                 "horizontal",
2864                 "vertical",
2865                 "auto"
2866             ],
2867             "codegen-properties": {
2868                 "converter": "Resize"
2869             },
2870             "specification": {
2871                 "category": "css-ui",
2872                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-resize"
2873             }
2874         },
2875         "right": {
2876             "codegen-properties": {
2877                 "initial": "initialOffset",
2878                 "converter": "LengthOrAuto"
2879             },
2880             "specification": {
2881                 "category": "css-22",
2882                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-right"
2883             }
2884         },
2885         "rx": {
2886             "codegen-properties": {
2887                 "initial": "initialZeroLength",
2888                 "converter": "Length"
2889             },
2890             "specification": {
2891                 "category": "svg",
2892                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2893             }
2894         },
2895         "ry": {
2896             "codegen-properties": {
2897                 "initial": "initialZeroLength",
2898                 "converter": "Length"
2899             },
2900             "specification": {
2901                 "category": "svg",
2902                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2903             }
2904         },
2905         "shape-rendering": {
2906             "inherited": true,
2907             "values": [
2908                 "auto",
2909                 "optimizespeed",
2910                 "crispedges",
2911                 "geometricprecision"
2912             ],
2913             "codegen-properties": {
2914                 "svg": true
2915             },
2916             "specification": {
2917                 "category": "svg",
2918                 "url": "https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty"
2919             }
2920         },
2921         "size": {
2922             "codegen-properties": {
2923                 "custom": "All"
2924             },
2925             "specification": {
2926                 "category": "css-page",
2927                 "url": "https://www.w3.org/TR/css3-page/#page-size-prop"
2928             }
2929         },
2930         "src": {
2931             "codegen-properties": {
2932                 "skip-builder": true
2933             },
2934             "specification": {
2935                 "category": "css-fonts",
2936                 "url": "https://www.w3.org/TR/css-fonts-3/#src-desc"
2937             }
2938         },
2939         "stop-color": {
2940             "codegen-properties": {
2941                 "converter": "SVGColor",
2942                 "svg": true
2943             },
2944             "specification": {
2945                 "category": "svg",
2946                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopColorProperty"
2947             }
2948         },
2949         "stop-opacity": {
2950             "codegen-properties": {
2951                 "converter": "Opacity",
2952                 "svg": true
2953             },
2954             "specification": {
2955                 "category": "svg",
2956                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopOpacityProperty"
2957             }
2958         },
2959         "stroke": {
2960             "inherited": true,
2961             "codegen-properties": {
2962                 "custom": "All",
2963                 "svg": true
2964             },
2965             "specification": {
2966                 "category": "svg",
2967                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeProperty"
2968             }
2969         },
2970         "stroke-dasharray": {
2971             "inherited": true,
2972             "codegen-properties": {
2973                 "name-for-methods": "StrokeDashArray",
2974                 "converter": "StrokeDashArray",
2975                 "svg": true
2976             },
2977             "specification": {
2978                 "category": "svg",
2979                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty"
2980             }
2981         },
2982         "stroke-dashoffset": {
2983             "inherited": true,
2984             "codegen-properties": {
2985                 "initial": "initialZeroLength",
2986                 "name-for-methods": "StrokeDashOffset",
2987                 "converter": "Length"
2988             },
2989             "specification": {
2990                 "category": "svg",
2991                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDashoffsetProperty"
2992             }
2993         },
2994         "stroke-linecap": {
2995             "inherited": true,
2996             "values": [
2997                 "butt",
2998                 "round",
2999                 "square"
3000             ],
3001             "codegen-properties": {
3002                 "name-for-methods": "CapStyle"
3003             },
3004             "status": "supported",
3005             "specification": {
3006                 "category": "css-text-fill-and-stroke",
3007                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap",
3008                 "obsolete-category": "svg",
3009                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty"
3010             }
3011         },
3012         "stroke-linejoin": {
3013             "inherited": true,
3014             "values": [
3015                 "miter",
3016                 "round",
3017                 "bevel"
3018             ],
3019             "codegen-properties": {
3020                 "name-for-methods": "JoinStyle"
3021             },
3022             "status": "supported",
3023             "specification": {
3024                 "category": "css-text-fill-and-stroke",
3025                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin",
3026                 "obsolete-category": "svg",
3027                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3028             }
3029         },
3030         "stroke-miterlimit": {
3031             "inherited": true,
3032             "codegen-properties": {
3033                 "name-for-methods": "StrokeMiterLimit",
3034                 "converter": "Number<float>"
3035             },
3036             "status": "supported",
3037             "specification": {
3038                 "category": "css-text-fill-and-stroke",