717f265be42bab14486e3527263740fae2ca7b51
[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",
411                 "url": "https://drafts.csswg.org/css-fonts-4/#low-level-font-variation-settings-control-the-font-variation-settings-property"
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",
571                 "url": "https://drafts.csswg.org/css-fonts-4/#optical-sizing-control-the-font-optical-sizing-property"
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                 "region",
1643                 "avoid-column",
1644                 "avoid-page",
1645                 "avoid-region"
1646             ],
1647             "codegen-properties": {
1648                 "initial": "initialBreakBetween"
1649             },
1650             "specification": {
1651                 "category": "css-break",
1652                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1653             }
1654         },
1655         "break-before": {
1656             "values": [
1657                 "auto",
1658                 "avoid",
1659                 "left",
1660                 "right",
1661                 "recto",
1662                 "verso",
1663                 "column",
1664                 "page",
1665                 "region",
1666                 "avoid-column",
1667                 "avoid-page",
1668                 "avoid-region"
1669             ],
1670             "codegen-properties": {
1671                 "initial": "initialBreakBetween"
1672             },
1673             "specification": {
1674                 "category": "css-break",
1675                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1676             }
1677         },
1678         "break-inside": {
1679             "values": [
1680                 "auto",
1681                 "avoid",
1682                 "avoid-column",
1683                 "avoid-page",
1684                 "avoid-region"
1685             ],
1686             "codegen-properties": {
1687                 "initial": "initialBreakInside"
1688             },
1689             "specification": {
1690                 "category": "css-break",
1691                 "url": "https://www.w3.org/TR/css-break-3/#break-within"
1692             }
1693         },
1694         "buffered-rendering": {
1695             "values": [
1696                 "auto",
1697                 "dynamic",
1698                 "static"
1699             ],
1700             "codegen-properties": {
1701                 "svg": true
1702             },
1703             "specification": {
1704                 "category": "svg",
1705                 "url": "https://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty"
1706             }
1707         },
1708         "caption-side": {
1709             "inherited": true,
1710             "values": [
1711                 "left",
1712                 "right",
1713                 "top",
1714                 "bottom"
1715             ],
1716             "codegen-properties": {
1717                 "aliases": [
1718                     "-epub-caption-side"
1719                 ]
1720             },
1721             "specification": {
1722                 "category": "css-22",
1723                 "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-caption-side"
1724             }
1725         },
1726         "clear": {
1727             "values": [
1728                 "none",
1729                 "left",
1730                 "right",
1731                 "both"
1732             ],
1733             "specification": {
1734                 "category": "css-22",
1735                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-clear"
1736             }
1737         },
1738         "clip": {
1739             "codegen-properties": {
1740                 "custom": "All"
1741             },
1742             "specification": {
1743                 "category": "css-22",
1744                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-clip"
1745             }
1746         },
1747         "-webkit-clip-path": {
1748             "codegen-properties": {
1749                 "converter": "ClipPath"
1750             }
1751         },
1752         "clip-path": {
1753             "codegen-properties": {
1754                 "name-for-methods": "ClipperResource",
1755                 "converter": "SVGURIReference",
1756                 "svg": true
1757             },
1758             "specification": {
1759                 "category": "css-masking",
1760                 "url": "https://www.w3.org/TR/css-masking-1/#the-clip-path"
1761             }
1762         },
1763         "clip-rule": {
1764             "inherited": true,
1765             "values": [
1766                 "nonzero",
1767                 "evenodd"
1768             ],
1769             "codegen-properties": {
1770                 "svg": true
1771             },
1772             "specification": {
1773                 "category": "svg",
1774                 "url": "https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty"
1775             }
1776         },
1777         "color-interpolation": {
1778             "inherited": true,
1779             "values": [
1780                 "auto",
1781                 "srgb",
1782                 "linearrgb"
1783             ],
1784             "codegen-properties": {
1785                 "svg": true
1786             },
1787             "specification": {
1788                 "category": "svg",
1789                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty"
1790             }
1791         },
1792         "color-interpolation-filters": {
1793             "inherited": true,
1794             "values": [
1795                 "auto",
1796                 "srgb",
1797                 "linearrgb"
1798             ],
1799             "codegen-properties": {
1800                 "svg": true
1801             },
1802             "specification": {
1803                 "category": "svg",
1804                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty"
1805             }
1806         },
1807         "color-profile": {
1808             "codegen-properties": {
1809                 "skip-builder": true,
1810                 "svg": true
1811             },
1812             "status": {
1813                 "status": "not implemented",
1814                 "enabled-by-default": true
1815             },
1816             "specification": {
1817                 "category": "svg",
1818                 "url": "https://www.w3.org/TR/SVG11/color.html#ColorProfileProperty"
1819             }
1820         },
1821         "color-rendering": {
1822             "inherited": true,
1823             "values": [
1824                 "auto",
1825                 "optimizespeed",
1826                 "optimizequality"
1827             ],
1828             "codegen-properties": {
1829                 "svg": true
1830             },
1831             "specification": {
1832                 "category": "svg",
1833                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorRenderingProperty"
1834             }
1835         },
1836         "content": {
1837             "codegen-properties": {
1838                 "custom": "All"
1839             },
1840             "specification": {
1841                 "category": "css-content",
1842                 "url": "https://www.w3.org/TR/css-content-3/#content-property"
1843             }
1844         },
1845         "counter-increment": {
1846             "codegen-properties": {
1847                 "custom": "All"
1848             },
1849             "specification": {
1850                 "category": "css-lists",
1851                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-increment"
1852             }
1853         },
1854         "counter-reset": {
1855             "codegen-properties": {
1856                 "custom": "All"
1857             },
1858             "specification": {
1859                 "category": "css-lists",
1860                 "url": "https://www.w3.org/TR/css-lists-3/#counter-properties"
1861             }
1862         },
1863         "counter-set": {
1864             "codegen-properties": {
1865                 "skip-codegen": true
1866             },
1867             "status": {
1868                 "status": "not implemented"
1869             },
1870             "specification": {
1871                 "category": "css-lists",
1872                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-set"
1873             }
1874         },
1875         "cursor": {
1876             "values": [
1877                 "context-menu",
1878                 "help",
1879                 "pointer",
1880                 "progress",
1881                 "wait",
1882                 "cell",
1883                 "crosshair",
1884                 "text",
1885                 "vertical-text",
1886                 "alias",
1887                 "copy",
1888                 "move",
1889                 "no-drop",
1890                 "not-allowed",
1891                 "grab",
1892                 {
1893                     "value": "-webkit-grab",
1894                     "status": "non-standard"
1895                 },
1896                 "grabbing",
1897                 {
1898                     "value": "-webkit-grabbing",
1899                     "status": "non-standard"
1900                 },
1901                 "e-resize",
1902                 "n-resize",
1903                 "ne-resize",
1904                 "nw-resize",
1905                 "s-resize",
1906                 "se-resize",
1907                 "sw-resize",
1908                 "w-resize",
1909                 "ew-resize",
1910                 "ns-resize",
1911                 "nesw-resize",
1912                 "nwse-resize",
1913                 "col-resize",
1914                 "row-resize",
1915                 "all-scroll",
1916                 "zoom-in",
1917                 "zoom-out",
1918                 {
1919                     "value": "-webkit-zoom-in",
1920                     "status": "non-standard"
1921                 },
1922                 {
1923                     "value": "-webkit-zoom-out",
1924                     "status": "non-standard"
1925                 }
1926             ],
1927             "inherited": true,
1928             "codegen-properties": {
1929                 "custom": "All"
1930             },
1931             "specification": {
1932                 "category": "css-ui",
1933                 "url": "https://www.w3.org/TR/css-ui-3/#cursor"
1934             }
1935         },
1936         "-webkit-cursor-visibility": {
1937             "inherited": true,
1938             "values": [
1939                 "auto",
1940                 "auto-hide"
1941             ],
1942             "codegen-properties": {
1943                 "enable-if": "ENABLE_CURSOR_VISIBILITY"
1944             },
1945             "status": "non-standard"
1946         },
1947         "cx": {
1948             "codegen-properties": {
1949                 "initial": "initialZeroLength",
1950                 "converter": "Length"
1951             },
1952             "specification": {
1953                 "category": "svg",
1954                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1955             }
1956         },
1957         "cy": {
1958             "codegen-properties": {
1959                 "initial": "initialZeroLength",
1960                 "converter": "Length"
1961             },
1962             "specification": {
1963                 "category": "svg",
1964                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1965             }
1966         },
1967         "dominant-baseline": {
1968             "values": [
1969                 "auto",
1970                 "middle",
1971                 "use-script",
1972                 "no-change",
1973                 "reset-size",
1974                 "central",
1975                 "text-before-edge",
1976                 "text-after-edge",
1977                 "ideographic",
1978                 "hanging",
1979                 "mathematical"
1980             ],
1981             "codegen-properties": {
1982                 "svg": true
1983             },
1984             "specification": {
1985                 "category": "svg",
1986                 "url": "https://www.w3.org/TR/SVG11/text.html#DominantBaselineProperty"
1987             }
1988         },
1989         "empty-cells": {
1990             "inherited": true,
1991             "values": [
1992                 "show",
1993                 "hide"
1994             ],
1995             "specification": {
1996                 "category": "css-22",
1997                 "url": "https://www.w3.org/TR/CSS2/tables.html#empty-cells"
1998             }
1999         },
2000         "enable-background": {
2001             "codegen-properties": {
2002                 "skip-builder": true
2003             },
2004             "status": {
2005                 "status": "not implemented",
2006                 "enabled-by-default": true
2007             },
2008             "specification": {
2009                 "category": "svg"
2010             }
2011         },
2012         "fill": {
2013             "inherited": true,
2014             "codegen-properties": {
2015                 "custom": "All",
2016                 "svg": true
2017             },
2018             "specification": {
2019                 "category": "svg",
2020                 "url": "https://www.w3.org/TR/SVG/painting.html#FillProperty"
2021             }
2022         },
2023         "fill-opacity": {
2024             "inherited": true,
2025             "codegen-properties": {
2026                 "converter": "Opacity",
2027                 "svg": true
2028             },
2029             "specification": {
2030                 "category": "svg",
2031                 "url": "https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty"
2032             }
2033         },
2034         "fill-rule": {
2035             "inherited": true,
2036             "values": [
2037                 "nonzero",
2038                 "evenodd"
2039             ],
2040             "codegen-properties": {
2041                 "svg": true
2042             },
2043             "specification": {
2044                 "category": "svg",
2045                 "url": "https://www.w3.org/TR/SVG/painting.html#FillRuleProperty"
2046             }
2047         },
2048         "float": {
2049             "values": [
2050                 "left",
2051                 "right",
2052                 "none"
2053             ],
2054             "codegen-properties": {
2055                 "name-for-methods": "Floating"
2056             },
2057             "specification": {
2058                 "category": "css-22",
2059                 "url": "https://www.w3.org/TR/CSS22/visuren.html#float-position"
2060             }
2061         },
2062         "flood-color": {
2063             "codegen-properties": {
2064                 "converter": "SVGColor",
2065                 "svg": true
2066             },
2067             "specification": {
2068                 "category": "svg",
2069                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodColorProperty"
2070             }
2071         },
2072         "flood-opacity": {
2073             "codegen-properties": {
2074                 "converter": "Opacity",
2075                 "svg": true
2076             },
2077             "specification": {
2078                 "category": "svg",
2079                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodOpacityProperty"
2080             }
2081         },
2082         "glyph-orientation-horizontal": {
2083             "inherited": true,
2084             "codegen-properties": {
2085                 "converter": "GlyphOrientation",
2086                 "svg": true
2087             },
2088             "specification": {
2089                 "category": "svg",
2090                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationHorizontalProperty"
2091             }
2092         },
2093         "glyph-orientation-vertical": {
2094             "inherited": true,
2095             "codegen-properties": {
2096                 "converter": "GlyphOrientationOrAuto",
2097                 "svg": true
2098             },
2099             "specification": {
2100                 "category": "svg",
2101                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationVerticalProperty"
2102             }
2103         },
2104         "hanging-punctuation": {
2105             "inherited": true,
2106             "codegen-properties": {
2107                 "converter": "HangingPunctuation"
2108             },
2109             "specification": {
2110                 "category": "css-text",
2111                 "url": "https://www.w3.org/TR/css-text-3/#hanging-punctuation"
2112             }
2113         },
2114         "height": {
2115             "codegen-properties": {
2116                 "initial": "initialSize",
2117                 "converter": "LengthSizing"
2118             },
2119             "specification": {
2120                 "category": "css-22",
2121                 "url": "https://www.w3.org/TR/CSS22/visudet.html#the-height-property"
2122             }
2123         },
2124         "image-orientation": {
2125             "inherited": true,
2126             "codegen-properties": {
2127                 "enable-if": "ENABLE_CSS_IMAGE_ORIENTATION"
2128             },
2129             "status": {
2130                 "status": "under consideration",
2131                 "enabled-by-default": false
2132             },
2133             "specification": {
2134                 "category": "css-images",
2135                 "url": "https://www.w3.org/TR/css3-images/#the-image-orientation"
2136             }
2137         },
2138         "image-rendering": {
2139             "inherited": true,
2140             "values": [
2141                 "auto",
2142                 {
2143                     "value": "optimizespeed",
2144                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2145                 },
2146                 {
2147                     "value": "optimizequality",
2148                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2149                 },
2150                 {
2151                     "value": "-webkit-crisp-edges",
2152                     "status": "non-standard"
2153                 },
2154                 {
2155                     "value": "-webkit-optimize-contrast",
2156                     "status": "non-standard"
2157                 },
2158                 "crisp-edges",
2159                 "pixelated"
2160             ],
2161             "specification": {
2162                 "category": "css-images",
2163                 "url": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering"
2164             }
2165         },
2166         "image-resolution": {
2167             "inherited": true,
2168             "codegen-properties": {
2169                 "custom": "All",
2170                 "enable-if": "ENABLE_CSS_IMAGE_RESOLUTION"
2171             },
2172             "status": {
2173                 "status": "under consideration",
2174                 "enabled-by-default": false
2175             },
2176             "specification": {
2177                 "category": "css-images",
2178                 "url": "https://www.w3.org/TR/css3-images/#image-resolution"
2179             }
2180         },
2181         "kerning": {
2182             "inherited": true,
2183             "codegen-properties": {
2184                 "converter": "SVGLengthValue",
2185                 "svg": true
2186             },
2187             "specification": {
2188                 "category": "svg",
2189                 "url": "https://www.w3.org/TR/SVG11/text.html#KerningProperty"
2190             }
2191         },
2192         "left": {
2193             "codegen-properties": {
2194                 "initial": "initialOffset",
2195                 "converter": "LengthOrAuto"
2196             },
2197             "specification": {
2198                 "category": "css-22",
2199                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-left"
2200             }
2201         },
2202         "letter-spacing": {
2203             "inherited": true,
2204             "codegen-properties": {
2205                 "converter": "Spacing"
2206             },
2207             "specification": {
2208                 "category": "css-text",
2209                 "url": "https://www.w3.org/TR/css-text-3/#letter-spacing-property"
2210             }
2211         },
2212         "lighting-color": {
2213             "codegen-properties": {
2214                 "converter": "SVGColor",
2215                 "svg": true
2216             }
2217         },
2218         "line-height": {
2219             "inherited": true,
2220             "codegen-properties": [
2221                 {
2222                     "custom": "All",
2223                     "enable-if": "ENABLE_TEXT_AUTOSIZING"
2224                 },
2225                 {
2226                     "getter": "specifiedLineHeight",
2227                     "conditional-converter": "LineHeight",
2228                     "enable-if": "!ENABLE_TEXT_AUTOSIZING"
2229                 }
2230             ],
2231             "specification": {
2232                 "category": "css-22",
2233                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-line-height"
2234             }
2235         },
2236         "list-style": {
2237             "inherited": true,
2238             "codegen-properties": {
2239                 "longhands": [
2240                     "list-style-type",
2241                     "list-style-position",
2242                     "list-style-image"
2243                 ]
2244             },
2245             "specification": {
2246                 "category": "css-lists",
2247                 "url": "https://www.w3.org/TR/css-lists-3/#list-style-property"
2248             }
2249         },
2250         "list-style-image": {
2251             "inherited": true,
2252             "codegen-properties": {
2253                 "converter": "StyleImage<CSSPropertyListStyleImage>"
2254             },
2255             "specification": {
2256                 "category": "css-lists",
2257                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-image"
2258             }
2259         },
2260         "list-style-position": {
2261             "inherited": true,
2262             "values": [
2263                 "inside",
2264                 "outside"
2265             ],
2266             "specification": {
2267                 "category": "css-lists",
2268                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-position"
2269             }
2270         },
2271         "list-style-type": {
2272             "inherited": true,
2273             "values": [
2274                 "disc",
2275                 "circle",
2276                 "square",
2277                 "decimal",
2278                 "decimal-leading-zero",
2279                 "arabic-indic",
2280                 "binary",
2281                 "bengali",
2282                 "cambodian",
2283                 "khmer",
2284                 "devanagari",
2285                 "gujarati",
2286                 "gurmukhi",
2287                 "kannada",
2288                 "lower-hexadecimal",
2289                 "lao",
2290                 "malayalam",
2291                 "mongolian",
2292                 "myanmar",
2293                 "octal",
2294                 "oriya",
2295                 "persian",
2296                 "urdu",
2297                 "telugu",
2298                 "tibetan",
2299                 "thai",
2300                 "upper-hexadecimal",
2301                 "lower-roman",
2302                 "upper-roman",
2303                 "lower-greek",
2304                 "lower-alpha",
2305                 "lower-latin",
2306                 "upper-alpha",
2307                 "upper-latin",
2308                 "afar",
2309                 "ethiopic-halehame-aa-et",
2310                 "ethiopic-halehame-aa-er",
2311                 "amharic",
2312                 "ethiopic-halehame-am-et",
2313                 "amharic-abegede",
2314                 "ethiopic-abegede-am-et",
2315                 "cjk-earthly-branch",
2316                 "cjk-heavenly-stem",
2317                 "ethiopic",
2318                 "ethiopic-halehame-gez",
2319                 "ethiopic-abegede",
2320                 "ethiopic-abegede-gez",
2321                 "hangul-consonant",
2322                 "hangul",
2323                 "lower-norwegian",
2324                 "oromo",
2325                 "ethiopic-halehame-om-et",
2326                 "sidama",
2327                 "ethiopic-halehame-sid-et",
2328                 "somali",
2329                 "ethiopic-halehame-so-et",
2330                 "tigre",
2331                 "ethiopic-halehame-tig",
2332                 "tigrinya-er",
2333                 "ethiopic-halehame-ti-er",
2334                 "tigrinya-er-abegede",
2335                 "ethiopic-abegede-ti-er",
2336                 "tigrinya-et",
2337                 "ethiopic-halehame-ti-et",
2338                 "tigrinya-et-abegede",
2339                 "ethiopic-abegede-ti-et",
2340                 "upper-greek",
2341                 "upper-norwegian",
2342                 "asterisks",
2343                 "footnotes",
2344                 "hebrew",
2345                 "armenian",
2346                 "lower-armenian",
2347                 "upper-armenian",
2348                 "georgian",
2349                 "cjk-ideographic",
2350                 "hiragana",
2351                 "katakana",
2352                 "hiragana-iroha",
2353                 "katakana-iroha",
2354                 "none"
2355             ],
2356             "specification": {
2357                 "category": "css-lists",
2358                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-type"
2359             }
2360         },
2361         "margin": {
2362             "codegen-properties": {
2363                 "longhands": [
2364                     "margin-top",
2365                     "margin-right",
2366                     "margin-bottom",
2367                     "margin-left"
2368                 ]
2369             },
2370             "specification": {
2371                 "category": "css-22",
2372                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin"
2373             }
2374         },
2375         "margin-bottom": {
2376             "codegen-properties": {
2377                 "initial": "initialMargin",
2378                 "converter": "LengthOrAuto"
2379             },
2380             "specification": {
2381                 "category": "css-22",
2382                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-bottom"
2383             }
2384         },
2385         "margin-left": {
2386             "codegen-properties": {
2387                 "initial": "initialMargin",
2388                 "converter": "LengthOrAuto"
2389             },
2390             "specification": {
2391                 "category": "css-22",
2392                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-left"
2393             }
2394         },
2395         "margin-right": {
2396             "codegen-properties": {
2397                 "initial": "initialMargin",
2398                 "converter": "LengthOrAuto"
2399             },
2400             "specification": {
2401                 "category": "css-22",
2402                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-right"
2403             }
2404         },
2405         "margin-top": {
2406             "codegen-properties": {
2407                 "initial": "initialMargin",
2408                 "converter": "LengthOrAuto"
2409             },
2410             "specification": {
2411                 "category": "css-22",
2412                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-top"
2413             }
2414         },
2415         "marker": {
2416             "inherited": true,
2417             "codegen-properties": {
2418                 "longhands": [
2419                     "marker-start",
2420                     "marker-mid",
2421                     "marker-end"
2422                 ]
2423             },
2424             "specification": {
2425                 "category": "svg",
2426                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerProperty"
2427             }
2428         },
2429         "marker-end": {
2430             "inherited": true,
2431             "codegen-properties": {
2432                 "name-for-methods": "MarkerEndResource",
2433                 "converter": "SVGURIReference",
2434                 "svg": true
2435             },
2436             "specification": {
2437                 "category": "svg",
2438                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerEndProperty"
2439             }
2440         },
2441         "marker-mid": {
2442             "inherited": true,
2443             "codegen-properties": {
2444                 "name-for-methods": "MarkerMidResource",
2445                 "converter": "SVGURIReference",
2446                 "svg": true
2447             },
2448             "specification": {
2449                 "category": "svg",
2450                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerMidProperty"
2451             }
2452         },
2453         "marker-start": {
2454             "inherited": true,
2455             "codegen-properties": {
2456                 "name-for-methods": "MarkerStartResource",
2457                 "converter": "SVGURIReference",
2458                 "svg": true
2459             },
2460             "specification": {
2461                 "category": "svg",
2462                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerStartProperty"
2463             }
2464         },
2465         "mask": {
2466             "codegen-properties": {
2467                 "name-for-methods": "MaskerResource",
2468                 "converter": "SVGURIReference",
2469                 "svg": true
2470             },
2471             "specification": {
2472                 "category": "svg",
2473                 "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty"
2474             }
2475         },
2476         "mask-type": {
2477             "values": [
2478                 "luminance",
2479                 "alpha"
2480             ],
2481             "codegen-properties": {
2482                 "svg": true
2483             },
2484             "specification": {
2485                 "category": "css-masking",
2486                 "url": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type"
2487             }
2488         },
2489         "max-height": {
2490             "codegen-properties": {
2491                 "initial": "initialMaxSize",
2492                 "converter": "LengthMaxSizing"
2493             },
2494             "specification": {
2495                 "category": "css-22",
2496                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-height"
2497             }
2498         },
2499         "max-width": {
2500             "codegen-properties": {
2501                 "initial": "initialMaxSize",
2502                 "converter": "LengthMaxSizing"
2503             },
2504             "specification": {
2505                 "category": "css-22",
2506                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-width"
2507             }
2508         },
2509         "min-height": {
2510             "codegen-properties": {
2511                 "initial": "initialMinSize",
2512                 "converter": "LengthSizing"
2513             },
2514             "specification": {
2515                 "category": "css-22",
2516                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-height"
2517             }
2518         },
2519         "min-width": {
2520             "codegen-properties": {
2521                 "initial": "initialMinSize",
2522                 "converter": "LengthSizing"
2523             },
2524             "specification": {
2525                 "category": "css-22",
2526                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-width"
2527             }
2528         },
2529         "object-fit": {
2530             "values": [
2531                 "fill",
2532                 "contain",
2533                 "cover",
2534                 "none",
2535                 "scale-down"
2536             ],
2537             "specification": {
2538                 "category": "css-images",
2539                 "url": "https://www.w3.org/TR/css3-images/#object-fit"
2540             }
2541         },
2542         "object-position": {
2543             "codegen-properties": {
2544                 "converter": "ObjectPosition"
2545             },
2546             "specification": {
2547                 "category": "css-images",
2548                 "url": "https://www.w3.org/TR/css3-images/#object-position"
2549             }
2550         },
2551         "opacity": {
2552             "codegen-properties": {
2553                 "aliases": [
2554                     "-webkit-opacity"
2555                 ]
2556             },
2557             "status": {
2558                 "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."
2559             },
2560             "specification": {
2561                 "category": "css-color",
2562                 "url": "https://www.w3.org/TR/css3-color/#opacity"
2563             }
2564         },
2565         "orphans": {
2566             "inherited": true,
2567             "codegen-properties": {
2568                 "auto-functions": true
2569             },
2570             "specification": {
2571                 "category": "css-22",
2572                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
2573             }
2574         },
2575         "outline": {
2576             "codegen-properties": {
2577                 "longhands": [
2578                     "outline-color",
2579                     "outline-style",
2580                     "outline-width"
2581                 ]
2582             },
2583             "specification": {
2584                 "category": "css-ui",
2585                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline"
2586             }
2587         },
2588         "outline-color": {
2589             "codegen-properties": {
2590                 "initial": "invalidColor",
2591                 "visited-link-color-support": true
2592             },
2593             "specification": {
2594                 "category": "css-ui",
2595                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-color"
2596             }
2597         },
2598         "outline-offset": {
2599             "codegen-properties": {
2600                 "converter": "ComputedLength<float>"
2601             },
2602             "specification": {
2603                 "category": "css-ui",
2604                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-offset"
2605             }
2606         },
2607         "outline-style": {
2608             "values": [
2609                 "auto",
2610                 "none",
2611                 "inset",
2612                 "groove",
2613                 "outset",
2614                 "ridge",
2615                 "dotted",
2616                 "dashed",
2617                 "solid",
2618                 "double"
2619             ],
2620             "codegen-properties": {
2621                 "custom": "All"
2622             },
2623             "specification": {
2624                 "category": "css-ui",
2625                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-style"
2626             }
2627         },
2628         "outline-width": {
2629             "codegen-properties": {
2630                 "converter": "LineWidth<float>"
2631             },
2632             "specification": {
2633                 "category": "css-ui",
2634                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-width"
2635             }
2636         },
2637         "overflow": {
2638             "codegen-properties": {
2639                 "longhands": [
2640                     "overflow-x",
2641                     "overflow-y"
2642                 ]
2643             },
2644             "specification": {
2645                 "category": "css-22",
2646                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow"
2647             }
2648         },
2649         "overflow-wrap": {
2650             "values": [
2651                 "normal",
2652                 "break-word"
2653             ],
2654             "specification": {
2655                 "category": "css-text",
2656                 "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
2657             }
2658         },
2659         "overflow-x": {
2660             "values": [
2661                 "visible",
2662                 "hidden",
2663                 "scroll",
2664                 "auto",
2665                 "overlay"
2666             ],
2667             "specification": {
2668                 "category": "css-overflow",
2669                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-x"
2670             }
2671         },
2672         "overflow-y": {
2673             "values": [
2674                 "visible",
2675                 "hidden",
2676                 "scroll",
2677                 "auto",
2678                 "overlay",
2679                 "-webkit-paged-x",
2680                 "-webkit-paged-y"
2681             ],
2682             "specification": {
2683                 "category": "css-overflow",
2684                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-y"
2685             }
2686         },
2687         "padding": {
2688             "codegen-properties": {
2689                 "longhands": [
2690                     "padding-top",
2691                     "padding-right",
2692                     "padding-bottom",
2693                     "padding-left"
2694                 ]
2695             },
2696             "specification": {
2697                 "category": "css-22",
2698                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding"
2699             }
2700         },
2701         "padding-bottom": {
2702             "codegen-properties": {
2703                 "initial": "initialPadding",
2704                 "converter": "Length"
2705             },
2706             "specification": {
2707                 "category": "css-22",
2708                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-bottom"
2709             }
2710         },
2711         "padding-left": {
2712             "codegen-properties": {
2713                 "initial": "initialPadding",
2714                 "converter": "Length"
2715             },
2716             "specification": {
2717                 "category": "css-22",
2718                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-left"
2719             }
2720         },
2721         "padding-right": {
2722             "codegen-properties": {
2723                 "initial": "initialPadding",
2724                 "converter": "Length"
2725             },
2726             "specification": {
2727                 "category": "css-22",
2728                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-right"
2729             }
2730         },
2731         "padding-top": {
2732             "codegen-properties": {
2733                 "initial": "initialPadding",
2734                 "converter": "Length"
2735             },
2736             "specification": {
2737                 "category": "css-22",
2738                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"
2739             }
2740         },
2741         "page": {
2742             "codegen-properties": {
2743                 "skip-builder": true
2744             },
2745             "specification": {
2746                 "category": "css-page",
2747                 "url": "https://www.w3.org/TR/css3-page/#page"
2748             }
2749         },
2750         "page-break-after": {
2751             "values": [
2752                 "auto",
2753                 "always",
2754                 "avoid",
2755                 "left",
2756                 "right"
2757             ],
2758             "codegen-properties": {
2759                 "initial": "initialBreakBetween",
2760                 "name-for-methods": "BreakAfter",
2761                 "converter": "PageBreakBetween"
2762             },
2763             "specification": {
2764                 "category": "css-22",
2765                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-after"
2766             }
2767         },
2768         "page-break-before": {
2769             "values": [
2770                 "auto",
2771                 "always",
2772                 "avoid",
2773                 "left",
2774                 "right"
2775             ],
2776             "codegen-properties": {
2777                 "initial": "initialBreakBetween",
2778                 "name-for-methods": "BreakBefore",
2779                 "converter": "PageBreakBetween"
2780             },
2781             "specification": {
2782                 "category": "css-22",
2783                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-before"
2784             }
2785         },
2786         "page-break-inside": {
2787             "values": [
2788                 "auto",
2789                 "avoid"
2790             ],
2791             "codegen-properties": {
2792                 "initial": "initialBreakInside",
2793                 "name-for-methods": "BreakInside",
2794                 "converter": "PageBreakInside"
2795             },
2796             "specification": {
2797                 "category": "css-22",
2798                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-inside"
2799             }
2800         },
2801         "paint-order": {
2802             "codegen-properties": {
2803                 "converter": "PaintOrder"
2804             },
2805             "status": "supported",
2806             "specification": {
2807                 "category": "css-text-fill-and-stroke",
2808                 "obsolete-category": "svg",
2809                 "obsolete-url": "https://www.w3.org/TR/SVG2/painting.html#PaintOrderProperty"
2810             }
2811         },
2812         "pointer-events": {
2813             "inherited": true,
2814             "values": [
2815                 "visible",
2816                 "none",
2817                 "all",
2818                 "auto",
2819                 "visiblepainted",
2820                 "visiblefill",
2821                 "visiblestroke",
2822                 "painted",
2823                 "fill",
2824                 "stroke"
2825             ],
2826             "specification": {
2827                 "category": "svg",
2828                 "url": "https://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty"
2829             }
2830         },
2831         "position": {
2832             "values": [
2833                 "static",
2834                 "relative",
2835                 "absolute",
2836                 "fixed",
2837                 {
2838                     "value": "-webkit-sticky",
2839                     "status": "experimental",
2840                     "url": "https://www.w3.org/TR/css-position-3/#valdef-position-sticky"
2841                 }
2842             ],
2843             "specification": {
2844                 "category": "css-22",
2845                 "url": "https://www.w3.org/TR/CSS2/visuren.html#propdef-position"
2846             }
2847         },
2848         "quotes": {
2849             "inherited": true,
2850             "codegen-properties": {
2851                 "converter": "Quotes"
2852             },
2853             "specification": {
2854                 "category": "css-22",
2855                 "url": "https://www.w3.org/TR/CSS22/generate.html#propdef-quotes"
2856             }
2857         },
2858         "r": {
2859             "codegen-properties": {
2860                 "initial": "initialZeroLength",
2861                 "converter": "Length"
2862             },
2863             "specification": {
2864                 "category": "svg",
2865                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2866             }
2867         },
2868         "resize": {
2869             "inherited": true,
2870             "values": [
2871                 "none",
2872                 "both",
2873                 "horizontal",
2874                 "vertical",
2875                 "auto"
2876             ],
2877             "codegen-properties": {
2878                 "converter": "Resize"
2879             },
2880             "specification": {
2881                 "category": "css-ui",
2882                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-resize"
2883             }
2884         },
2885         "right": {
2886             "codegen-properties": {
2887                 "initial": "initialOffset",
2888                 "converter": "LengthOrAuto"
2889             },
2890             "specification": {
2891                 "category": "css-22",
2892                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-right"
2893             }
2894         },
2895         "rx": {
2896             "codegen-properties": {
2897                 "initial": "initialZeroLength",
2898                 "converter": "Length"
2899             },
2900             "specification": {
2901                 "category": "svg",
2902                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2903             }
2904         },
2905         "ry": {
2906             "codegen-properties": {
2907                 "initial": "initialZeroLength",
2908                 "converter": "Length"
2909             },
2910             "specification": {
2911                 "category": "svg",
2912                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2913             }
2914         },
2915         "shape-rendering": {
2916             "inherited": true,
2917             "values": [
2918                 "auto",
2919                 "optimizespeed",
2920                 "crispedges",
2921                 "geometricprecision"
2922             ],
2923             "codegen-properties": {
2924                 "svg": true
2925             },
2926             "specification": {
2927                 "category": "svg",
2928                 "url": "https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty"
2929             }
2930         },
2931         "size": {
2932             "codegen-properties": {
2933                 "custom": "All"
2934             },
2935             "specification": {
2936                 "category": "css-page",
2937                 "url": "https://www.w3.org/TR/css3-page/#page-size-prop"
2938             }
2939         },
2940         "src": {
2941             "codegen-properties": {
2942                 "skip-builder": true
2943             },
2944             "specification": {
2945                 "category": "css-fonts",
2946                 "url": "https://www.w3.org/TR/css-fonts-3/#src-desc"
2947             }
2948         },
2949         "stop-color": {
2950             "codegen-properties": {
2951                 "converter": "SVGColor",
2952                 "svg": true
2953             },
2954             "specification": {
2955                 "category": "svg",
2956                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopColorProperty"
2957             }
2958         },
2959         "stop-opacity": {
2960             "codegen-properties": {
2961                 "converter": "Opacity",
2962                 "svg": true
2963             },
2964             "specification": {
2965                 "category": "svg",
2966                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopOpacityProperty"
2967             }
2968         },
2969         "stroke": {
2970             "inherited": true,
2971             "codegen-properties": {
2972                 "custom": "All",
2973                 "svg": true
2974             },
2975             "specification": {
2976                 "category": "svg",
2977                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeProperty"
2978             }
2979         },
2980         "stroke-dasharray": {
2981             "inherited": true,
2982             "codegen-properties": {
2983                 "name-for-methods": "StrokeDashArray",
2984                 "converter": "StrokeDashArray",
2985                 "svg": true
2986             },
2987             "specification": {
2988                 "category": "svg",
2989                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty"
2990             }
2991         },
2992         "stroke-dashoffset": {
2993             "inherited": true,
2994             "codegen-properties": {
2995                 "initial": "initialZeroLength",
2996                 "name-for-methods": "StrokeDashOffset",
2997                 "converter": "Length"
2998             },
2999             "specification": {
3000                 "category": "svg",
3001                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDashoffsetProperty"
3002             }
3003         },
3004         "stroke-linecap": {
3005             "inherited": true,
3006             "values": [
3007                 "butt",
3008                 "round",
3009                 "square"
3010             ],
3011             "codegen-properties": {
3012                 "name-for-methods": "CapStyle"
3013             },
3014             "status": "supported",
3015             "specification": {
3016                 "category": "css-text-fill-and-stroke",
3017                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap",
3018                 "obsolete-category": "svg",
3019                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty"
3020             }
3021         },
3022         "stroke-linejoin": {
3023             "inherited": true,
3024             "values": [
3025                 "miter",
3026                 "round",
3027                 "bevel"
3028             ],
3029             "codegen-properties": {
3030                 "name-for-methods": "JoinStyle"
3031             },
3032             "status": "supported",
3033             "specification": {
3034                 "category": "css-text-fill-and-stroke",
3035                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin",
3036                 "obsolete-category": "svg",
3037                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3038             }
3039         },
3040         "stroke-miterlimit": {
3041             "inherited": true,
3042             "codegen-properties": {
3043                 "name-for-methods": "StrokeMiterLimit",
3044                 "converter": "Number<float>"
3045             },
3046             "status": "supported",
3047             "specification": {
3048                 "category": "css-text-fill-and-stroke",
3049                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-miterlimit",
3050                 "obsolete-category": "svg",
3051                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3052             }
3053         },
3054         "stroke-opacity": {
3055             "inherited": true,
3056             "codegen-properties": {
3057                 "converter": "Opacity",
3058                 "svg": true
3059             },
3060             "specification": {
3061                 "category": "svg",
3062                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeOpacityProperty"
3063             }
3064         },
3065         "stroke-color": {
3066             "inherited": true,
3067             "codegen-properties": {
3068                 "custom": "Value",
3069                 "initial": "invalidColor",
3070                 "visited-link-color-support": true
3071             },
3072             "status": "supported",
3073             "specification": {
3074                 "category": "css-text-fill-and-stroke",
3075                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-color"
3076             }
3077         },
3078         "stroke-width": {
3079             "inherited": true,
3080             "codegen-properties": {
3081                 "custom": "Value",
3082                 "initial": "initialOneLength",
3083                 "converter": "Length"
3084             },
3085             "status": "supported",
3086             "specification": {
3087                 "category": "css-text-fill-and-stroke",
3088                 "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-width",
3089                 "obsolete-category": "svg",
3090                 "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeWidthProperty"
3091             }
3092         },
3093         "speak": {
3094             "inherited": true,
3095             "values": [
3096                 "none",
3097                 "normal",
3098                 "spell-out",
3099                 "digits",
3100                 "literal-punctuation",
3101                 "no-punctuation"
3102             ],
3103             "specification": {
3104                 "category": "css-speech",
3105                 "url": "https://www.w3.org/TR/css3-speech/#speak"
3106             }
3107         },
3108         "table-layout": {
3109             "values": [
3110                 "auto",
3111                 "fixed"
3112             ],
3113             "specification": {
3114                 "category": "css-22",
3115                 "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-table-layout"
3116             }
3117         },
3118         "tab-size": {
3119             "inherited": true,
3120             "specification": {
3121                 "category": "css-text",
3122                 "url": "https://www.w3.org/TR/css-text-3/#tab-size"
3123             }
3124         },
3125         "text-align": {
3126             "inherited": true,
3127             "values": [
3128                 {
3129                     "value": "-webkit-auto",
3130                     "status": "non-standard"
3131                 },
3132                 "left",
3133                 "right",
3134                 "center",
3135                 "justify",
3136                 "-webkit-left",
3137                 "-webkit-right",
3138                 "-webkit-center",
3139                 {
3140                     "value": "-webkit-match-parent",
3141                     "ur": "https://www.w3.org/TR/css-text-3/#text-align"
3142                 },
3143                 {
3144                     "value": "start",
3145                     "url": "https://www.w3.org/TR/css-text-3/#text-align"
3146                 },
3147                 {
3148                     "value": "end",
3149                     "url": "https://www.w3.org/TR/css-text-3/#text-align"
3150                 }
3151             ],
3152             "codegen-properties": {
3153                 "converter": "TextAlign",
3154                 "custom": "Initial|Value"
3155             },
3156             "specification": {
3157                 "category": "css-22",
3158                 "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-align"
3159             }
3160         },
3161         "text-anchor": {
3162             "inherited": true,
3163             "values": [
3164                 "start",
3165                 "middle",
3166                 "end"
3167             ],
3168             "codegen-properties": {
3169                 "svg": true
3170             },
3171             "specification": {
3172                 "category": "svg",
3173                 "url": "https://www.w3.org/TR/SVG/text.html#TextAnchorProperty"
3174             }
3175         },
3176         "text-decoration": {
3177             "values": [
3178                 "underline",
3179                 "overline",
3180                 "line-through",
3181                 {
3182                     "value": "blink",
3183                     "status": "not considering"
3184                 }
3185             ],
3186             "codegen-properties": {
3187                 "converter": "TextDecoration"
3188             },
3189             "specification": {
3190                 "category": "css-22",
3191                 "url": "https://www.w3.org/TR/CSS2/text.html#propdef-text-decoration"
3192             }
3193         },
3194         "text-indent": {
3195             "inherited": true,
3196             "codegen-properties": {
3197                 "custom": "All"
3198             },
3199             "specification": {
3200                 "category": "css-22",
3201                 "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-indent"
3202             }
3203         },
3204         "text-line-through": {
3205             "codegen-properties": {
3206                 "skip-codegen": true
3207             },
3208             "status": "removed",
3209             "specification": {
3210                 "category": "css3-text",
3211                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through"
3212             }
3213         },
3214         "text-line-through-color": {
3215             "codegen-properties": {
3216                 "skip-codegen": true
3217             },
3218             "status": "removed",
3219             "specification": {
3220                 "category": "css3-text",
3221                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-color"
3222             }
3223         },
3224         "text-line-through-mode": {
3225             "values": [
3226                 "continuous",
3227                 "skip-white-space"
3228             ],
3229             "status": "removed",
3230             "codegen-properties": {
3231                 "skip-codegen": true
3232             },
3233             "specification": {
3234                 "category": "css3-text",
3235                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-mode"
3236             }
3237         },
3238         "text-line-through-style": {
3239             "values": [
3240                 "none",
3241                 "solid",
3242                 "double",
3243                 "dashed",
3244                 "dot-dash",
3245                 "dot-dot-dash",
3246                 "wave"
3247             ],
3248             "status": "removed",
3249             "codegen-properties": {
3250                 "skip-codegen": true
3251             },
3252             "specification": {
3253                 "category": "css3-text",
3254                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-style"
3255             }
3256         },
3257         "text-line-through-width": {
3258             "codegen-properties": {
3259                 "skip-codegen": true
3260             },
3261             "status": "removed",
3262             "specification": {
3263                 "category": "css3-text",
3264                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-width"
3265             }
3266         },
3267         "text-overflow": {
3268             "values": [
3269                 "clip",
3270                 "ellipsis"
3271             ],
3272             "specification": {
3273                 "category": "css-ui",
3274                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-text-overflow"
3275             }
3276         },
3277         "text-overline": {
3278             "codegen-properties": {
3279                 "skip-codegen": true
3280             },
3281             "status": "removed",
3282             "specification": {
3283                 "category": "css3-text",
3284                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline"
3285             }
3286         },
3287         "text-overline-color": {
3288             "codegen-properties": {
3289                 "skip-codegen": true
3290             },
3291             "status": "removed",
3292             "specification": {
3293                 "category": "css3-text",
3294                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-color"
3295             }
3296         },
3297         "text-overline-mode": {
3298             "values": [
3299                 "continuous",
3300                 "skip-white-space"
3301             ],
3302             "codegen-properties": {
3303                 "skip-codegen": true
3304             },
3305             "status": "removed",
3306             "specification": {
3307                 "category": "css3-text",
3308                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-mode"
3309             }
3310         },
3311         "text-overline-style": {
3312             "values": [
3313                 "none",
3314                 "solid",
3315                 "double",
3316                 "dashed",
3317                 "dot-dash",
3318                 "dot-dot-dash",
3319                 "wave"
3320             ],
3321             "codegen-properties": {
3322                 "skip-codegen": true
3323             },
3324             "status": "removed",
3325             "specification": {
3326                 "category": "css3-text",
3327                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-style"
3328             }
3329         },
3330         "text-overline-width": {
3331             "codegen-properties": {
3332                 "skip-codegen": true
3333             },
3334             "status": "removed",
3335             "specification": {
3336                 "category": "css3-text",
3337                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-width"
3338             }
3339         },
3340         "text-shadow": {
3341             "inherited": true,
3342             "codegen-properties": {
3343                 "custom": "All"
3344             },
3345             "specification": {
3346                 "category": "css-text-decor",
3347                 "url": "https://www.w3.org/TR/css-text-decor-3/#text-shadow"
3348             }
3349         },
3350         "text-transform": {
3351             "inherited": true,
3352             "values": [
3353                 "capitalize",
3354                 "uppercase",
3355                 "lowercase",
3356                 "none"
3357             ],
3358             "codegen-properties": {
3359                 "aliases": [
3360                     "-epub-text-transform"
3361                 ]
3362             },
3363             "specification": {
3364                 "category": "css-22",
3365                 "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-transform"
3366             }
3367         },
3368         "text-underline": {
3369             "codegen-properties": {
3370                 "skip-codegen": true
3371             },
3372             "status": "removed",
3373             "specification": {
3374                 "category": "css3-text",
3375                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline"
3376             }
3377         },
3378         "text-underline-color": {
3379             "codegen-properties": {
3380                 "skip-codegen": true
3381             },
3382             "status": "removed",
3383             "specification": {
3384                 "category": "css3-text",
3385                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-color"
3386             }
3387         },
3388         "text-underline-mode": {
3389             "values": [
3390                 "continuous",
3391                 "skip-white-space"
3392             ],
3393             "codegen-properties": {
3394                 "skip-codegen": true
3395             },
3396             "status": "removed",
3397             "specification": {
3398                 "category": "css3-text",
3399                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-mode"
3400             }
3401         },
3402         "text-underline-style": {
3403             "values": [
3404                 "none",
3405                 "solid",
3406                 "double",
3407                 "dashed",
3408                 "dot-dash",
3409                 "dot-dot-dash",
3410                 "wave"
3411             ],
3412             "codegen-properties": {
3413                 "skip-codegen": true
3414             },
3415             "status": "removed",
3416             "specification": {
3417                 "category": "css3-text",
3418                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-style"
3419             }
3420         },
3421         "text-underline-width": {
3422             "codegen-properties": {
3423                 "skip-codegen": true
3424             },
3425             "status": "removed",
3426             "specification": {
3427                 "category": "css3-text",
3428                 "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-width"
3429             }
3430         },
3431         "top": {
3432             "codegen-properties": {
3433                 "initial": "initialOffset",
3434                 "converter": "LengthOrAuto"
3435             },
3436             "specification": {
3437                 "category": "css-22",
3438                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-top"
3439             }
3440         },
3441         "transition": {
3442             "codegen-properties": {
3443                 "aliases": [
3444                     "-webkit-transition"
3445                 ],
3446                 "longhands": [
3447                     "transition-property",
3448                     "transition-duration",
3449                     "transition-timing-function",
3450                     "transition-delay"
3451                 ]
3452             },
3453             "specification": {
3454                 "category": "css-transitions",
3455                 "url": "https://www.w3.org/TR/css3-transitions/#transition-shorthand-property"
3456             }
3457         },
3458         "transition-delay": {
3459             "animatable": true,
3460             "codegen-properties": {
3461                 "aliases": [
3462                     "-webkit-transition-delay"
3463                 ],
3464                 "name-for-methods": "Delay"
3465             },
3466             "specification": {
3467                 "category": "css-transitions",
3468                 "url": "https://www.w3.org/TR/css3-transitions/#transition-delay"
3469             }
3470         },
3471         "transition-duration": {
3472             "animatable": true,
3473             "codegen-properties": {
3474                 "aliases": [
3475                     "-webkit-transition-duration"
3476                 ],
3477                 "name-for-methods": "Duration"
3478             },
3479             "specification": {
3480                 "category": "css-transitions",
3481                 "url": "https://www.w3.org/TR/css3-transitions/#transition-duration"
3482             }
3483         },
3484         "transition-property": {
3485             "animatable": true,
3486             "codegen-properties": {
3487                 "aliases": [
3488                     "-webkit-transition-property"
3489                 ],
3490                 "name-for-methods": "Property"
3491             },
3492             "specification": {