css_ast/values/animations/
mod.rs

1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/7e27ad7484307dfdbe9d0e18ad19d02859389688
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-animations-2/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10// /// Represents the style value for `animation` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation).
11// ///
12// /// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
13// ///
14// /// The grammar is defined as:
15// ///
16// /// ```text,ignore
17// /// <single-animation>#
18// /// ```
19// ///
20// /// https://drafts.csswg.org/css-animations-2/#animation
21// #[syntax(" <single-animation># ")]
22// #[derive(
23//     Parse,
24//     Peek,
25//     ToSpan,
26//     ToCursors,
27//     DeclarationMetadata,
28//     SemanticEq,
29//     Debug,
30//     Clone,
31//     PartialEq,
32//     Eq,
33//     PartialOrd,
34//     Ord,
35//     Hash,
36// )]
37// #[declaration_metadata(
38//     initial = "see individual properties",
39//     applies_to = Elements,
40//     longhands = AnimationDelay|AnimationDirection|AnimationDuration|AnimationFillMode|AnimationIterationCount|AnimationName|AnimationPlayState|AnimationTimeline|AnimationTimingFunction,
41//     property_group = Animations,
42//     computed_value_type = Unknown,
43//     canonical_order = "per grammar",
44// )]
45// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
46// #[cfg_attr(
47//     feature = "css_feature_data",
48//     derive(ToCSSFeature),
49//     css_feature("css.properties.animation")
50// )]
51// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
52// #[derive(csskit_derives::NodeWithMetadata)]
53// pub struct AnimationStyleValue<'a>;
54
55/// Represents the style value for `animation-composition` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-composition).
56///
57/// The animation-composition CSS property chooses how to combine animations that affect the same property.
58///
59/// The grammar is defined as:
60///
61/// ```text,ignore
62/// <single-animation-composition>#
63/// ```
64///
65/// https://drafts.csswg.org/css-animations-2/#animation-composition
66#[syntax(" <single-animation-composition># ")]
67#[derive(
68	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
69)]
70#[declaration_metadata(
71    initial = "replace",
72    applies_to = Elements,
73    property_group = Animations,
74    computed_value_type = Unknown,
75    canonical_order = "per grammar",
76)]
77#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
78#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-composition"))]
79#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
80#[derive(csskit_derives::NodeWithMetadata)]
81pub struct AnimationCompositionStyleValue<'a>;
82
83/// Represents the style value for `animation-delay` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-delay).
84///
85/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
86///
87/// The grammar is defined as:
88///
89/// ```text,ignore
90/// <time>#
91/// ```
92///
93/// https://drafts.csswg.org/css-animations-2/#animation-delay
94#[syntax(" <time># ")]
95#[derive(
96	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
97)]
98#[declaration_metadata(
99    initial = "0s",
100    applies_to = Elements,
101    shorthand_group = Animation,
102    property_group = Animations,
103    computed_value_type = Unknown,
104    canonical_order = "per grammar",
105)]
106#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
107#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-delay"))]
108#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
109#[derive(csskit_derives::NodeWithMetadata)]
110pub struct AnimationDelayStyleValue<'a>;
111
112/// Represents the style value for `animation-direction` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-direction).
113///
114/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
115///
116/// The grammar is defined as:
117///
118/// ```text,ignore
119/// <single-animation-direction>#
120/// ```
121///
122/// https://drafts.csswg.org/css-animations-2/#animation-direction
123#[syntax(" <single-animation-direction># ")]
124#[derive(
125	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
126)]
127#[declaration_metadata(
128    initial = "normal",
129    applies_to = Elements,
130    shorthand_group = Animation,
131    property_group = Animations,
132    computed_value_type = Unknown,
133    canonical_order = "per grammar",
134)]
135#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
136#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-direction"))]
137#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
138#[derive(csskit_derives::NodeWithMetadata)]
139pub struct AnimationDirectionStyleValue<'a>;
140
141/// Represents the style value for `animation-duration` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-duration).
142///
143/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
144///
145/// The grammar is defined as:
146///
147/// ```text,ignore
148/// [ auto | <time [0s,∞]> ]#
149/// ```
150///
151/// https://drafts.csswg.org/css-animations-2/#animation-duration
152#[syntax(" [ auto | <time [0s,∞]> ]# ")]
153#[derive(
154	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
155)]
156#[declaration_metadata(
157    initial = "auto",
158    applies_to = Elements,
159    shorthand_group = Animation,
160    property_group = Animations,
161    computed_value_type = Unknown,
162    canonical_order = "per grammar",
163)]
164#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
165#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-duration"))]
166#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
167#[derive(csskit_derives::NodeWithMetadata)]
168pub struct AnimationDurationStyleValue<'a>;
169
170/// Represents the style value for `animation-fill-mode` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-fill-mode).
171///
172/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
173///
174/// The grammar is defined as:
175///
176/// ```text,ignore
177/// <single-animation-fill-mode>#
178/// ```
179///
180/// https://drafts.csswg.org/css-animations-2/#animation-fill-mode
181#[syntax(" <single-animation-fill-mode># ")]
182#[derive(
183	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
184)]
185#[declaration_metadata(
186    initial = "none",
187    applies_to = Elements,
188    shorthand_group = Animation,
189    property_group = Animations,
190    computed_value_type = Unknown,
191    canonical_order = "per grammar",
192)]
193#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
194#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-fill-mode"))]
195#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
196#[derive(csskit_derives::NodeWithMetadata)]
197pub struct AnimationFillModeStyleValue<'a>;
198
199/// Represents the style value for `animation-iteration-count` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-iteration-count).
200///
201/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
202///
203/// The grammar is defined as:
204///
205/// ```text,ignore
206/// <single-animation-iteration-count>#
207/// ```
208///
209/// https://drafts.csswg.org/css-animations-2/#animation-iteration-count
210#[syntax(" <single-animation-iteration-count># ")]
211#[derive(
212	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
213)]
214#[declaration_metadata(
215    initial = "1",
216    applies_to = Elements,
217    shorthand_group = Animation,
218    property_group = Animations,
219    computed_value_type = Unknown,
220    canonical_order = "per grammar",
221)]
222#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
223#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-iteration-count"))]
224#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
225#[derive(csskit_derives::NodeWithMetadata)]
226pub struct AnimationIterationCountStyleValue<'a>;
227
228/// Represents the style value for `animation-name` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-name).
229///
230/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
231///
232/// The grammar is defined as:
233///
234/// ```text,ignore
235/// [ none | <keyframes-name> ]#
236/// ```
237///
238/// https://drafts.csswg.org/css-animations-2/#animation-name
239#[syntax(" [ none | <keyframes-name> ]# ")]
240#[derive(
241	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
242)]
243#[declaration_metadata(
244    initial = "none",
245    applies_to = Elements,
246    shorthand_group = Animation,
247    property_group = Animations,
248    computed_value_type = Unknown,
249    canonical_order = "per grammar",
250)]
251#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
252#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-name"))]
253#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
254#[derive(csskit_derives::NodeWithMetadata)]
255pub struct AnimationNameStyleValue<'a>;
256
257/// Represents the style value for `animation-play-state` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-play-state).
258///
259/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
260///
261/// The grammar is defined as:
262///
263/// ```text,ignore
264/// <single-animation-play-state>#
265/// ```
266///
267/// https://drafts.csswg.org/css-animations-2/#animation-play-state
268#[syntax(" <single-animation-play-state># ")]
269#[derive(
270	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
271)]
272#[declaration_metadata(
273    initial = "running",
274    applies_to = Elements,
275    shorthand_group = Animation,
276    property_group = Animations,
277    computed_value_type = Unknown,
278    canonical_order = "per grammar",
279)]
280#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
281#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-play-state"))]
282#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
283#[derive(csskit_derives::NodeWithMetadata)]
284pub struct AnimationPlayStateStyleValue<'a>;
285
286/// Represents the style value for `animation-timeline` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-timeline).
287///
288/// The animation-timeline, scroll-timeline, and view-timeline CSS properties advance animations based on the user's scroll position.
289///
290/// The grammar is defined as:
291///
292/// ```text,ignore
293/// <single-animation-timeline>#
294/// ```
295///
296/// https://drafts.csswg.org/css-animations-2/#animation-timeline
297#[syntax(" <single-animation-timeline># ")]
298#[derive(
299	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
300)]
301#[declaration_metadata(
302    initial = "auto",
303    applies_to = Elements,
304    shorthand_group = Animation,
305    property_group = Animations,
306    computed_value_type = Unknown,
307    canonical_order = "per grammar",
308)]
309#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
310#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-timeline"))]
311#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
312#[derive(csskit_derives::NodeWithMetadata)]
313pub struct AnimationTimelineStyleValue<'a>;
314
315/// Represents the style value for `animation-timing-function` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-timing-function).
316///
317/// The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
318///
319/// The grammar is defined as:
320///
321/// ```text,ignore
322/// <easing-function>#
323/// ```
324///
325/// https://drafts.csswg.org/css-animations-2/#animation-timing-function
326#[syntax(" <easing-function># ")]
327#[derive(
328	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
329)]
330#[declaration_metadata(
331    initial = "ease",
332    applies_to = Elements,
333    shorthand_group = Animation,
334    property_group = Animations,
335    computed_value_type = Unknown,
336    canonical_order = "per grammar",
337)]
338#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
339#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-timing-function"))]
340#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
341#[derive(csskit_derives::NodeWithMetadata)]
342pub struct AnimationTimingFunctionStyleValue<'a>;
343
344/// Represents the style value for `animation-trigger` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#animation-trigger).
345///
346/// The grammar is defined as:
347///
348/// ```text,ignore
349/// [ none | [ <dashed-ident> <animation-action>+ ]+ ]#
350/// ```
351///
352/// https://drafts.csswg.org/css-animations-2/#animation-trigger
353#[syntax(" [ none | [ <dashed-ident> <animation-action>+ ]+ ]# ")]
354#[derive(
355	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
356)]
357#[declaration_metadata(
358    initial = "none",
359    applies_to = Elements,
360    property_group = Animations,
361    computed_value_type = AsSpecified,
362    canonical_order = "per grammar",
363)]
364#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
365#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.animation-trigger"))]
366#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
367#[derive(csskit_derives::NodeWithMetadata)]
368pub struct AnimationTriggerStyleValue<'a>;
369
370/// Represents the style value for `event-trigger` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#event-trigger).
371///
372/// The grammar is defined as:
373///
374/// ```text,ignore
375/// none | [ <'event-trigger-name'> <'event-trigger-source'> ]#
376/// ```
377///
378/// https://drafts.csswg.org/css-animations-2/#event-trigger
379#[syntax(" none | [ <'event-trigger-name'> <'event-trigger-source'> ]# ")]
380#[derive(
381	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
382)]
383#[declaration_metadata(
384    initial = "none",
385    applies_to = Elements,
386    property_group = Animations,
387    computed_value_type = AsSpecified,
388    canonical_order = "per grammar",
389)]
390#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
391#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.event-trigger"))]
392#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
393#[derive(csskit_derives::NodeWithMetadata)]
394pub struct EventTriggerStyleValue<'a>;
395
396/// Represents the style value for `event-trigger-name` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#event-trigger-name).
397///
398/// The grammar is defined as:
399///
400/// ```text,ignore
401/// none | <dashed-ident>#
402/// ```
403///
404/// https://drafts.csswg.org/css-animations-2/#event-trigger-name
405#[syntax(" none | <dashed-ident># ")]
406#[derive(
407	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
408)]
409#[declaration_metadata(
410    initial = "none",
411    applies_to = Elements,
412    property_group = Animations,
413    computed_value_type = AsSpecified,
414    canonical_order = "per grammar",
415)]
416#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
417#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.event-trigger-name"))]
418#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
419#[derive(csskit_derives::NodeWithMetadata)]
420pub struct EventTriggerNameStyleValue<'a>;
421
422/// Represents the style value for `event-trigger-source` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#event-trigger-source).
423///
424/// The grammar is defined as:
425///
426/// ```text,ignore
427/// [ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]#
428/// ```
429///
430/// https://drafts.csswg.org/css-animations-2/#event-trigger-source
431#[syntax(" [ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]# ")]
432#[derive(
433	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
434)]
435#[declaration_metadata(
436    initial = "none",
437    applies_to = Elements,
438    property_group = Animations,
439    computed_value_type = AsSpecified,
440    canonical_order = "per grammar",
441)]
442#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
443#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.event-trigger-source"))]
444#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
445#[derive(csskit_derives::NodeWithMetadata)]
446pub struct EventTriggerSourceStyleValue<'a>;
447
448// /// Represents the style value for `timeline-trigger` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger).
449// ///
450// /// The grammar is defined as:
451// ///
452// /// ```text,ignore
453// /// none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-range'> [ '/' <'timeline-trigger-exit-range'> ]? ]#
454// /// ```
455// ///
456// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger
457// #[syntax(
458//     " none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-range'> [ '/' <'timeline-trigger-exit-range'> ]? ]# "
459// )]
460// #[derive(
461//     Parse,
462//     Peek,
463//     ToSpan,
464//     ToCursors,
465//     DeclarationMetadata,
466//     SemanticEq,
467//     Debug,
468//     Clone,
469//     PartialEq,
470//     Eq,
471//     PartialOrd,
472//     Ord,
473//     Hash,
474// )]
475// #[declaration_metadata(
476//     initial = "see individual properties",
477//     inherits = Unknown,
478//     applies_to = Unknown,
479//     animation_type = Unknown,
480//     percentages = Unknown,
481//     property_group = Animations,
482//     computed_value_type = Unknown,
483//     canonical_order = "per grammar",
484// )]
485// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
486// #[cfg_attr(
487//     feature = "css_feature_data",
488//     derive(ToCSSFeature),
489//     css_feature("css.properties.timeline-trigger")
490// )]
491// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
492// #[derive(csskit_derives::NodeWithMetadata)]
493// pub struct TimelineTriggerStyleValue<'a>;
494
495// /// Represents the style value for `timeline-trigger-exit-range` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range).
496// ///
497// /// The grammar is defined as:
498// ///
499// /// ```text,ignore
500// /// [ <'timeline-trigger-exit-range-start'> <'timeline-trigger-exit-range-end'>? ]#
501// /// ```
502// ///
503// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range
504// #[syntax(
505//     " [ <'timeline-trigger-exit-range-start'> <'timeline-trigger-exit-range-end'>? ]# "
506// )]
507// #[derive(
508//     Parse,
509//     Peek,
510//     ToSpan,
511//     ToCursors,
512//     DeclarationMetadata,
513//     SemanticEq,
514//     Debug,
515//     Clone,
516//     PartialEq,
517//     Eq,
518//     PartialOrd,
519//     Ord,
520//     Hash,
521// )]
522// #[declaration_metadata(
523//     initial = "see individual properties",
524//     inherits = Unknown,
525//     applies_to = Unknown,
526//     animation_type = Unknown,
527//     percentages = Unknown,
528//     property_group = Animations,
529//     computed_value_type = Unknown,
530//     canonical_order = "per grammar",
531// )]
532// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
533// #[cfg_attr(
534//     feature = "css_feature_data",
535//     derive(ToCSSFeature),
536//     css_feature("css.properties.timeline-trigger-exit-range")
537// )]
538// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
539// #[derive(csskit_derives::NodeWithMetadata)]
540// pub struct TimelineTriggerExitRangeStyleValue<'a>;
541
542// /// Represents the style value for `timeline-trigger-exit-range-end` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range-end).
543// ///
544// /// The grammar is defined as:
545// ///
546// /// ```text,ignore
547// /// [ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
548// /// ```
549// ///
550// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range-end
551// #[syntax(
552//     " [ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]# "
553// )]
554// #[derive(
555//     Parse,
556//     Peek,
557//     ToSpan,
558//     ToCursors,
559//     DeclarationMetadata,
560//     SemanticEq,
561//     Debug,
562//     Clone,
563//     PartialEq,
564//     Eq,
565//     PartialOrd,
566//     Ord,
567//     Hash,
568// )]
569// #[declaration_metadata(
570//     initial = "auto",
571//     applies_to = Elements,
572//     percentages = Unknown,
573//     property_group = Animations,
574//     computed_value_type = Unknown,
575//     canonical_order = "per grammar",
576// )]
577// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
578// #[cfg_attr(
579//     feature = "css_feature_data",
580//     derive(ToCSSFeature),
581//     css_feature("css.properties.timeline-trigger-exit-range-end")
582// )]
583// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
584// #[derive(csskit_derives::NodeWithMetadata)]
585// pub struct TimelineTriggerExitRangeEndStyleValue<'a>;
586
587// /// Represents the style value for `timeline-trigger-exit-range-start` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range-start).
588// ///
589// /// The grammar is defined as:
590// ///
591// /// ```text,ignore
592// /// [ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
593// /// ```
594// ///
595// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-exit-range-start
596// #[syntax(
597//     " [ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]# "
598// )]
599// #[derive(
600//     Parse,
601//     Peek,
602//     ToSpan,
603//     ToCursors,
604//     DeclarationMetadata,
605//     SemanticEq,
606//     Debug,
607//     Clone,
608//     PartialEq,
609//     Eq,
610//     PartialOrd,
611//     Ord,
612//     Hash,
613// )]
614// #[declaration_metadata(
615//     initial = "auto",
616//     applies_to = Elements,
617//     percentages = Unknown,
618//     property_group = Animations,
619//     computed_value_type = Unknown,
620//     canonical_order = "per grammar",
621// )]
622// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
623// #[cfg_attr(
624//     feature = "css_feature_data",
625//     derive(ToCSSFeature),
626//     css_feature("css.properties.timeline-trigger-exit-range-start")
627// )]
628// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
629// #[derive(csskit_derives::NodeWithMetadata)]
630// pub struct TimelineTriggerExitRangeStartStyleValue<'a>;
631
632/// Represents the style value for `timeline-trigger-name` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-name).
633///
634/// The grammar is defined as:
635///
636/// ```text,ignore
637/// none | <dashed-ident>#
638/// ```
639///
640/// https://drafts.csswg.org/css-animations-2/#timeline-trigger-name
641#[syntax(" none | <dashed-ident># ")]
642#[derive(
643	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
644)]
645#[declaration_metadata(
646    initial = "none",
647    applies_to = Elements,
648    property_group = Animations,
649    computed_value_type = AsSpecified,
650    canonical_order = "per grammar",
651)]
652#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
653#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.timeline-trigger-name"))]
654#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
655#[derive(csskit_derives::NodeWithMetadata)]
656pub struct TimelineTriggerNameStyleValue<'a>;
657
658// /// Represents the style value for `timeline-trigger-range` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-range).
659// ///
660// /// The grammar is defined as:
661// ///
662// /// ```text,ignore
663// /// [ <'timeline-trigger-range-start'> <'timeline-trigger-range-end'>? ]#
664// /// ```
665// ///
666// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-range
667// #[syntax(" [ <'timeline-trigger-range-start'> <'timeline-trigger-range-end'>? ]# ")]
668// #[derive(
669//     Parse,
670//     Peek,
671//     ToSpan,
672//     ToCursors,
673//     DeclarationMetadata,
674//     SemanticEq,
675//     Debug,
676//     Clone,
677//     PartialEq,
678//     Eq,
679//     PartialOrd,
680//     Ord,
681//     Hash,
682// )]
683// #[declaration_metadata(
684//     initial = "see individual properties",
685//     inherits = Unknown,
686//     applies_to = Unknown,
687//     animation_type = Unknown,
688//     percentages = Unknown,
689//     property_group = Animations,
690//     computed_value_type = Unknown,
691//     canonical_order = "per grammar",
692// )]
693// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
694// #[cfg_attr(
695//     feature = "css_feature_data",
696//     derive(ToCSSFeature),
697//     css_feature("css.properties.timeline-trigger-range")
698// )]
699// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
700// #[derive(csskit_derives::NodeWithMetadata)]
701// pub struct TimelineTriggerRangeStyleValue<'a>;
702
703// /// Represents the style value for `timeline-trigger-range-end` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-range-end).
704// ///
705// /// The grammar is defined as:
706// ///
707// /// ```text,ignore
708// /// [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
709// /// ```
710// ///
711// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-range-end
712// #[syntax(
713//     " [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]# "
714// )]
715// #[derive(
716//     Parse,
717//     Peek,
718//     ToSpan,
719//     ToCursors,
720//     DeclarationMetadata,
721//     SemanticEq,
722//     Debug,
723//     Clone,
724//     PartialEq,
725//     Eq,
726//     PartialOrd,
727//     Ord,
728//     Hash,
729// )]
730// #[declaration_metadata(
731//     initial = "normal",
732//     applies_to = Elements,
733//     percentages = Unknown,
734//     property_group = Animations,
735//     computed_value_type = Unknown,
736//     canonical_order = "per grammar",
737// )]
738// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
739// #[cfg_attr(
740//     feature = "css_feature_data",
741//     derive(ToCSSFeature),
742//     css_feature("css.properties.timeline-trigger-range-end")
743// )]
744// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
745// #[derive(csskit_derives::NodeWithMetadata)]
746// pub struct TimelineTriggerRangeEndStyleValue<'a>;
747
748// /// Represents the style value for `timeline-trigger-range-start` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-range-start).
749// ///
750// /// The grammar is defined as:
751// ///
752// /// ```text,ignore
753// /// [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
754// /// ```
755// ///
756// /// https://drafts.csswg.org/css-animations-2/#timeline-trigger-range-start
757// #[syntax(
758//     " [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]# "
759// )]
760// #[derive(
761//     Parse,
762//     Peek,
763//     ToSpan,
764//     ToCursors,
765//     DeclarationMetadata,
766//     SemanticEq,
767//     Debug,
768//     Clone,
769//     PartialEq,
770//     Eq,
771//     PartialOrd,
772//     Ord,
773//     Hash,
774// )]
775// #[declaration_metadata(
776//     initial = "normal",
777//     applies_to = Elements,
778//     percentages = Unknown,
779//     property_group = Animations,
780//     computed_value_type = Unknown,
781//     canonical_order = "per grammar",
782// )]
783// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
784// #[cfg_attr(
785//     feature = "css_feature_data",
786//     derive(ToCSSFeature),
787//     css_feature("css.properties.timeline-trigger-range-start")
788// )]
789// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
790// #[derive(csskit_derives::NodeWithMetadata)]
791// pub struct TimelineTriggerRangeStartStyleValue<'a>;
792
793/// Represents the style value for `timeline-trigger-source` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#timeline-trigger-source).
794///
795/// The grammar is defined as:
796///
797/// ```text,ignore
798/// <single-animation-timeline>#
799/// ```
800///
801/// https://drafts.csswg.org/css-animations-2/#timeline-trigger-source
802#[syntax(" <single-animation-timeline># ")]
803#[derive(
804	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
805)]
806#[declaration_metadata(
807    initial = "auto",
808    applies_to = Elements,
809    property_group = Animations,
810    computed_value_type = Unknown,
811    canonical_order = "per grammar",
812)]
813#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
814#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.timeline-trigger-source"))]
815#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
816#[derive(csskit_derives::NodeWithMetadata)]
817pub struct TimelineTriggerSourceStyleValue<'a>;
818
819/// Represents the style value for `trigger-scope` as defined in [css-animations-2](https://drafts.csswg.org/css-animations-2/#trigger-scope).
820///
821/// The grammar is defined as:
822///
823/// ```text,ignore
824/// none | all | <dashed-ident>#
825/// ```
826///
827/// https://drafts.csswg.org/css-animations-2/#trigger-scope
828#[syntax(" none | all | <dashed-ident># ")]
829#[derive(
830	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
831)]
832#[declaration_metadata(
833    initial = "none",
834    applies_to = Elements,
835    property_group = Animations,
836    computed_value_type = AsSpecified,
837    canonical_order = "per grammar",
838)]
839#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
840#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.trigger-scope"))]
841#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
842#[derive(csskit_derives::NodeWithMetadata)]
843pub enum TriggerScopeStyleValue<'a> {}