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) • 6.3 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/utils");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=r(e),u=function(e){var t=n.useRef(void 0);return n.useEffect((function(){t.current=e})),t.current},o=function(e){return n.useEffect((function(){return e}),[])},c=function(e){var r=e.target,c=void 0===r?"document":r,i=e.type,l=e.listener,f=e.options,a=e.when,s=void 0===a||a,v=n.useRef(null),d=n.useRef(null),g=u(f),p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.ObjectUtils.isNotEmpty(e.target)&&(m(),(e.when||s)&&(v.current=t.DomHandler.getTargetElement(e.target))),!d.current&&v.current&&(d.current=function(e){return l&&l(e)},v.current.addEventListener(i,d.current,f))},m=function(){d.current&&(v.current.removeEventListener(i,d.current,f),d.current=null)};return n.useEffect((function(){s?v.current=t.DomHandler.getTargetElement(c):(m(),v.current=null)}),[c,s]),n.useEffect((function(){!d.current||d.current===l&&g===f||(m(),s&&p())}),[l,f]),o((function(){m()})),[p,m]};function i(e){if(Array.isArray(e))return e}function l(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,u,o=[],c=!0,i=!1;try{for(r=r.call(e);!(c=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);c=!0);}catch(e){i=!0,u=e}finally{try{c||null==r.return||r.return()}finally{if(i)throw u}}return o}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e,t){return i(e)||l(e,t)||a(e,t)||s()}var d=function(e){var r=e.target,c=e.listener,i=e.options,l=e.when,f=void 0===l||l,a=n.useRef(null),s=n.useRef(null),v=n.useRef([]),d=u(i),g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.ObjectUtils.isNotEmpty(e.target)&&(p(),(e.when||f)&&(a.current=t.DomHandler.getTargetElement(e.target))),!s.current&&a.current){var r=v.current=t.DomHandler.getScrollableParents(a.current);s.current=function(e){return c&&c(e)},r.forEach((function(e){return e.addEventListener("scroll",s.current,i)}))}},p=function(){s.current&&(v.current.forEach((function(e){return e.removeEventListener("scroll",s.current,i)})),s.current=null)};return n.useEffect((function(){f?a.current=t.DomHandler.getTargetElement(r):(p(),a.current=null)}),[r,f]),n.useEffect((function(){!s.current||s.current===c&&d===i||(p(),f&&g())}),[c,i]),o((function(){p()})),[g,p]},g=function(e){return c({target:"window",type:"resize",listener:e.listener})},p=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"local",u="undefined"!=typeof window,o=c({target:"window",type:"storage",listener:function(e){var n="local"===r?window.localStorage:window.sessionStorage;e.storageArea===n&&e.key===t&&g(e.newValue||void 0)}}),i=v(o,2),l=i[0],f=i[1],a=n.useState((function(){if(!u)return e;try{var n="local"===r?window.localStorage.getItem(t):window.sessionStorage.getItem(t);return n?JSON.parse(n):e}catch(t){return e}})),s=v(a,2),d=s[0],g=s[1],p=function(e){try{var n=e instanceof Function?e(d):e;if(g(n),u){var o=JSON.stringify(n);"local"===r?window.localStorage.setItem(t,o):window.sessionStorage.setItem(t,o)}}catch(e){throw new Error("PrimeReact useStorage: Failed to serialize the value at key: ".concat(t))}};return n.useEffect((function(){return l(),function(){return f()}}),[]),[d,p]};exports.useEventListener=c,exports.useInterval=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],u=n.useRef(null),c=n.useRef(null),i=n.useCallback((function(){return clearInterval(u.current)}),[u.current]);return n.useEffect((function(){c.current=e})),n.useEffect((function(){if(r)return u.current=setInterval((function(){c.current()}),t),i;i()}),[t,r]),o((function(){i()})),[i]},exports.useLocalStorage=function(e,t){return p(e,t,"local")},exports.useMountEffect=function(e){return n.useEffect(e,[])},exports.useOverlayListener=function(e){var r=e.target,u=e.overlay,i=e.listener,l=e.when,f=void 0===l||l,a=n.useRef(null),s=n.useRef(null),p=v(c({type:"click",listener:function(e){i&&i(e,{type:"outside",valid:3!==e.which&&O(e)})}}),2),m=p[0],y=p[1],E=v(g({listener:function(e){i&&i(e,{type:"resize",valid:!t.DomHandler.isTouchDevice()})}}),2),w=E[0],h=E[1],S=v(d({target:a,listener:function(e){i&&i(e,{type:"scroll",valid:!0})}}),2),b=S[0],x=S[1],O=function(e){return a.current&&!(a.current.isSameNode(e.target)||a.current.contains(e.target)||s.current&&s.current.contains(e.target))},R=function(){y(),h(),x()};return n.useEffect((function(){f?(a.current=t.DomHandler.getTargetElement(r),s.current=t.DomHandler.getTargetElement(u)):(R(),a.current=s.current=null)}),[r,u,f]),n.useEffect((function(){R()}),[f]),o((function(){R()})),[function(){m(),w(),b()},R]},exports.useOverlayScrollListener=d,exports.usePrevious=u,exports.useResizeListener=g,exports.useSessionStorage=function(e,t){return p(e,t,"session")},exports.useStorage=p,exports.useTimeout=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],u=n.useRef(null),c=n.useRef(null),i=n.useCallback((function(){return clearTimeout(u.current)}),[u.current]);return n.useEffect((function(){c.current=e})),n.useEffect((function(){if(r)return u.current=setTimeout((function(){c.current()}),t),i;i()}),[t,r]),o((function(){i()})),[i]},exports.useUnmountEffect=o,exports.useUpdateEffect=function(e,t){var r=n.useRef(!1);return n.useEffect((function(){if(r.current)return e&&e();r.current=!0}),t)};