css_ast/values/overflow/
mod.rs

1#![allow(warnings)]
2//! https://drafts.csswg.org/css-overflow-5/
3
4mod impls;
5use super::prelude::*;
6use impls::*;
7/// Represents the style value for `-webkit-line-clamp` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#-webkit-line-clamp).
8///
9/// The grammar is defined as:
10///
11/// ```text,ignore
12/// none | <integer [1,∞]>
13/// ```
14///
15/// https://drafts.csswg.org/css-overflow-5/#-webkit-line-clamp
16#[syntax(" none | <integer [1,∞]> ")]
17#[derive(
18	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
19)]
20#[declaration_metadata(
21    initial = "none",
22    inherits = Unknown,
23    applies_to = Unknown,
24    animation_type = Unknown,
25    property_group = Overflow,
26    computed_value_type = Unknown,
27    canonical_order = "per grammar",
28)]
29#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.-webkit-line-clamp"))]
31#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
32pub struct WebkitLineClampStyleValue;
33
34/// Represents the style value for `block-ellipsis` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#block-ellipsis).
35///
36/// The grammar is defined as:
37///
38/// ```text,ignore
39/// no-ellipsis | auto | <string>
40/// ```
41///
42/// https://drafts.csswg.org/css-overflow-5/#block-ellipsis
43#[syntax(" no-ellipsis | auto | <string> ")]
44#[derive(
45	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
46)]
47#[declaration_metadata(
48    initial = "no-ellipsis",
49    inherits,
50    applies_to = Block,
51    animation_type = Discrete,
52    property_group = Overflow,
53    computed_value_type = AsSpecified,
54    canonical_order = "per grammar",
55)]
56#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
57#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.block-ellipsis"))]
58#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
59pub enum BlockEllipsisStyleValue {}
60
61/// Represents the style value for `continue` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#continue).
62///
63/// The grammar is defined as:
64///
65/// ```text,ignore
66/// auto | discard | collapse
67/// ```
68///
69/// https://drafts.csswg.org/css-overflow-5/#continue
70#[syntax(" auto | discard | collapse ")]
71#[derive(
72	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
73)]
74#[declaration_metadata(
75    initial = "auto",
76    applies_to = Unknown,
77    animation_type = Discrete,
78    property_group = Overflow,
79    computed_value_type = Unknown,
80    canonical_order = "per grammar",
81)]
82#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
83#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.continue"))]
84#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
85pub enum ContinueStyleValue {}
86
87// /// Represents the style value for `line-clamp` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#line-clamp).
88// ///
89// /// The line-clamp CSS property limits the text in a block container to a certain number of lines. The prefixed -webkit-line-clamp is widely supported but only works with -webkit-box-orient: vertical in combination with display: -webkit-box or display: -webkit-inline-box.
90// ///
91// /// The grammar is defined as:
92// ///
93// /// ```text,ignore
94// /// none | [<integer [1,∞]> || <'block-ellipsis'>] -webkit-legacy?
95// /// ```
96// ///
97// /// https://drafts.csswg.org/css-overflow-5/#line-clamp
98// #[syntax(" none | [<integer [1,∞]> || <'block-ellipsis'>] -webkit-legacy? ")]
99// #[derive(
100//     Parse,
101//     Peek,
102//     ToSpan,
103//     ToCursors,
104//     DeclarationMetadata,
105//     SemanticEq,
106//     Debug,
107//     Clone,
108//     PartialEq,
109//     Eq,
110//     PartialOrd,
111//     Ord,
112//     Hash,
113// )]
114// #[declaration_metadata(
115//     initial = "none",
116//     inherits = Unknown,
117//     applies_to = Unknown,
118//     animation_type = Unknown,
119//     property_group = Overflow,
120//     computed_value_type = Unknown,
121//     canonical_order = "per grammar",
122// )]
123// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
124// #[cfg_attr(
125//     feature = "css_feature_data",
126//     derive(ToCSSFeature),
127//     css_feature("css.properties.line-clamp")
128// )]
129// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
130// pub struct LineClampStyleValue;
131
132/// Represents the style value for `max-lines` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#max-lines).
133///
134/// The grammar is defined as:
135///
136/// ```text,ignore
137/// none | <integer [1,∞]>
138/// ```
139///
140/// https://drafts.csswg.org/css-overflow-5/#max-lines
141#[syntax(" none | <integer [1,∞]> ")]
142#[derive(
143	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
144)]
145#[declaration_metadata(
146    initial = "none",
147    applies_to = Unknown,
148    animation_type = ByComputedValue,
149    property_group = Overflow,
150    computed_value_type = Unknown,
151    canonical_order = "per grammar",
152)]
153#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
154#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.max-lines"))]
155#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
156pub struct MaxLinesStyleValue;
157
158/// Represents the style value for `overflow` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow).
159///
160/// The overflow CSS property sets the behavior for when content doesn't fit in an element.
161///
162/// The grammar is defined as:
163///
164/// ```text,ignore
165/// <'overflow-block'>{1,2}
166/// ```
167///
168/// https://drafts.csswg.org/css-overflow-5/#overflow
169#[syntax(" <'overflow-block'>{1,2} ")]
170#[derive(
171	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
172)]
173#[declaration_metadata(
174    initial = "visible",
175    applies_to = Unknown,
176    animation_type = Discrete,
177    property_group = Overflow,
178    computed_value_type = Unknown,
179    canonical_order = "per grammar",
180)]
181#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
182#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow"))]
183#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
184pub struct OverflowStyleValue;
185
186/// Represents the style value for `overflow-block` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-block).
187///
188/// 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.
189///
190/// The grammar is defined as:
191///
192/// ```text,ignore
193/// visible | hidden | clip | scroll | auto
194/// ```
195///
196/// https://drafts.csswg.org/css-overflow-5/#overflow-block
197#[syntax(" visible | hidden | clip | scroll | auto ")]
198#[derive(
199	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
200)]
201#[declaration_metadata(
202    initial = "visible",
203    applies_to = Unknown,
204    animation_type = Discrete,
205    property_group = Overflow,
206    computed_value_type = Unknown,
207    canonical_order = "per grammar",
208    logical_property_group = Overflow,
209    box_side = BlockStart|BlockEnd,
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-block"))]
213#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
214pub enum OverflowBlockStyleValue {}
215
216/// Represents the style value for `overflow-clip-margin` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin).
217///
218/// The overflow-clip-margin CSS property sets how far overflow content may appear outside the bounds of an element before it's clipped by effects such as overflow: clip.
219///
220/// The grammar is defined as:
221///
222/// ```text,ignore
223/// <visual-box> || <length [0,∞]>
224/// ```
225///
226/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin
227#[syntax(" <visual-box> || <length [0,∞]> ")]
228#[derive(
229	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
230)]
231#[declaration_metadata(
232    initial = "0px",
233    applies_to = Unknown,
234    percentages = Unknown,
235    animation_type = Unknown,
236    property_group = Overflow,
237    computed_value_type = Unknown,
238    canonical_order = "per grammar",
239)]
240#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
241#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-clip-margin"))]
242#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
243pub struct OverflowClipMarginStyleValue;
244
245/// Represents the style value for `overflow-clip-margin-block` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block).
246///
247/// The grammar is defined as:
248///
249/// ```text,ignore
250/// <visual-box> || <length [0,∞]>
251/// ```
252///
253/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block
254#[syntax(" <visual-box> || <length [0,∞]> ")]
255#[derive(
256	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
257)]
258#[declaration_metadata(
259    initial = "0px",
260    applies_to = Unknown,
261    percentages = Unknown,
262    animation_type = Unknown,
263    property_group = Overflow,
264    computed_value_type = Unknown,
265    canonical_order = "per grammar",
266    box_side = BlockStart|BlockEnd,
267)]
268#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
269#[cfg_attr(
270	feature = "css_feature_data",
271	derive(ToCSSFeature),
272	css_feature("css.properties.overflow-clip-margin-block")
273)]
274#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
275pub struct OverflowClipMarginBlockStyleValue;
276
277/// Represents the style value for `overflow-clip-margin-block-end` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block-end).
278///
279/// The grammar is defined as:
280///
281/// ```text,ignore
282/// <visual-box> || <length [0,∞]>
283/// ```
284///
285/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block-end
286#[syntax(" <visual-box> || <length [0,∞]> ")]
287#[derive(
288	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
289)]
290#[declaration_metadata(
291    initial = "0px",
292    applies_to = Unknown,
293    percentages = Unknown,
294    animation_type = Discrete,
295    property_group = Overflow,
296    computed_value_type = Unknown,
297    canonical_order = "per grammar",
298    logical_property_group = OverflowClipMargin,
299    box_side = BlockEnd,
300)]
301#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
302#[cfg_attr(
303	feature = "css_feature_data",
304	derive(ToCSSFeature),
305	css_feature("css.properties.overflow-clip-margin-block-end")
306)]
307#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
308pub struct OverflowClipMarginBlockEndStyleValue;
309
310/// Represents the style value for `overflow-clip-margin-block-start` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block-start).
311///
312/// The grammar is defined as:
313///
314/// ```text,ignore
315/// <visual-box> || <length [0,∞]>
316/// ```
317///
318/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-block-start
319#[syntax(" <visual-box> || <length [0,∞]> ")]
320#[derive(
321	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
322)]
323#[declaration_metadata(
324    initial = "0px",
325    applies_to = Unknown,
326    percentages = Unknown,
327    animation_type = Discrete,
328    property_group = Overflow,
329    computed_value_type = Unknown,
330    canonical_order = "per grammar",
331    logical_property_group = OverflowClipMargin,
332    box_side = BlockStart,
333)]
334#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
335#[cfg_attr(
336	feature = "css_feature_data",
337	derive(ToCSSFeature),
338	css_feature("css.properties.overflow-clip-margin-block-start")
339)]
340#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
341pub struct OverflowClipMarginBlockStartStyleValue;
342
343/// Represents the style value for `overflow-clip-margin-bottom` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-bottom).
344///
345/// The grammar is defined as:
346///
347/// ```text,ignore
348/// <visual-box> || <length [0,∞]>
349/// ```
350///
351/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-bottom
352#[syntax(" <visual-box> || <length [0,∞]> ")]
353#[derive(
354	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
355)]
356#[declaration_metadata(
357    initial = "0px",
358    applies_to = Unknown,
359    percentages = Unknown,
360    animation_type = Discrete,
361    property_group = Overflow,
362    computed_value_type = Unknown,
363    canonical_order = "per grammar",
364    logical_property_group = OverflowClipMargin,
365    box_side = Bottom,
366)]
367#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
368#[cfg_attr(
369	feature = "css_feature_data",
370	derive(ToCSSFeature),
371	css_feature("css.properties.overflow-clip-margin-bottom")
372)]
373#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
374pub struct OverflowClipMarginBottomStyleValue;
375
376/// Represents the style value for `overflow-clip-margin-inline` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline).
377///
378/// The grammar is defined as:
379///
380/// ```text,ignore
381/// <visual-box> || <length [0,∞]>
382/// ```
383///
384/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline
385#[syntax(" <visual-box> || <length [0,∞]> ")]
386#[derive(
387	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
388)]
389#[declaration_metadata(
390    initial = "0px",
391    applies_to = Unknown,
392    percentages = Unknown,
393    animation_type = Unknown,
394    property_group = Overflow,
395    computed_value_type = Unknown,
396    canonical_order = "per grammar",
397    box_side = InlineStart|InlineEnd,
398)]
399#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
400#[cfg_attr(
401	feature = "css_feature_data",
402	derive(ToCSSFeature),
403	css_feature("css.properties.overflow-clip-margin-inline")
404)]
405#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
406pub struct OverflowClipMarginInlineStyleValue;
407
408/// Represents the style value for `overflow-clip-margin-inline-end` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline-end).
409///
410/// The grammar is defined as:
411///
412/// ```text,ignore
413/// <visual-box> || <length [0,∞]>
414/// ```
415///
416/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline-end
417#[syntax(" <visual-box> || <length [0,∞]> ")]
418#[derive(
419	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
420)]
421#[declaration_metadata(
422    initial = "0px",
423    applies_to = Unknown,
424    percentages = Unknown,
425    animation_type = Discrete,
426    property_group = Overflow,
427    computed_value_type = Unknown,
428    canonical_order = "per grammar",
429    logical_property_group = OverflowClipMargin,
430    box_side = InlineEnd,
431)]
432#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
433#[cfg_attr(
434	feature = "css_feature_data",
435	derive(ToCSSFeature),
436	css_feature("css.properties.overflow-clip-margin-inline-end")
437)]
438#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
439pub struct OverflowClipMarginInlineEndStyleValue;
440
441/// Represents the style value for `overflow-clip-margin-inline-start` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline-start).
442///
443/// The grammar is defined as:
444///
445/// ```text,ignore
446/// <visual-box> || <length [0,∞]>
447/// ```
448///
449/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-inline-start
450#[syntax(" <visual-box> || <length [0,∞]> ")]
451#[derive(
452	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
453)]
454#[declaration_metadata(
455    initial = "0px",
456    applies_to = Unknown,
457    percentages = Unknown,
458    animation_type = Discrete,
459    property_group = Overflow,
460    computed_value_type = Unknown,
461    canonical_order = "per grammar",
462    logical_property_group = OverflowClipMargin,
463    box_side = InlineStart,
464)]
465#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
466#[cfg_attr(
467	feature = "css_feature_data",
468	derive(ToCSSFeature),
469	css_feature("css.properties.overflow-clip-margin-inline-start")
470)]
471#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
472pub struct OverflowClipMarginInlineStartStyleValue;
473
474/// Represents the style value for `overflow-clip-margin-left` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-left).
475///
476/// The grammar is defined as:
477///
478/// ```text,ignore
479/// <visual-box> || <length [0,∞]>
480/// ```
481///
482/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-left
483#[syntax(" <visual-box> || <length [0,∞]> ")]
484#[derive(
485	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
486)]
487#[declaration_metadata(
488    initial = "0px",
489    applies_to = Unknown,
490    percentages = Unknown,
491    animation_type = Discrete,
492    property_group = Overflow,
493    computed_value_type = Unknown,
494    canonical_order = "per grammar",
495    logical_property_group = OverflowClipMargin,
496    box_side = Left,
497)]
498#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
499#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-clip-margin-left"))]
500#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
501pub struct OverflowClipMarginLeftStyleValue;
502
503/// Represents the style value for `overflow-clip-margin-right` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-right).
504///
505/// The grammar is defined as:
506///
507/// ```text,ignore
508/// <visual-box> || <length [0,∞]>
509/// ```
510///
511/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-right
512#[syntax(" <visual-box> || <length [0,∞]> ")]
513#[derive(
514	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
515)]
516#[declaration_metadata(
517    initial = "0px",
518    applies_to = Unknown,
519    percentages = Unknown,
520    animation_type = Discrete,
521    property_group = Overflow,
522    computed_value_type = Unknown,
523    canonical_order = "per grammar",
524    logical_property_group = OverflowClipMargin,
525    box_side = Right,
526)]
527#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
528#[cfg_attr(
529	feature = "css_feature_data",
530	derive(ToCSSFeature),
531	css_feature("css.properties.overflow-clip-margin-right")
532)]
533#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
534pub struct OverflowClipMarginRightStyleValue;
535
536/// Represents the style value for `overflow-clip-margin-top` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-top).
537///
538/// The grammar is defined as:
539///
540/// ```text,ignore
541/// <visual-box> || <length [0,∞]>
542/// ```
543///
544/// https://drafts.csswg.org/css-overflow-5/#overflow-clip-margin-top
545#[syntax(" <visual-box> || <length [0,∞]> ")]
546#[derive(
547	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
548)]
549#[declaration_metadata(
550    initial = "0px",
551    applies_to = Unknown,
552    percentages = Unknown,
553    animation_type = Discrete,
554    property_group = Overflow,
555    computed_value_type = Unknown,
556    canonical_order = "per grammar",
557    logical_property_group = OverflowClipMargin,
558    box_side = Top,
559)]
560#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
561#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-clip-margin-top"))]
562#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
563pub struct OverflowClipMarginTopStyleValue;
564
565/// Represents the style value for `overflow-inline` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-inline).
566///
567/// 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.
568///
569/// The grammar is defined as:
570///
571/// ```text,ignore
572/// visible | hidden | clip | scroll | auto
573/// ```
574///
575/// https://drafts.csswg.org/css-overflow-5/#overflow-inline
576#[syntax(" visible | hidden | clip | scroll | auto ")]
577#[derive(
578	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
579)]
580#[declaration_metadata(
581    initial = "visible",
582    applies_to = Unknown,
583    animation_type = Discrete,
584    property_group = Overflow,
585    computed_value_type = Unknown,
586    canonical_order = "per grammar",
587    logical_property_group = Overflow,
588    box_side = InlineStart|InlineEnd,
589)]
590#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
591#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-inline"))]
592#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
593pub enum OverflowInlineStyleValue {}
594
595/// Represents the style value for `overflow-x` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-x).
596///
597/// The overflow CSS property sets the behavior for when content doesn't fit in an element.
598///
599/// The grammar is defined as:
600///
601/// ```text,ignore
602/// visible | hidden | clip | scroll | auto
603/// ```
604///
605/// https://drafts.csswg.org/css-overflow-5/#overflow-x
606#[syntax(" visible | hidden | clip | scroll | auto ")]
607#[derive(
608	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
609)]
610#[declaration_metadata(
611    initial = "visible",
612    applies_to = Unknown,
613    animation_type = Discrete,
614    property_group = Overflow,
615    computed_value_type = Unknown,
616    canonical_order = "per grammar",
617    logical_property_group = Overflow,
618)]
619#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
620#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-x"))]
621#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
622pub enum OverflowXStyleValue {}
623
624/// Represents the style value for `overflow-y` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#overflow-y).
625///
626/// The overflow CSS property sets the behavior for when content doesn't fit in an element.
627///
628/// The grammar is defined as:
629///
630/// ```text,ignore
631/// visible | hidden | clip | scroll | auto
632/// ```
633///
634/// https://drafts.csswg.org/css-overflow-5/#overflow-y
635#[syntax(" visible | hidden | clip | scroll | auto ")]
636#[derive(
637	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
638)]
639#[declaration_metadata(
640    initial = "visible",
641    applies_to = Unknown,
642    animation_type = Discrete,
643    property_group = Overflow,
644    computed_value_type = Unknown,
645    canonical_order = "per grammar",
646    logical_property_group = Overflow,
647)]
648#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
649#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-y"))]
650#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
651pub enum OverflowYStyleValue {}
652
653/// Represents the style value for `scroll-behavior` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#scroll-behavior).
654///
655/// The scroll-behavior CSS property controls whether scrolling is smooth or snaps, for scroll actions not performed by the user such as those triggered by navigation.
656///
657/// The grammar is defined as:
658///
659/// ```text,ignore
660/// auto | smooth
661/// ```
662///
663/// https://drafts.csswg.org/css-overflow-5/#scroll-behavior
664#[syntax(" auto | smooth ")]
665#[derive(
666	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
667)]
668#[declaration_metadata(
669    initial = "auto",
670    applies_to = Unknown,
671    property_group = Overflow,
672    computed_value_type = AsSpecified,
673    canonical_order = "per grammar",
674)]
675#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
676#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-behavior"))]
677#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
678pub enum ScrollBehaviorStyleValue {}
679
680/// Represents the style value for `scroll-marker-group` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#scroll-marker-group).
681///
682/// A scroll container can be navigated by activating ::scroll-marker pseudo-elements which appear in a generated ::scroll-marker-group pseudo-element, either before or after the scroll container.
683///
684/// The grammar is defined as:
685///
686/// ```text,ignore
687/// none | before | after
688/// ```
689///
690/// https://drafts.csswg.org/css-overflow-5/#scroll-marker-group
691#[syntax(" none | before | after ")]
692#[derive(
693	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
694)]
695#[declaration_metadata(
696    initial = "none",
697    applies_to = Unknown,
698    animation_type = Discrete,
699    property_group = Overflow,
700    computed_value_type = AsSpecified,
701    canonical_order = "per grammar",
702)]
703#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
704#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-marker-group"))]
705#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
706pub enum ScrollMarkerGroupStyleValue {}
707
708/// Represents the style value for `scroll-target-group` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#scroll-target-group).
709///
710/// The grammar is defined as:
711///
712/// ```text,ignore
713/// none | auto
714/// ```
715///
716/// https://drafts.csswg.org/css-overflow-5/#scroll-target-group
717#[syntax(" none | auto ")]
718#[derive(
719	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
720)]
721#[declaration_metadata(
722    initial = "none",
723    applies_to = Elements,
724    animation_type = Discrete,
725    property_group = Overflow,
726    computed_value_type = AsSpecified,
727    canonical_order = "per grammar",
728)]
729#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
730#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-target-group"))]
731#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
732pub enum ScrollTargetGroupStyleValue {}
733
734// /// Represents the style value for `scrollbar-gutter` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#scrollbar-gutter).
735// ///
736// /// The scrollbar-gutter CSS property reserves space for the scrollbar, preventing unwanted layout changes as the scrollbar appears and disappears.
737// ///
738// /// The grammar is defined as:
739// ///
740// /// ```text,ignore
741// /// auto | stable && both-edges?
742// /// ```
743// ///
744// /// https://drafts.csswg.org/css-overflow-5/#scrollbar-gutter
745// #[syntax(" auto | stable && both-edges? ")]
746// #[derive(
747//     Parse,
748//     Peek,
749//     ToSpan,
750//     ToCursors,
751//     DeclarationMetadata,
752//     SemanticEq,
753//     Debug,
754//     Clone,
755//     PartialEq,
756//     Eq,
757//     PartialOrd,
758//     Ord,
759//     Hash,
760// )]
761// #[declaration_metadata(
762//     initial = "auto",
763//     applies_to = Unknown,
764//     animation_type = Discrete,
765//     property_group = Overflow,
766//     computed_value_type = Unknown,
767//     canonical_order = "per grammar",
768// )]
769// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
770// #[cfg_attr(
771//     feature = "css_feature_data",
772//     derive(ToCSSFeature),
773//     css_feature("css.properties.scrollbar-gutter")
774// )]
775// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
776// pub struct ScrollbarGutterStyleValue;
777
778// /// Represents the style value for `text-overflow` as defined in [css-overflow-5](https://drafts.csswg.org/css-overflow-5/#text-overflow).
779// ///
780// /// The text-overflow CSS property sets how hidden overflow content appears to users. The property can clip content, truncate content with an ellipsis (…), or truncate with a custom string.
781// ///
782// /// The grammar is defined as:
783// ///
784// /// ```text,ignore
785// /// [ clip | ellipsis | <string> | fade | <fade()> ]{1,2}
786// /// ```
787// ///
788// /// https://drafts.csswg.org/css-overflow-5/#text-overflow
789// #[syntax(" [ clip | ellipsis | <string> | fade | <fade()> ]{1,2} ")]
790// #[derive(
791//     Parse,
792//     Peek,
793//     ToSpan,
794//     ToCursors,
795//     DeclarationMetadata,
796//     SemanticEq,
797//     Debug,
798//     Clone,
799//     PartialEq,
800//     Eq,
801//     PartialOrd,
802//     Ord,
803//     Hash,
804// )]
805// #[declaration_metadata(
806//     initial = "clip",
807//     applies_to = Block,
808//     percentages = LineBox,
809//     animation_type = ByComputedValue,
810//     property_group = Overflow,
811//     computed_value_type = AsSpecified,
812//     canonical_order = "per grammar",
813// )]
814// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
815// #[cfg_attr(
816//     feature = "css_feature_data",
817//     derive(ToCSSFeature),
818//     css_feature("css.properties.text-overflow")
819// )]
820// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
821// pub struct TextOverflowStyleValue;