css_ast/values/grid/mod.rs
1#![allow(warnings)]
2//! CSS Grid Layout Module Level 3
3//! https://drafts.csswg.org/css-grid-3/
4
5mod impls;
6use impls::*;
7
8// /// Represents the style value for `grid-template-columns` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-columns).
9// ///
10// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
11// ///
12// /// The grammar is defined as:
13// ///
14// /// ```text,ignore
15// /// none | <track-list> | <auto-track-list> | subgrid <line-name-list>?
16// /// ```
17// ///
18// // https://drafts.csswg.org/css-grid-3/#grid-template-columns
19// #[syntax(" none | <track-list> | <auto-track-list> | subgrid <line-name-list>? ")]
20// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21// #[style_value(
22// initial = "none",
23// applies_to = "grid containers",
24// inherited = "no",
25// percentages = "refer to corresponding dimension of the content area",
26// canonical_order = "per grammar",
27// animation_type = "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 computed value of a track listing and § 7.2.3.3 interpolation/combination of repeat()); discrete otherwise",
28// )]
29// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-template-columns"))]
31// #[visit]
32// pub enum GridTemplateColumnsStyleValue {}
33
34// /// Represents the style value for `grid-template-rows` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-rows).
35// ///
36// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
37// ///
38// /// The grammar is defined as:
39// ///
40// /// ```text,ignore
41// /// none | <track-list> | <auto-track-list> | subgrid <line-name-list>?
42// /// ```
43// ///
44// // https://drafts.csswg.org/css-grid-3/#grid-template-rows
45// #[syntax(" none | <track-list> | <auto-track-list> | subgrid <line-name-list>? ")]
46// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47// #[style_value(
48// initial = "none",
49// applies_to = "grid containers",
50// inherited = "no",
51// percentages = "refer to corresponding dimension of the content area",
52// canonical_order = "per grammar",
53// animation_type = "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 computed value of a track listing and § 7.2.3.3 interpolation/combination of repeat()); discrete otherwise",
54// )]
55// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-template-rows"))]
57// #[visit]
58// pub enum GridTemplateRowsStyleValue {}
59
60/// Represents the style value for `grid-template-areas` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template-areas).
61///
62/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
63///
64/// The grammar is defined as:
65///
66/// ```text,ignore
67/// none | <string>+
68/// ```
69///
70// https://drafts.csswg.org/css-grid-3/#grid-template-areas
71#[syntax(" none | <string>+ ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74 initial = "none",
75 applies_to = "grid containers",
76 inherited = "no",
77 percentages = "n/a",
78 canonical_order = "per grammar",
79 animation_type = "discrete"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-template-areas"))]
83#[visit]
84pub struct GridTemplateAreasStyleValue<'a>;
85
86// /// Represents the style value for `grid-template` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-template).
87// ///
88// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
89// ///
90// /// The grammar is defined as:
91// ///
92// /// ```text,ignore
93// /// none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
94// /// ```
95// ///
96// // https://drafts.csswg.org/css-grid-3/#grid-template
97// #[syntax(
98// " none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? "
99// )]
100// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
101// #[style_value(
102// initial = "none",
103// applies_to = "grid containers",
104// inherited = "see individual properties",
105// percentages = "see individual properties",
106// canonical_order = "per grammar",
107// animation_type = "see individual properties",
108// )]
109// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
110// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-template"))]
111// #[visit]
112// pub enum GridTemplateStyleValue<'a> {}
113
114/// Represents the style value for `grid-auto-columns` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-columns).
115///
116/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
117///
118/// The grammar is defined as:
119///
120/// ```text,ignore
121/// <track-size>+
122/// ```
123///
124// https://drafts.csswg.org/css-grid-3/#grid-auto-columns
125#[syntax(" <track-size>+ ")]
126#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
127#[style_value(
128 initial = "auto",
129 applies_to = "grid containers",
130 inherited = "no",
131 percentages = "see track sizing",
132 canonical_order = "per grammar",
133 animation_type = "if the list lengths match, by computed value type per item; discrete otherwise"
134)]
135#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
136#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-auto-columns"))]
137#[visit]
138pub struct GridAutoColumnsStyleValue<'a>;
139
140/// Represents the style value for `grid-auto-rows` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-rows).
141///
142/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
143///
144/// The grammar is defined as:
145///
146/// ```text,ignore
147/// <track-size>+
148/// ```
149///
150// https://drafts.csswg.org/css-grid-3/#grid-auto-rows
151#[syntax(" <track-size>+ ")]
152#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
153#[style_value(
154 initial = "auto",
155 applies_to = "grid containers",
156 inherited = "no",
157 percentages = "see track sizing",
158 canonical_order = "per grammar",
159 animation_type = "if the list lengths match, by computed value type per item; discrete otherwise"
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-rows"))]
163#[visit]
164pub struct GridAutoRowsStyleValue<'a>;
165
166// /// Represents the style value for `grid-auto-flow` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-auto-flow).
167// ///
168// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
169// ///
170// /// The grammar is defined as:
171// ///
172// /// ```text,ignore
173// /// [ row | column ] || dense
174// /// ```
175// ///
176// // https://drafts.csswg.org/css-grid-3/#grid-auto-flow
177// #[syntax(" [ row | column ] || dense ")]
178// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
179// #[style_value(
180// initial = "row",
181// applies_to = "grid containers",
182// inherited = "no",
183// percentages = "n/a",
184// canonical_order = "per grammar",
185// animation_type = "discrete",
186// )]
187// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
188// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-auto-flow"))]
189// #[visit]
190// pub struct GridAutoFlowStyleValue;
191
192// /// Represents the style value for `grid` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid).
193// ///
194// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
195// ///
196// /// The grammar is defined as:
197// ///
198// /// ```text,ignore
199// /// <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
200// /// ```
201// ///
202// // https://drafts.csswg.org/css-grid-3/#grid
203// #[syntax(
204// " <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> "
205// )]
206// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
207// #[style_value(
208// initial = "none",
209// applies_to = "grid containers",
210// inherited = "see individual properties",
211// percentages = "see individual properties",
212// canonical_order = "per grammar",
213// animation_type = "see individual properties",
214// )]
215// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
216// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid"))]
217// #[visit]
218// pub enum GridStyleValue {}
219
220/// Represents the style value for `grid-row-start` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row-start).
221///
222/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
223///
224/// The grammar is defined as:
225///
226/// ```text,ignore
227/// <grid-line>
228/// ```
229///
230// https://drafts.csswg.org/css-grid-3/#grid-row-start
231#[syntax(" <grid-line> ")]
232#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
233#[style_value(
234 initial = "auto",
235 applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
236 inherited = "no",
237 percentages = "n/a",
238 canonical_order = "per grammar",
239 animation_type = "discrete"
240)]
241#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
242#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-row-start"))]
243#[visit]
244pub struct GridRowStartStyleValue;
245
246/// Represents the style value for `grid-column-start` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column-start).
247///
248/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
249///
250/// The grammar is defined as:
251///
252/// ```text,ignore
253/// <grid-line>
254/// ```
255///
256// https://drafts.csswg.org/css-grid-3/#grid-column-start
257#[syntax(" <grid-line> ")]
258#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
259#[style_value(
260 initial = "auto",
261 applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
262 inherited = "no",
263 percentages = "n/a",
264 canonical_order = "per grammar",
265 animation_type = "discrete"
266)]
267#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
268#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-column-start"))]
269#[visit]
270pub struct GridColumnStartStyleValue;
271
272/// Represents the style value for `grid-row-end` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row-end).
273///
274/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
275///
276/// The grammar is defined as:
277///
278/// ```text,ignore
279/// <grid-line>
280/// ```
281///
282// https://drafts.csswg.org/css-grid-3/#grid-row-end
283#[syntax(" <grid-line> ")]
284#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
285#[style_value(
286 initial = "auto",
287 applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
288 inherited = "no",
289 percentages = "n/a",
290 canonical_order = "per grammar",
291 animation_type = "discrete"
292)]
293#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
294#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-row-end"))]
295#[visit]
296pub struct GridRowEndStyleValue;
297
298/// Represents the style value for `grid-column-end` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column-end).
299///
300/// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
301///
302/// The grammar is defined as:
303///
304/// ```text,ignore
305/// <grid-line>
306/// ```
307///
308// https://drafts.csswg.org/css-grid-3/#grid-column-end
309#[syntax(" <grid-line> ")]
310#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
311#[style_value(
312 initial = "auto",
313 applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
314 inherited = "no",
315 percentages = "n/a",
316 canonical_order = "per grammar",
317 animation_type = "discrete"
318)]
319#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
320#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-column-end"))]
321#[visit]
322pub struct GridColumnEndStyleValue;
323
324// /// Represents the style value for `grid-row` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-row).
325// ///
326// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
327// ///
328// /// The grammar is defined as:
329// ///
330// /// ```text,ignore
331// /// <grid-line> [ / <grid-line> ]?
332// /// ```
333// ///
334// // https://drafts.csswg.org/css-grid-3/#grid-row
335// #[syntax(" <grid-line> [ / <grid-line> ]? ")]
336// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
337// #[style_value(
338// initial = "auto",
339// applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
340// inherited = "no",
341// percentages = "n/a",
342// canonical_order = "per grammar",
343// animation_type = "discrete",
344// )]
345// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
346// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-row"))]
347// #[visit]
348// pub struct GridRowStyleValue;
349
350// /// Represents the style value for `grid-column` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-column).
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-column
361// #[syntax(" <grid-line> [ / <grid-line> ]? ")]
362// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
363// #[style_value(
364// initial = "auto",
365// applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
366// inherited = "no",
367// percentages = "n/a",
368// canonical_order = "per grammar",
369// animation_type = "discrete",
370// )]
371// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
372// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-column"))]
373// #[visit]
374// pub struct GridColumnStyleValue;
375
376// /// Represents the style value for `grid-area` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#grid-area).
377// ///
378// /// CSS grid is a two-dimensional layout system, which lays content out in rows and columns.
379// ///
380// /// The grammar is defined as:
381// ///
382// /// ```text,ignore
383// /// <grid-line> [ / <grid-line> ]{0,3}
384// /// ```
385// ///
386// // https://drafts.csswg.org/css-grid-3/#grid-area
387// #[syntax(" <grid-line> [ / <grid-line> ]{0,3} ")]
388// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
389// #[style_value(
390// initial = "auto",
391// applies_to = "grid items and absolutely-positioned boxes whose containing block is a grid container",
392// inherited = "no",
393// percentages = "n/a",
394// canonical_order = "per grammar",
395// animation_type = "discrete",
396// )]
397// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
398// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.grid-area"))]
399// #[visit]
400// pub struct GridAreaStyleValue;
401
402/// Represents the style value for `item-slack` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-slack).
403///
404/// The grammar is defined as:
405///
406/// ```text,ignore
407/// <length-percentage> | infinite
408/// ```
409///
410// https://drafts.csswg.org/css-grid-3/#item-slack
411#[syntax(" <length-percentage> | infinite ")]
412#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
413#[style_value(
414 initial = "1em",
415 applies_to = "masonry containers",
416 inherited = "no",
417 percentages = "relative to the grid-axis content box size of the masonry container",
418 canonical_order = "per grammar",
419 animation_type = "as length"
420)]
421#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
422#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-slack"))]
423#[visit]
424pub enum ItemSlackStyleValue {}
425
426/// Represents the style value for `item-direction` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-direction).
427///
428/// The grammar is defined as:
429///
430/// ```text,ignore
431/// auto | row | column | row-reverse | column-reverse
432/// ```
433///
434// https://drafts.csswg.org/css-grid-3/#item-direction
435#[syntax(" auto | row | column | row-reverse | column-reverse ")]
436#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
437#[style_value(
438 initial = "auto",
439 applies_to = "flex containers, grid containers, masonry containers",
440 inherited = "no",
441 percentages = "n/a",
442 canonical_order = "per grammar",
443 animation_type = "discrete"
444)]
445#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
446#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-direction"))]
447#[visit]
448pub enum ItemDirectionStyleValue {}
449
450/// Represents the style value for `item-track` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-track).
451///
452/// The grammar is defined as:
453///
454/// ```text,ignore
455/// auto | row | column | row-reverse | column-reverse
456/// ```
457///
458// https://drafts.csswg.org/css-grid-3/#item-track
459#[syntax(" auto | row | column | row-reverse | column-reverse ")]
460#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
461#[style_value(
462 initial = "auto",
463 applies_to = "flex containers, grid containers, masonry containers",
464 inherited = "no",
465 percentages = "n/a",
466 canonical_order = "per grammar",
467 animation_type = "discrete"
468)]
469#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
470#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-track"))]
471#[visit]
472pub enum ItemTrackStyleValue {}
473
474// /// Represents the style value for `item-wrap` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-wrap).
475// ///
476// /// The grammar is defined as:
477// ///
478// /// ```text,ignore
479// /// [ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse
480// /// ```
481// ///
482// // https://drafts.csswg.org/css-grid-3/#item-wrap
483// #[syntax(" [ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse ")]
484// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
485// #[style_value(
486// initial = "auto",
487// applies_to = "flex containers, grid containers, masonry containers",
488// inherited = "no",
489// percentages = "n/a",
490// canonical_order = "per grammar",
491// animation_type = "discrete",
492// )]
493// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
494// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-wrap"))]
495// #[visit]
496// pub enum ItemWrapStyleValue {}
497
498// /// Represents the style value for `item-cross` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-cross).
499// ///
500// /// The grammar is defined as:
501// ///
502// /// ```text,ignore
503// /// [ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse
504// /// ```
505// ///
506// // https://drafts.csswg.org/css-grid-3/#item-cross
507// #[syntax(" [ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse ")]
508// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
509// #[style_value(
510// initial = "auto",
511// applies_to = "flex containers, grid containers, masonry containers",
512// inherited = "no",
513// percentages = "n/a",
514// canonical_order = "per grammar",
515// animation_type = "discrete",
516// )]
517// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
518// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-cross"))]
519// #[visit]
520// pub enum ItemCrossStyleValue {}
521
522// /// Represents the style value for `item-pack` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-pack).
523// ///
524// /// The grammar is defined as:
525// ///
526// /// ```text,ignore
527// /// normal | dense || balance
528// /// ```
529// ///
530// // https://drafts.csswg.org/css-grid-3/#item-pack
531// #[syntax(" normal | dense || balance ")]
532// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
533// #[style_value(
534// initial = "normal",
535// applies_to = "flex containers, grid containers, masonry containers",
536// inherited = "no",
537// percentages = "n/a",
538// canonical_order = "per grammar",
539// animation_type = "discrete",
540// )]
541// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
542// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-pack"))]
543// #[visit]
544// pub enum ItemPackStyleValue {}
545
546// /// Represents the style value for `item-flow` as defined in [css-grid-3](https://drafts.csswg.org/css-grid-3/#item-flow).
547// ///
548// /// The grammar is defined as:
549// ///
550// /// ```text,ignore
551// /// <'item-direction'> || <'item-wrap'> || <'item-pack'> || <'item-slack'>
552// /// ```
553// ///
554// // https://drafts.csswg.org/css-grid-3/#item-flow
555// #[syntax(" <'item-direction'> || <'item-wrap'> || <'item-pack'> || <'item-slack'> ")]
556// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
557// #[style_value(
558// initial = "see individual properties",
559// applies_to = "see individual properties",
560// inherited = "see individual properties",
561// percentages = "see individual properties",
562// canonical_order = "per grammar",
563// animation_type = "see individual properties",
564// )]
565// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
566// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.item-flow"))]
567// #[visit]
568// pub struct ItemFlowStyleValue;