@progress/kendo-react-animation
Version:
React Animation component assists with animating HTML elements. KendoReact Animation package
110 lines (109 loc) • 4.74 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { AnimationChildHandle } from './AnimationChild.js';
/**
* The arguments that are passed to the life-cycle hooks.
*/
export interface AnimationEventArguments {
/**
* The element that is currently being animated.
*/
animatedElement: HTMLElement;
/**
* The AnimationChild component which controls the animation.
*/
target: AnimationChildHandle;
}
/**
* Inherited by all animations. Represents the properties you can set to an Animation.
*/
export interface AnimationInterface {
/**
* @hidden
*/
children?: React.ReactNode;
/**
* Specifies the CSS class names that are set to each of the animated children elements.
*/
componentChildClassName?: string;
/**
* Specifies the styles that are set to each of the animated children elements.
*/
componentChildStyle?: any;
/**
* Called when you add a component to an existing Animation component and the Animation has not started yet ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-adding-child-elements)).
*/
onEnter?: (event: AnimationEventArguments) => void;
/**
* Called when you add a component to an existing Animation component and the Animation is now happening ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-adding-child-elements)).
*/
onEntering?: (event: AnimationEventArguments) => void;
/**
* Called when you add a component to an existing Animation component and the Animation is now finished ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-adding-child-elements)).
*/
onEntered?: (event: AnimationEventArguments) => void;
/**
* An event called after the Animation has reached its exit state ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-removing-child-elements)).
*/
onExit?: (event: AnimationEventArguments) => void;
/**
* An event called after the Animation has reached its exiting state ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-removing-child-elements)).
*/
onExiting?: (event: AnimationEventArguments) => void;
/**
* An event called after the Animation has reached its exited state ([more information and example](https://www.telerik.com/kendo-react-ui/components/animation/hooks#toc-removing-child-elements)).
*/
onExited?: (event: AnimationEventArguments) => void;
/**
* @hidden
* This event is always triggered in contrast to `onExited` which TransitionGroup prevents when target element is not removed from DOM.
*/
onAfterExited?: (event: AnimationEventArguments) => void;
/**
* Defines whether a transition should happen on the first mount.
*
* @default false
*/
appear?: boolean;
/**
* Specifies whether to animate the entering (showing) element ([see example](https://www.telerik.com/kendo-react-ui/components/animation/disabled-state)).
*
* @default true
*/
enter?: boolean;
/**
* Specifies whether to animate a leaving (disappearing) element ([see example](https://www.telerik.com/kendo-react-ui/components/animation/disabled-state)).
*
* @default true
*/
exit?: boolean;
/**
* Specifies the duration of the transition for the entering (`animation in`) Animation ([see example](https://www.telerik.com/kendo-react-ui/components/animation/duration)). After the time runs out, the Animation is terminated.
*
* @default 300
*/
transitionEnterDuration?: number;
/**
* Specifies the duration of the transition for the exiting (`animation out`) Animation ([see example](https://www.telerik.com/kendo-react-ui/components/animation/duration)). After the time runs out, the Animation is terminated.
*
* @default 300
*/
transitionExitDuration?: number;
/**
* Specifies if the Animation uses lazy-mounting on the first `in={true}`.
*
* @default false
*/
mountOnEnter?: boolean;
/**
* Specifies if the Animation unmounts after it reaches its exited state.
*
* @default false
*/
unmountOnExit?: boolean;
}