#![allow(warnings)]
mod impls;
use super::prelude::*;
use impls::*;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
longhands = BorderBottomColor|BorderBottomStyle|BorderBottomWidth|BorderColor|BorderLeftColor|BorderLeftStyle|BorderLeftWidth|BorderRightColor|BorderRightStyle|BorderRightWidth|BorderStyle|BorderTopColor|BorderTopStyle|BorderTopWidth|BorderWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Top|Bottom|Left|Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderStyleValue<'a>;
#[syntax(" <'border-block-start'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
longhands = BorderBlockColor|BorderBlockStyle|BorderBlockWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart|BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStyleValue<'a>;
#[syntax(" <'border-top-clip'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart|BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockClipStyleValue<'a>;
#[syntax(" <'border-top-color'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderBlock,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart|BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockColorStyleValue<'a>;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderBlockEndColor|BorderBlockEndStyle|BorderBlockEndWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockEndStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockEndClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = BorderBlockEnd,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderBlockEndColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockEndRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderBlockEnd,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockEndStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = BorderBlockEnd,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockEndWidthStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderBlockStartColor|BorderBlockStartStyle|BorderBlockStartWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStartStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStartClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = BorderBlockStart,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderBlockStartColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStartRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderBlockStart,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStartStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = BorderBlockStart,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStartWidthStyleValue;
#[syntax(" <'border-top-style'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderBlock,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart|BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockStyleStyleValue;
#[syntax(" <'border-top-width'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderBlock,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = BlockStart|BlockEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBlockWidthStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderBottomColor|BorderBottomStyle|BorderBottomWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Bottom,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderBottomColorStyleValue<'a> {}
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
shorthand_group = BorderRadius,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = Bottom|Left,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomLeftRadiusStyleValue;
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomRadiusStyleValue;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
shorthand_group = BorderRadius,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = Bottom|Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(
feature = "css_feature_data",
derive(ToCSSFeature),
css_feature("css.properties.border-bottom-right-radius")
)]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomRightRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = Border,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderBottomWidthStyleValue;
#[syntax(" <'border-top-clip'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderClipStyleValue<'a>;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = BlockEnd|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderEndEndRadiusStyleValue;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = BlockEnd|InlineStart,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderEndStartRadiusStyleValue;
#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = BorderImage,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderImageOutsetStyleValue;
#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "stretch",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderImage,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderImageRepeatStyleValue;
#[syntax(" none | <image> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderImage,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-source"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderImageSourceStyleValue<'a>;
#[syntax(" <'border-block-start'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
longhands = BorderInlineColor|BorderInlineStyle|BorderInlineWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStyleValue<'a>;
#[syntax(" <'border-top-clip'> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineClipStyleValue<'a>;
#[syntax(" <'border-top-color'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderInline,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineColorStyleValue<'a>;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderInlineEndColor|BorderInlineEndStyle|BorderInlineEndWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineEndStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineEndClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = BorderInlineEnd,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderInlineEndColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineEndRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderInlineEnd,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineEndStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = BorderInlineEnd,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineEndWidthStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderInlineStartColor|BorderInlineStartStyle|BorderInlineStartWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStartStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStartClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = BorderInlineStart,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderInlineStartColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(
feature = "css_feature_data",
derive(ToCSSFeature),
css_feature("css.properties.border-inline-start-radius")
)]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStartRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = BorderInlineStart,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStartStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = BorderInlineStart,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStartWidthStyleValue;
#[syntax(" <'border-top-style'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderInline,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineStyleStyleValue;
#[syntax(" <'border-top-width'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = BorderInline,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = InlineStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderInlineWidthStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderLeftColor|BorderLeftStyle|BorderLeftWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Left,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderLeftStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderLeftClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderLeftColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderLeftRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderLeftStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = Border,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderLeftWidthStyleValue;
#[syntax(
" all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
)]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "all",
applies_to = Unknown,
animation_type = Discrete,
percentages = BorderBox,
property_group = Borders,
computed_value_type = AsSpecified,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderLimitStyleValue {}
#[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
longhands = BorderBottomLeftRadius|BorderBottomRightRadius|BorderTopLeftRadius|BorderTopRightRadius,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRadiusStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderRightColor|BorderRightStyle|BorderRightWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRightStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRightClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderRightColorStyleValue<'a> {}
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRightRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRightStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = Border,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderRightWidthStyleValue;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = BlockStart|InlineEnd,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderStartEndRadiusStyleValue;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = BlockStart|InlineStart,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderStartStartRadiusStyleValue;
#[syntax(" <'border-top-style'>{1,4} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = Border,
longhands = BorderBottomStyle|BorderLeftStyle|BorderRightStyle|BorderTopStyle,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Top|Bottom|Left|Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderStyleStyleValue;
#[syntax(" <line-width> || <line-style> || <color> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "See individual properties",
applies_to = Unknown,
animation_type = Unknown,
longhands = BorderTopColor|BorderTopStyle|BorderTopWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Top,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopStyleValue<'a>;
#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderEdge,
property_group = Borders,
computed_value_type = SpecifiedWithAbsoluteLengths,
canonical_order = "per grammar",
logical_property_group = BorderClip,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-clip"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopClipStyleValue<'a>;
#[syntax(" <color> | <image-1D> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Unknown,
animation_type = Unknown,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderColor,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum BorderTopColorStyleValue<'a> {}
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
shorthand_group = BorderRadius,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = Top|Left,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopLeftRadiusStyleValue;
#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = Unknown,
percentages = BorderBox,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopRadiusStyleValue;
#[syntax(" <border-radius> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
percentages = BorderBox,
shorthand_group = BorderRadius,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderRadius,
box_side = Top|Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopRightRadiusStyleValue;
#[syntax(" <line-style> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Unknown,
animation_type = Discrete,
shorthand_group = Border,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = BorderStyle,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopStyleStyleValue;
#[syntax(" <line-width> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "medium",
applies_to = Unknown,
animation_type = ByComputedValue,
shorthand_group = Border,
property_group = Borders,
computed_value_type = AbsoluteLength,
canonical_order = "per grammar",
logical_property_group = BorderWidth,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderTopWidthStyleValue;
#[syntax(" <'border-top-width'>{1,4} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
shorthand_group = Border,
longhands = BorderBottomWidth|BorderLeftWidth|BorderRightWidth|BorderTopWidth,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
box_side = Top|Bottom|Left|Right,
box_portion = Border,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BorderWidthStyleValue;
#[syntax(" <spread-shadow># ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = Unknown,
property_group = Borders,
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.box-shadow"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowStyleValue<'a>;
#[syntax(" <length [0,∞]># ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
property_group = Borders,
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.box-shadow-blur"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowBlurStyleValue<'a>;
#[syntax(" <color># ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "currentcolor",
applies_to = Elements,
animation_type = ByComputedValue,
property_group = Borders,
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.box-shadow-color"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowColorStyleValue<'a>;
#[syntax(" [ none | <length>{1,2} ]# ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "none",
applies_to = Elements,
animation_type = ByComputedValue,
property_group = Borders,
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.box-shadow-offset"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowOffsetStyleValue<'a>;
#[syntax(" [ outset | inset ]# ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "outset",
applies_to = Elements,
animation_type = ByComputedValue,
property_group = Borders,
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.box-shadow-position"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowPositionStyleValue<'a>;
#[syntax(" <length># ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "0",
applies_to = Elements,
animation_type = ByComputedValue,
property_group = Borders,
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.box-shadow-spread"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct BoxShadowSpreadStyleValue<'a>;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-block-end-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerBlockEndShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-block-start-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerBlockStartShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = Bottom|Left,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerBottomLeftShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = Bottom|Right,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerBottomRightShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-bottom-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerBottomShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = BlockEnd|InlineEnd,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerEndEndShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = BlockEnd|InlineStart,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerEndStartShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-inline-end-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerInlineEndShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-inline-start-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerInlineStartShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-left-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerLeftShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-right-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerRightShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,4} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = BlockStart|InlineEnd,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerStartEndShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = BlockStart|InlineStart,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerStartStartShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = Top|Left,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerTopLeftShapeStyleValue;
#[syntax(" <corner-shape-value> ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "round",
applies_to = Unknown,
animation_type = Unknown,
property_group = Borders,
computed_value_type = Unknown,
canonical_order = "per grammar",
logical_property_group = CornerShape,
box_side = Top|Right,
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerTopRightShapeStyleValue;
#[syntax(" <'corner-top-left-shape'>{1,2} ")]
#[derive(
Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
initial = "see individual properties",
inherits = Unknown,
applies_to = Unknown,
animation_type = Unknown,
percentages = Unknown,
property_group = Borders,
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.corner-top-shape"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct CornerTopShapeStyleValue;