css_ast/values/animations/
mod.rs

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