css_ast 0.0.22

CSS Abstract Syntax Trees with visitable nodes and style value types.
Documentation
// AUTO-GENERATED from w3c/csswg-drafts
// Commit: https://github.com/w3c/csswg-drafts/commit/53d6722b123cba9c9ac37e4ae1a78eb144ecd25f
// Do not edit this file directly.
#![allow(warnings)]
//! https://drafts.csswg.org/css-multicol-2/

mod impls;
use super::prelude::*;
use impls::*;
/// Represents the style value for `column-count` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-count).
///
/// Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | <integer [1,∞]>
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-count
#[syntax(" auto | <integer [1,∞]> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = ByComputedValue,
    shorthand_group = Columns,
    property_group = Multicol,
    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.column-count"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct ColumnCountStyleValue;

/// Represents the style value for `column-fill` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-fill).
///
/// The column-fill CSS property sets the distribution of content across columns in a multi-column layout.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | balance | balance-all
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-fill
#[syntax(" auto | balance | balance-all ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "balance",
    applies_to = Unknown,
    animation_type = Discrete,
    property_group = Multicol,
    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.column-fill"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum ColumnFillStyleValue {}

/// Represents the style value for `column-height` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-height).
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | <length [0,∞]>
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-height
#[syntax(" auto | <length [0,∞]> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = ByComputedValue,
    property_group = Multicol,
    computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
    canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-height"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct ColumnHeightStyleValue;

/// Represents the style value for `column-span` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-span).
///
/// The column-span CSS property controls whether a child element extends across all columns of a multi-column parent.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// none | <integer [1,∞]> | all | auto
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-span
#[syntax(" none | <integer [1,∞]> | all | auto ")]
#[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 = Multicol,
    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.column-span"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum ColumnSpanStyleValue {}

/// Represents the style value for `column-width` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-width).
///
/// Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | <length [0,∞]>
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-width
#[syntax(" auto | <length [0,∞]> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = ByComputedValue,
    shorthand_group = Columns,
    property_group = Multicol,
    computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
    canonical_order = "per grammar",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-width"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct ColumnWidthStyleValue;

/// Represents the style value for `column-wrap` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#column-wrap).
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | nowrap | wrap
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#column-wrap
#[syntax(" auto | nowrap | wrap ")]
#[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 = Multicol,
    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.column-wrap"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum ColumnWrapStyleValue {}

/// Represents the style value for `columns` as defined in [css-multicol-2](https://drafts.csswg.org/css-multicol-2/#columns).
///
/// Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// [ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?
/// ```
///
/// https://drafts.csswg.org/css-multicol-2/#columns
#[syntax(" [ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]? ")]
#[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 = ColumnCount|ColumnWidth,
    property_group = Multicol,
    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.columns"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct ColumnsStyleValue;