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> {}