1#![allow(warnings)]
2mod impls;
6use impls::*;
7
8#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,4} ")]
46#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47#[style_value(
48 initial = "auto",
49 applies_to = "scroll containers",
50 inherited = "no",
51 percentages = "relative to the corresponding dimension of the scroll container’s scrollport",
52 canonical_order = "per grammar",
53 animation_type = "by computed value type"
54)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding"))]
57#[visit]
58pub struct ScrollPaddingStyleValue;
59
60#[syntax(" <length>{1,4} ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74 initial = "0",
75 applies_to = "all elements",
76 inherited = "no",
77 percentages = "n/a",
78 canonical_order = "per grammar",
79 animation_type = "by computed value type"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin"))]
83#[visit]
84pub struct ScrollMarginStyleValue;
85
86#[syntax(" [ none | start | end | center ]{1,2} ")]
98#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
99#[style_value(
100 initial = "none",
101 applies_to = "all elements",
102 inherited = "no",
103 percentages = "n/a",
104 canonical_order = "per grammar",
105 animation_type = "discrete"
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-snap-align"))]
109#[visit]
110pub struct ScrollSnapAlignStyleValue;
111
112#[syntax(" normal | always ")]
124#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
125#[style_value(
126 initial = "normal",
127 applies_to = "all elements",
128 inherited = "no",
129 percentages = "n/a",
130 canonical_order = "per grammar",
131 animation_type = "discrete"
132)]
133#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
134#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-snap-stop"))]
135#[visit]
136pub enum ScrollSnapStopStyleValue {}
137
138#[syntax(" auto | <length-percentage [0,∞]> ")]
150#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
151#[style_value(
152 initial = "auto",
153 applies_to = "scroll containers",
154 inherited = "no",
155 percentages = "relative to the scroll container’s scrollport",
156 canonical_order = "per grammar",
157 animation_type = "by computed value type"
158)]
159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-top"))]
161#[visit]
162pub struct ScrollPaddingTopStyleValue;
163
164#[syntax(" auto | <length-percentage [0,∞]> ")]
176#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
177#[style_value(
178 initial = "auto",
179 applies_to = "scroll containers",
180 inherited = "no",
181 percentages = "relative to the scroll container’s scrollport",
182 canonical_order = "per grammar",
183 animation_type = "by computed value type"
184)]
185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-right"))]
187#[visit]
188pub struct ScrollPaddingRightStyleValue;
189
190#[syntax(" auto | <length-percentage [0,∞]> ")]
202#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
203#[style_value(
204 initial = "auto",
205 applies_to = "scroll containers",
206 inherited = "no",
207 percentages = "relative to the scroll container’s scrollport",
208 canonical_order = "per grammar",
209 animation_type = "by computed value type"
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-bottom"))]
213#[visit]
214pub struct ScrollPaddingBottomStyleValue;
215
216#[syntax(" auto | <length-percentage [0,∞]> ")]
228#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
229#[style_value(
230 initial = "auto",
231 applies_to = "scroll containers",
232 inherited = "no",
233 percentages = "relative to the scroll container’s scrollport",
234 canonical_order = "per grammar",
235 animation_type = "by computed value type"
236)]
237#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
238#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-left"))]
239#[visit]
240pub struct ScrollPaddingLeftStyleValue;
241
242#[syntax(" auto | <length-percentage [0,∞]> ")]
254#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
255#[style_value(
256 initial = "auto",
257 applies_to = "scroll containers",
258 inherited = "no",
259 percentages = "relative to the scroll container’s scrollport",
260 canonical_order = "per grammar",
261 animation_type = "by computed value type"
262)]
263#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
264#[cfg_attr(
265 feature = "css_feature_data",
266 derive(ToCSSFeature),
267 css_feature("css.properties.scroll-padding-inline-start")
268)]
269#[visit]
270pub struct ScrollPaddingInlineStartStyleValue;
271
272#[syntax(" auto | <length-percentage [0,∞]> ")]
284#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
285#[style_value(
286 initial = "auto",
287 applies_to = "scroll containers",
288 inherited = "no",
289 percentages = "relative to the scroll container’s scrollport",
290 canonical_order = "per grammar",
291 animation_type = "by computed value type"
292)]
293#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
294#[cfg_attr(
295 feature = "css_feature_data",
296 derive(ToCSSFeature),
297 css_feature("css.properties.scroll-padding-block-start")
298)]
299#[visit]
300pub struct ScrollPaddingBlockStartStyleValue;
301
302#[syntax(" auto | <length-percentage [0,∞]> ")]
314#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
315#[style_value(
316 initial = "auto",
317 applies_to = "scroll containers",
318 inherited = "no",
319 percentages = "relative to the scroll container’s scrollport",
320 canonical_order = "per grammar",
321 animation_type = "by computed value type"
322)]
323#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
324#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-inline-end"))]
325#[visit]
326pub struct ScrollPaddingInlineEndStyleValue;
327
328#[syntax(" auto | <length-percentage [0,∞]> ")]
340#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
341#[style_value(
342 initial = "auto",
343 applies_to = "scroll containers",
344 inherited = "no",
345 percentages = "relative to the scroll container’s scrollport",
346 canonical_order = "per grammar",
347 animation_type = "by computed value type"
348)]
349#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
350#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-block-end"))]
351#[visit]
352pub struct ScrollPaddingBlockEndStyleValue;
353
354#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,2} ")]
366#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
367#[style_value(
368 initial = "auto",
369 applies_to = "scroll containers",
370 inherited = "no",
371 percentages = "relative to the scroll container’s scrollport",
372 canonical_order = "per grammar",
373 animation_type = "by computed value"
374)]
375#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
376#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-block"))]
377#[visit]
378pub struct ScrollPaddingBlockStyleValue;
379
380#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,2} ")]
392#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
393#[style_value(
394 initial = "auto",
395 applies_to = "scroll containers",
396 inherited = "no",
397 percentages = "relative to the scroll container’s scrollport",
398 canonical_order = "per grammar",
399 animation_type = "by computed value"
400)]
401#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
402#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-inline"))]
403#[visit]
404pub struct ScrollPaddingInlineStyleValue;
405
406#[syntax(" <length> ")]
418#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
419#[style_value(
420 initial = "0",
421 applies_to = "all elements",
422 inherited = "no",
423 percentages = "n/a",
424 canonical_order = "per grammar",
425 animation_type = "by computed value type"
426)]
427#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
428#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-top"))]
429#[visit]
430pub struct ScrollMarginTopStyleValue;
431
432#[syntax(" <length> ")]
444#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
445#[style_value(
446 initial = "0",
447 applies_to = "all elements",
448 inherited = "no",
449 percentages = "n/a",
450 canonical_order = "per grammar",
451 animation_type = "by computed value type"
452)]
453#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
454#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-right"))]
455#[visit]
456pub struct ScrollMarginRightStyleValue;
457
458#[syntax(" <length> ")]
470#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
471#[style_value(
472 initial = "0",
473 applies_to = "all elements",
474 inherited = "no",
475 percentages = "n/a",
476 canonical_order = "per grammar",
477 animation_type = "by computed value type"
478)]
479#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
480#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-bottom"))]
481#[visit]
482pub struct ScrollMarginBottomStyleValue;
483
484#[syntax(" <length> ")]
496#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
497#[style_value(
498 initial = "0",
499 applies_to = "all elements",
500 inherited = "no",
501 percentages = "n/a",
502 canonical_order = "per grammar",
503 animation_type = "by computed value type"
504)]
505#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
506#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-left"))]
507#[visit]
508pub struct ScrollMarginLeftStyleValue;
509
510#[syntax(" <length> ")]
522#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
523#[style_value(
524 initial = "0",
525 applies_to = "all elements",
526 inherited = "no",
527 percentages = "n/a",
528 canonical_order = "per grammar",
529 animation_type = "by computed value type"
530)]
531#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
532#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block-start"))]
533#[visit]
534pub struct ScrollMarginBlockStartStyleValue;
535
536#[syntax(" <length> ")]
548#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
549#[style_value(
550 initial = "0",
551 applies_to = "all elements",
552 inherited = "no",
553 percentages = "n/a",
554 canonical_order = "per grammar",
555 animation_type = "by computed value type"
556)]
557#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
558#[cfg_attr(
559 feature = "css_feature_data",
560 derive(ToCSSFeature),
561 css_feature("css.properties.scroll-margin-inline-start")
562)]
563#[visit]
564pub struct ScrollMarginInlineStartStyleValue;
565
566#[syntax(" <length> ")]
578#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
579#[style_value(
580 initial = "0",
581 applies_to = "all elements",
582 inherited = "no",
583 percentages = "n/a",
584 canonical_order = "per grammar",
585 animation_type = "by computed value type"
586)]
587#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
588#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block-end"))]
589#[visit]
590pub struct ScrollMarginBlockEndStyleValue;
591
592#[syntax(" <length> ")]
604#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
605#[style_value(
606 initial = "0",
607 applies_to = "all elements",
608 inherited = "no",
609 percentages = "n/a",
610 canonical_order = "per grammar",
611 animation_type = "by computed value type"
612)]
613#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
614#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-inline-end"))]
615#[visit]
616pub struct ScrollMarginInlineEndStyleValue;
617
618#[syntax(" <length>{1,2} ")]
630#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
631#[style_value(
632 initial = "0",
633 applies_to = "all elements",
634 inherited = "no",
635 percentages = "n/a",
636 canonical_order = "per grammar",
637 animation_type = "by computed value type"
638)]
639#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
640#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block"))]
641#[visit]
642pub struct ScrollMarginBlockStyleValue;
643
644#[syntax(" <length>{1,2} ")]
656#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
657#[style_value(
658 initial = "0",
659 applies_to = "all elements",
660 inherited = "no",
661 percentages = "n/a",
662 canonical_order = "per grammar",
663 animation_type = "by computed value type"
664)]
665#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
666#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-inline"))]
667#[visit]
668pub struct ScrollMarginInlineStyleValue;
669
670#[syntax(" none | nearest ")]
682#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
683#[style_value(
684 initial = "none",
685 applies_to = "all elements",
686 inherited = "no",
687 percentages = "n/a",
688 canonical_order = "per grammar",
689 animation_type = "none"
690)]
691#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
692#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-initial-target"))]
693#[visit]
694pub enum ScrollInitialTargetStyleValue {}