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) 3.95 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/hooks"),r=require("primereact/portal"),l=require("primereact/utils");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var u=a(e),c=o(t);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function s(e){if(Array.isArray(e))return e}function f(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,a,u=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(u.push(r.value),u.length!==t);c=!0);}catch(e){i=!0,l=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(i)throw l}}return u}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function m(){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 b={defaultProps:{__TYPE:"BlockUI",autoZIndex:!0,baseZIndex:0,blocked:!1,className:null,containerClassName:null,containerStyle:null,fullScreen:!1,id:null,onBlocked:null,onUnblocked:null,style:null,template:null,children:void 0},getProps:function(e){return l.ObjectUtils.getMergedProps(e,b.defaultProps)},getOtherProps:function(e){return l.ObjectUtils.getDiffProps(e,b.defaultProps)}},y=u.forwardRef((function(e,t){var o,a,d=b.getProps(e),y=u.useState(d.blocked),v=(a=2,s(o=y)||f(o,a)||p(o,a)||m()),g=v[0],h=v[1],k=u.useRef(null),O=u.useRef(null),j=function(){h(!0)},I=function(){var e=function(){h(!1),d.fullScreen&&l.DomHandler.removeClass(document.body,"p-overflow-hidden"),d.onUnblocked&&d.onUnblocked()};O.current?(l.DomHandler.addClass(O.current,"p-component-overlay-leave"),O.current.addEventListener("animationend",(function(){l.ZIndexUtils.clear(O.current),e()}))):e()},S=function(){if(d.fullScreen&&(l.DomHandler.addClass(document.body,"p-overflow-hidden"),document.activeElement.blur()),d.autoZIndex){var e=d.fullScreen?"modal":"overlay";l.ZIndexUtils.set(e,O.current,c.default.autoZIndex,d.baseZIndex||c.default.zIndex[e])}d.onBlocked&&d.onBlocked()};n.useMountEffect((function(){g&&j()})),n.useUpdateEffect((function(){d.blocked?j():I()}),[d.blocked]),n.useUnmountEffect((function(){d.fullScreen&&l.DomHandler.removeClass(document.body,"p-overflow-hidden"),l.ZIndexUtils.clear(O.current)})),u.useImperativeHandle(t,(function(){return{props:d,block:j,unblock:I,getElement:function(){return k.current}}}));var P=b.getOtherProps(d),U=function(){if(g){var e=d.fullScreen?document.body:"self",t=l.classNames("p-blockui p-component-overlay p-component-overlay-enter",{"p-blockui-document":d.fullScreen},d.className),n=d.template?l.ObjectUtils.getJSXElement(d.template,d):null;return u.createElement(r.Portal,{element:u.createElement("div",{ref:O,className:t,style:d.style},n),appendTo:e,onMounted:S})}return null}(),E=l.classNames("p-blockui-container",d.containerClassName);return u.createElement("div",i({id:d.id,ref:k,className:E,style:d.containerStyle},P),d.children,U)}));y.displayName="BlockUI",exports.BlockUI=y;