anchor.diff:    img(src="/resources/images/devguide/animations/ng_animate_transitions_inactive_active_void.png" alt="This example transitions between active, inactive, and void states" width="400")
   
   
  -+makeExample('animations/ts/src/app/hero-list-enter-leave-states.component.ts', 'animationdef')(format=".")
  ++makeExample('animations/ts/src/app/hero-list-enter-leave-states.component.ts', 'animationdef', 'hero-list-enter-leave.component.ts (excerpt)')(format=".")
   
   :marked
     ## Animatable properties and units
  
positive.code:   ### Example
  
    Here are a couple of custom timings in action. Both enter and leave last for
    200 milliseconds but they have different easings. The leave begins after a
    slight delay:
  
  +makeExample('animations/ts/src/app/hero-list-timings.component.ts', 'animationdef')(format=".")
  
  :marked
    ## Multi-step animations with keyframes
  
negative.code:   enter and leave allows for two different timing configurations. Both
    are applied to the same element in parallel, but run independently of each other:
  
  +makeExample('animations/ts/src/app/hero-list-groups.component.ts', 'animationdef', 'hero-list-groups.component.ts (excerpt)')(format=".")
  
  :marked
    One group animates the element transform and width; the other group animates the opacity.
  