1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Properties to ignore from certain specs because they've moved around or are defined
# in multiple specifications. These properties should not be generated from these specs.
[]
# https://drafts.csswg.org/css-ui-4/#changes-22-12-2017
# Moved the box-sizing and text-overflow properties to [CSS-SIZING-3] and [CSS-OVERFLOW-4] respectively.
= ["box-sizing", "text-overflow"]
[]
# CSS Shapes [CSS-SHAPES-2] define the shape-inside property that aligns contents along the edge of a possibly non-rectangular wrapping area.
# (Round-Display just extends to add the `display` keyword which is specified in shapes-2 anyway)
= ["shape-inside"]
[]
= [
# https://drafts.csswg.org/css-backgrounds-4/#background-layers
# The name of this property is discussed in issue https://github.com/w3c/csswg-drafts/issues/9083.
"background-tbd",
# https://drafts.csswg.org/css-borders-4/#intro
# This module is currently maintained as a diff against the parts related to borders and box
# decorations of CSS Backgrounds and Borders Module Level 3 [CSS3BG]. We will fold in the text
# once it's all formatted up and in CR again, as this will reduce the effort of keeping them in
# sync (source diffs will be accurate in reflecting the differences).
# (IOW these are all defined in CSS Borders 4)
"border-color",
"border-top-color",
"border-right-color",
"border-bottom-color",
"border-left-color",
"border-style",
"border-top-style",
"border-right-style",
"border-bottom-style",
"border-left-style",
"border-width",
"border-top-width",
"border-right-width",
"border-bottom-width",
"border-left-width",
"border",
"border-top",
"border-right",
"border-bottom",
"border-left",
"border-radius",
"border-top-left-radius",
"border-top-right-radius",
"border-bottom-left-radius",
"border-bottom-right-radius",
"border-image",
"border-image-slice",
"border-image-source",
"border-image-outset",
"border-image-repeat",
"border-image-width",
"box-shadow",
]
[]
# While GCPM is effectively "deprecated" (see https://github.com/w3c/csswg-drafts/issues/6435) the "string-set"
# property definition inside of css-content is incomplete, as it is missing <content-list> (see
# https://github.com/w3c/csswg-drafts/issues/1829). This is properly defined in GCPM. So we should exclude the
# definition from css-content and use the more complete one from gcpm until both issues are properly addressed.
= ["string-set"]
[]
# https://drafts.csswg.org/css-logical-1/
# These are extended definitions which are already defined in their respective specifications
= [
# https://drafts.csswg.org/css-borders-4/
"border-block",
"border-block-color",
"border-block-end",
"border-block-end-color",
"border-block-end-style",
"border-block-end-width",
"border-block-start",
"border-block-start-color",
"border-block-start-style",
"border-block-start-width",
"border-block-style",
"border-block-width",
"border-end-end-radius",
"border-end-start-radius",
"border-inline",
"border-inline-color",
"border-inline-end",
"border-inline-end-color",
"border-inline-end-style",
"border-inline-end-width",
"border-inline-start",
"border-inline-start-color",
"border-inline-start-style",
"border-inline-start-width",
"border-inline-style",
"border-inline-width",
"border-start-end-radius",
"border-start-start-radius",
# https://drafts.csswg.org/css-position-4/
"inset",
"inset-block",
"inset-block-start",
"inset-block-end",
"inset-inline",
"inset-inline-end",
"inset-inline-start",
]
[]
# https://drafts.csswg.org/css-multicol/
# Moved the column-rule-* properties to [CSS-GAP-1].
= ["column-rule", "column-rule-width", "column-rule-color", "column-rule-style"]
[]
# https://drafts.csswg.org/css-flexbox-1/
# Moved some align properties to [CSS-ALIGN-3].
= ["align-content", "align-items", "align-self", "justify-content"]
[]
# The --* (custom properties) are handled specially in properties/mod.rs with a hardcoded Custom variant
= ["--*"]
[]
# aspect-ratio, width, height, inline-size, block-size are defined in both conditional and sizing specs. Sizing is the canonical location.
= ["aspect-ratio", "inline-size", "block-size", "width", "height"]
[]
# fallback is defined in both anchor-position and counter-styles specs. Counter-styles is the canonical location.
= ["fallback"]
[]
# src is defined in both color and fonts specs. Fonts is the canonical location (@font-face).
= ["src"]
[]
# speak-as is defined in both counter-styles and speech specs. Speech is the canonical location.
= ["speak-as"]
[]
# TODO: These properties use complex syntax or reference types that don't exist yet:
# - clip-path uses || combinator: <clip-source> | [ <basic-shape> || <geometry-box> ] | none
# - mask-border-width uses alternatives in repetition: [ <length-percentage> | <number> | auto ]{1,4}
# - clip uses <rect()> which requires RectFunction type
# - mask uses <mask-layer># which requires MaskLayer type
# - mask-composite uses <compositing-operator># which requires CompositingOperator type
# - mask-image uses <mask-reference># which requires MaskReference type
# - mask-mode uses <masking-mode># which requires MaskingMode type
# - mask-border-slice generates internal keywords type that conflicts
# - mask-border references mask-border-width which is excluded
= [
"clip",
"clip-path",
"mask",
"mask-border",
"mask-border-slice",
"mask-border-width",
"mask-composite",
"mask-image",
"mask-mode",
]
[]
# TODO: These properties depend on types that don't exist yet (filter-margin-*)
# They should be re-enabled once the necessary types are properly defined
= ["filter-margin-top", "filter-margin-right", "filter-margin-bottom", "filter-margin-left"]