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-writing-modes-4/

mod impls;
use super::prelude::*;
use impls::*;
/// Represents the style value for `direction` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#direction).
///
/// The unicode-bidi and direction CSS properties override the Unicode layout algorithm. They are intended for Document Type Definition (DTD) designers. For HTML documents, you should use the dir global HTML attribute and <bdo> HTML element instead.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// ltr | rtl
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#direction
#[syntax(" ltr | rtl ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "ltr",
    inherits,
    applies_to = Elements,
    property_group = WritingModes,
    computed_value_type = AsSpecified,
    canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.direction"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum DirectionStyleValue {}

/// Represents the style value for `glyph-orientation-vertical` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#glyph-orientation-vertical).
///
/// The glyph-orientation-vertical CSS property sets the orientation of glyphs in text rendered in a vertical writing mode.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// auto | 0deg | 90deg | 0 | 90
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#glyph-orientation-vertical
#[syntax(" auto | 0deg | 90deg | 0 | 90 ")]
#[derive(
	Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "n/a",
    inherits = Unknown,
    property_group = WritingModes,
    computed_value_type = Unknown,
    canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(
	feature = "css_feature_data",
	derive(ToCSSFeature),
	css_feature("css.properties.glyph-orientation-vertical")
)]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum GlyphOrientationVerticalStyleValue {}

/// Represents the style value for `text-combine-upright` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#text-combine-upright).
///
/// The text-combine-upright CSS property displays multiple characters in the space of a single character in vertical text. This is used in East Asian documents to display Latin-based strings such as components of a date or letters of an initialism.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// none | all | [ digits <integer [2,4]>? ]
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#text-combine-upright
#[syntax(" none | all | [ digits <integer [2,4]>? ] ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "none",
    inherits,
    applies_to = Unknown,
    property_group = WritingModes,
    computed_value_type = Unknown,
    canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-combine-upright"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextCombineUprightStyleValue {}

/// Represents the style value for `text-orientation` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#text-orientation).
///
/// The text-orientation CSS property sets the how text is typeset within a line when the writing mode is vertical.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// mixed | upright | sideways
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#text-orientation
#[syntax(" mixed | upright | sideways ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "mixed",
    inherits,
    applies_to = Unknown,
    property_group = WritingModes,
    computed_value_type = AsSpecified,
    canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-orientation"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum TextOrientationStyleValue {}

/// Represents the style value for `unicode-bidi` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#unicode-bidi).
///
/// The unicode-bidi and direction CSS properties override the Unicode layout algorithm. They are intended for Document Type Definition (DTD) designers. For HTML documents, you should use the dir global HTML attribute and <bdo> HTML element instead.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// normal | embed | isolate | bidi-override | isolate-override | plaintext
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#unicode-bidi
#[syntax(" normal | embed | isolate | bidi-override | isolate-override | plaintext ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "normal",
    applies_to = Elements,
    property_group = WritingModes,
    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.unicode-bidi"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum UnicodeBidiStyleValue {}

/// Represents the style value for `writing-mode` as defined in [css-writing-modes-4](https://drafts.csswg.org/css-writing-modes-4/#writing-mode).
///
/// The writing-mode CSS property sets whether text is laid out horizontally or vertically, and left to right, or right to left.
///
/// The grammar is defined as:
///
/// ```text,ignore
/// horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr
/// ```
///
/// https://drafts.csswg.org/css-writing-modes-4/#writing-mode
#[syntax(" horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr ")]
#[derive(
	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
)]
#[declaration_metadata(
    initial = "horizontal-tb",
    inherits,
    applies_to = Unknown,
    property_group = WritingModes,
    computed_value_type = AsSpecified,
    canonical_order = "n/a",
)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.writing-mode"))]
#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
#[derive(csskit_derives::NodeWithMetadata)]
pub enum WritingModeStyleValue {}