1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(
27 " [ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-font-family-name> "
28)]
29#[derive(
30 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
31)]
32#[declaration_metadata(
33 initial = "see individual properties",
34 inherits,
35 applies_to = Elements|Text,
36 animation_type = Unknown,
37 percentages = Unknown,
38 longhands = FontFamily|FontSize|FontStretch|FontStyle|FontVariant|FontVariantAlternates|FontVariantCaps|FontVariantEastAsian|FontVariantEmoji|FontVariantLigatures|FontVariantNumeric|FontVariantPosition|FontWeight|LineHeight,
39 property_group = Fonts,
40 computed_value_type = Unknown,
41 canonical_order = "per grammar",
42)]
43#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
44#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font"))]
45#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
46#[derive(csskit_derives::NodeWithMetadata)]
47pub enum FontStyleValue<'a> {}
48
49#[syntax(" [ <font-family-name> | <generic-font-family> ]# ")]
61#[derive(
62 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
63)]
64#[declaration_metadata(
65 initial = "depends on user agent",
66 inherits,
67 applies_to = Elements|Text,
68 animation_type = Discrete,
69 shorthand_group = Font,
70 property_group = Fonts,
71 computed_value_type = Unknown,
72 canonical_order = "per grammar",
73)]
74#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
75#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-family"))]
76#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
77#[derive(csskit_derives::NodeWithMetadata)]
78pub struct FontFamilyStyleValue<'a>;
79
80#[syntax(" normal | <feature-tag-value># ")]
92#[derive(
93 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
94)]
95#[declaration_metadata(
96 initial = "normal",
97 inherits,
98 applies_to = Elements|Text,
99 animation_type = Discrete,
100 property_group = Fonts,
101 computed_value_type = AsSpecified,
102 canonical_order = "per grammar",
103)]
104#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
105#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-feature-settings"))]
106#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
107#[derive(csskit_derives::NodeWithMetadata)]
108pub struct FontFeatureSettingsStyleValue<'a>;
109
110#[syntax(" auto | normal | none ")]
122#[derive(
123 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
124)]
125#[declaration_metadata(
126 initial = "auto",
127 inherits,
128 applies_to = Elements|Text,
129 animation_type = Discrete,
130 property_group = Fonts,
131 computed_value_type = AsSpecified,
132 canonical_order = "per grammar",
133)]
134#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
135#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-kerning"))]
136#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
137#[derive(csskit_derives::NodeWithMetadata)]
138pub enum FontKerningStyleValue<'a> {}
139
140#[syntax(" normal | <string> ")]
152#[derive(
153 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
154)]
155#[declaration_metadata(
156 initial = "normal",
157 inherits,
158 applies_to = Elements|Text,
159 animation_type = Discrete,
160 property_group = Fonts,
161 computed_value_type = Unknown,
162 canonical_order = "per grammar",
163)]
164#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
165#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-language-override"))]
166#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
167#[derive(csskit_derives::NodeWithMetadata)]
168pub struct FontLanguageOverrideStyleValue<'a>;
169
170#[syntax(" auto | none ")]
182#[derive(
183 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
184)]
185#[declaration_metadata(
186 initial = "auto",
187 inherits,
188 applies_to = Elements|Text,
189 animation_type = Discrete,
190 property_group = Fonts,
191 computed_value_type = Unknown,
192 canonical_order = "per grammar",
193)]
194#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
195#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-optical-sizing"))]
196#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
197#[derive(csskit_derives::NodeWithMetadata)]
198pub enum FontOpticalSizingStyleValue<'a> {}
199
200#[syntax(" normal | light | dark | <palette-identifier> | <palette-mix()> ")]
212#[derive(
213 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
214)]
215#[declaration_metadata(
216 initial = "normal",
217 inherits,
218 applies_to = Elements|Text,
219 animation_type = ByComputedValue,
220 property_group = Fonts,
221 computed_value_type = Unknown,
222 canonical_order = "per grammar",
223)]
224#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
225#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-palette"))]
226#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
227#[derive(csskit_derives::NodeWithMetadata)]
228pub enum FontPaletteStyleValue<'a> {}
229
230#[syntax(" <absolute-size> | <relative-size> | <length-percentage [0,∞]> | math ")]
242#[derive(
243 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
244)]
245#[declaration_metadata(
246 initial = "medium",
247 inherits,
248 applies_to = Elements|Text,
249 animation_type = ByComputedValue,
250 percentages = Unknown,
251 shorthand_group = Font,
252 property_group = Fonts,
253 computed_value_type = AbsoluteLength,
254 canonical_order = "per grammar",
255)]
256#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
257#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-size"))]
258#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
259#[derive(csskit_derives::NodeWithMetadata)]
260pub enum FontSizeStyleValue<'a> {}
261
262#[syntax(" none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number [0,∞]> ] ")]
274#[derive(
275 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
276)]
277#[declaration_metadata(
278 initial = "none",
279 inherits,
280 applies_to = Elements|Text,
281 animation_type = Discrete,
282 property_group = Fonts,
283 computed_value_type = Unknown,
284 canonical_order = "per grammar",
285)]
286#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
287#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-size-adjust"))]
288#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
289#[derive(csskit_derives::NodeWithMetadata)]
290pub enum FontSizeAdjustStyleValue<'a> {}
291
292#[syntax(" normal | italic | left | right | oblique <angle [-90deg,90deg]>? ")]
304#[derive(
305 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
306)]
307#[declaration_metadata(
308 initial = "normal",
309 inherits,
310 applies_to = Elements|Text,
311 animation_type = ByComputedValue,
312 shorthand_group = Font,
313 property_group = Fonts,
314 computed_value_type = Unknown,
315 canonical_order = "per grammar",
316)]
317#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
318#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-style"))]
319#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
320#[derive(csskit_derives::NodeWithMetadata)]
321pub enum FontStyleStyleValue<'a> {}
322
323#[syntax(" none | [ weight || style || small-caps || position] ")]
335#[derive(
336 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
337)]
338#[declaration_metadata(
339 initial = "weight style small-caps position",
340 inherits,
341 applies_to = Elements|Text,
342 animation_type = Discrete,
343 longhands = FontSynthesisPosition|FontSynthesisSmallCaps|FontSynthesisStyle|FontSynthesisWeight,
344 property_group = Fonts,
345 computed_value_type = Unknown,
346 canonical_order = "per grammar",
347)]
348#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
349#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-synthesis"))]
350#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
351#[derive(csskit_derives::NodeWithMetadata)]
352pub struct FontSynthesisStyleValue<'a>;
353
354#[syntax(" auto | none ")]
366#[derive(
367 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
368)]
369#[declaration_metadata(
370 initial = "auto",
371 inherits,
372 applies_to = Elements|Text,
373 animation_type = Discrete,
374 shorthand_group = FontSynthesis,
375 property_group = Fonts,
376 computed_value_type = Unknown,
377 canonical_order = "per grammar",
378)]
379#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
380#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-synthesis-position"))]
381#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
382#[derive(csskit_derives::NodeWithMetadata)]
383pub enum FontSynthesisPositionStyleValue<'a> {}
384
385#[syntax(" auto | none ")]
397#[derive(
398 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
399)]
400#[declaration_metadata(
401 initial = "auto",
402 inherits,
403 applies_to = Elements|Text,
404 animation_type = Discrete,
405 shorthand_group = FontSynthesis,
406 property_group = Fonts,
407 computed_value_type = Unknown,
408 canonical_order = "per grammar",
409)]
410#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
411#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-synthesis-small-caps"))]
412#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
413#[derive(csskit_derives::NodeWithMetadata)]
414pub enum FontSynthesisSmallCapsStyleValue<'a> {}
415
416#[syntax(" auto | none | oblique-only ")]
428#[derive(
429 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
430)]
431#[declaration_metadata(
432 initial = "auto",
433 inherits,
434 applies_to = Elements|Text,
435 animation_type = Discrete,
436 shorthand_group = FontSynthesis,
437 property_group = Fonts,
438 computed_value_type = Unknown,
439 canonical_order = "per grammar",
440)]
441#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
442#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-synthesis-style"))]
443#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
444#[derive(csskit_derives::NodeWithMetadata)]
445pub enum FontSynthesisStyleStyleValue<'a> {}
446
447#[syntax(" auto | none ")]
459#[derive(
460 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
461)]
462#[declaration_metadata(
463 initial = "auto",
464 inherits,
465 applies_to = Elements|Text,
466 animation_type = Discrete,
467 shorthand_group = FontSynthesis,
468 property_group = Fonts,
469 computed_value_type = Unknown,
470 canonical_order = "per grammar",
471)]
472#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
473#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-synthesis-weight"))]
474#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
475#[derive(csskit_derives::NodeWithMetadata)]
476pub enum FontSynthesisWeightStyleValue<'a> {}
477
478#[syntax(
490 " normal | none | [ [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || [ stylistic(<font-feature-value-name>) || historical-forms || styleset(<font-feature-value-name>#) || character-variant(<font-feature-value-name>#) || swash(<font-feature-value-name>) || ornaments(<font-feature-value-name>) || annotation(<font-feature-value-name>) ] || [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] || [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] || [ sub | super ] || [ text | emoji | unicode ] ] "
491)]
492#[derive(
493 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
494)]
495#[declaration_metadata(
496 initial = "normal",
497 inherits,
498 applies_to = Elements|Text,
499 animation_type = Discrete,
500 longhands = FontVariantAlternates|FontVariantCaps|FontVariantEastAsian|FontVariantEmoji|FontVariantLigatures|FontVariantNumeric|FontVariantPosition,
501 shorthand_group = Font,
502 property_group = Fonts,
503 computed_value_type = AsSpecified,
504 canonical_order = "per grammar",
505)]
506#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
507#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant"))]
508#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
509#[derive(csskit_derives::NodeWithMetadata)]
510pub enum FontVariantStyleValue<'a> {}
511
512#[syntax(
530 " normal | [ stylistic(<font-feature-value-name>) || historical-forms || styleset(<font-feature-value-name>#) || character-variant(<font-feature-value-name>#) || swash(<font-feature-value-name>) || ornaments(<font-feature-value-name>) || annotation(<font-feature-value-name>) ] "
531)]
532#[derive(
533 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
534)]
535#[declaration_metadata(
536 initial = "normal",
537 inherits,
538 applies_to = Elements|Text,
539 animation_type = Discrete,
540 shorthand_group = Font,
541 property_group = Fonts,
542 computed_value_type = AsSpecified,
543 canonical_order = "per grammar",
544)]
545#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
546#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-alternates"))]
547#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
548#[derive(csskit_derives::NodeWithMetadata)]
549pub struct FontVariantAlternatesStyleValue<'a>;
550
551#[syntax(" normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ")]
563#[derive(
564 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
565)]
566#[declaration_metadata(
567 initial = "normal",
568 inherits,
569 applies_to = Elements|Text,
570 animation_type = Discrete,
571 shorthand_group = Font,
572 property_group = Fonts,
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.font-variant-caps"))]
578#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
579#[derive(csskit_derives::NodeWithMetadata)]
580pub enum FontVariantCapsStyleValue<'a> {}
581
582#[syntax(" normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] ")]
594#[derive(
595 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
596)]
597#[declaration_metadata(
598 initial = "normal",
599 inherits,
600 applies_to = Elements|Text,
601 animation_type = Discrete,
602 shorthand_group = Font,
603 property_group = Fonts,
604 computed_value_type = AsSpecified,
605 canonical_order = "per grammar",
606)]
607#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
608#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-east-asian"))]
609#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
610#[derive(csskit_derives::NodeWithMetadata)]
611pub struct FontVariantEastAsianStyleValue<'a>;
612
613#[syntax(" normal | text | emoji | unicode ")]
625#[derive(
626 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
627)]
628#[declaration_metadata(
629 initial = "normal",
630 inherits,
631 applies_to = Elements|Text,
632 animation_type = Discrete,
633 shorthand_group = Font,
634 property_group = Fonts,
635 computed_value_type = Unknown,
636 canonical_order = "per grammar",
637)]
638#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
639#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-emoji"))]
640#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
641#[derive(csskit_derives::NodeWithMetadata)]
642pub enum FontVariantEmojiStyleValue<'a> {}
643
644#[syntax(
656 " normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] "
657)]
658#[derive(
659 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
660)]
661#[declaration_metadata(
662 initial = "normal",
663 inherits,
664 applies_to = Elements|Text,
665 animation_type = Discrete,
666 shorthand_group = Font,
667 property_group = Fonts,
668 computed_value_type = AsSpecified,
669 canonical_order = "per grammar",
670)]
671#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
672#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-ligatures"))]
673#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
674#[derive(csskit_derives::NodeWithMetadata)]
675pub enum FontVariantLigaturesStyleValue<'a> {}
676
677#[syntax(
689 " normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] "
690)]
691#[derive(
692 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
693)]
694#[declaration_metadata(
695 initial = "normal",
696 inherits,
697 applies_to = Elements|Text,
698 animation_type = Discrete,
699 shorthand_group = Font,
700 property_group = Fonts,
701 computed_value_type = AsSpecified,
702 canonical_order = "per grammar",
703)]
704#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
705#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-numeric"))]
706#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
707#[derive(csskit_derives::NodeWithMetadata)]
708pub struct FontVariantNumericStyleValue<'a>;
709
710#[syntax(" normal | sub | super ")]
722#[derive(
723 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
724)]
725#[declaration_metadata(
726 initial = "normal",
727 inherits,
728 applies_to = Elements|Text,
729 animation_type = Discrete,
730 shorthand_group = Font,
731 property_group = Fonts,
732 computed_value_type = AsSpecified,
733 canonical_order = "per grammar",
734)]
735#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
736#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variant-position"))]
737#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
738#[derive(csskit_derives::NodeWithMetadata)]
739pub enum FontVariantPositionStyleValue<'a> {}
740
741#[syntax(" normal | [ <opentype-tag> <number> ]# ")]
753#[derive(
754 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
755)]
756#[declaration_metadata(
757 initial = "normal",
758 inherits,
759 applies_to = Elements|Text,
760 animation_type = Unknown,
761 property_group = Fonts,
762 computed_value_type = Unknown,
763 canonical_order = "per grammar",
764)]
765#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
766#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-variation-settings"))]
767#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
768#[derive(csskit_derives::NodeWithMetadata)]
769pub struct FontVariationSettingsStyleValue<'a>;
770
771#[syntax(" <font-weight-absolute> | bolder | lighter ")]
783#[derive(
784 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
785)]
786#[declaration_metadata(
787 initial = "normal",
788 inherits,
789 applies_to = Elements|Text,
790 animation_type = ByComputedValue,
791 shorthand_group = Font,
792 property_group = Fonts,
793 computed_value_type = Unknown,
794 canonical_order = "per grammar",
795)]
796#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
797#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-weight"))]
798#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
799#[derive(csskit_derives::NodeWithMetadata)]
800pub enum FontWeightStyleValue<'a> {}
801
802#[syntax(
814 " normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded "
815)]
816#[derive(
817 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
818)]
819#[declaration_metadata(
820 initial = "normal",
821 inherits,
822 applies_to = Elements|Text,
823 animation_type = ByComputedValue,
824 percentages = None,
825 property_group = Fonts,
826 computed_value_type = Unknown,
827 canonical_order = "per grammar",
828)]
829#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
830#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.font-width"))]
831#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
832#[derive(csskit_derives::NodeWithMetadata)]
833pub enum FontWidthStyleValue<'a> {}