1#![allow(warnings)]
2mod impls;
6use impls::*;
7
8#[syntax(" <'outline-width'> || <'outline-style'> || <'outline-color'> ")]
20#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21#[style_value(
22 initial = "see individual properties",
23 applies_to = "all elements",
24 inherited = "no",
25 percentages = "n/a",
26 canonical_order = "per grammar",
27 animation_type = "see individual properties"
28)]
29#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline"))]
31#[visit]
32pub struct OutlineStyleValue<'a>;
33
34#[syntax(" <line-width> ")]
46#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47#[style_value(
48 initial = "medium",
49 applies_to = "all elements",
50 inherited = "no",
51 percentages = "n/a",
52 canonical_order = "per grammar",
53 animation_type = "by computed value"
54)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-width"))]
57#[visit]
58pub struct OutlineWidthStyleValue;
59
60#[syntax(" auto | <outline-line-style> ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74 initial = "none",
75 applies_to = "all elements",
76 inherited = "no",
77 percentages = "n/a",
78 canonical_order = "per grammar",
79 animation_type = "by computed value"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-style"))]
83#[visit]
84pub struct OutlineStyleStyleValue;
85
86#[syntax(" auto | <color> | <image-1D> ")]
98#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
99#[style_value(
100 initial = "auto",
101 applies_to = "all elements",
102 inherited = "no",
103 percentages = "n/a",
104 canonical_order = "per grammar",
105 animation_type = "by computed value"
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-color"))]
109#[visit]
110pub enum OutlineColorStyleValue<'a> {}
111
112#[syntax(" <length> ")]
124#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
125#[style_value(
126 initial = "0",
127 applies_to = "all elements",
128 inherited = "no",
129 percentages = "n/a",
130 canonical_order = "per grammar",
131 animation_type = "by computed value"
132)]
133#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
134#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.outline-offset"))]
135#[visit]
136pub struct OutlineOffsetStyleValue;
137
138#[syntax(" none | both | horizontal | vertical | block | inline ")]
150#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
151#[style_value(
152 initial = "none",
153 applies_to = "elements that are scroll containers and optionally replaced elements such as images, videos, and iframes",
154 inherited = "no",
155 percentages = "n/a",
156 canonical_order = "per grammar",
157 animation_type = "discrete"
158)]
159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.resize"))]
161#[visit]
162pub enum ResizeStyleValue {}
163
164#[syntax(" <cursor-image>#? <cursor-predefined> ")]
176#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
177#[style_value(
178 initial = "auto",
179 applies_to = "all elements",
180 inherited = "yes",
181 percentages = "n/a",
182 canonical_order = "per grammar",
183 animation_type = "discrete"
184)]
185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.cursor"))]
187#[visit]
188pub struct CursorStyleValue<'a>;
189
190#[syntax(" auto | <color> ")]
202#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
203#[style_value(
204 initial = "auto",
205 applies_to = "text or elements that accept text input",
206 inherited = "yes",
207 percentages = "n/a",
208 canonical_order = "per grammar",
209 animation_type = "by computed value"
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-color"))]
213#[visit]
214pub struct CaretColorStyleValue;
215
216#[syntax(" auto | manual ")]
226#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
227#[style_value(
228 initial = "auto",
229 applies_to = "text or elements that accept text input",
230 inherited = "yes",
231 percentages = "n/a",
232 canonical_order = "per grammar",
233 animation_type = "discrete"
234)]
235#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
236#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-animation"))]
237#[visit]
238pub enum CaretAnimationStyleValue {}
239
240#[syntax(" auto | bar | block | underscore ")]
250#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
251#[style_value(
252 initial = "auto",
253 applies_to = "text or elements that accept text input",
254 inherited = "yes",
255 percentages = "n/a",
256 canonical_order = "per grammar",
257 animation_type = "by computed value"
258)]
259#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
260#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret-shape"))]
261#[visit]
262pub enum CaretShapeStyleValue {}
263
264#[syntax(" <'caret-color'> || <'caret-animation'> || <'caret-shape'> ")]
274#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
275#[style_value(
276 initial = "auto",
277 applies_to = "text or elements that accept text input",
278 inherited = "yes",
279 percentages = "n/a",
280 canonical_order = "per grammar",
281 animation_type = "see individual properties"
282)]
283#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
284#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.caret"))]
285#[visit]
286pub struct CaretStyleValue;
287
288#[syntax(" auto | text | none | contain | all ")]
396#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
397#[style_value(
398 initial = "auto",
399 applies_to = "all elements, and optionally to the ::before and ::after pseudo-elements",
400 inherited = "no",
401 percentages = "n/a",
402 canonical_order = "per grammar",
403 animation_type = "discrete"
404)]
405#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
406#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.user-select"))]
407#[visit]
408pub enum UserSelectStyleValue {}
409
410#[syntax(" auto | none ")]
422#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
423#[style_value(
424 initial = "auto",
425 applies_to = "all elements",
426 inherited = "yes",
427 percentages = "n/a",
428 canonical_order = "per grammar",
429 animation_type = "by computed value type"
430)]
431#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
432#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.pointer-events"))]
433#[visit]
434pub enum PointerEventsStyleValue {}
435
436#[syntax(" auto | inert ")]
448#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
449#[style_value(
450 initial = "auto",
451 applies_to = "all elements",
452 inherited = "yes",
453 percentages = "n/a",
454 canonical_order = "per grammar",
455 animation_type = "discrete"
456)]
457#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
458#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interactivity"))]
459#[visit]
460pub enum InteractivityStyleValue {}
461
462#[syntax(" normal | <time> ")]
472#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
473#[style_value(
474 initial = "normal",
475 applies_to = "all elements",
476 inherited = "yes",
477 percentages = "n/a",
478 canonical_order = "per grammar",
479 animation_type = "by computed value type"
480)]
481#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
482#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-start"))]
483#[visit]
484pub enum InterestDelayStartStyleValue {}
485
486#[syntax(" normal | <time> ")]
496#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
497#[style_value(
498 initial = "normal",
499 applies_to = "all elements",
500 inherited = "yes",
501 percentages = "n/a",
502 canonical_order = "per grammar",
503 animation_type = "by computed value type"
504)]
505#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
506#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay-end"))]
507#[visit]
508pub enum InterestDelayEndStyleValue {}
509
510#[syntax(" <'interest-delay-start'>{1,2} ")]
520#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
521#[style_value(
522 initial = "see individual properties",
523 applies_to = "see individual properties",
524 inherited = "see individual properties",
525 percentages = "see individual properties",
526 canonical_order = "per grammar",
527 animation_type = "see individual properties"
528)]
529#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
530#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.interest-delay"))]
531#[visit]
532pub struct InterestDelayStyleValue;
533
534#[syntax(" auto | <color> ")]
546#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
547#[style_value(
548 initial = "auto",
549 applies_to = "all elements",
550 inherited = "yes",
551 percentages = "n/a",
552 canonical_order = "per grammar",
553 animation_type = "by computed value type"
554)]
555#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
556#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.accent-color"))]
557#[visit]
558pub struct AccentColorStyleValue;
559
560#[syntax(" none | auto | base | base-select | <compat-auto> | <compat-special> ")]
572#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
573#[style_value(
574 initial = "none",
575 applies_to = "all elements",
576 inherited = "no",
577 percentages = "n/a",
578 canonical_order = "per grammar",
579 animation_type = "discrete"
580)]
581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.appearance"))]
583#[visit]
584pub enum AppearanceStyleValue {}