UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 2.08 kB
import*as n from"react";import{CSSTransition as t}from"react-transition-group";import o from"primereact/api";import{useUpdateEffect as e}from"primereact/hooks";import{ObjectUtils as i}from"primereact/utils";function r(n,t,o){return t in n?Object.defineProperty(n,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[t]=o,n}function s(n,t){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);t&&(e=e.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.push.apply(o,e)}return o}function p(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?s(Object(o),!0).forEach((function(t){r(n,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):s(Object(o)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))}))}return n}var c=n.forwardRef((function(r,s){var c=r.disabled||r.options&&r.options.disabled||!o.cssTransition,a=function(n,t){r.onEnter&&r.onEnter(n,t),r.options&&r.options.onEnter&&r.options.onEnter(n,t)},f=function(n,t){r.onEntering&&r.onEntering(n,t),r.options&&r.options.onEntering&&r.options.onEntering(n,t)},E=function(n,t){r.onEntered&&r.onEntered(n,t),r.options&&r.options.onEntered&&r.options.onEntered(n,t)},u=function(n){r.onExit&&r.onExit(n),r.options&&r.options.onExit&&r.options.onExit(n)},m=function(n){r.onExiting&&r.onExiting(n),r.options&&r.options.onExiting&&r.options.onExiting(n)},d=function(n){r.onExited&&r.onExited(n),r.options&&r.options.onExited&&r.options.onExited(n)};if(e((function(){if(c){var n=i.getRefElement(r.nodeRef);r.in?(a(n,!0),f(n,!0),E(n,!0)):(u(n),m(n),d(n))}}),[r.in]),c)return r.in?r.children:null;var l={nodeRef:r.nodeRef,in:r.in,onEnter:a,onEntering:f,onEntered:E,onExit:u,onExiting:m,onExited:d},b=p(p(p({},{classNames:r.classNames,timeout:r.timeout,unmountOnExit:r.unmountOnExit}),r.options||{}),l);return n.createElement(t,b,r.children)}));c.displayName="CSSTransition",c.defaultProps={__TYPE:"CSSTransition"};export{c as CSSTransition};