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.81 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 r}from"primereact/utils";function i(n){return i="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},i(n)}function s(n,t){if("object"!==i(n)||null===n)return n;var o=n[Symbol.toPrimitive];if(void 0!==o){var e=o.call(n,t||"default");if("object"!==i(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}function p(n){var t=s(n,"string");return"symbol"===i(t)?t:String(t)}function u(n,t,o){return(t=p(t))in n?Object.defineProperty(n,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[t]=o,n}var c={defaultProps:{__TYPE:"CSSTransition",children:void 0},getProps:function(n){return r.getMergedProps(n,c.defaultProps)},getOtherProps:function(n){return r.getDiffProps(n,c.defaultProps)}};function f(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 a(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?f(Object(o),!0).forEach((function(t){u(n,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):f(Object(o)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))}))}return n}var l=n.forwardRef((function(i,s){var p=c.getProps(i),u=p.disabled||p.options&&p.options.disabled||!o.cssTransition,f=function(n,t){p.onEnter&&p.onEnter(n,t),p.options&&p.options.onEnter&&p.options.onEnter(n,t)},l=function(n,t){p.onEntering&&p.onEntering(n,t),p.options&&p.options.onEntering&&p.options.onEntering(n,t)},m=function(n,t){p.onEntered&&p.onEntered(n,t),p.options&&p.options.onEntered&&p.options.onEntered(n,t)},E=function(n){p.onExit&&p.onExit(n),p.options&&p.options.onExit&&p.options.onExit(n)},b=function(n){p.onExiting&&p.onExiting(n),p.options&&p.options.onExiting&&p.options.onExiting(n)},d=function(n){p.onExited&&p.onExited(n),p.options&&p.options.onExited&&p.options.onExited(n)};if(e((function(){if(u){var n=r.getRefElement(p.nodeRef);p.in?(f(n,!0),l(n,!0),m(n,!0)):(E(n),b(n),d(n))}}),[p.in]),u)return p.in?p.children:null;var g={nodeRef:p.nodeRef,in:p.in,onEnter:f,onEntering:l,onEntered:m,onExit:E,onExiting:b,onExited:d},y=a(a(a({},{classNames:p.classNames,timeout:p.timeout,unmountOnExit:p.unmountOnExit}),p.options||{}),g);return n.createElement(t,y,p.children)}));l.displayName="CSSTransition";export{l as CSSTransition};