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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
/// The keyword name for the `nth_child` pseudo-class in class macro syntax.
pub const KEYWORD_NTH_CHILD: &str = "nth_child";
/// The keyword name for the `nth_last_child` pseudo-class in class macro syntax.
pub const KEYWORD_NTH_LAST_CHILD: &str = "nth_last_child";
/// The keyword name for the `media` query block in class macro syntax.
pub const KEYWORD_MEDIA: &str = "media";
/// The keyword name for the `hover` pseudo-class in class macro syntax.
pub const KEYWORD_HOVER: &str = "hover";
/// The keyword name for the `focus` pseudo-class in class macro syntax.
pub const KEYWORD_FOCUS: &str = "focus";
/// The keyword name for the `focus_within` pseudo-class in class macro syntax.
pub const KEYWORD_FOCUS_WITHIN: &str = "focus_within";
/// The keyword name for the `focus_visible` pseudo-class in class macro syntax.
pub const KEYWORD_FOCUS_VISIBLE: &str = "focus_visible";
/// The keyword name for the `active` pseudo-class in class macro syntax.
pub const KEYWORD_ACTIVE: &str = "active";
/// The keyword name for the `visited` pseudo-class in class macro syntax.
pub const KEYWORD_VISITED: &str = "visited";
/// The keyword name for the `disabled` pseudo-class in class macro syntax.
pub const KEYWORD_DISABLED: &str = "disabled";
/// The keyword name for the `enabled` pseudo-class in class macro syntax.
pub const KEYWORD_ENABLED: &str = "enabled";
/// The keyword name for the `checked` pseudo-class in class macro syntax.
pub const KEYWORD_CHECKED: &str = "checked";
/// The keyword name for the `readonly` pseudo-class in class macro syntax.
pub const KEYWORD_READONLY: &str = "readonly";
/// The keyword name for the `readwrite` pseudo-class in class macro syntax.
pub const KEYWORD_READWRITE: &str = "readwrite";
/// The keyword name for the `required` pseudo-class in class macro syntax.
pub const KEYWORD_REQUIRED: &str = "required";
/// The keyword name for the `optional` pseudo-class in class macro syntax.
pub const KEYWORD_OPTIONAL: &str = "optional";
/// The keyword name for the `valid` pseudo-class in class macro syntax.
pub const KEYWORD_VALID: &str = "valid";
/// The keyword name for the `invalid` pseudo-class in class macro syntax.
pub const KEYWORD_INVALID: &str = "invalid";
/// The keyword name for the `in_range` pseudo-class in class macro syntax.
pub const KEYWORD_IN_RANGE: &str = "in_range";
/// The keyword name for the `out_of_range` pseudo-class in class macro syntax.
pub const KEYWORD_OUT_OF_RANGE: &str = "out_of_range";
/// The keyword name for the `placeholder_shown` pseudo-class in class macro syntax.
pub const KEYWORD_PLACEHOLDER_SHOWN: &str = "placeholder_shown";
/// The keyword name for the `first_child` pseudo-class in class macro syntax.
pub const KEYWORD_FIRST_CHILD: &str = "first_child";
/// The keyword name for the `last_child` pseudo-class in class macro syntax.
pub const KEYWORD_LAST_CHILD: &str = "last_child";
/// The keyword name for the `only_child` pseudo-class in class macro syntax.
pub const KEYWORD_ONLY_CHILD: &str = "only_child";
/// The keyword name for the `first_of_type` pseudo-class in class macro syntax.
pub const KEYWORD_FIRST_OF_TYPE: &str = "first_of_type";
/// The keyword name for the `last_of_type` pseudo-class in class macro syntax.
pub const KEYWORD_LAST_OF_TYPE: &str = "last_of_type";
/// The keyword name for the `only_of_type` pseudo-class in class macro syntax.
pub const KEYWORD_ONLY_OF_TYPE: &str = "only_of_type";
/// The keyword name for the `root` pseudo-class in class macro syntax.
pub const KEYWORD_ROOT: &str = "root";
/// The keyword name for the `empty` pseudo-class in class macro syntax.
pub const KEYWORD_EMPTY: &str = "empty";
/// The keyword name for the `target` pseudo-class in class macro syntax.
pub const KEYWORD_TARGET: &str = "target";
/// The keyword name for the `link` pseudo-class in class macro syntax.
pub const KEYWORD_LINK: &str = "link";
/// The keyword name for the `any_link` pseudo-class in class macro syntax.
pub const KEYWORD_ANY_LINK: &str = "any_link";
/// The keyword name for the `before` pseudo-element in class macro syntax.
pub const KEYWORD_BEFORE: &str = "before";
/// The keyword name for the `after` pseudo-element in class macro syntax.
pub const KEYWORD_AFTER: &str = "after";
/// The keyword name for the `first_line` pseudo-element in class macro syntax.
pub const KEYWORD_FIRST_LINE: &str = "first_line";
/// The keyword name for the `first_letter` pseudo-element in class macro syntax.
pub const KEYWORD_FIRST_LETTER: &str = "first_letter";
/// The keyword name for the `selection` pseudo-element in class macro syntax.
pub const KEYWORD_SELECTION: &str = "selection";
/// The keyword name for the `placeholder` pseudo-element in class macro syntax.
pub const KEYWORD_PLACEHOLDER: &str = "placeholder";
/// The keyword name for the `backdrop` pseudo-element in class macro syntax.
pub const KEYWORD_BACKDROP: &str = "backdrop";
/// The keyword name for the `marker` pseudo-element in class macro syntax.
pub const KEYWORD_MARKER: &str = "marker";
/// The keyword name for the `spelling_error` pseudo-element in class macro syntax.
pub const KEYWORD_SPELLING_ERROR: &str = "spelling_error";
/// The keyword name for the `grammar_error` pseudo-element in class macro syntax.
pub const KEYWORD_GRAMMAR_ERROR: &str = "grammar_error";
/// The CSS `@media` rule prefix used in serialized media query strings.
pub const CSS_MEDIA_PREFIX: &str = "@media ";
/// The CSS pseudo-rule serialization separator between selector and style block.
pub const CSS_RULE_OPEN: &str = " { ";
/// The CSS property separator between property name and value.
pub const CSS_PROP_SEPARATOR: &str = ": ";
/// The CSS declaration terminator after each property value.
pub const CSS_DECL_TERMINATOR: &str = "; ";
/// The space string used for concatenating CSS parts.
pub const STR_SPACE: &str = " ";
/// The keyword name for the `var` function in class macro syntax.
pub const VAR: &str = "var";
/// The CSS `var()` function prefix for custom property references.
pub const CSS_VAR_PREFIX: &str = "var(--";
/// The CSS `var()` function suffix for custom property references.
pub const CSS_VAR_SUFFIX: &str = ")";
/// The `format` macro name used to detect format! invocations in class property values.
pub const FORMAT_MACRO: &str = "format";
/// The CSS pseudo selector for `:hover`.
pub const PSEUDO_HOVER: &str = ":hover";
/// The CSS pseudo selector for `:focus`.
pub const PSEUDO_FOCUS: &str = ":focus";
/// The CSS pseudo selector for `:focus-within`.
pub const PSEUDO_FOCUS_WITHIN: &str = ":focus-within";
/// The CSS pseudo selector for `:focus-visible`.
pub const PSEUDO_FOCUS_VISIBLE: &str = ":focus-visible";
/// The CSS pseudo selector for `:active`.
pub const PSEUDO_ACTIVE: &str = ":active";
/// The CSS pseudo selector for `:visited`.
pub const PSEUDO_VISITED: &str = ":visited";
/// The CSS pseudo selector for `:disabled`.
pub const PSEUDO_DISABLED: &str = ":disabled";
/// The CSS pseudo selector for `:enabled`.
pub const PSEUDO_ENABLED: &str = ":enabled";
/// The CSS pseudo selector for `:checked`.
pub const PSEUDO_CHECKED: &str = ":checked";
/// The CSS pseudo selector for `:read-only`.
pub const PSEUDO_READONLY: &str = ":read-only";
/// The CSS pseudo selector for `:read-write`.
pub const PSEUDO_READWRITE: &str = ":read-write";
/// The CSS pseudo selector for `:required`.
pub const PSEUDO_REQUIRED: &str = ":required";
/// The CSS pseudo selector for `:optional`.
pub const PSEUDO_OPTIONAL: &str = ":optional";
/// The CSS pseudo selector for `:valid`.
pub const PSEUDO_VALID: &str = ":valid";
/// The CSS pseudo selector for `:invalid`.
pub const PSEUDO_INVALID: &str = ":invalid";
/// The CSS pseudo selector for `:in-range`.
pub const PSEUDO_IN_RANGE: &str = ":in-range";
/// The CSS pseudo selector for `:out-of-range`.
pub const PSEUDO_OUT_OF_RANGE: &str = ":out-of-range";
/// The CSS pseudo selector for `:placeholder-shown`.
pub const PSEUDO_PLACEHOLDER_SHOWN: &str = ":placeholder-shown";
/// The CSS pseudo selector for `:first-child`.
pub const PSEUDO_FIRST_CHILD: &str = ":first-child";
/// The CSS pseudo selector for `:last-child`.
pub const PSEUDO_LAST_CHILD: &str = ":last-child";
/// The CSS pseudo selector for `:only-child`.
pub const PSEUDO_ONLY_CHILD: &str = ":only-child";
/// The CSS pseudo selector for `:first-of-type`.
pub const PSEUDO_FIRST_OF_TYPE: &str = ":first-of-type";
/// The CSS pseudo selector for `:last-of-type`.
pub const PSEUDO_LAST_OF_TYPE: &str = ":last-of-type";
/// The CSS pseudo selector for `:only-of-type`.
pub const PSEUDO_ONLY_OF_TYPE: &str = ":only-of-type";
/// The CSS pseudo selector for `:root`.
pub const PSEUDO_ROOT: &str = ":root";
/// The CSS pseudo selector for `:empty`.
pub const PSEUDO_EMPTY: &str = ":empty";
/// The CSS pseudo selector for `:target`.
pub const PSEUDO_TARGET: &str = ":target";
/// The CSS pseudo selector for `:link`.
pub const PSEUDO_LINK: &str = ":link";
/// The CSS pseudo selector for `:any-link`.
pub const PSEUDO_ANY_LINK: &str = ":any-link";
/// The CSS pseudo element selector for `::before`.
pub const PSEUDO_BEFORE: &str = "::before";
/// The CSS pseudo element selector for `::after`.
pub const PSEUDO_AFTER: &str = "::after";
/// The CSS pseudo element selector for `::first-line`.
pub const PSEUDO_FIRST_LINE: &str = "::first-line";
/// The CSS pseudo element selector for `::first-letter`.
pub const PSEUDO_FIRST_LETTER: &str = "::first-letter";
/// The CSS pseudo element selector for `::selection`.
pub const PSEUDO_SELECTION: &str = "::selection";
/// The CSS pseudo element selector for `::placeholder`.
pub const PSEUDO_PLACEHOLDER: &str = "::placeholder";
/// The CSS pseudo element selector for `::backdrop`.
pub const PSEUDO_BACKDROP: &str = "::backdrop";
/// The CSS pseudo element selector for `::marker`.
pub const PSEUDO_MARKER: &str = "::marker";
/// The CSS pseudo element selector for `::spelling-error`.
pub const PSEUDO_SPELLING_ERROR: &str = "::spelling-error";
/// The CSS pseudo element selector for `::grammar-error`.
pub const PSEUDO_GRAMMAR_ERROR: &str = "::grammar-error";