Skip to main content

css_ast/values/logical/
mod.rs

1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/40527902c4d0840cdb7a808c8cd42302be1c3bc8
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-logical-1/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10/// Represents the style value for `margin-block` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block).
11///
12/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
13///
14/// The grammar is defined as:
15///
16/// ```text,ignore
17/// <'margin-top'>{1,2}
18/// ```
19///
20/// https://drafts.csswg.org/css-logical-1/#margin-block
21#[syntax(" <'margin-top'>{1,2} ")]
22#[derive(
23	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26    initial = "see individual properties",
27    inherits = Unknown,
28    applies_to = Unknown,
29    animation_type = Unknown,
30    percentages = Unknown,
31    longhands = MarginBlockStart|MarginBlockEnd,
32    property_group = Logical,
33    computed_value_type = Unknown,
34    canonical_order = "per grammar",
35    box_side = BlockStart|BlockEnd,
36    box_portion = Margin,
37)]
38#[declaration_writes(repeat)]
39#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
40#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block"))]
41#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
42#[derive(csskit_derives::NodeWithMetadata)]
43pub struct MarginBlockStyleValue<'a>;
44
45/// Represents the style value for `margin-block-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block-end).
46///
47/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
48///
49/// The grammar is defined as:
50///
51/// ```text,ignore
52/// <'margin-top'>
53/// ```
54///
55/// https://drafts.csswg.org/css-logical-1/#margin-block-end
56#[syntax(" <'margin-top'> ")]
57#[derive(
58	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
59)]
60#[declaration_metadata(
61    initial = "0",
62    applies_to = Unknown,
63    animation_type = ByComputedValue,
64    percentages = Unknown,
65    shorthands = MarginBlock,
66    property_group = Logical,
67    computed_value_type = Unknown,
68    canonical_order = "per grammar",
69    logical_property_group = Margin,
70    box_side = BlockEnd,
71    box_portion = Margin,
72)]
73#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
74#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block-end"))]
75#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
76#[derive(csskit_derives::NodeWithMetadata)]
77pub struct MarginBlockEndStyleValue<'a>;
78
79/// Represents the style value for `margin-block-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block-start).
80///
81/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
82///
83/// The grammar is defined as:
84///
85/// ```text,ignore
86/// <'margin-top'>
87/// ```
88///
89/// https://drafts.csswg.org/css-logical-1/#margin-block-start
90#[syntax(" <'margin-top'> ")]
91#[derive(
92	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
93)]
94#[declaration_metadata(
95    initial = "0",
96    applies_to = Unknown,
97    animation_type = ByComputedValue,
98    percentages = Unknown,
99    shorthands = MarginBlock,
100    property_group = Logical,
101    computed_value_type = Unknown,
102    canonical_order = "per grammar",
103    logical_property_group = Margin,
104    box_side = BlockStart,
105    box_portion = Margin,
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block-start"))]
109#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
110#[derive(csskit_derives::NodeWithMetadata)]
111pub struct MarginBlockStartStyleValue<'a>;
112
113/// Represents the style value for `margin-inline` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline).
114///
115/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
116///
117/// The grammar is defined as:
118///
119/// ```text,ignore
120/// <'margin-top'>{1,2}
121/// ```
122///
123/// https://drafts.csswg.org/css-logical-1/#margin-inline
124#[syntax(" <'margin-top'>{1,2} ")]
125#[derive(
126	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
127)]
128#[declaration_metadata(
129    initial = "see individual properties",
130    inherits = Unknown,
131    applies_to = Unknown,
132    animation_type = Unknown,
133    percentages = Unknown,
134    longhands = MarginInlineStart|MarginInlineEnd,
135    property_group = Logical,
136    computed_value_type = Unknown,
137    canonical_order = "per grammar",
138    box_side = InlineStart|InlineEnd,
139    box_portion = Margin,
140)]
141#[declaration_writes(repeat)]
142#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
143#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline"))]
144#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
145#[derive(csskit_derives::NodeWithMetadata)]
146pub struct MarginInlineStyleValue<'a>;
147
148/// Represents the style value for `margin-inline-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline-end).
149///
150/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
151///
152/// The grammar is defined as:
153///
154/// ```text,ignore
155/// <'margin-top'>
156/// ```
157///
158/// https://drafts.csswg.org/css-logical-1/#margin-inline-end
159#[syntax(" <'margin-top'> ")]
160#[derive(
161	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
162)]
163#[declaration_metadata(
164    initial = "0",
165    applies_to = Unknown,
166    animation_type = ByComputedValue,
167    percentages = Unknown,
168    shorthands = MarginInline,
169    property_group = Logical,
170    computed_value_type = Unknown,
171    canonical_order = "per grammar",
172    logical_property_group = Margin,
173    box_side = InlineEnd,
174    box_portion = Margin,
175)]
176#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
177#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline-end"))]
178#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
179#[derive(csskit_derives::NodeWithMetadata)]
180pub struct MarginInlineEndStyleValue<'a>;
181
182/// Represents the style value for `margin-inline-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline-start).
183///
184/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
185///
186/// The grammar is defined as:
187///
188/// ```text,ignore
189/// <'margin-top'>
190/// ```
191///
192/// https://drafts.csswg.org/css-logical-1/#margin-inline-start
193#[syntax(" <'margin-top'> ")]
194#[derive(
195	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
196)]
197#[declaration_metadata(
198    initial = "0",
199    applies_to = Unknown,
200    animation_type = ByComputedValue,
201    percentages = Unknown,
202    shorthands = MarginInline,
203    property_group = Logical,
204    computed_value_type = Unknown,
205    canonical_order = "per grammar",
206    logical_property_group = Margin,
207    box_side = InlineStart,
208    box_portion = Margin,
209)]
210#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
211#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline-start"))]
212#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
213#[derive(csskit_derives::NodeWithMetadata)]
214pub struct MarginInlineStartStyleValue<'a>;
215
216/// Represents the style value for `padding-block` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block).
217///
218/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
219///
220/// The grammar is defined as:
221///
222/// ```text,ignore
223/// <'padding-top'>{1,2}
224/// ```
225///
226/// https://drafts.csswg.org/css-logical-1/#padding-block
227#[syntax(" <'padding-top'>{1,2} ")]
228#[derive(
229	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
230)]
231#[declaration_metadata(
232    initial = "see individual properties",
233    inherits = Unknown,
234    applies_to = Unknown,
235    animation_type = Unknown,
236    percentages = Unknown,
237    longhands = PaddingBlockStart|PaddingBlockEnd,
238    property_group = Logical,
239    computed_value_type = Unknown,
240    canonical_order = "per grammar",
241    box_side = BlockStart|BlockEnd,
242    box_portion = Padding,
243)]
244#[declaration_writes(repeat)]
245#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
246#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-block"))]
247#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
248#[derive(csskit_derives::NodeWithMetadata)]
249pub struct PaddingBlockStyleValue<'a>;
250
251/// Represents the style value for `padding-block-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block-end).
252///
253/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
254///
255/// The grammar is defined as:
256///
257/// ```text,ignore
258/// <'padding-top'>
259/// ```
260///
261/// https://drafts.csswg.org/css-logical-1/#padding-block-end
262#[syntax(" <'padding-top'> ")]
263#[derive(
264	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
265)]
266#[declaration_metadata(
267    initial = "0",
268    applies_to = Unknown,
269    animation_type = ByComputedValue,
270    percentages = Unknown,
271    shorthands = PaddingBlock,
272    property_group = Logical,
273    computed_value_type = Unknown,
274    canonical_order = "per grammar",
275    logical_property_group = Padding,
276    box_side = BlockEnd,
277    box_portion = Padding,
278)]
279#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
280#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-block-end"))]
281#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
282#[derive(csskit_derives::NodeWithMetadata)]
283pub struct PaddingBlockEndStyleValue<'a>;
284
285/// Represents the style value for `padding-block-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block-start).
286///
287/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
288///
289/// The grammar is defined as:
290///
291/// ```text,ignore
292/// <'padding-top'>
293/// ```
294///
295/// https://drafts.csswg.org/css-logical-1/#padding-block-start
296#[syntax(" <'padding-top'> ")]
297#[derive(
298	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
299)]
300#[declaration_metadata(
301    initial = "0",
302    applies_to = Unknown,
303    animation_type = ByComputedValue,
304    percentages = Unknown,
305    shorthands = PaddingBlock,
306    property_group = Logical,
307    computed_value_type = Unknown,
308    canonical_order = "per grammar",
309    logical_property_group = Padding,
310    box_side = BlockStart,
311    box_portion = Padding,
312)]
313#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
314#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-block-start"))]
315#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
316#[derive(csskit_derives::NodeWithMetadata)]
317pub struct PaddingBlockStartStyleValue<'a>;
318
319/// Represents the style value for `padding-inline` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline).
320///
321/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
322///
323/// The grammar is defined as:
324///
325/// ```text,ignore
326/// <'padding-top'>{1,2}
327/// ```
328///
329/// https://drafts.csswg.org/css-logical-1/#padding-inline
330#[syntax(" <'padding-top'>{1,2} ")]
331#[derive(
332	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
333)]
334#[declaration_metadata(
335    initial = "see individual properties",
336    inherits = Unknown,
337    applies_to = Unknown,
338    animation_type = Unknown,
339    percentages = Unknown,
340    longhands = PaddingInlineStart|PaddingInlineEnd,
341    property_group = Logical,
342    computed_value_type = Unknown,
343    canonical_order = "per grammar",
344    box_side = InlineStart|InlineEnd,
345    box_portion = Padding,
346)]
347#[declaration_writes(repeat)]
348#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
349#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline"))]
350#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
351#[derive(csskit_derives::NodeWithMetadata)]
352pub struct PaddingInlineStyleValue<'a>;
353
354/// Represents the style value for `padding-inline-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline-end).
355///
356/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
357///
358/// The grammar is defined as:
359///
360/// ```text,ignore
361/// <'padding-top'>
362/// ```
363///
364/// https://drafts.csswg.org/css-logical-1/#padding-inline-end
365#[syntax(" <'padding-top'> ")]
366#[derive(
367	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
368)]
369#[declaration_metadata(
370    initial = "0",
371    applies_to = Unknown,
372    animation_type = ByComputedValue,
373    percentages = Unknown,
374    shorthands = PaddingInline,
375    property_group = Logical,
376    computed_value_type = Unknown,
377    canonical_order = "per grammar",
378    logical_property_group = Padding,
379    box_side = InlineEnd,
380    box_portion = Padding,
381)]
382#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
383#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline-end"))]
384#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
385#[derive(csskit_derives::NodeWithMetadata)]
386pub struct PaddingInlineEndStyleValue<'a>;
387
388/// Represents the style value for `padding-inline-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline-start).
389///
390/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
391///
392/// The grammar is defined as:
393///
394/// ```text,ignore
395/// <'padding-top'>
396/// ```
397///
398/// https://drafts.csswg.org/css-logical-1/#padding-inline-start
399#[syntax(" <'padding-top'> ")]
400#[derive(
401	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
402)]
403#[declaration_metadata(
404    initial = "0",
405    applies_to = Unknown,
406    animation_type = ByComputedValue,
407    percentages = Unknown,
408    shorthands = PaddingInline,
409    property_group = Logical,
410    computed_value_type = Unknown,
411    canonical_order = "per grammar",
412    logical_property_group = Padding,
413    box_side = InlineStart,
414    box_portion = Padding,
415)]
416#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
417#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline-start"))]
418#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
419#[derive(csskit_derives::NodeWithMetadata)]
420pub struct PaddingInlineStartStyleValue<'a>;