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) 1.71 kB
import*as t from"react";import r from"react-dom";import n from"primereact/api";import{useMountEffect as e,useUpdateEffect as o,useUnmountEffect as a}from"primereact/hooks";import{DomHandler as l}from"primereact/utils";function u(t){if(Array.isArray(t))return t}function i(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,o,a=[],l=!0,u=!1;try{for(n=n.call(t);!(l=(e=n.next()).done)&&(a.push(e.value),!r||a.length!==r);l=!0);}catch(t){u=!0,o=t}finally{try{l||null==n.return||n.return()}finally{if(u)throw o}}return a}}function m(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=new Array(r);n<r;n++)e[n]=t[n];return e}function c(t,r){if(t){if("string"==typeof t)return m(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(t,r):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var p=t.memo((function(m){var p,d,s=t.useState(m.visible&&l.hasDOM()),y=(d=2,u(p=s)||i(p,d)||c(p,d)||f()),v=y[0],h=y[1];e((function(){l.hasDOM()&&!v&&(h(!0),m.onMounted&&m.onMounted())})),o((function(){m.onMounted&&m.onMounted()}),[v]),a((function(){m.onUnmounted&&m.onUnmounted()}));var b=m.element||m.children;if(b&&v){var M=m.appendTo||n.appendTo||document.body;return"self"===M?b:r.createPortal(b,M)}return null}));p.displayName="Portal",p.defaultProps={__TYPE:"Portal",element:null,appendTo:null,visible:!1,onMounted:null,onUnmounted:null};export{p as Portal};