UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 90+ 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.88 kB
import*as n from"react";import{CSSTransition as t}from"react-transition-group";import{useUpdateEffect as o}from"primereact/hooks";import{ObjectUtils as e}from"primereact/utils";import r,{PrimeReactContext as i}from"primereact/api";function s(n){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},s(n)}function p(n,t){if("object"!=s(n)||!n)return n;var o=n[Symbol.toPrimitive];if(void 0!==o){var e=o.call(n,t||"default");if("object"!=s(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}function u(n){var t=p(n,"string");return"symbol"==s(t)?t:t+""}function c(n,t,o){return(t=u(t))in n?Object.defineProperty(n,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[t]=o,n}var f={defaultProps:{__TYPE:"CSSTransition",children:void 0},getProps:function(n){return e.getMergedProps(n,f.defaultProps)},getOtherProps:function(n){return e.getDiffProps(n,f.defaultProps)}};function a(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 l(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){c(n,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))}))}return n}var m=n.forwardRef((function(s,p){var u=f.getProps(s),c=n.useContext(i),a=u.disabled||u.options&&u.options.disabled||c&&!c.cssTransition||!r.cssTransition,m=function(n,t){u.onEnter&&u.onEnter(n,t),u.options&&u.options.onEnter&&u.options.onEnter(n,t)},E=function(n,t){u.onEntering&&u.onEntering(n,t),u.options&&u.options.onEntering&&u.options.onEntering(n,t)},b=function(n,t){u.onEntered&&u.onEntered(n,t),u.options&&u.options.onEntered&&u.options.onEntered(n,t)},d=function(n){u.onExit&&u.onExit(n),u.options&&u.options.onExit&&u.options.onExit(n)},g=function(n){u.onExiting&&u.onExiting(n),u.options&&u.options.onExiting&&u.options.onExiting(n)},y=function(n){u.onExited&&u.onExited(n),u.options&&u.options.onExited&&u.options.onExited(n)};if(o((function(){if(a){var n=e.getRefElement(u.nodeRef);u.in?(m(n,!0),E(n,!0),b(n,!0)):(d(n),g(n),y(n))}}),[u.in]),a)return u.in?u.children:null;var O={nodeRef:u.nodeRef,in:u.in,appear:u.appear,onEnter:m,onEntering:E,onEntered:b,onExit:d,onExiting:g,onExited:y},P=l(l(l({},{classNames:u.classNames,timeout:u.timeout,unmountOnExit:u.unmountOnExit}),u.options||{}),O);return n.createElement(t,P,u.children)}));m.displayName="CSSTransition";export{m as CSSTransition};