UNPKG

4.82 kBJavaScriptView Raw
1"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=_interopDefault(require("react"));function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,s=e[Symbol.iterator]();!(r=(u=s.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var useWindowSize=function(){var e="object"===("undefined"==typeof window?"undefined":_typeof(window)),t=function(){return{width:e?window.innerWidth:void 0,height:e?window.innerHeight:void 0}},n=_slicedToArray(React.useState(t),2),r=n[0],o=n[1];return React.useEffect(function(){if(!e)return!1;var n=function(){o(t)};return window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}},[]),r},useKeyPress=function(e){var t=_slicedToArray(React.useState(!1),2),n=t[0],r=t[1],o=function(t){t.key===e&&r(!0)},i=function(t){t.key===e&&r(!1)};return React.useEffect(function(){return window.addEventListener("keydown",o),window.addEventListener("keyup",i),function(){window.removeEventListener("keydown",o),window.removeEventListener("keyup",i)}},[]),[n,e]},useOnlineStatus=function(){var e=_slicedToArray(React.useState(navigator.onLine),2),t=e[0],n=e[1],r=function(){return n(!0)},o=function(){return n(!1)};return React.useEffect(function(){return window.addEventListener("online",r),window.addEventListener("offline",o),function(){window.removeEventListener("online",r),window.removeEventListener("offline",o)}}),{online:t}},useDidMount=function(e){return React.useEffect(function(){return e&&e()},[])},useFormField=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=_slicedToArray(React.useState(e),2),n=t[0],r=t[1],o=_slicedToArray(React.useState(!1),2),i=o[0],u=o[1],s=_slicedToArray(React.useState(!1),2),a=s[0],c=s[1];React.useEffect(function(){n.length>0&&u(!0)},[n]);var f=0===n.length;return{value:n,set:r,reset:function(){r(e),u(!1),c(!1)},validate:function(){u(!0),c(!0)},isEmpty:f,isDirty:i,isSubmitted:a,isValid:f&&i&&a||f&&i,bind:{value:n,onChange:function(e){return r(e.target.value)}}}},useActive=function(){var e=_slicedToArray(React.useState(!1),2),t=e[0],n=e[1];return{active:t,bind:{onMouseDown:function(){return n(!0)},onMouseUp:function(){return n(!1)}}}},useHover=function(){var e=_slicedToArray(React.useState(!1),2),t=e[0],n=e[1];return{hover:t,bind:{onMouseEnter:function(){return n(!0)},onMouseLeave:function(){return n(!1)}}}},useTouch=function(){var e=_slicedToArray(React.useState(!1),2),t=e[0],n=e[1];return{touched:t,bind:{onTouchStart:function(){return n(!0)},onTouchEnd:function(){return n(!1)}}}},useWindowScrollPosition=function(){var e=_slicedToArray(React.useState({x:window.pageXOffset,y:window.pageYOffset}),2),t=e[0],n=e[1],r=function(){n({x:window.pageXOffset,y:window.pageYOffset})};return React.useEffect(function(){return window.addEventListener("scroll",r),function(){window.removeEventListener("scroll",r)}},[]),t},useTitle=function(e){React.useEffect(function(){document.title=e},[e])},useToggle=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=_slicedToArray(React.useState(e),2),n=t[0],r=t[1];return{on:n,onToggle:function(){return r(function(e){return!e})}}},withCompose=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},initialState={value:"",toPipe:[function(){}]},pipe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:initialState,t=e.value,n=void 0===t?initialState.value:t,r=e.toPipe,o=void 0===r?initialState.toPipe:r;if("string"!=typeof n)throw Error("Function pipe() Should be a string only");return o.reduce(function(e,t){return t(e)},n)};exports.useWindowSize=useWindowSize,exports.useKeyPress=useKeyPress,exports.useOnlineStatus=useOnlineStatus,exports.useDidMount=useDidMount,exports.useFormField=useFormField,exports.useActive=useActive,exports.useHover=useHover,exports.useTouch=useTouch,exports.useWindowScrollPosition=useWindowScrollPosition,exports.useTitle=useTitle,exports.useToggle=useToggle,exports.withCompose=withCompose,exports.pipe=pipe;