css_ast 0.0.25

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/4a2d33ef63e58de3f090c0efc69a038c5c4c1527
// Do not edit this file directly.
#![allow(warnings)]
//! https://drafts.csswg.org/css-align-3/

mod impls;
use super::prelude::*;
use impls::*;
/// Represents the style value for `align-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-content).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>
/// ```
///
/// https://drafts.csswg.org/css-align-3/#align-content
#[syntax(" normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "normal",
    applies_to = Unknown,
    animation_type = Discrete,
    shorthand_group = PlaceContent,
    property_group = Align,
    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.align-content"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum AlignContentStyleValue {}

/// Represents the style value for `align-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-items).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// normal | stretch | <baseline-position> | <overflow-position>? <self-position>
/// ```
///
/// https://drafts.csswg.org/css-align-3/#align-items
#[syntax(" normal | stretch | <baseline-position> | <overflow-position>? <self-position> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "normal",
    applies_to = Elements,
    animation_type = Discrete,
    shorthand_group = PlaceItems,
    property_group = Align,
    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.align-items"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum AlignItemsStyleValue {}

/// Represents the style value for `align-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-self).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | <overflow-position>? [ normal | <self-position> ]| stretch | <baseline-position>
/// ```
///
/// https://drafts.csswg.org/css-align-3/#align-self
#[syntax(" auto | <overflow-position>? [ normal | <self-position> ]| stretch | <baseline-position> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = Discrete,
    shorthand_group = PlaceSelf,
    property_group = Align,
    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.align-self"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum AlignSelfStyleValue {}

/// Represents the style value for `justify-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-content).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]
/// ```
///
/// https://drafts.csswg.org/css-align-3/#justify-content
#[syntax(" normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "normal",
    applies_to = Unknown,
    animation_type = Discrete,
    shorthand_group = PlaceContent,
    property_group = Align,
    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.justify-content"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum JustifyContentStyleValue {}

/// Represents the style value for `justify-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-items).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]
/// ```
///
/// https://drafts.csswg.org/css-align-3/#justify-items
#[syntax(
	" normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] "
)]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "legacy",
    applies_to = Elements,
    animation_type = Discrete,
    shorthand_group = PlaceItems,
    property_group = Align,
    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.justify-items"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum JustifyItemsStyleValue {}

/// Represents the style value for `justify-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-self).
///
/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | <overflow-position>? [ normal | <self-position> | left | right ] | stretch | <baseline-position>
/// ```
///
/// https://drafts.csswg.org/css-align-3/#justify-self
#[syntax(" auto | <overflow-position>? [ normal | <self-position> | left | right ] | stretch | <baseline-position> ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = Discrete,
    shorthand_group = PlaceSelf,
    property_group = Align,
    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.justify-self"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum JustifySelfStyleValue {}

/// Represents the style value for `place-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-content).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// <'align-content'> <'justify-content'>?
/// ```
///
/// https://drafts.csswg.org/css-align-3/#place-content
#[syntax(" <'align-content'> <'justify-content'>? ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "normal",
    applies_to = Unknown,
    animation_type = Discrete,
    longhands = AlignContent|JustifyContent,
    property_group = Align,
    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.place-content"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct PlaceContentStyleValue;

/// Represents the style value for `place-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-items).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// <'align-items'> <'justify-items'>?
/// ```
///
/// https://drafts.csswg.org/css-align-3/#place-items
#[syntax(" <'align-items'> <'justify-items'>? ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "see individual properties",
    applies_to = Elements,
    animation_type = Discrete,
    longhands = AlignItems|JustifyItems,
    property_group = Align,
    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.place-items"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct PlaceItemsStyleValue;

/// Represents the style value for `place-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-self).
///
/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// <'align-self'> <'justify-self'>?
/// ```
///
/// https://drafts.csswg.org/css-align-3/#place-self
#[syntax(" <'align-self'> <'justify-self'>? ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "auto",
    applies_to = Unknown,
    animation_type = Discrete,
    longhands = AlignSelf|JustifySelf,
    property_group = Align,
    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.place-self"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub struct PlaceSelfStyleValue;