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