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-percentage>{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 percentages = Unknown,
92 property_group = TextDecor,
93 computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
94 canonical_order = "per grammar",
95)]
96#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
97#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-inset"))]
98#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
99#[derive(csskit_derives::NodeWithMetadata)]
100pub struct TextDecorationInsetStyleValue<'a>;
101
102#[syntax(" none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error ")]
114#[derive(
115 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
116)]
117#[declaration_metadata(
118 initial = "none",
119 applies_to = Elements,
120 animation_type = Discrete,
121 shorthand_group = TextDecoration,
122 property_group = TextDecor,
123 computed_value_type = Unknown,
124 canonical_order = "per grammar",
125)]
126#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
127#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-line"))]
128#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
129#[derive(csskit_derives::NodeWithMetadata)]
130pub enum TextDecorationLineStyleValue<'a> {}
131
132#[syntax(" none | auto ")]
142#[derive(
143 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
144)]
145#[declaration_metadata(
146 initial = "See individual properties",
147 inherits,
148 applies_to = Elements,
149 animation_type = Discrete,
150 property_group = TextDecor,
151 computed_value_type = Unknown,
152 canonical_order = "per grammar",
153)]
154#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
155#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip"))]
156#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
157#[derive(csskit_derives::NodeWithMetadata)]
158pub enum TextDecorationSkipStyleValue<'a> {}
159
160#[syntax(" none | all ")]
170#[derive(
171 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
172)]
173#[declaration_metadata(
174 initial = "none",
175 inherits,
176 applies_to = Elements,
177 animation_type = Discrete,
178 property_group = TextDecor,
179 computed_value_type = Unknown,
180 canonical_order = "per grammar",
181)]
182#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
183#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-box"))]
184#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
185#[derive(csskit_derives::NodeWithMetadata)]
186pub enum TextDecorationSkipBoxStyleValue<'a> {}
187
188#[syntax(" auto | none | all ")]
200#[derive(
201 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
202)]
203#[declaration_metadata(
204 initial = "auto",
205 inherits,
206 applies_to = Elements,
207 animation_type = Discrete,
208 property_group = TextDecor,
209 computed_value_type = Unknown,
210 canonical_order = "per grammar",
211)]
212#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
213#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-ink"))]
214#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
215#[derive(csskit_derives::NodeWithMetadata)]
216pub enum TextDecorationSkipInkStyleValue<'a> {}
217
218#[syntax(" auto | skip-all | [ skip-underline || skip-overline || skip-line-through ] | no-skip ")]
228#[derive(
229 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
230)]
231#[declaration_metadata(
232 initial = "auto",
233 applies_to = Elements,
234 animation_type = Discrete,
235 property_group = TextDecor,
236 computed_value_type = Unknown,
237 canonical_order = "per grammar",
238)]
239#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
240#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-skip-self"))]
241#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
242#[derive(csskit_derives::NodeWithMetadata)]
243pub enum TextDecorationSkipSelfStyleValue<'a> {}
244
245#[syntax(" none | all | [ start || end ] ")]
255#[derive(
256 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
257)]
258#[declaration_metadata(
259 initial = "start end",
260 inherits,
261 applies_to = Elements,
262 animation_type = Discrete,
263 property_group = TextDecor,
264 computed_value_type = Unknown,
265 canonical_order = "per grammar",
266)]
267#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
268#[cfg_attr(
269 feature = "css_feature_data",
270 derive(ToCSSFeature),
271 css_feature("css.properties.text-decoration-skip-spaces")
272)]
273#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
274#[derive(csskit_derives::NodeWithMetadata)]
275pub enum TextDecorationSkipSpacesStyleValue<'a> {}
276
277#[syntax(" solid | double | dotted | dashed | wavy ")]
289#[derive(
290 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
291)]
292#[declaration_metadata(
293 initial = "solid",
294 applies_to = Elements,
295 animation_type = Discrete,
296 shorthand_group = TextDecoration,
297 property_group = TextDecor,
298 computed_value_type = Unknown,
299 canonical_order = "per grammar",
300)]
301#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
302#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-style"))]
303#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
304#[derive(csskit_derives::NodeWithMetadata)]
305pub enum TextDecorationStyleStyleValue<'a> {}
306
307#[syntax(" auto | from-font | <length-percentage> | <line-width> ")]
319#[derive(
320 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
321)]
322#[declaration_metadata(
323 initial = "auto",
324 applies_to = Elements,
325 animation_type = ByComputedValue,
326 shorthand_group = TextDecoration,
327 property_group = TextDecor,
328 computed_value_type = AsSpecified,
329 canonical_order = "per grammar",
330)]
331#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
332#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-decoration-thickness"))]
333#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
334#[derive(csskit_derives::NodeWithMetadata)]
335pub enum TextDecorationThicknessStyleValue<'a> {}
336
337#[syntax(" <'text-emphasis-style'> || <'text-emphasis-color'> ")]
349#[derive(
350 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
351)]
352#[declaration_metadata(
353 initial = "see individual properties",
354 inherits = Unknown,
355 applies_to = Unknown,
356 animation_type = Unknown,
357 percentages = Unknown,
358 longhands = TextEmphasisColor|TextEmphasisStyle,
359 property_group = TextDecor,
360 computed_value_type = Unknown,
361 canonical_order = "per grammar",
362)]
363#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
364#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis"))]
365#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
366#[derive(csskit_derives::NodeWithMetadata)]
367pub struct TextEmphasisStyleValue<'a>;
368
369#[syntax(" <color> ")]
381#[derive(
382 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
383)]
384#[declaration_metadata(
385 initial = "currentcolor",
386 inherits,
387 applies_to = Text,
388 animation_type = ByComputedValue,
389 shorthand_group = TextEmphasis,
390 property_group = TextDecor,
391 computed_value_type = Unknown,
392 canonical_order = "per grammar",
393)]
394#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
395#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-color"))]
396#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
397#[derive(csskit_derives::NodeWithMetadata)]
398pub struct TextEmphasisColorStyleValue<'a>;
399
400#[syntax(" [ over | under ] && [ right | left ]? ")]
412#[derive(
413 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
414)]
415#[declaration_metadata(
416 initial = "over right",
417 inherits,
418 applies_to = Text,
419 animation_type = Discrete,
420 property_group = TextDecor,
421 computed_value_type = Unknown,
422 canonical_order = "per grammar",
423)]
424#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
425#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-position"))]
426#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
427#[derive(csskit_derives::NodeWithMetadata)]
428pub enum TextEmphasisPositionStyleValue<'a> {}
429
430#[syntax(" spaces || punctuation || symbols || narrow ")]
440#[derive(
441 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
442)]
443#[declaration_metadata(
444 initial = "spaces punctuation",
445 inherits,
446 applies_to = Text,
447 animation_type = Discrete,
448 property_group = TextDecor,
449 computed_value_type = Unknown,
450 canonical_order = "per grammar",
451)]
452#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
453#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-skip"))]
454#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
455#[derive(csskit_derives::NodeWithMetadata)]
456pub struct TextEmphasisSkipStyleValue<'a>;
457
458#[syntax(" none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string> ")]
470#[derive(
471 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
472)]
473#[declaration_metadata(
474 initial = "none",
475 inherits,
476 applies_to = Text,
477 animation_type = Discrete,
478 shorthand_group = TextEmphasis,
479 property_group = TextDecor,
480 computed_value_type = Unknown,
481 canonical_order = "per grammar",
482)]
483#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
484#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-emphasis-style"))]
485#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
486#[derive(csskit_derives::NodeWithMetadata)]
487pub enum TextEmphasisStyleStyleValue<'a> {}
488
489#[syntax(" none | <shadow># ")]
501#[derive(
502 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
503)]
504#[declaration_metadata(
505 initial = "none",
506 inherits,
507 applies_to = Text,
508 animation_type = ShadowList,
509 property_group = TextDecor,
510 computed_value_type = AbsoluteLengthOrNone,
511 canonical_order = "per grammar",
512)]
513#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
514#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-shadow"))]
515#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
516#[derive(csskit_derives::NodeWithMetadata)]
517pub struct TextShadowStyleValue<'a>;
518
519#[syntax(" auto | <length-percentage> ")]
531#[derive(
532 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
533)]
534#[declaration_metadata(
535 initial = "auto",
536 inherits,
537 applies_to = Elements,
538 animation_type = ByComputedValue,
539 property_group = TextDecor,
540 computed_value_type = AsSpecified,
541 canonical_order = "per grammar",
542)]
543#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
544#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-offset"))]
545#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
546#[derive(csskit_derives::NodeWithMetadata)]
547pub struct TextUnderlineOffsetStyleValue<'a>;
548
549#[syntax(" auto | [ from-font | under ] || [ left | right ] ")]
561#[derive(
562 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
563)]
564#[declaration_metadata(
565 initial = "auto",
566 inherits,
567 applies_to = Elements,
568 animation_type = Discrete,
569 property_group = TextDecor,
570 computed_value_type = Unknown,
571 canonical_order = "per grammar",
572)]
573#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
574#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-underline-position"))]
575#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
576#[derive(csskit_derives::NodeWithMetadata)]
577pub struct TextUnderlinePositionStyleValue<'a>;