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 {}