UNPKG

@progress/kendo-react-animation

Version:

React Animation component assists with animating HTML elements. KendoReact Animation package

9 lines (8 loc) 3.9 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),t=require("prop-types"),n=require("@progress/kendo-react-common"),K=require("react-transition-group");function B(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const m=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(s,e,m.get?m:{enumerable:!0,get:()=>r[e]})}}return s.default=r,Object.freeze(s)}const c=B(G),d=c.forwardRef((r,s)=>{const e=c.useRef(null),{mountOnEnter:m=i.mountOnEnter,unmountOnExit:O=i.unmountOnExit,onEnter:E=i.onEnter,onEntering:x=i.onEntering,onEntered:g=i.onEntered,onExit:f=i.onExit,onExiting:p=i.onExiting,onExited:y=i.onExited,onAfterExited:S=i.onAfterExited,animationEnteringStyle:R=i.animationEnteringStyle,animationEnteredStyle:j=i.animationEnteredStyle,animationExitingStyle:D=i.animationExitingStyle,animationExitedStyle:h=i.animationExitedStyle,children:C,style:T,appear:q,enter:P,exit:_,transitionName:u,transitionEnterDuration:A,transitionExitDuration:b,className:k,unstyled:v,...w}=r,H={transitionDelay:"0ms",...T},l=v&&v.uAnimation,I=n.classNames(k,n.uAnimation.childContainer({c:l})),o=c.useRef({element:e.current,props:r}),a=c.useRef(null);c.useImperativeHandle(a,()=>({element:e.current,props:r})),c.useImperativeHandle(s,()=>a.current,[]);const M={entering:{transitionDuration:`${A}ms`,...R},entered:{...j},exiting:{transitionDuration:`${b}ms`,...D},exited:{...h}},$={in:r.in,appear:q,enter:P,exit:_,mountOnEnter:m,unmountOnExit:O,timeout:{enter:A,exit:b},onEnter:()=>{E&&E.call(void 0,{animatedElement:e.current,target:a.current||o.current})},onEntering:()=>{x&&x.call(void 0,{animatedElement:e.current,target:a.current||o.current})},onEntered:()=>{g&&g.call(void 0,{animatedElement:e.current,target:a.current||o.current})},onExit:()=>{f&&f.call(void 0,{animatedElement:e.current,target:a.current||o.current})},onExiting:()=>{p&&p.call(void 0,{animatedElement:e.current,target:a.current||o.current})},onExited:()=>{S&&S.call(void 0,{animatedElement:e.current,target:a.current||o.current}),y&&y.call(void 0,{animatedElement:e.current,target:a.current||o.current})},classNames:{appear:n.classNames(n.uAnimation.appear({c:l,transitionName:u})),appearActive:n.classNames(n.uAnimation.appearActive({c:l,transitionName:u})),enter:n.classNames(n.uAnimation.enter({c:l,transitionName:u})),enterActive:n.classNames(n.uAnimation.enterActive({c:l,transitionName:u})),exit:n.classNames(n.uAnimation.exit({c:l,transitionName:u})),exitActive:n.classNames(n.uAnimation.exitActive({c:l,transitionName:u}))}};return c.createElement(K.CSSTransition,{...$,...w,nodeRef:e},z=>c.createElement("div",{style:{...H,...M[z]},className:I,ref:N=>{e.current=N,o.current.element=N}},C))}),i={mountOnEnter:!0,unmountOnExit:!1,onEnter:n.noop,onEntering:n.noop,onEntered:n.noop,onExit:n.noop,onExiting:n.noop,onExited:n.noop,onAfterExited:n.noop,animationEnteringStyle:{},animationEnteredStyle:{},animationExitingStyle:{},animationExitedStyle:{}};d.displayName="KendoReactAnimationChild";d.propTypes={in:t.bool,children:t.oneOfType([t.arrayOf(t.node),t.node]),transitionName:t.string.isRequired,className:t.string,appear:t.bool,enter:t.bool,exit:t.bool,transitionEnterDuration:t.number.isRequired,transitionExitDuration:t.number.isRequired,mountOnEnter:t.bool,unmountOnExit:t.bool,animationEnteringStyle:t.object,animationEnteredStyle:t.object,animationExitingStyle:t.object,animationExitedStyle:t.object};exports.AnimationChild=d;