css_ast/values/align/
mod.rs

1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/7e27ad7484307dfdbe9d0e18ad19d02859389688
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-align-3/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10/// Represents the style value for `align-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-content).
11///
12/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
13///
14/// The grammar is defined as:
15///
16/// ```text,ignore
17/// normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>
18/// ```
19///
20/// https://drafts.csswg.org/css-align-3/#align-content
21#[syntax(" normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ")]
22#[derive(
23	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26    initial = "normal",
27    applies_to = Unknown,
28    animation_type = Discrete,
29    shorthand_group = PlaceContent,
30    property_group = Align,
31    computed_value_type = Unknown,
32    canonical_order = "per grammar",
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
35#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.align-content"))]
36#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
37#[derive(csskit_derives::NodeWithMetadata)]
38pub enum AlignContentStyleValue {}
39
40// /// Represents the style value for `align-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-items).
41// ///
42// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
43// ///
44// /// The grammar is defined as:
45// ///
46// /// ```text,ignore
47// /// normal | stretch | <baseline-position> | <overflow-position>? <self-position>
48// /// ```
49// ///
50// /// https://drafts.csswg.org/css-align-3/#align-items
51// #[syntax(
52//     " normal | stretch | <baseline-position> | <overflow-position>? <self-position> "
53// )]
54// #[derive(
55//     Parse,
56//     Peek,
57//     ToSpan,
58//     ToCursors,
59//     DeclarationMetadata,
60//     SemanticEq,
61//     Debug,
62//     Clone,
63//     PartialEq,
64//     Eq,
65//     PartialOrd,
66//     Ord,
67//     Hash,
68// )]
69// #[declaration_metadata(
70//     initial = "normal",
71//     applies_to = Elements,
72//     animation_type = Discrete,
73//     shorthand_group = PlaceItems,
74//     property_group = Align,
75//     computed_value_type = Unknown,
76//     canonical_order = "per grammar",
77// )]
78// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
79// #[cfg_attr(
80//     feature = "css_feature_data",
81//     derive(ToCSSFeature),
82//     css_feature("css.properties.align-items")
83// )]
84// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
85// #[derive(csskit_derives::NodeWithMetadata)]
86// pub enum AlignItemsStyleValue {}
87
88/// Represents the style value for `align-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#align-self).
89///
90/// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
91///
92/// The grammar is defined as:
93///
94/// ```text,ignore
95/// auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>
96/// ```
97///
98/// https://drafts.csswg.org/css-align-3/#align-self
99#[syntax(" auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> ")]
100#[derive(
101	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
102)]
103#[declaration_metadata(
104    initial = "auto",
105    applies_to = Unknown,
106    animation_type = Discrete,
107    shorthand_group = PlaceSelf,
108    property_group = Align,
109    computed_value_type = Unknown,
110    canonical_order = "per grammar",
111)]
112#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
113#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.align-self"))]
114#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
115#[derive(csskit_derives::NodeWithMetadata)]
116pub enum AlignSelfStyleValue {}
117
118/// Represents the style value for `column-gap` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#column-gap).
119///
120/// 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.
121///
122/// The grammar is defined as:
123///
124/// ```text,ignore
125/// normal | <length-percentage [0,∞]>
126/// ```
127///
128/// https://drafts.csswg.org/css-align-3/#column-gap
129#[syntax(" normal | <length-percentage [0,∞]> ")]
130#[derive(
131	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
132)]
133#[declaration_metadata(
134    initial = "normal",
135    applies_to = Unknown,
136    animation_type = ByComputedValue,
137    percentages = Unknown,
138    shorthand_group = Gap,
139    property_group = Align,
140    computed_value_type = Unknown,
141    canonical_order = "per grammar",
142)]
143#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
144#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-gap"))]
145#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
146#[derive(csskit_derives::NodeWithMetadata)]
147pub enum ColumnGapStyleValue {}
148
149/// Represents the style value for `gap` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#gap).
150///
151/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
152///
153/// The grammar is defined as:
154///
155/// ```text,ignore
156/// <'row-gap'> <'column-gap'>?
157/// ```
158///
159/// https://drafts.csswg.org/css-align-3/#gap
160#[syntax(" <'row-gap'> <'column-gap'>? ")]
161#[derive(
162	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
163)]
164#[declaration_metadata(
165    initial = "see individual properties",
166    applies_to = Unknown,
167    animation_type = ByComputedValue,
168    percentages = ContentArea,
169    longhands = ColumnGap|RowGap,
170    property_group = Align,
171    computed_value_type = Unknown,
172    canonical_order = "per grammar",
173)]
174#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
175#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.gap"))]
176#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
177#[derive(csskit_derives::NodeWithMetadata)]
178pub struct GapStyleValue;
179
180// /// Represents the style value for `justify-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-content).
181// ///
182// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
183// ///
184// /// The grammar is defined as:
185// ///
186// /// ```text,ignore
187// /// normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]
188// /// ```
189// ///
190// /// https://drafts.csswg.org/css-align-3/#justify-content
191// #[syntax(
192//     " normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] "
193// )]
194// #[derive(
195//     Parse,
196//     Peek,
197//     ToSpan,
198//     ToCursors,
199//     DeclarationMetadata,
200//     SemanticEq,
201//     Debug,
202//     Clone,
203//     PartialEq,
204//     Eq,
205//     PartialOrd,
206//     Ord,
207//     Hash,
208// )]
209// #[declaration_metadata(
210//     initial = "normal",
211//     applies_to = Unknown,
212//     animation_type = Discrete,
213//     shorthand_group = PlaceContent,
214//     property_group = Align,
215//     computed_value_type = Unknown,
216//     canonical_order = "per grammar",
217// )]
218// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
219// #[cfg_attr(
220//     feature = "css_feature_data",
221//     derive(ToCSSFeature),
222//     css_feature("css.properties.justify-content")
223// )]
224// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
225// #[derive(csskit_derives::NodeWithMetadata)]
226// pub enum JustifyContentStyleValue {}
227
228// /// Represents the style value for `justify-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-items).
229// ///
230// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
231// ///
232// /// The grammar is defined as:
233// ///
234// /// ```text,ignore
235// /// normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]
236// /// ```
237// ///
238// /// https://drafts.csswg.org/css-align-3/#justify-items
239// #[syntax(
240//     " normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] "
241// )]
242// #[derive(
243//     Parse,
244//     Peek,
245//     ToSpan,
246//     ToCursors,
247//     DeclarationMetadata,
248//     SemanticEq,
249//     Debug,
250//     Clone,
251//     PartialEq,
252//     Eq,
253//     PartialOrd,
254//     Ord,
255//     Hash,
256// )]
257// #[declaration_metadata(
258//     initial = "legacy",
259//     applies_to = Elements,
260//     animation_type = Discrete,
261//     shorthand_group = PlaceItems,
262//     property_group = Align,
263//     computed_value_type = Unknown,
264//     canonical_order = "per grammar",
265// )]
266// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
267// #[cfg_attr(
268//     feature = "css_feature_data",
269//     derive(ToCSSFeature),
270//     css_feature("css.properties.justify-items")
271// )]
272// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
273// #[derive(csskit_derives::NodeWithMetadata)]
274// pub enum JustifyItemsStyleValue {}
275
276// /// Represents the style value for `justify-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#justify-self).
277// ///
278// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
279// ///
280// /// The grammar is defined as:
281// ///
282// /// ```text,ignore
283// /// auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]
284// /// ```
285// ///
286// /// https://drafts.csswg.org/css-align-3/#justify-self
287// #[syntax(
288//     " auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] "
289// )]
290// #[derive(
291//     Parse,
292//     Peek,
293//     ToSpan,
294//     ToCursors,
295//     DeclarationMetadata,
296//     SemanticEq,
297//     Debug,
298//     Clone,
299//     PartialEq,
300//     Eq,
301//     PartialOrd,
302//     Ord,
303//     Hash,
304// )]
305// #[declaration_metadata(
306//     initial = "auto",
307//     applies_to = Unknown,
308//     animation_type = Discrete,
309//     shorthand_group = PlaceSelf,
310//     property_group = Align,
311//     computed_value_type = Unknown,
312//     canonical_order = "per grammar",
313// )]
314// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
315// #[cfg_attr(
316//     feature = "css_feature_data",
317//     derive(ToCSSFeature),
318//     css_feature("css.properties.justify-self")
319// )]
320// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
321// #[derive(csskit_derives::NodeWithMetadata)]
322// pub enum JustifySelfStyleValue {}
323
324// /// Represents the style value for `place-content` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-content).
325// ///
326// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
327// ///
328// /// The grammar is defined as:
329// ///
330// /// ```text,ignore
331// /// <'align-content'> <'justify-content'>?
332// /// ```
333// ///
334// /// https://drafts.csswg.org/css-align-3/#place-content
335// #[syntax(" <'align-content'> <'justify-content'>? ")]
336// #[derive(
337//     Parse,
338//     Peek,
339//     ToSpan,
340//     ToCursors,
341//     DeclarationMetadata,
342//     SemanticEq,
343//     Debug,
344//     Clone,
345//     PartialEq,
346//     Eq,
347//     PartialOrd,
348//     Ord,
349//     Hash,
350// )]
351// #[declaration_metadata(
352//     initial = "normal",
353//     applies_to = Unknown,
354//     animation_type = Discrete,
355//     longhands = AlignContent|JustifyContent,
356//     property_group = Align,
357//     computed_value_type = Unknown,
358//     canonical_order = "per grammar",
359// )]
360// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
361// #[cfg_attr(
362//     feature = "css_feature_data",
363//     derive(ToCSSFeature),
364//     css_feature("css.properties.place-content")
365// )]
366// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
367// #[derive(csskit_derives::NodeWithMetadata)]
368// pub struct PlaceContentStyleValue;
369
370// /// Represents the style value for `place-items` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-items).
371// ///
372// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
373// ///
374// /// The grammar is defined as:
375// ///
376// /// ```text,ignore
377// /// <'align-items'> <'justify-items'>?
378// /// ```
379// ///
380// /// https://drafts.csswg.org/css-align-3/#place-items
381// #[syntax(" <'align-items'> <'justify-items'>? ")]
382// #[derive(
383//     Parse,
384//     Peek,
385//     ToSpan,
386//     ToCursors,
387//     DeclarationMetadata,
388//     SemanticEq,
389//     Debug,
390//     Clone,
391//     PartialEq,
392//     Eq,
393//     PartialOrd,
394//     Ord,
395//     Hash,
396// )]
397// #[declaration_metadata(
398//     initial = "see individual properties",
399//     applies_to = Elements,
400//     animation_type = Discrete,
401//     longhands = AlignItems|JustifyItems,
402//     property_group = Align,
403//     computed_value_type = Unknown,
404//     canonical_order = "per grammar",
405// )]
406// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
407// #[cfg_attr(
408//     feature = "css_feature_data",
409//     derive(ToCSSFeature),
410//     css_feature("css.properties.place-items")
411// )]
412// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
413// #[derive(csskit_derives::NodeWithMetadata)]
414// pub struct PlaceItemsStyleValue;
415
416// /// Represents the style value for `place-self` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#place-self).
417// ///
418// /// Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
419// ///
420// /// The grammar is defined as:
421// ///
422// /// ```text,ignore
423// /// <'align-self'> <'justify-self'>?
424// /// ```
425// ///
426// /// https://drafts.csswg.org/css-align-3/#place-self
427// #[syntax(" <'align-self'> <'justify-self'>? ")]
428// #[derive(
429//     Parse,
430//     Peek,
431//     ToSpan,
432//     ToCursors,
433//     DeclarationMetadata,
434//     SemanticEq,
435//     Debug,
436//     Clone,
437//     PartialEq,
438//     Eq,
439//     PartialOrd,
440//     Ord,
441//     Hash,
442// )]
443// #[declaration_metadata(
444//     initial = "auto",
445//     applies_to = Unknown,
446//     animation_type = Discrete,
447//     longhands = AlignSelf|JustifySelf,
448//     property_group = Align,
449//     computed_value_type = Unknown,
450//     canonical_order = "per grammar",
451// )]
452// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
453// #[cfg_attr(
454//     feature = "css_feature_data",
455//     derive(ToCSSFeature),
456//     css_feature("css.properties.place-self")
457// )]
458// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
459// #[derive(csskit_derives::NodeWithMetadata)]
460// pub struct PlaceSelfStyleValue;
461
462/// Represents the style value for `row-gap` as defined in [css-align-3](https://drafts.csswg.org/css-align-3/#row-gap).
463///
464/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
465///
466/// The grammar is defined as:
467///
468/// ```text,ignore
469/// normal | <length-percentage [0,∞]>
470/// ```
471///
472/// https://drafts.csswg.org/css-align-3/#row-gap
473#[syntax(" normal | <length-percentage [0,∞]> ")]
474#[derive(
475	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
476)]
477#[declaration_metadata(
478    initial = "normal",
479    applies_to = Unknown,
480    animation_type = ByComputedValue,
481    percentages = Unknown,
482    shorthand_group = Gap,
483    property_group = Align,
484    computed_value_type = Unknown,
485    canonical_order = "per grammar",
486)]
487#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
488#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-gap"))]
489#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
490#[derive(csskit_derives::NodeWithMetadata)]
491pub enum RowGapStyleValue {}