1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(" none | nearest ")]
22#[derive(
23 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26 initial = "none",
27 applies_to = Elements,
28 property_group = ScrollSnap,
29 computed_value_type = Unknown,
30 canonical_order = "per grammar",
31)]
32#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
33#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-initial-target"))]
34#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
35#[derive(csskit_derives::NodeWithMetadata)]
36pub enum ScrollInitialTargetStyleValue {}
37
38#[syntax(" <length>{1,4} ")]
50#[derive(
51 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
52)]
53#[declaration_metadata(
54 initial = "0",
55 applies_to = Elements,
56 animation_type = ByComputedValue,
57 longhands = ScrollMarginBottom|ScrollMarginLeft|ScrollMarginRight|ScrollMarginTop,
58 property_group = ScrollSnap,
59 computed_value_type = AbsoluteLength,
60 canonical_order = "per grammar",
61)]
62#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
63#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin"))]
64#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
65#[derive(csskit_derives::NodeWithMetadata)]
66pub struct ScrollMarginStyleValue;
67
68#[syntax(" <length>{1,2} ")]
80#[derive(
81 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
82)]
83#[declaration_metadata(
84 initial = "0",
85 applies_to = Elements,
86 animation_type = ByComputedValue,
87 longhands = ScrollMarginBlockEnd|ScrollMarginBlockStart,
88 property_group = ScrollSnap,
89 computed_value_type = Unknown,
90 canonical_order = "per grammar",
91 box_side = BlockStart|BlockEnd,
92)]
93#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
94#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block"))]
95#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
96#[derive(csskit_derives::NodeWithMetadata)]
97pub struct ScrollMarginBlockStyleValue;
98
99#[syntax(" <length> ")]
111#[derive(
112 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
113)]
114#[declaration_metadata(
115 initial = "0",
116 applies_to = Elements,
117 animation_type = ByComputedValue,
118 shorthand_group = ScrollMarginBlock,
119 property_group = ScrollSnap,
120 computed_value_type = AbsoluteLength,
121 canonical_order = "per grammar",
122 logical_property_group = ScrollMargin,
123 box_side = BlockEnd,
124)]
125#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
126#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block-end"))]
127#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
128#[derive(csskit_derives::NodeWithMetadata)]
129pub struct ScrollMarginBlockEndStyleValue;
130
131#[syntax(" <length> ")]
143#[derive(
144 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
145)]
146#[declaration_metadata(
147 initial = "0",
148 applies_to = Elements,
149 animation_type = ByComputedValue,
150 shorthand_group = ScrollMarginBlock,
151 property_group = ScrollSnap,
152 computed_value_type = AbsoluteLength,
153 canonical_order = "per grammar",
154 logical_property_group = ScrollMargin,
155 box_side = BlockStart,
156)]
157#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
158#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-block-start"))]
159#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
160#[derive(csskit_derives::NodeWithMetadata)]
161pub struct ScrollMarginBlockStartStyleValue;
162
163#[syntax(" <length> ")]
175#[derive(
176 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
177)]
178#[declaration_metadata(
179 initial = "0",
180 applies_to = Elements,
181 animation_type = ByComputedValue,
182 shorthand_group = ScrollMargin,
183 property_group = ScrollSnap,
184 computed_value_type = AbsoluteLength,
185 canonical_order = "per grammar",
186 logical_property_group = ScrollMargin,
187 box_side = Bottom,
188)]
189#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
190#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-bottom"))]
191#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
192#[derive(csskit_derives::NodeWithMetadata)]
193pub struct ScrollMarginBottomStyleValue;
194
195#[syntax(" <length>{1,2} ")]
207#[derive(
208 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
209)]
210#[declaration_metadata(
211 initial = "0",
212 applies_to = Elements,
213 animation_type = ByComputedValue,
214 longhands = ScrollMarginInlineEnd|ScrollMarginInlineStart,
215 property_group = ScrollSnap,
216 computed_value_type = Unknown,
217 canonical_order = "per grammar",
218 box_side = InlineStart|InlineEnd,
219)]
220#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
221#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-inline"))]
222#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
223#[derive(csskit_derives::NodeWithMetadata)]
224pub struct ScrollMarginInlineStyleValue;
225
226#[syntax(" <length> ")]
238#[derive(
239 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
240)]
241#[declaration_metadata(
242 initial = "0",
243 applies_to = Elements,
244 animation_type = ByComputedValue,
245 shorthand_group = ScrollMarginInline,
246 property_group = ScrollSnap,
247 computed_value_type = AbsoluteLength,
248 canonical_order = "per grammar",
249 logical_property_group = ScrollMargin,
250 box_side = InlineEnd,
251)]
252#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
253#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-inline-end"))]
254#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
255#[derive(csskit_derives::NodeWithMetadata)]
256pub struct ScrollMarginInlineEndStyleValue;
257
258#[syntax(" <length> ")]
270#[derive(
271 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
272)]
273#[declaration_metadata(
274 initial = "0",
275 applies_to = Elements,
276 animation_type = ByComputedValue,
277 shorthand_group = ScrollMarginInline,
278 property_group = ScrollSnap,
279 computed_value_type = AbsoluteLength,
280 canonical_order = "per grammar",
281 logical_property_group = ScrollMargin,
282 box_side = InlineStart,
283)]
284#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
285#[cfg_attr(
286 feature = "css_feature_data",
287 derive(ToCSSFeature),
288 css_feature("css.properties.scroll-margin-inline-start")
289)]
290#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
291#[derive(csskit_derives::NodeWithMetadata)]
292pub struct ScrollMarginInlineStartStyleValue;
293
294#[syntax(" <length> ")]
306#[derive(
307 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
308)]
309#[declaration_metadata(
310 initial = "0",
311 applies_to = Elements,
312 animation_type = ByComputedValue,
313 shorthand_group = ScrollMargin,
314 property_group = ScrollSnap,
315 computed_value_type = AbsoluteLength,
316 canonical_order = "per grammar",
317 logical_property_group = ScrollMargin,
318 box_side = Left,
319)]
320#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
321#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-left"))]
322#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
323#[derive(csskit_derives::NodeWithMetadata)]
324pub struct ScrollMarginLeftStyleValue;
325
326#[syntax(" <length> ")]
338#[derive(
339 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
340)]
341#[declaration_metadata(
342 initial = "0",
343 applies_to = Elements,
344 animation_type = ByComputedValue,
345 shorthand_group = ScrollMargin,
346 property_group = ScrollSnap,
347 computed_value_type = AbsoluteLength,
348 canonical_order = "per grammar",
349 logical_property_group = ScrollMargin,
350 box_side = Right,
351)]
352#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
353#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-right"))]
354#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
355#[derive(csskit_derives::NodeWithMetadata)]
356pub struct ScrollMarginRightStyleValue;
357
358#[syntax(" <length> ")]
370#[derive(
371 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
372)]
373#[declaration_metadata(
374 initial = "0",
375 applies_to = Elements,
376 animation_type = ByComputedValue,
377 shorthand_group = ScrollMargin,
378 property_group = ScrollSnap,
379 computed_value_type = AbsoluteLength,
380 canonical_order = "per grammar",
381 logical_property_group = ScrollMargin,
382 box_side = Top,
383)]
384#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
385#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-margin-top"))]
386#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
387#[derive(csskit_derives::NodeWithMetadata)]
388pub struct ScrollMarginTopStyleValue;
389
390#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,4} ")]
402#[derive(
403 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
404)]
405#[declaration_metadata(
406 initial = "auto",
407 applies_to = Unknown,
408 animation_type = ByComputedValue,
409 percentages = Scrollport,
410 longhands = ScrollPaddingBottom|ScrollPaddingLeft|ScrollPaddingRight|ScrollPaddingTop,
411 property_group = ScrollSnap,
412 computed_value_type = Unknown,
413 canonical_order = "per grammar",
414)]
415#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
416#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding"))]
417#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
418#[derive(csskit_derives::NodeWithMetadata)]
419pub struct ScrollPaddingStyleValue;
420
421#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,2} ")]
433#[derive(
434 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
435)]
436#[declaration_metadata(
437 initial = "auto",
438 applies_to = Unknown,
439 animation_type = ByComputedValue,
440 percentages = Scrollport,
441 longhands = ScrollPaddingBlockEnd|ScrollPaddingBlockStart,
442 property_group = ScrollSnap,
443 computed_value_type = Unknown,
444 canonical_order = "per grammar",
445 box_side = BlockStart|BlockEnd,
446)]
447#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
448#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-block"))]
449#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
450#[derive(csskit_derives::NodeWithMetadata)]
451pub struct ScrollPaddingBlockStyleValue;
452
453#[syntax(" auto | <length-percentage [0,∞]> ")]
465#[derive(
466 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
467)]
468#[declaration_metadata(
469 initial = "auto",
470 applies_to = Unknown,
471 animation_type = ByComputedValue,
472 percentages = Scrollport,
473 shorthand_group = ScrollPaddingBlock,
474 property_group = ScrollSnap,
475 computed_value_type = Unknown,
476 canonical_order = "per grammar",
477 logical_property_group = ScrollPadding,
478 box_side = BlockEnd,
479)]
480#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
481#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-block-end"))]
482#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
483#[derive(csskit_derives::NodeWithMetadata)]
484pub struct ScrollPaddingBlockEndStyleValue;
485
486#[syntax(" auto | <length-percentage [0,∞]> ")]
498#[derive(
499 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
500)]
501#[declaration_metadata(
502 initial = "auto",
503 applies_to = Unknown,
504 animation_type = ByComputedValue,
505 percentages = Scrollport,
506 shorthand_group = ScrollPaddingBlock,
507 property_group = ScrollSnap,
508 computed_value_type = Unknown,
509 canonical_order = "per grammar",
510 logical_property_group = ScrollPadding,
511 box_side = BlockStart,
512)]
513#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
514#[cfg_attr(
515 feature = "css_feature_data",
516 derive(ToCSSFeature),
517 css_feature("css.properties.scroll-padding-block-start")
518)]
519#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
520#[derive(csskit_derives::NodeWithMetadata)]
521pub struct ScrollPaddingBlockStartStyleValue;
522
523#[syntax(" auto | <length-percentage [0,∞]> ")]
535#[derive(
536 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
537)]
538#[declaration_metadata(
539 initial = "auto",
540 applies_to = Unknown,
541 animation_type = ByComputedValue,
542 percentages = Scrollport,
543 shorthand_group = ScrollPadding,
544 property_group = ScrollSnap,
545 computed_value_type = Unknown,
546 canonical_order = "per grammar",
547 logical_property_group = ScrollPadding,
548 box_side = Bottom,
549)]
550#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
551#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-bottom"))]
552#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
553#[derive(csskit_derives::NodeWithMetadata)]
554pub struct ScrollPaddingBottomStyleValue;
555
556#[syntax(" [ auto | <length-percentage [0,∞]> ]{1,2} ")]
568#[derive(
569 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
570)]
571#[declaration_metadata(
572 initial = "auto",
573 applies_to = Unknown,
574 animation_type = ByComputedValue,
575 percentages = Scrollport,
576 longhands = ScrollPaddingInlineEnd|ScrollPaddingInlineStart,
577 property_group = ScrollSnap,
578 computed_value_type = Unknown,
579 canonical_order = "per grammar",
580 box_side = InlineStart|InlineEnd,
581)]
582#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
583#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-inline"))]
584#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
585#[derive(csskit_derives::NodeWithMetadata)]
586pub struct ScrollPaddingInlineStyleValue;
587
588#[syntax(" auto | <length-percentage [0,∞]> ")]
600#[derive(
601 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
602)]
603#[declaration_metadata(
604 initial = "auto",
605 applies_to = Unknown,
606 animation_type = ByComputedValue,
607 percentages = Scrollport,
608 shorthand_group = ScrollPaddingInline,
609 property_group = ScrollSnap,
610 computed_value_type = Unknown,
611 canonical_order = "per grammar",
612 logical_property_group = ScrollPadding,
613 box_side = InlineEnd,
614)]
615#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
616#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-inline-end"))]
617#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
618#[derive(csskit_derives::NodeWithMetadata)]
619pub struct ScrollPaddingInlineEndStyleValue;
620
621#[syntax(" auto | <length-percentage [0,∞]> ")]
633#[derive(
634 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
635)]
636#[declaration_metadata(
637 initial = "auto",
638 applies_to = Unknown,
639 animation_type = ByComputedValue,
640 percentages = Scrollport,
641 shorthand_group = ScrollPaddingInline,
642 property_group = ScrollSnap,
643 computed_value_type = Unknown,
644 canonical_order = "per grammar",
645 logical_property_group = ScrollPadding,
646 box_side = InlineStart,
647)]
648#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
649#[cfg_attr(
650 feature = "css_feature_data",
651 derive(ToCSSFeature),
652 css_feature("css.properties.scroll-padding-inline-start")
653)]
654#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
655#[derive(csskit_derives::NodeWithMetadata)]
656pub struct ScrollPaddingInlineStartStyleValue;
657
658#[syntax(" auto | <length-percentage [0,∞]> ")]
670#[derive(
671 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
672)]
673#[declaration_metadata(
674 initial = "auto",
675 applies_to = Unknown,
676 animation_type = ByComputedValue,
677 percentages = Scrollport,
678 shorthand_group = ScrollPadding,
679 property_group = ScrollSnap,
680 computed_value_type = Unknown,
681 canonical_order = "per grammar",
682 logical_property_group = ScrollPadding,
683 box_side = Left,
684)]
685#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
686#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-left"))]
687#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
688#[derive(csskit_derives::NodeWithMetadata)]
689pub struct ScrollPaddingLeftStyleValue;
690
691#[syntax(" auto | <length-percentage [0,∞]> ")]
703#[derive(
704 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
705)]
706#[declaration_metadata(
707 initial = "auto",
708 applies_to = Unknown,
709 animation_type = ByComputedValue,
710 percentages = Scrollport,
711 shorthand_group = ScrollPadding,
712 property_group = ScrollSnap,
713 computed_value_type = Unknown,
714 canonical_order = "per grammar",
715 logical_property_group = ScrollPadding,
716 box_side = Right,
717)]
718#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
719#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-right"))]
720#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
721#[derive(csskit_derives::NodeWithMetadata)]
722pub struct ScrollPaddingRightStyleValue;
723
724#[syntax(" auto | <length-percentage [0,∞]> ")]
736#[derive(
737 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
738)]
739#[declaration_metadata(
740 initial = "auto",
741 applies_to = Unknown,
742 animation_type = ByComputedValue,
743 percentages = Scrollport,
744 shorthand_group = ScrollPadding,
745 property_group = ScrollSnap,
746 computed_value_type = Unknown,
747 canonical_order = "per grammar",
748 logical_property_group = ScrollPadding,
749 box_side = Top,
750)]
751#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
752#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-padding-top"))]
753#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
754#[derive(csskit_derives::NodeWithMetadata)]
755pub struct ScrollPaddingTopStyleValue;
756
757#[syntax(" [ none | start | end | center ]{1,2} ")]
769#[derive(
770 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
771)]
772#[declaration_metadata(
773 initial = "none",
774 applies_to = Elements,
775 animation_type = Discrete,
776 property_group = ScrollSnap,
777 computed_value_type = Unknown,
778 canonical_order = "per grammar",
779)]
780#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
781#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-snap-align"))]
782#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
783#[derive(csskit_derives::NodeWithMetadata)]
784pub struct ScrollSnapAlignStyleValue;
785
786#[syntax(" normal | always ")]
798#[derive(
799 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
800)]
801#[declaration_metadata(
802 initial = "normal",
803 applies_to = Elements,
804 animation_type = Discrete,
805 property_group = ScrollSnap,
806 computed_value_type = Unknown,
807 canonical_order = "per grammar",
808)]
809#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
810#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.scroll-snap-stop"))]
811#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
812#[derive(csskit_derives::NodeWithMetadata)]
813pub enum ScrollSnapStopStyleValue {}
814
815