#![allow(warnings)]
mod impls;
use super::prelude::*;
use impls::*;
#[syntax(" none | [ first || [ force-end | allow-end ] || last ] ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hanging-punctuation"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum HangingPunctuationStyleValue {}
#[syntax(" auto | <string> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-character"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct HyphenateCharacterStyleValue;
#[syntax(" [ auto | <integer> ]{1,3} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Text,
animation_type = ByComputedValue,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-chars"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct HyphenateLimitCharsStyleValue;
#[syntax(" none | always | column | page | spread ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
inherits,
applies_to = Block,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-last"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum HyphenateLimitLastStyleValue {}
#[syntax(" no-limit | <integer> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "no-limit",
inherits,
applies_to = Block,
animation_type = ByComputedValue,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-lines"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum HyphenateLimitLinesStyleValue {}
#[syntax(" <length-percentage> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
inherits,
applies_to = Block,
animation_type = ByComputedValue,
percentages = LineBox,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-zone"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct HyphenateLimitZoneStyleValue;
#[syntax(" none | manual | auto ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "manual",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphens"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum HyphensStyleValue {}
#[syntax(" normal | <length-percentage> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Unknown,
animation_type = ByComputedValue,
percentages = Unknown,
property_group = Text,
computed_value_type = AbsoluteLengthOrPercentage,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.letter-spacing"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct LetterSpacingStyleValue;
#[syntax(" auto | loose | normal | strict | anywhere ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-break"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum LineBreakStyleValue {}
#[syntax(" <length> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
inherits,
applies_to = Unknown,
animation_type = ByComputedValue,
property_group = Text,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-padding"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct LinePaddingStyleValue;
#[syntax(" normal | break-word | anywhere ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-wrap"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum OverflowWrapStyleValue {}
#[syntax(" <number [0,∞]> | <length [0,∞]> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "8",
inherits,
applies_to = Text,
animation_type = ByComputedValue,
property_group = Text,
computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
canonical_order = "n/a",
unitless_zero_resolves = Number,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.tab-size"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TabSizeStyleValue;
#[syntax(
" start | end | left | right | center | <string> | justify | match-parent | justify-all | -webkit-match-parent "
)]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "start",
inherits,
applies_to = Block,
animation_type = Discrete,
percentages = Unknown,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextAlignStyleValue {}
#[syntax(" start | end | left | right | center | <string> | justify | match-parent | -webkit-match-parent ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "start",
inherits,
applies_to = Block,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-all"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextAlignAllStyleValue {}
#[syntax(" auto | start | end | left | right | center | justify | match-parent ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Block,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-last"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextAlignLastStyleValue {}
#[syntax(" normal | <autospace> | auto ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-autospace"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextAutospaceStyleValue {}
#[syntax(" [ none | grow | shrink ] [consistent | per-line | per-line-all]? <percentage>? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
inherits,
applies_to = Block,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-fit"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TextFitStyleValue;
#[syntax(" none | start | end | left | right | center ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Block,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-group-align"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextGroupAlignStyleValue {}
#[syntax(" [ <length-percentage> ] && hanging? && each-line? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
inherits,
applies_to = Block,
animation_type = ByComputedValue,
percentages = Unknown,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-indent"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TextIndentStyleValue;
#[syntax(" [ auto | none | inter-word | inter-character | ruby ] || no-compress ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-justify"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextJustifyStyleValue {}
#[syntax(" none | auto | <spacing-trim> || <autospace> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TextSpacingStyleValue;
#[syntax(" <spacing-trim> | auto ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing-trim"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TextSpacingTrimStyleValue;
#[syntax(" none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-transform"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextTransformStyleValue {}
#[syntax(" <'text-wrap-mode'> || <'text-wrap-style'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "wrap",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
longhands = TextWrapMode|TextWrapStyle,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct TextWrapStyleValue;
#[syntax(" wrap | nowrap ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "wrap",
inherits,
applies_to = Text,
animation_type = Discrete,
shorthand_group = TextWrap,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-mode"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextWrapModeStyleValue {}
#[syntax(" auto | balance | stable | pretty | avoid-orphans ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
inherits,
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = TextWrap,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextWrapStyleStyleValue {}
#[syntax(
" normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'> "
)]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits = Unknown,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WhiteSpaceStyleValue {}
#[syntax(" collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "collapse",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-collapse"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WhiteSpaceCollapseStyleValue {}
#[syntax(" none | discard-before || discard-after || discard-inner ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-trim"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct WhiteSpaceTrimStyleValue;
#[syntax(" normal | break-all | keep-all | manual | auto-phrase | break-word ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-break"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WordBreakStyleValue {}
#[syntax(" none | [ space | ideographic-space ] && auto-phrase? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
inherits,
applies_to = Text,
animation_type = Discrete,
property_group = Text,
computed_value_type = AsSpecified,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-space-transform"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WordSpaceTransformStyleValue {}
#[syntax(" normal | <length-percentage> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "normal",
inherits,
applies_to = Text,
animation_type = ByComputedValue,
percentages = Unknown,
property_group = Text,
computed_value_type = AbsoluteLengthOrPercentage,
canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-spacing"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct WordSpacingStyleValue;
#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
applies_to = Unknown,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-after"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WrapAfterStyleValue {}
#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
applies_to = Unknown,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-before"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WrapBeforeStyleValue {}
#[syntax(" auto | avoid ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "auto",
applies_to = Unknown,
animation_type = Discrete,
property_group = Text,
computed_value_type = Unknown,
canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-inside"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WrapInsideStyleValue {}