css_ast/values/gaps/
mod.rs

1#![allow(warnings)]
2//! CSS Gap Decorations Module Level 1
3//! https://drafts.csswg.org/css-gaps-1/
4
5mod impls;
6use impls::*;
7
8/// Represents the style value for `column-rule-break` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule-break).
9///
10/// The grammar is defined as:
11///
12/// ```text,ignore
13/// none | spanning-item | intersection
14/// ```
15///
16// https://drafts.csswg.org/css-gaps-1/#column-rule-break
17#[syntax(" none | spanning-item | intersection ")]
18#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19#[style_value(
20	initial = "spanning-item",
21	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
22	inherited = "no",
23	percentages = "n/a",
24	canonical_order = "per grammar",
25	animation_type = "discrete"
26)]
27#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
28#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule-break"))]
29#[visit]
30pub enum ColumnRuleBreakStyleValue {}
31
32/// Represents the style value for `row-rule-break` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule-break).
33///
34/// The grammar is defined as:
35///
36/// ```text,ignore
37/// none | spanning-item | intersection
38/// ```
39///
40// https://drafts.csswg.org/css-gaps-1/#row-rule-break
41#[syntax(" none | spanning-item | intersection ")]
42#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
43#[style_value(
44	initial = "spanning-item",
45	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
46	inherited = "no",
47	percentages = "n/a",
48	canonical_order = "per grammar",
49	animation_type = "discrete"
50)]
51#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
52#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule-break"))]
53#[visit]
54pub enum RowRuleBreakStyleValue {}
55
56/// Represents the style value for `rule-break` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-break).
57///
58/// The grammar is defined as:
59///
60/// ```text,ignore
61/// <'column-rule-break'>
62/// ```
63///
64// https://drafts.csswg.org/css-gaps-1/#rule-break
65#[syntax(" <'column-rule-break'> ")]
66#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
67#[style_value(
68	initial = "see individual properties",
69	applies_to = "Same as column-rule-break and row-rule-break",
70	inherited = "see individual properties",
71	percentages = "see individual properties",
72	canonical_order = "per grammar",
73	animation_type = "see individual properties"
74)]
75#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
76#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-break"))]
77#[visit]
78pub struct RuleBreakStyleValue;
79
80/// Represents the style value for `column-rule-outset` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule-outset).
81///
82/// The grammar is defined as:
83///
84/// ```text,ignore
85/// <length-percentage>
86/// ```
87///
88// https://drafts.csswg.org/css-gaps-1/#column-rule-outset
89#[syntax(" <length-percentage> ")]
90#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
91#[style_value(
92	initial = "50%",
93	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
94	inherited = "no",
95	percentages = "refer to the crossing gap width",
96	canonical_order = "per grammar",
97	animation_type = "by computed value type"
98)]
99#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
100#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule-outset"))]
101#[visit]
102pub struct ColumnRuleOutsetStyleValue;
103
104/// Represents the style value for `row-rule-outset` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule-outset).
105///
106/// The grammar is defined as:
107///
108/// ```text,ignore
109/// <length-percentage>
110/// ```
111///
112// https://drafts.csswg.org/css-gaps-1/#row-rule-outset
113#[syntax(" <length-percentage> ")]
114#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
115#[style_value(
116	initial = "50%",
117	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
118	inherited = "no",
119	percentages = "refer to the crossing gap width",
120	canonical_order = "per grammar",
121	animation_type = "by computed value type"
122)]
123#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
124#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule-outset"))]
125#[visit]
126pub struct RowRuleOutsetStyleValue;
127
128/// Represents the style value for `rule-outset` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-outset).
129///
130/// The grammar is defined as:
131///
132/// ```text,ignore
133/// <'column-rule-outset'>
134/// ```
135///
136// https://drafts.csswg.org/css-gaps-1/#rule-outset
137#[syntax(" <'column-rule-outset'> ")]
138#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
139#[style_value(
140	initial = "see individual properties",
141	applies_to = "Same as column-rule-outset and row-rule-outset",
142	inherited = "see individual properties",
143	percentages = "see individual properties",
144	canonical_order = "per grammar",
145	animation_type = "see individual properties"
146)]
147#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
148#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-outset"))]
149#[visit]
150pub struct RuleOutsetStyleValue;
151
152/// Represents the style value for `rule-overlap` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-overlap).
153///
154/// The grammar is defined as:
155///
156/// ```text,ignore
157/// row-over-column | column-over-row
158/// ```
159///
160// https://drafts.csswg.org/css-gaps-1/#rule-overlap
161#[syntax(" row-over-column | column-over-row ")]
162#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
163#[style_value(
164	initial = "row-over-column",
165	applies_to = "grid containers, flex containers, and masonry containers",
166	inherited = "no",
167	percentages = "n/a",
168	canonical_order = "per grammar",
169	animation_type = "discrete"
170)]
171#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
172#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-overlap"))]
173#[visit]
174pub enum RuleOverlapStyleValue {}
175
176/// Represents the style value for `column-rule-color` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule-color).
177///
178/// 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.
179///
180/// The grammar is defined as:
181///
182/// ```text,ignore
183/// <line-color-list> | <auto-line-color-list>
184/// ```
185///
186// https://drafts.csswg.org/css-gaps-1/#column-rule-color
187#[syntax(" <line-color-list> | <auto-line-color-list> ")]
188#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
189#[style_value(
190	initial = "currentcolor",
191	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
192	inherited = "no",
193	percentages = "n/a",
194	canonical_order = "per grammar",
195	animation_type = "by computed value type"
196)]
197#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
198#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule-color"))]
199#[visit]
200pub enum ColumnRuleColorStyleValue {}
201
202/// Represents the style value for `row-rule-color` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule-color).
203///
204/// The grammar is defined as:
205///
206/// ```text,ignore
207/// <line-color-list> | <auto-line-color-list>
208/// ```
209///
210// https://drafts.csswg.org/css-gaps-1/#row-rule-color
211#[syntax(" <line-color-list> | <auto-line-color-list> ")]
212#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
213#[style_value(
214	initial = "currentcolor",
215	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
216	inherited = "no",
217	percentages = "n/a",
218	canonical_order = "per grammar",
219	animation_type = "by computed value type"
220)]
221#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
222#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule-color"))]
223#[visit]
224pub enum RowRuleColorStyleValue {}
225
226/// Represents the style value for `column-rule-style` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule-style).
227///
228/// 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.
229///
230/// The grammar is defined as:
231///
232/// ```text,ignore
233/// <line-style-list> | <auto-line-style-list>
234/// ```
235///
236// https://drafts.csswg.org/css-gaps-1/#column-rule-style
237#[syntax(" <line-style-list> | <auto-line-style-list> ")]
238#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
239#[style_value(
240	initial = "none",
241	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
242	inherited = "no",
243	percentages = "n/a",
244	canonical_order = "per grammar",
245	animation_type = "discrete"
246)]
247#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
248#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule-style"))]
249#[visit]
250pub enum ColumnRuleStyleStyleValue {}
251
252/// Represents the style value for `row-rule-style` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule-style).
253///
254/// The grammar is defined as:
255///
256/// ```text,ignore
257/// <line-style-list> | <auto-line-style-list>
258/// ```
259///
260// https://drafts.csswg.org/css-gaps-1/#row-rule-style
261#[syntax(" <line-style-list> | <auto-line-style-list> ")]
262#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
263#[style_value(
264	initial = "none",
265	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
266	inherited = "no",
267	percentages = "n/a",
268	canonical_order = "per grammar",
269	animation_type = "discrete"
270)]
271#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
272#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule-style"))]
273#[visit]
274pub enum RowRuleStyleStyleValue {}
275
276/// Represents the style value for `column-rule-width` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule-width).
277///
278/// 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.
279///
280/// The grammar is defined as:
281///
282/// ```text,ignore
283/// <line-width-list> | <auto-line-width-list>
284/// ```
285///
286// https://drafts.csswg.org/css-gaps-1/#column-rule-width
287#[syntax(" <line-width-list> | <auto-line-width-list> ")]
288#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
289#[style_value(
290	initial = "medium",
291	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
292	inherited = "no",
293	percentages = "n/a",
294	canonical_order = "per grammar",
295	animation_type = "by computed value type"
296)]
297#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
298#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule-width"))]
299#[visit]
300pub enum ColumnRuleWidthStyleValue<'a> {}
301
302/// Represents the style value for `row-rule-width` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule-width).
303///
304/// The grammar is defined as:
305///
306/// ```text,ignore
307/// <line-width-list> | <auto-line-width-list>
308/// ```
309///
310// https://drafts.csswg.org/css-gaps-1/#row-rule-width
311#[syntax(" <line-width-list> | <auto-line-width-list> ")]
312#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
313#[style_value(
314	initial = "medium",
315	applies_to = "grid containers, flex containers, multicol containers, and masonry containers",
316	inherited = "no",
317	percentages = "n/a",
318	canonical_order = "per grammar",
319	animation_type = "by computed value type"
320)]
321#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
322#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule-width"))]
323#[visit]
324pub enum RowRuleWidthStyleValue<'a> {}
325
326/// Represents the style value for `column-rule` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#column-rule).
327///
328/// 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.
329///
330/// The grammar is defined as:
331///
332/// ```text,ignore
333/// <gap-rule-list> | <gap-auto-rule-list>
334/// ```
335///
336// https://drafts.csswg.org/css-gaps-1/#column-rule
337#[syntax(" <gap-rule-list> | <gap-auto-rule-list> ")]
338#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
339#[style_value(
340	initial = "see individual properties",
341	applies_to = "see individual properties",
342	inherited = "see individual properties",
343	percentages = "see individual properties",
344	canonical_order = "per grammar",
345	animation_type = "see individual properties"
346)]
347#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
348#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.column-rule"))]
349#[visit]
350pub enum ColumnRuleStyleValue {}
351
352/// Represents the style value for `row-rule` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#row-rule).
353///
354/// The grammar is defined as:
355///
356/// ```text,ignore
357/// <gap-rule-list> | <gap-auto-rule-list>
358/// ```
359///
360// https://drafts.csswg.org/css-gaps-1/#row-rule
361#[syntax(" <gap-rule-list> | <gap-auto-rule-list> ")]
362#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
363#[style_value(
364	initial = "see individual properties",
365	applies_to = "see individual properties",
366	inherited = "see individual properties",
367	percentages = "see individual properties",
368	canonical_order = "per grammar",
369	animation_type = "see individual properties"
370)]
371#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
372#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.row-rule"))]
373#[visit]
374pub enum RowRuleStyleValue {}
375
376/// Represents the style value for `rule-color` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-color).
377///
378/// The grammar is defined as:
379///
380/// ```text,ignore
381/// <'column-rule-color'>
382/// ```
383///
384// https://drafts.csswg.org/css-gaps-1/#rule-color
385#[syntax(" <'column-rule-color'> ")]
386#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
387#[style_value(
388	initial = "see individual properties",
389	applies_to = "Same as column-rule-color and row-rule-color",
390	inherited = "no",
391	percentages = "see individual properties",
392	canonical_order = "per grammar",
393	animation_type = "see individual properties"
394)]
395#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
396#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-color"))]
397#[visit]
398pub struct RuleColorStyleValue;
399
400/// Represents the style value for `rule-style` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-style).
401///
402/// The grammar is defined as:
403///
404/// ```text,ignore
405/// <'column-rule-style'>
406/// ```
407///
408// https://drafts.csswg.org/css-gaps-1/#rule-style
409#[syntax(" <'column-rule-style'> ")]
410#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
411#[style_value(
412	initial = "see individual properties",
413	applies_to = "Same as column-rule-style and row-rule-style",
414	inherited = "no",
415	percentages = "see individual properties",
416	canonical_order = "per grammar",
417	animation_type = "see individual properties"
418)]
419#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
420#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-style"))]
421#[visit]
422pub struct RuleStyleStyleValue;
423
424/// Represents the style value for `rule-width` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule-width).
425///
426/// The grammar is defined as:
427///
428/// ```text,ignore
429/// <'column-rule-width'>
430/// ```
431///
432// https://drafts.csswg.org/css-gaps-1/#rule-width
433#[syntax(" <'column-rule-width'> ")]
434#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
435#[style_value(
436	initial = "see individual properties",
437	applies_to = "Same as column-rule-width and row-rule-width",
438	inherited = "no",
439	percentages = "see individual properties",
440	canonical_order = "per grammar",
441	animation_type = "see individual properties"
442)]
443#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
444#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule-width"))]
445#[visit]
446pub struct RuleWidthStyleValue<'a>;
447
448/// Represents the style value for `rule` as defined in [css-gaps-1](https://drafts.csswg.org/css-gaps-1/#rule).
449///
450/// The grammar is defined as:
451///
452/// ```text,ignore
453/// <'column-rule'>
454/// ```
455///
456// https://drafts.csswg.org/css-gaps-1/#rule
457#[syntax(" <'column-rule'> ")]
458#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
459#[style_value(
460	initial = "see individual properties",
461	applies_to = "Same as column-rule and row-rule",
462	inherited = "no",
463	percentages = "see individual properties",
464	canonical_order = "per grammar",
465	animation_type = "see individual properties"
466)]
467#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
468#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.rule"))]
469#[visit]
470pub struct RuleStyleValue;