css_ast/values/logical/
mod.rs

1#![allow(warnings)]
2//! https://drafts.csswg.org/css-logical-1/
3
4mod impls;
5use super::prelude::*;
6use impls::*;
7/// Represents the style value for `block-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#block-size).
8///
9/// 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.
10///
11/// The grammar is defined as:
12///
13/// ```text,ignore
14/// <'width'>
15/// ```
16///
17/// https://drafts.csswg.org/css-logical-1/#block-size
18#[syntax(" <'width'> ")]
19#[derive(
20	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
21)]
22#[declaration_metadata(
23    initial = "auto",
24    applies_to = Unknown,
25    percentages = Unknown,
26    animation_type = ByComputedValue,
27    property_group = Logical,
28    computed_value_type = Unknown,
29    canonical_order = "per grammar",
30    logical_property_group = Size,
31    box_portion = Size,
32)]
33#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
34#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.block-size"))]
35#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
36pub struct BlockSizeStyleValue;
37
38/// Represents the style value for `inline-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#inline-size).
39///
40/// 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.
41///
42/// The grammar is defined as:
43///
44/// ```text,ignore
45/// <'width'>
46/// ```
47///
48/// https://drafts.csswg.org/css-logical-1/#inline-size
49#[syntax(" <'width'> ")]
50#[derive(
51	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
52)]
53#[declaration_metadata(
54    initial = "auto",
55    applies_to = Unknown,
56    percentages = Unknown,
57    animation_type = ByComputedValue,
58    property_group = Logical,
59    computed_value_type = Unknown,
60    canonical_order = "per grammar",
61    logical_property_group = Size,
62    box_portion = Size,
63)]
64#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
65#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.inline-size"))]
66#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
67pub struct InlineSizeStyleValue;
68
69/// Represents the style value for `margin-block` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block).
70///
71/// 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.
72///
73/// The grammar is defined as:
74///
75/// ```text,ignore
76/// <'margin-top'>{1,2}
77/// ```
78///
79/// https://drafts.csswg.org/css-logical-1/#margin-block
80#[syntax(" <'margin-top'>{1,2} ")]
81#[derive(
82	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
83)]
84#[declaration_metadata(
85    initial = "see individual properties",
86    inherits = Unknown,
87    applies_to = Unknown,
88    percentages = Unknown,
89    animation_type = Unknown,
90    property_group = Logical,
91    computed_value_type = Unknown,
92    canonical_order = "per grammar",
93    box_side = BlockStart|BlockEnd,
94    box_portion = Margin,
95)]
96#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
97#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block"))]
98#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
99pub struct MarginBlockStyleValue;
100
101/// Represents the style value for `margin-block-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block-end).
102///
103/// 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.
104///
105/// The grammar is defined as:
106///
107/// ```text,ignore
108/// <'margin-top'>
109/// ```
110///
111/// https://drafts.csswg.org/css-logical-1/#margin-block-end
112#[syntax(" <'margin-top'> ")]
113#[derive(
114	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
115)]
116#[declaration_metadata(
117    initial = "0",
118    applies_to = Unknown,
119    percentages = Unknown,
120    animation_type = ByComputedValue,
121    property_group = Logical,
122    computed_value_type = Unknown,
123    canonical_order = "per grammar",
124    logical_property_group = Margin,
125    box_side = BlockEnd,
126    box_portion = Margin,
127)]
128#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
129#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block-end"))]
130#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
131pub struct MarginBlockEndStyleValue;
132
133/// Represents the style value for `margin-block-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-block-start).
134///
135/// 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.
136///
137/// The grammar is defined as:
138///
139/// ```text,ignore
140/// <'margin-top'>
141/// ```
142///
143/// https://drafts.csswg.org/css-logical-1/#margin-block-start
144#[syntax(" <'margin-top'> ")]
145#[derive(
146	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
147)]
148#[declaration_metadata(
149    initial = "0",
150    applies_to = Unknown,
151    percentages = Unknown,
152    animation_type = ByComputedValue,
153    property_group = Logical,
154    computed_value_type = Unknown,
155    canonical_order = "per grammar",
156    logical_property_group = Margin,
157    box_side = BlockStart,
158    box_portion = Margin,
159)]
160#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
161#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-block-start"))]
162#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
163pub struct MarginBlockStartStyleValue;
164
165/// Represents the style value for `margin-inline` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline).
166///
167/// 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.
168///
169/// The grammar is defined as:
170///
171/// ```text,ignore
172/// <'margin-top'>{1,2}
173/// ```
174///
175/// https://drafts.csswg.org/css-logical-1/#margin-inline
176#[syntax(" <'margin-top'>{1,2} ")]
177#[derive(
178	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
179)]
180#[declaration_metadata(
181    initial = "see individual properties",
182    inherits = Unknown,
183    applies_to = Unknown,
184    percentages = Unknown,
185    animation_type = Unknown,
186    property_group = Logical,
187    computed_value_type = Unknown,
188    canonical_order = "per grammar",
189    box_side = InlineStart|InlineEnd,
190    box_portion = Margin,
191)]
192#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
193#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline"))]
194#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
195pub struct MarginInlineStyleValue;
196
197/// Represents the style value for `margin-inline-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline-end).
198///
199/// 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.
200///
201/// The grammar is defined as:
202///
203/// ```text,ignore
204/// <'margin-top'>
205/// ```
206///
207/// https://drafts.csswg.org/css-logical-1/#margin-inline-end
208#[syntax(" <'margin-top'> ")]
209#[derive(
210	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
211)]
212#[declaration_metadata(
213    initial = "0",
214    applies_to = Unknown,
215    percentages = Unknown,
216    animation_type = ByComputedValue,
217    property_group = Logical,
218    computed_value_type = Unknown,
219    canonical_order = "per grammar",
220    logical_property_group = Margin,
221    box_side = InlineEnd,
222    box_portion = Margin,
223)]
224#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
225#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline-end"))]
226#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
227pub struct MarginInlineEndStyleValue;
228
229/// Represents the style value for `margin-inline-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#margin-inline-start).
230///
231/// 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.
232///
233/// The grammar is defined as:
234///
235/// ```text,ignore
236/// <'margin-top'>
237/// ```
238///
239/// https://drafts.csswg.org/css-logical-1/#margin-inline-start
240#[syntax(" <'margin-top'> ")]
241#[derive(
242	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
243)]
244#[declaration_metadata(
245    initial = "0",
246    applies_to = Unknown,
247    percentages = Unknown,
248    animation_type = ByComputedValue,
249    property_group = Logical,
250    computed_value_type = Unknown,
251    canonical_order = "per grammar",
252    logical_property_group = Margin,
253    box_side = InlineStart,
254    box_portion = Margin,
255)]
256#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
257#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.margin-inline-start"))]
258#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
259pub struct MarginInlineStartStyleValue;
260
261/// Represents the style value for `max-block-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#max-block-size).
262///
263/// 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.
264///
265/// The grammar is defined as:
266///
267/// ```text,ignore
268/// <'max-width'>
269/// ```
270///
271/// https://drafts.csswg.org/css-logical-1/#max-block-size
272#[syntax(" <'max-width'> ")]
273#[derive(
274	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
275)]
276#[declaration_metadata(
277    initial = "none",
278    applies_to = Unknown,
279    percentages = Unknown,
280    animation_type = ByComputedValue,
281    property_group = Logical,
282    computed_value_type = Unknown,
283    canonical_order = "per grammar",
284    logical_property_group = MaxSize,
285    box_side = BlockStart|BlockEnd,
286    box_portion = Size,
287)]
288#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
289#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.max-block-size"))]
290#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
291pub struct MaxBlockSizeStyleValue;
292
293/// Represents the style value for `max-inline-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#max-inline-size).
294///
295/// 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.
296///
297/// The grammar is defined as:
298///
299/// ```text,ignore
300/// <'max-width'>
301/// ```
302///
303/// https://drafts.csswg.org/css-logical-1/#max-inline-size
304#[syntax(" <'max-width'> ")]
305#[derive(
306	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
307)]
308#[declaration_metadata(
309    initial = "none",
310    applies_to = Unknown,
311    percentages = Unknown,
312    animation_type = ByComputedValue,
313    property_group = Logical,
314    computed_value_type = Unknown,
315    canonical_order = "per grammar",
316    logical_property_group = MaxSize,
317    box_side = InlineStart|InlineEnd,
318    box_portion = Size,
319)]
320#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
321#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.max-inline-size"))]
322#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
323pub struct MaxInlineSizeStyleValue;
324
325/// Represents the style value for `min-block-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#min-block-size).
326///
327/// 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.
328///
329/// The grammar is defined as:
330///
331/// ```text,ignore
332/// <'min-width'>
333/// ```
334///
335/// https://drafts.csswg.org/css-logical-1/#min-block-size
336#[syntax(" <'min-width'> ")]
337#[derive(
338	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
339)]
340#[declaration_metadata(
341    initial = "0",
342    applies_to = Unknown,
343    percentages = Unknown,
344    animation_type = ByComputedValue,
345    property_group = Logical,
346    computed_value_type = Unknown,
347    canonical_order = "per grammar",
348    logical_property_group = MinSize,
349    box_side = BlockStart|BlockEnd,
350    box_portion = Size,
351)]
352#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
353#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.min-block-size"))]
354#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
355pub struct MinBlockSizeStyleValue;
356
357/// Represents the style value for `min-inline-size` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#min-inline-size).
358///
359/// 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.
360///
361/// The grammar is defined as:
362///
363/// ```text,ignore
364/// <'min-width'>
365/// ```
366///
367/// https://drafts.csswg.org/css-logical-1/#min-inline-size
368#[syntax(" <'min-width'> ")]
369#[derive(
370	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
371)]
372#[declaration_metadata(
373    initial = "0",
374    applies_to = Unknown,
375    percentages = Unknown,
376    animation_type = ByComputedValue,
377    property_group = Logical,
378    computed_value_type = Unknown,
379    canonical_order = "per grammar",
380    logical_property_group = MinSize,
381    box_side = InlineStart|InlineEnd,
382    box_portion = Size,
383)]
384#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
385#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.min-inline-size"))]
386#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
387pub struct MinInlineSizeStyleValue;
388
389/// Represents the style value for `padding-block` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block).
390///
391/// 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.
392///
393/// The grammar is defined as:
394///
395/// ```text,ignore
396/// <'padding-top'>{1,2}
397/// ```
398///
399/// https://drafts.csswg.org/css-logical-1/#padding-block
400#[syntax(" <'padding-top'>{1,2} ")]
401#[derive(
402	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
403)]
404#[declaration_metadata(
405    initial = "see individual properties",
406    inherits = Unknown,
407    applies_to = Unknown,
408    percentages = Unknown,
409    animation_type = Unknown,
410    property_group = Logical,
411    computed_value_type = Unknown,
412    canonical_order = "per grammar",
413    box_side = BlockStart|BlockEnd,
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-block"))]
418#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
419pub struct PaddingBlockStyleValue;
420
421/// Represents the style value for `padding-block-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block-end).
422///
423/// 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.
424///
425/// The grammar is defined as:
426///
427/// ```text,ignore
428/// <'padding-top'>
429/// ```
430///
431/// https://drafts.csswg.org/css-logical-1/#padding-block-end
432#[syntax(" <'padding-top'> ")]
433#[derive(
434	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
435)]
436#[declaration_metadata(
437    initial = "0",
438    applies_to = Unknown,
439    percentages = Unknown,
440    animation_type = ByComputedValue,
441    property_group = Logical,
442    computed_value_type = Unknown,
443    canonical_order = "per grammar",
444    logical_property_group = Padding,
445    box_side = BlockEnd,
446    box_portion = Padding,
447)]
448#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
449#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-block-end"))]
450#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
451pub struct PaddingBlockEndStyleValue;
452
453/// Represents the style value for `padding-block-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-block-start).
454///
455/// 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.
456///
457/// The grammar is defined as:
458///
459/// ```text,ignore
460/// <'padding-top'>
461/// ```
462///
463/// https://drafts.csswg.org/css-logical-1/#padding-block-start
464#[syntax(" <'padding-top'> ")]
465#[derive(
466	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
467)]
468#[declaration_metadata(
469    initial = "0",
470    applies_to = Unknown,
471    percentages = Unknown,
472    animation_type = ByComputedValue,
473    property_group = Logical,
474    computed_value_type = Unknown,
475    canonical_order = "per grammar",
476    logical_property_group = Padding,
477    box_side = BlockStart,
478    box_portion = Padding,
479)]
480#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
481#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-block-start"))]
482#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
483pub struct PaddingBlockStartStyleValue;
484
485/// Represents the style value for `padding-inline` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline).
486///
487/// 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.
488///
489/// The grammar is defined as:
490///
491/// ```text,ignore
492/// <'padding-top'>{1,2}
493/// ```
494///
495/// https://drafts.csswg.org/css-logical-1/#padding-inline
496#[syntax(" <'padding-top'>{1,2} ")]
497#[derive(
498	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
499)]
500#[declaration_metadata(
501    initial = "see individual properties",
502    inherits = Unknown,
503    applies_to = Unknown,
504    percentages = Unknown,
505    animation_type = Unknown,
506    property_group = Logical,
507    computed_value_type = Unknown,
508    canonical_order = "per grammar",
509    box_side = InlineStart|InlineEnd,
510    box_portion = Padding,
511)]
512#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
513#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline"))]
514#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
515pub struct PaddingInlineStyleValue;
516
517/// Represents the style value for `padding-inline-end` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline-end).
518///
519/// 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.
520///
521/// The grammar is defined as:
522///
523/// ```text,ignore
524/// <'padding-top'>
525/// ```
526///
527/// https://drafts.csswg.org/css-logical-1/#padding-inline-end
528#[syntax(" <'padding-top'> ")]
529#[derive(
530	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
531)]
532#[declaration_metadata(
533    initial = "0",
534    applies_to = Unknown,
535    percentages = Unknown,
536    animation_type = ByComputedValue,
537    property_group = Logical,
538    computed_value_type = Unknown,
539    canonical_order = "per grammar",
540    logical_property_group = Padding,
541    box_side = InlineEnd,
542    box_portion = Padding,
543)]
544#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
545#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline-end"))]
546#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
547pub struct PaddingInlineEndStyleValue;
548
549/// Represents the style value for `padding-inline-start` as defined in [css-logical-1](https://drafts.csswg.org/css-logical-1/#padding-inline-start).
550///
551/// 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.
552///
553/// The grammar is defined as:
554///
555/// ```text,ignore
556/// <'padding-top'>
557/// ```
558///
559/// https://drafts.csswg.org/css-logical-1/#padding-inline-start
560#[syntax(" <'padding-top'> ")]
561#[derive(
562	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
563)]
564#[declaration_metadata(
565    initial = "0",
566    applies_to = Unknown,
567    percentages = Unknown,
568    animation_type = ByComputedValue,
569    property_group = Logical,
570    computed_value_type = Unknown,
571    canonical_order = "per grammar",
572    logical_property_group = Padding,
573    box_side = InlineStart,
574    box_portion = Padding,
575)]
576#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
577#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.padding-inline-start"))]
578#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
579pub struct PaddingInlineStartStyleValue;