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(" <'text-emphasis-style'> || <'text-emphasis-color'> ")]
348#[derive(
349 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
350)]
351#[declaration_metadata(
352 initial = "see individual properties",
353 inherits = Unknown,
354 applies_to = Unknown,
355 animation_type = Unknown,
356 percentages = Unknown,
357 longhands = TextEmphasisColor|TextEmphasisStyle,
358 property_group = TextDecor,
359 computed_value_type = Unknown,
360 canonical_order = "per grammar",
361)]
362#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
363#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis"))]
364#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
365#[derive(csskit_derives::NodeWithMetadata)]
366pub struct TextEmphasisStyleValue<'a>;
367
368#[syntax(" <color> ")]
380#[derive(
381 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
382)]
383#[declaration_metadata(
384 initial = "currentcolor",
385 inherits,
386 applies_to = Text,
387 animation_type = ByComputedValue,
388 shorthand_group = TextEmphasis,
389 property_group = TextDecor,
390 computed_value_type = Unknown,
391 canonical_order = "per grammar",
392)]
393#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
394#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-color"))]
395#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
396#[derive(csskit_derives::NodeWithMetadata)]
397pub struct TextEmphasisColorStyleValue<'a>;
398
399#[syntax(" [ over | under ] && [ right | left ]? ")]
411#[derive(
412 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
413)]
414#[declaration_metadata(
415 initial = "over right",
416 inherits,
417 applies_to = Text,
418 animation_type = Discrete,
419 property_group = TextDecor,
420 computed_value_type = Unknown,
421 canonical_order = "per grammar",
422)]
423#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
424#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-position"))]
425#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
426#[derive(csskit_derives::NodeWithMetadata)]
427pub enum TextEmphasisPositionStyleValue {}
428
429#[syntax(" spaces || punctuation || symbols || narrow ")]
439#[derive(
440 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
441)]
442#[declaration_metadata(
443 initial = "spaces punctuation",
444 inherits,
445 applies_to = Text,
446 animation_type = Discrete,
447 property_group = TextDecor,
448 computed_value_type = Unknown,
449 canonical_order = "per grammar",
450)]
451#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
452#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-skip"))]
453#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
454#[derive(csskit_derives::NodeWithMetadata)]
455pub struct TextEmphasisSkipStyleValue;
456
457#[syntax(" none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string> ")]
469#[derive(
470 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
471)]
472#[declaration_metadata(
473 initial = "none",
474 inherits,
475 applies_to = Text,
476 animation_type = Discrete,
477 shorthand_group = TextEmphasis,
478 property_group = TextDecor,
479 computed_value_type = Unknown,
480 canonical_order = "per grammar",
481)]
482#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
483#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-style"))]
484#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
485#[derive(csskit_derives::NodeWithMetadata)]
486pub enum TextEmphasisStyleStyleValue {}
487
488#[syntax(" none | <shadow># ")]
500#[derive(
501 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
502)]
503#[declaration_metadata(
504 initial = "none",
505 inherits,
506 applies_to = Text,
507 animation_type = ShadowList,
508 property_group = TextDecor,
509 computed_value_type = AbsoluteLengthOrNone,
510 canonical_order = "per grammar",
511)]
512#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
513#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-shadow"))]
514#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
515#[derive(csskit_derives::NodeWithMetadata)]
516pub struct TextShadowStyleValue<'a>;
517
518#[syntax(" auto | <length-percentage> ")]
530#[derive(
531 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
532)]
533#[declaration_metadata(
534 initial = "auto",
535 inherits,
536 applies_to = Elements,
537 animation_type = ByComputedValue,
538 property_group = TextDecor,
539 computed_value_type = AsSpecified,
540 canonical_order = "per grammar",
541)]
542#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
543#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-offset"))]
544#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
545#[derive(csskit_derives::NodeWithMetadata)]
546pub struct TextUnderlineOffsetStyleValue;
547
548#[syntax(" auto | [ from-font | under ] || [ left | right ] ")]
560#[derive(
561 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
562)]
563#[declaration_metadata(
564 initial = "auto",
565 inherits,
566 applies_to = Elements,
567 animation_type = Discrete,
568 property_group = TextDecor,
569 computed_value_type = Unknown,
570 canonical_order = "per grammar",
571)]
572#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
573#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-position"))]
574#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
575#[derive(csskit_derives::NodeWithMetadata)]
576pub enum TextUnderlinePositionStyleValue {}