UNPKG

@better-typed/react-window-hooks

Version:
3 lines (2 loc) 1.35 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@better-typed/react-lifecycle-hooks");function t(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,i,o=t.call(e),u=[];try{for(;(void 0===r||r-- >0)&&!(n=o.next()).done;)u.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(i)throw i.error}}return u}var n=function(){try{return!!window.addEventListener}catch(e){return!1}},i=function(i,o,u){void 0===u&&(u=[]);var c=e.useRef(!1);r.useWillUnmount((function(){return c.current=!0})),r.useDidUpdate((function(){if(n()){var e=t(function(e){return"string"==typeof e?[e,{}]:e}(i),2),r=e[0],u=e[1],c="object"==typeof u?u:{};return window.addEventListener(r,o,c),function(){return window.removeEventListener(r,o,c)}}}),function(e,r,t){if(t||2===arguments.length)for(var n,i=0,o=r.length;i<o;i++)!n&&i in r||(n||(n=Array.prototype.slice.call(r,0,i)),n[i]=r[i]);return e.concat(n||Array.prototype.slice.call(r))}([JSON.stringify(i)],t(u),!1),!0)};exports.getIsClient=n,exports.useWindowEvent=i,exports.useWindowSize=function(r){var o=n(),u=function(){return[o?window.innerWidth:0,o?window.innerHeight:0]},c=t(e.useState(u),2),a=c[0],l=c[1];return i("resize",(function(){l(u()),null==r||r(u())})),a}; //# sourceMappingURL=index.cjs.js.map