css_ast/values/grid/mod.rs
1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/58eb9b3f45e73a3e4ae51b253a25fa2a11ad142c
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-grid-3/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10/// Represents the style value for `flow-tolerance` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#flow-tolerance).
11///
12/// The grammar is defined as:
13///
14/// ```text,ignore
15/// normal | <length-percentage> | infinite
16/// ```
17///
18/// https://drafts.csswg.org/css-grid-3/#flow-tolerance
19#[syntax(" normal | <length-percentage> | infinite ")]
20#[derive(
21 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
22)]
23#[declaration_metadata(
24 initial = "normal",
25 applies_to = Unknown,
26 animation_type = Length,
27 percentages = Unknown,
28 property_group = Grid,
29 computed_value_type = Unknown,
30 canonical_order = "per grammar",
31)]
32#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
33#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.flow-tolerance"))]
34#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
35#[derive(csskit_derives::NodeWithMetadata)]
36pub enum FlowToleranceStyleValue {}
37
38// /// Represents the style value for `grid` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid).
39// ///
40// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
41// ///
42// /// The grammar is defined as:
43// ///
44// /// ```text,ignore
45// /**<'grid-template'> |
46// <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? |
47// [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>*/
48// /// ```
49// ///
50// /// https://drafts.csswg.org/css-grid-3/#grid
51// #[syntax(
52// " <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> "
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 = "none",
71// inherits = Unknown,
72// applies_to = Grid,
73// animation_type = Unknown,
74// percentages = Unknown,
75// longhands = GridAutoColumns|GridAutoFlow|GridAutoRows|GridTemplateAreas|GridTemplateColumns|GridTemplateRows,
76// property_group = Grid,
77// computed_value_type = Unknown,
78// canonical_order = "per grammar",
79// )]
80// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
81// #[cfg_attr(
82// feature = "css_feature_data",
83// derive(ToCSSFeature),
84// css_feature("css.properties.grid")
85// )]
86// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
87// #[derive(csskit_derives::NodeWithMetadata)]
88// pub enum GridStyleValue {}
89
90// /// Represents the style value for `grid-area` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-area).
91// ///
92// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
93// ///
94// /// The grammar is defined as:
95// ///
96// /// ```text,ignore
97// /// <grid-line> [ / <grid-line> ]{0,3}
98// /// ```
99// ///
100// /// https://drafts.csswg.org/css-grid-3/#grid-area
101// #[syntax(" <grid-line> [ / <grid-line> ]{0,3} ")]
102// #[derive(
103// Parse,
104// Peek,
105// ToSpan,
106// ToCursors,
107// DeclarationMetadata,
108// SemanticEq,
109// Debug,
110// Clone,
111// PartialEq,
112// Eq,
113// PartialOrd,
114// Ord,
115// Hash,
116// )]
117// #[declaration_metadata(
118// initial = "auto",
119// applies_to = Unknown,
120// animation_type = Discrete,
121// longhands = GridColumnEnd|GridColumnStart|GridRowEnd|GridRowStart,
122// property_group = Grid,
123// computed_value_type = Unknown,
124// canonical_order = "per grammar",
125// )]
126// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
127// #[cfg_attr(
128// feature = "css_feature_data",
129// derive(ToCSSFeature),
130// css_feature("css.properties.grid-area")
131// )]
132// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
133// #[derive(csskit_derives::NodeWithMetadata)]
134// pub struct GridAreaStyleValue;
135
136/// Represents the style value for `grid-auto-columns` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-columns).
137///
138/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
139///
140/// The grammar is defined as:
141///
142/// ```text,ignore
143/// <track-size>+
144/// ```
145///
146/// https://drafts.csswg.org/css-grid-3/#grid-auto-columns
147#[syntax(" <track-size>+ ")]
148#[derive(
149 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
150)]
151#[declaration_metadata(
152 initial = "auto",
153 applies_to = Grid,
154 animation_type = Discrete,
155 percentages = Unknown,
156 shorthand_group = Grid,
157 property_group = Grid,
158 computed_value_type = Unknown,
159 canonical_order = "per grammar",
160)]
161#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
162#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-auto-columns"))]
163#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
164#[derive(csskit_derives::NodeWithMetadata)]
165pub struct GridAutoColumnsStyleValue<'a>;
166
167// /// Represents the style value for `grid-auto-flow` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-flow).
168// ///
169// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
170// ///
171// /// The grammar is defined as:
172// ///
173// /// ```text,ignore
174// /// [ row | column ] || dense
175// /// ```
176// ///
177// /// https://drafts.csswg.org/css-grid-3/#grid-auto-flow
178// #[syntax(" [ row | column ] || dense ")]
179// #[derive(
180// Parse,
181// Peek,
182// ToSpan,
183// ToCursors,
184// DeclarationMetadata,
185// SemanticEq,
186// Debug,
187// Clone,
188// PartialEq,
189// Eq,
190// PartialOrd,
191// Ord,
192// Hash,
193// )]
194// #[declaration_metadata(
195// initial = "row",
196// applies_to = Grid,
197// animation_type = Discrete,
198// shorthand_group = Grid,
199// property_group = Grid,
200// computed_value_type = Unknown,
201// canonical_order = "per grammar",
202// )]
203// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
204// #[cfg_attr(
205// feature = "css_feature_data",
206// derive(ToCSSFeature),
207// css_feature("css.properties.grid-auto-flow")
208// )]
209// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
210// #[derive(csskit_derives::NodeWithMetadata)]
211// pub struct GridAutoFlowStyleValue;
212
213/// Represents the style value for `grid-auto-rows` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-rows).
214///
215/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
216///
217/// The grammar is defined as:
218///
219/// ```text,ignore
220/// <track-size>+
221/// ```
222///
223/// https://drafts.csswg.org/css-grid-3/#grid-auto-rows
224#[syntax(" <track-size>+ ")]
225#[derive(
226 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
227)]
228#[declaration_metadata(
229 initial = "auto",
230 applies_to = Grid,
231 animation_type = Discrete,
232 percentages = Unknown,
233 shorthand_group = Grid,
234 property_group = Grid,
235 computed_value_type = Unknown,
236 canonical_order = "per grammar",
237)]
238#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
239#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-auto-rows"))]
240#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
241#[derive(csskit_derives::NodeWithMetadata)]
242pub struct GridAutoRowsStyleValue<'a>;
243
244// /// Represents the style value for `grid-column` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column).
245// ///
246// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
247// ///
248// /// The grammar is defined as:
249// ///
250// /// ```text,ignore
251// /// <grid-line> [ / <grid-line> ]?
252// /// ```
253// ///
254// /// https://drafts.csswg.org/css-grid-3/#grid-column
255// #[syntax(" <grid-line> [ / <grid-line> ]? ")]
256// #[derive(
257// Parse,
258// Peek,
259// ToSpan,
260// ToCursors,
261// DeclarationMetadata,
262// SemanticEq,
263// Debug,
264// Clone,
265// PartialEq,
266// Eq,
267// PartialOrd,
268// Ord,
269// Hash,
270// )]
271// #[declaration_metadata(
272// initial = "auto",
273// applies_to = Unknown,
274// animation_type = Discrete,
275// longhands = GridColumnEnd|GridColumnStart,
276// property_group = Grid,
277// computed_value_type = Unknown,
278// canonical_order = "per grammar",
279// )]
280// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
281// #[cfg_attr(
282// feature = "css_feature_data",
283// derive(ToCSSFeature),
284// css_feature("css.properties.grid-column")
285// )]
286// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
287// #[derive(csskit_derives::NodeWithMetadata)]
288// pub struct GridColumnStyleValue;
289
290/// Represents the style value for `grid-column-end` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column-end).
291///
292/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
293///
294/// The grammar is defined as:
295///
296/// ```text,ignore
297/// <grid-line>
298/// ```
299///
300/// https://drafts.csswg.org/css-grid-3/#grid-column-end
301#[syntax(" <grid-line> ")]
302#[derive(
303 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
304)]
305#[declaration_metadata(
306 initial = "auto",
307 applies_to = Unknown,
308 animation_type = Discrete,
309 shorthand_group = GridArea,
310 property_group = Grid,
311 computed_value_type = Unknown,
312 canonical_order = "per grammar",
313)]
314#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
315#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-column-end"))]
316#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
317#[derive(csskit_derives::NodeWithMetadata)]
318pub struct GridColumnEndStyleValue;
319
320/// Represents the style value for `grid-column-start` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column-start).
321///
322/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
323///
324/// The grammar is defined as:
325///
326/// ```text,ignore
327/// <grid-line>
328/// ```
329///
330/// https://drafts.csswg.org/css-grid-3/#grid-column-start
331#[syntax(" <grid-line> ")]
332#[derive(
333 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
334)]
335#[declaration_metadata(
336 initial = "auto",
337 applies_to = Unknown,
338 animation_type = Discrete,
339 shorthand_group = GridArea,
340 property_group = Grid,
341 computed_value_type = Unknown,
342 canonical_order = "per grammar",
343)]
344#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
345#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-column-start"))]
346#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
347#[derive(csskit_derives::NodeWithMetadata)]
348pub struct GridColumnStartStyleValue;
349
350// /// Represents the style value for `grid-row` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row).
351// ///
352// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
353// ///
354// /// The grammar is defined as:
355// ///
356// /// ```text,ignore
357// /// <grid-line> [ / <grid-line> ]?
358// /// ```
359// ///
360// /// https://drafts.csswg.org/css-grid-3/#grid-row
361// #[syntax(" <grid-line> [ / <grid-line> ]? ")]
362// #[derive(
363// Parse,
364// Peek,
365// ToSpan,
366// ToCursors,
367// DeclarationMetadata,
368// SemanticEq,
369// Debug,
370// Clone,
371// PartialEq,
372// Eq,
373// PartialOrd,
374// Ord,
375// Hash,
376// )]
377// #[declaration_metadata(
378// initial = "auto",
379// applies_to = Unknown,
380// animation_type = Discrete,
381// longhands = GridRowEnd|GridRowStart,
382// property_group = Grid,
383// computed_value_type = Unknown,
384// canonical_order = "per grammar",
385// )]
386// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
387// #[cfg_attr(
388// feature = "css_feature_data",
389// derive(ToCSSFeature),
390// css_feature("css.properties.grid-row")
391// )]
392// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
393// #[derive(csskit_derives::NodeWithMetadata)]
394// pub struct GridRowStyleValue;
395
396/// Represents the style value for `grid-row-end` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row-end).
397///
398/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
399///
400/// The grammar is defined as:
401///
402/// ```text,ignore
403/// <grid-line>
404/// ```
405///
406/// https://drafts.csswg.org/css-grid-3/#grid-row-end
407#[syntax(" <grid-line> ")]
408#[derive(
409 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
410)]
411#[declaration_metadata(
412 initial = "auto",
413 applies_to = Unknown,
414 animation_type = Discrete,
415 shorthand_group = GridRow,
416 property_group = Grid,
417 computed_value_type = Unknown,
418 canonical_order = "per grammar",
419)]
420#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
421#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-row-end"))]
422#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
423#[derive(csskit_derives::NodeWithMetadata)]
424pub struct GridRowEndStyleValue;
425
426/// Represents the style value for `grid-row-start` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row-start).
427///
428/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
429///
430/// The grammar is defined as:
431///
432/// ```text,ignore
433/// <grid-line>
434/// ```
435///
436/// https://drafts.csswg.org/css-grid-3/#grid-row-start
437#[syntax(" <grid-line> ")]
438#[derive(
439 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
440)]
441#[declaration_metadata(
442 initial = "auto",
443 applies_to = Unknown,
444 animation_type = Discrete,
445 shorthand_group = GridRow,
446 property_group = Grid,
447 computed_value_type = Unknown,
448 canonical_order = "per grammar",
449)]
450#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
451#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-row-start"))]
452#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
453#[derive(csskit_derives::NodeWithMetadata)]
454pub struct GridRowStartStyleValue;
455
456// /// Represents the style value for `grid-template` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template).
457// ///
458// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
459// ///
460// /// The grammar is defined as:
461// ///
462// /// ```text,ignore
463// /**none |
464// [ <'grid-template-rows'> / <'grid-template-columns'> ] |
465// [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?*/
466// /// ```
467// ///
468// /// https://drafts.csswg.org/css-grid-3/#grid-template
469// #[syntax(
470// " none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? "
471// )]
472// #[derive(
473// Parse,
474// Peek,
475// ToSpan,
476// ToCursors,
477// DeclarationMetadata,
478// SemanticEq,
479// Debug,
480// Clone,
481// PartialEq,
482// Eq,
483// PartialOrd,
484// Ord,
485// Hash,
486// )]
487// #[declaration_metadata(
488// initial = "none",
489// inherits = Unknown,
490// applies_to = Grid,
491// animation_type = Unknown,
492// percentages = Unknown,
493// longhands = GridTemplateAreas|GridTemplateColumns|GridTemplateRows,
494// property_group = Grid,
495// computed_value_type = Unknown,
496// canonical_order = "per grammar",
497// )]
498// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
499// #[cfg_attr(
500// feature = "css_feature_data",
501// derive(ToCSSFeature),
502// css_feature("css.properties.grid-template")
503// )]
504// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
505// #[derive(csskit_derives::NodeWithMetadata)]
506// pub enum GridTemplateStyleValue<'a> {}
507
508/// Represents the style value for `grid-template-areas` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-areas).
509///
510/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
511///
512/// The grammar is defined as:
513///
514/// ```text,ignore
515/// none | <string>+
516/// ```
517///
518/// https://drafts.csswg.org/css-grid-3/#grid-template-areas
519#[syntax(" none | <string>+ ")]
520#[derive(
521 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
522)]
523#[declaration_metadata(
524 initial = "none",
525 applies_to = Grid,
526 animation_type = Discrete,
527 shorthand_group = Grid,
528 property_group = Grid,
529 computed_value_type = Unknown,
530 canonical_order = "per grammar",
531)]
532#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
533#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-template-areas"))]
534#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
535#[derive(csskit_derives::NodeWithMetadata)]
536pub struct GridTemplateAreasStyleValue<'a>;
537
538// /// Represents the style value for `grid-template-columns` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-columns).
539// ///
540// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
541// ///
542// /// The grammar is defined as:
543// ///
544// /// ```text,ignore
545// /// none | <track-list> | <auto-track-list> | subgrid <line-name-list>?
546// /// ```
547// ///
548// /// https://drafts.csswg.org/css-grid-3/#grid-template-columns
549// #[syntax(" none | <track-list> | <auto-track-list> | subgrid <line-name-list>? ")]
550// #[derive(
551// Parse,
552// Peek,
553// ToSpan,
554// ToCursors,
555// DeclarationMetadata,
556// SemanticEq,
557// Debug,
558// Clone,
559// PartialEq,
560// Eq,
561// PartialOrd,
562// Ord,
563// Hash,
564// )]
565// #[declaration_metadata(
566// initial = "none",
567// applies_to = Grid,
568// animation_type = Discrete,
569// percentages = ContentArea,
570// shorthand_group = Grid,
571// property_group = Grid,
572// computed_value_type = Unknown,
573// canonical_order = "per grammar",
574// )]
575// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
576// #[cfg_attr(
577// feature = "css_feature_data",
578// derive(ToCSSFeature),
579// css_feature("css.properties.grid-template-columns")
580// )]
581// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
582// #[derive(csskit_derives::NodeWithMetadata)]
583// pub enum GridTemplateColumnsStyleValue {}
584
585// /// Represents the style value for `grid-template-rows` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-rows).
586// ///
587// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
588// ///
589// /// The grammar is defined as:
590// ///
591// /// ```text,ignore
592// /// none | <track-list> | <auto-track-list> | subgrid <line-name-list>?
593// /// ```
594// ///
595// /// https://drafts.csswg.org/css-grid-3/#grid-template-rows
596// #[syntax(" none | <track-list> | <auto-track-list> | subgrid <line-name-list>? ")]
597// #[derive(
598// Parse,
599// Peek,
600// ToSpan,
601// ToCursors,
602// DeclarationMetadata,
603// SemanticEq,
604// Debug,
605// Clone,
606// PartialEq,
607// Eq,
608// PartialOrd,
609// Ord,
610// Hash,
611// )]
612// #[declaration_metadata(
613// initial = "none",
614// applies_to = Grid,
615// animation_type = Discrete,
616// percentages = ContentArea,
617// shorthand_group = Grid,
618// property_group = Grid,
619// computed_value_type = Unknown,
620// canonical_order = "per grammar",
621// )]
622// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
623// #[cfg_attr(
624// feature = "css_feature_data",
625// derive(ToCSSFeature),
626// css_feature("css.properties.grid-template-rows")
627// )]
628// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
629// #[derive(csskit_derives::NodeWithMetadata)]
630// pub enum GridTemplateRowsStyleValue {}