1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(
22 " <'text-decoration-line'> || <'text-decoration-thickness'> || <'text-decoration-style'> || <'text-decoration-color'> "
23)]
24#[derive(
25 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
26)]
27#[declaration_metadata(
28 initial = "see individual properties",
29 inherits = Unknown,
30 applies_to = Unknown,
31 animation_type = Unknown,
32 percentages = Unknown,
33 longhands = TextDecorationColor|TextDecorationLine|TextDecorationStyle|TextDecorationThickness,
34 property_group = TextDecor,
35 computed_value_type = Unknown,
36 canonical_order = "per grammar",
37)]
38#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
39#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration"))]
40#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
41#[derive(csskit_derives::NodeWithMetadata)]
42pub struct TextDecorationStyleValue<'a>;
43
44#[syntax(" <color> ")]
56#[derive(
57 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
58)]
59#[declaration_metadata(
60 initial = "currentcolor",
61 applies_to = Elements,
62 animation_type = ByComputedValue,
63 shorthand_group = TextDecoration,
64 property_group = TextDecor,
65 computed_value_type = Unknown,
66 canonical_order = "per grammar",
67)]
68#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
69#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-color"))]
70#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
71#[derive(csskit_derives::NodeWithMetadata)]
72pub struct TextDecorationColorStyleValue<'a>;
73
74#[syntax(" <length>{1,2} | auto ")]
84#[derive(
85 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
86)]
87#[declaration_metadata(
88 initial = "0",
89 applies_to = Elements,
90 animation_type = ByComputedValue,
91 property_group = TextDecor,
92 computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
93 canonical_order = "per grammar",
94)]
95#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
96#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-inset"))]
97#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
98#[derive(csskit_derives::NodeWithMetadata)]
99pub struct TextDecorationInsetStyleValue;
100
101#[syntax(" none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error ")]
113#[derive(
114 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
115)]
116#[declaration_metadata(
117 initial = "none",
118 applies_to = Elements,
119 animation_type = Discrete,
120 shorthand_group = TextDecoration,
121 property_group = TextDecor,
122 computed_value_type = Unknown,
123 canonical_order = "per grammar",
124)]
125#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
126#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-line"))]
127#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
128#[derive(csskit_derives::NodeWithMetadata)]
129pub enum TextDecorationLineStyleValue {}
130
131#[syntax(" none | auto ")]
141#[derive(
142 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
143)]
144#[declaration_metadata(
145 initial = "See individual properties",
146 inherits,
147 applies_to = Elements,
148 animation_type = Discrete,
149 property_group = TextDecor,
150 computed_value_type = Unknown,
151 canonical_order = "per grammar",
152)]
153#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
154#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip"))]
155#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
156#[derive(csskit_derives::NodeWithMetadata)]
157pub enum TextDecorationSkipStyleValue {}
158
159#[syntax(" none | all ")]
169#[derive(
170 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
171)]
172#[declaration_metadata(
173 initial = "none",
174 inherits,
175 applies_to = Elements,
176 animation_type = Discrete,
177 property_group = TextDecor,
178 computed_value_type = Unknown,
179 canonical_order = "per grammar",
180)]
181#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
182#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-box"))]
183#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
184#[derive(csskit_derives::NodeWithMetadata)]
185pub enum TextDecorationSkipBoxStyleValue {}
186
187#[syntax(" auto | none | all ")]
199#[derive(
200 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
201)]
202#[declaration_metadata(
203 initial = "auto",
204 inherits,
205 applies_to = Elements,
206 animation_type = Discrete,
207 property_group = TextDecor,
208 computed_value_type = Unknown,
209 canonical_order = "per grammar",
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-ink"))]
213#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
214#[derive(csskit_derives::NodeWithMetadata)]
215pub enum TextDecorationSkipInkStyleValue {}
216
217#[syntax(" auto | skip-all | [ skip-underline || skip-overline || skip-line-through ] | no-skip ")]
227#[derive(
228 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
229)]
230#[declaration_metadata(
231 initial = "auto",
232 applies_to = Elements,
233 animation_type = Discrete,
234 property_group = TextDecor,
235 computed_value_type = Unknown,
236 canonical_order = "per grammar",
237)]
238#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
239#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-self"))]
240#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
241#[derive(csskit_derives::NodeWithMetadata)]
242pub enum TextDecorationSkipSelfStyleValue {}
243
244#[syntax(" none | all | [ start || end ] ")]
254#[derive(
255 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
256)]
257#[declaration_metadata(
258 initial = "start end",
259 inherits,
260 applies_to = Elements,
261 animation_type = Discrete,
262 property_group = TextDecor,
263 computed_value_type = Unknown,
264 canonical_order = "per grammar",
265)]
266#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
267#[cfg_attr(
268 feature = "css_feature_data",
269 derive(ToCSSFeature),
270 css_feature("css.properties.text-decoration-skip-spaces")
271)]
272#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
273#[derive(csskit_derives::NodeWithMetadata)]
274pub enum TextDecorationSkipSpacesStyleValue {}
275
276#[syntax(" solid | double | dotted | dashed | wavy ")]
288#[derive(
289 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
290)]
291#[declaration_metadata(
292 initial = "solid",
293 applies_to = Elements,
294 animation_type = Discrete,
295 shorthand_group = TextDecoration,
296 property_group = TextDecor,
297 computed_value_type = Unknown,
298 canonical_order = "per grammar",
299)]
300#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
301#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-style"))]
302#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
303#[derive(csskit_derives::NodeWithMetadata)]
304pub enum TextDecorationStyleStyleValue {}
305
306#[syntax(" auto | from-font | <length-percentage> | <line-width> ")]
318#[derive(
319 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
320)]
321#[declaration_metadata(
322 initial = "auto",
323 applies_to = Elements,
324 animation_type = ByComputedValue,
325 shorthand_group = TextDecoration,
326 property_group = TextDecor,
327 computed_value_type = AsSpecified,
328 canonical_order = "per grammar",
329)]
330#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
331#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-thickness"))]
332#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
333#[derive(csskit_derives::NodeWithMetadata)]
334pub enum TextDecorationThicknessStyleValue {}
335
336#[syntax(" <color> ")]
396#[derive(
397 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
398)]
399#[declaration_metadata(
400 initial = "currentcolor",
401 inherits,
402 applies_to = Text,
403 animation_type = ByComputedValue,
404 shorthand_group = TextEmphasis,
405 property_group = TextDecor,
406 computed_value_type = Unknown,
407 canonical_order = "per grammar",
408)]
409#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
410#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-color"))]
411#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
412#[derive(csskit_derives::NodeWithMetadata)]
413pub struct TextEmphasisColorStyleValue<'a>;
414
415#[syntax(" [ over | under ] && [ right | left ]? ")]
427#[derive(
428 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
429)]
430#[declaration_metadata(
431 initial = "over right",
432 inherits,
433 applies_to = Text,
434 animation_type = Discrete,
435 property_group = TextDecor,
436 computed_value_type = Unknown,
437 canonical_order = "per grammar",
438)]
439#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
440#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-position"))]
441#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
442#[derive(csskit_derives::NodeWithMetadata)]
443pub enum TextEmphasisPositionStyleValue {}
444
445#[syntax(" spaces || punctuation || symbols || narrow ")]
455#[derive(
456 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
457)]
458#[declaration_metadata(
459 initial = "spaces punctuation",
460 inherits,
461 applies_to = Text,
462 animation_type = Discrete,
463 property_group = TextDecor,
464 computed_value_type = Unknown,
465 canonical_order = "per grammar",
466)]
467#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
468#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-skip"))]
469#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
470#[derive(csskit_derives::NodeWithMetadata)]
471pub struct TextEmphasisSkipStyleValue;
472
473#[syntax(" none | <shadow># ")]
534#[derive(
535 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
536)]
537#[declaration_metadata(
538 initial = "none",
539 inherits,
540 applies_to = Text,
541 animation_type = ShadowList,
542 property_group = TextDecor,
543 computed_value_type = AbsoluteLengthOrNone,
544 canonical_order = "per grammar",
545)]
546#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
547#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-shadow"))]
548#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
549#[derive(csskit_derives::NodeWithMetadata)]
550pub struct TextShadowStyleValue<'a>;
551
552#[syntax(" auto | <length-percentage> ")]
564#[derive(
565 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
566)]
567#[declaration_metadata(
568 initial = "auto",
569 inherits,
570 applies_to = Elements,
571 animation_type = ByComputedValue,
572 property_group = TextDecor,
573 computed_value_type = AsSpecified,
574 canonical_order = "per grammar",
575)]
576#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
577#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-offset"))]
578#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
579#[derive(csskit_derives::NodeWithMetadata)]
580pub struct TextUnderlineOffsetStyleValue;
581
582#[syntax(" auto | [ from-font | under ] || [ left | right ] ")]
594#[derive(
595 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
596)]
597#[declaration_metadata(
598 initial = "auto",
599 inherits,
600 applies_to = Elements,
601 animation_type = Discrete,
602 property_group = TextDecor,
603 computed_value_type = Unknown,
604 canonical_order = "per grammar",
605)]
606#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
607#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-position"))]
608#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
609#[derive(csskit_derives::NodeWithMetadata)]
610pub enum TextUnderlinePositionStyleValue {}