@dwarvesf/react-hooks
Advanced tools
Comparing version 0.5.1 to 0.6.0
# @dwarvesf/react-hooks | ||
## 0.6.0 | ||
### Minor Changes | ||
- [#32](https://github.com/dwarvesf/react-toolkit/pull/32) | ||
[`56d68c3`](https://github.com/dwarvesf/react-toolkit/commit/56d68c39c57d951be7a6aa5a9e972c0f630a9199) | ||
Thanks [@trankhacvy](https://github.com/trankhacvy)! - add useHasMounted hook | ||
## 0.5.1 | ||
@@ -4,0 +12,0 @@ |
@@ -13,1 +13,2 @@ export { default as useDisclosure } from './useDisclosure'; | ||
export { default as useOnClickOutside } from './useOnClickOutside'; | ||
export { default as useHasMounted } from './useHasMounted'; |
@@ -13,2 +13,3 @@ export { default as usePrevious } from './usePrevious.esm.js'; | ||
export { default as useOnClickOutside } from './useOnClickOutside.esm.js'; | ||
export { default as useHasMounted } from './useHasMounted.esm.js'; | ||
//# sourceMappingURL=index.esm.js.map |
@@ -413,2 +413,13 @@ 'use strict'; | ||
function useHasMounted() { | ||
var _useState = React.useState(false), | ||
hasMounted = _useState[0], | ||
setHasMounted = _useState[1]; | ||
React.useEffect(function () { | ||
setHasMounted(true); | ||
}, []); | ||
return hasMounted; | ||
} | ||
exports.useAsyncEffect = useAsyncEffect; | ||
@@ -420,2 +431,3 @@ exports.useClipboard = useClipboard; | ||
exports.useForceUpdate = useForceUpdate; | ||
exports.useHasMounted = useHasMounted; | ||
exports.useLockBodyScroll = useLockBodyScroll; | ||
@@ -422,0 +434,0 @@ exports.useMedia = useMedia; |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,n=require("react"),t=(e=require("copy-to-clipboard"))&&"object"==typeof e&&"default"in e?e.default:e,r=require("@dwarvesf/react-utils");function u(e){var t=n.useRef();return n.useEffect((function(){t.current=e}),[e]),t.current}function o(){return(o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}var c=["timeout"];function f(e,n){if(null!=e)if("function"!=typeof e)try{e.current=n}catch(t){throw new Error("Cannot assign value '"+n+"' to ref '"+e+"'")}else e(n)}var i=["mousedown","touchstart"];exports.useAsyncEffect=function(e,t,r){var u,o;void 0===t&&(t=[]),void 0===r&&(r=[]),"function"==typeof t?(o=t,u=r):u=t||[],n.useEffect((function(){var n,t=!0,r=e((function(){return t}));return Promise.resolve(r).then((function(e){n=e})),function(){t=!1,"function"==typeof o&&o(n)}}),u)},exports.useClipboard=function(e,r){void 0===r&&(r={});var u=n.useState(!1),o=u[0],f=u[1],i="number"==typeof r?{timeout:r}:r,s=i.timeout,a=void 0===s?1500:s,l=function(e,n){if(null==e)return{};var t,r,u={},o=Object.keys(e);for(r=0;r<o.length;r++)n.indexOf(t=o[r])>=0||(u[t]=e[t]);return u}(i,c),v=n.useCallback((function(){var n=t(e,l);f(n)}),[e,l]);return n.useEffect((function(){var e=null;return o&&(e=window.setTimeout((function(){f(!1)}),a)),function(){e&&window.clearTimeout(e)}}),[a,o]),{value:e,onCopy:v,hasCopied:o}},exports.useConstant=function(e){var t=n.useRef(null);return null===t.current&&(t.current="function"==typeof e?e():e),t.current},exports.useDebounce=function(e,t){var r=n.useState(e),u=r[0],o=r[1];return n.useEffect((function(){var n=setTimeout((function(){o(e)}),t);return function(){clearTimeout(n)}}),[e,t]),u},exports.useDisclosure=function(e){void 0===e&&(e={});var t=e.onClose,r=e.onOpen,o=n.useState(e.defaultIsOpen||!1),c=o[0],f=o[1],i=u(c),s=n.useCallback((function(){f(!1),t&&t()}),[t]),a=n.useCallback((function(){f(!0),r&&r()}),[r]),l=n.useCallback((function(){(c?s:a)()}),[c,a,s]);return{isOpen:!!c,prevIsOpen:!!i,onOpen:a,onClose:s,onToggle:l}},exports.useForceUpdate=function(){var e=n.useState(0),t=e[0],r=e[1];return n.useCallback((function(){return r(t+1)}),[t])},exports.useLockBodyScroll=function(){n.useLayoutEffect((function(){var e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",function(){document.body.style.overflow=e}}),[])},exports.useMedia=function(e,t,u){var o=r.isSSR()?[]:e.map((function(e){return window.matchMedia(e)})),c=n.useCallback((function(){var e=o.findIndex((function(e){return e.matches}));return(null==t?void 0:t[e])||u}),[]),f=n.useState(c),i=f[0],s=f[1];return n.useEffect((function(){var e=function(){return s(c)};return o.forEach((function(n){return n.addEventListener("change",e)})),function(){return o.forEach((function(n){return n.removeEventListener("change",e)}))}}),[]),i},exports.useMergeRefs=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.useMemo((function(){return t.every((function(e){return null==e}))?null:function(e){t.forEach((function(n){n&&f(n,e)}))}}),t)},exports.useOnClickOutside=function(e,t){n.useEffect((function(){if(t){var n=function(n){e.current&&!e.current.contains(n.target)&&t(n)};return i.forEach((function(e){document.addEventListener(e,n)})),function(){i.forEach((function(e){document.removeEventListener(e,n)}))}}}),[e,t])},exports.usePrevious=u,exports.useWhyDidYouUpdate=function(e,t){var r=n.useRef({});n.useEffect((function(){if(r.current){var n=Object.keys(o({},r.current,t)),u={};n.forEach((function(e){r.current[e]!==t[e]&&(u[e]={from:r.current[e],to:t[e]})})),Object.keys(u).length&&console.log("[why-did-you-update]",e,u)}r.current=t}))}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,n=require("react"),t=(e=require("copy-to-clipboard"))&&"object"==typeof e&&"default"in e?e.default:e,r=require("@dwarvesf/react-utils");function u(e){var t=n.useRef();return n.useEffect((function(){t.current=e}),[e]),t.current}function o(){return(o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}var c=["timeout"];function f(e,n){if(null!=e)if("function"!=typeof e)try{e.current=n}catch(t){throw new Error("Cannot assign value '"+n+"' to ref '"+e+"'")}else e(n)}var i=["mousedown","touchstart"];exports.useAsyncEffect=function(e,t,r){var u,o;void 0===t&&(t=[]),void 0===r&&(r=[]),"function"==typeof t?(o=t,u=r):u=t||[],n.useEffect((function(){var n,t=!0,r=e((function(){return t}));return Promise.resolve(r).then((function(e){n=e})),function(){t=!1,"function"==typeof o&&o(n)}}),u)},exports.useClipboard=function(e,r){void 0===r&&(r={});var u=n.useState(!1),o=u[0],f=u[1],i="number"==typeof r?{timeout:r}:r,s=i.timeout,a=void 0===s?1500:s,l=function(e,n){if(null==e)return{};var t,r,u={},o=Object.keys(e);for(r=0;r<o.length;r++)n.indexOf(t=o[r])>=0||(u[t]=e[t]);return u}(i,c),v=n.useCallback((function(){var n=t(e,l);f(n)}),[e,l]);return n.useEffect((function(){var e=null;return o&&(e=window.setTimeout((function(){f(!1)}),a)),function(){e&&window.clearTimeout(e)}}),[a,o]),{value:e,onCopy:v,hasCopied:o}},exports.useConstant=function(e){var t=n.useRef(null);return null===t.current&&(t.current="function"==typeof e?e():e),t.current},exports.useDebounce=function(e,t){var r=n.useState(e),u=r[0],o=r[1];return n.useEffect((function(){var n=setTimeout((function(){o(e)}),t);return function(){clearTimeout(n)}}),[e,t]),u},exports.useDisclosure=function(e){void 0===e&&(e={});var t=e.onClose,r=e.onOpen,o=n.useState(e.defaultIsOpen||!1),c=o[0],f=o[1],i=u(c),s=n.useCallback((function(){f(!1),t&&t()}),[t]),a=n.useCallback((function(){f(!0),r&&r()}),[r]),l=n.useCallback((function(){(c?s:a)()}),[c,a,s]);return{isOpen:!!c,prevIsOpen:!!i,onOpen:a,onClose:s,onToggle:l}},exports.useForceUpdate=function(){var e=n.useState(0),t=e[0],r=e[1];return n.useCallback((function(){return r(t+1)}),[t])},exports.useHasMounted=function(){var e=n.useState(!1),t=e[0],r=e[1];return n.useEffect((function(){r(!0)}),[]),t},exports.useLockBodyScroll=function(){n.useLayoutEffect((function(){var e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",function(){document.body.style.overflow=e}}),[])},exports.useMedia=function(e,t,u){var o=r.isSSR()?[]:e.map((function(e){return window.matchMedia(e)})),c=n.useCallback((function(){var e=o.findIndex((function(e){return e.matches}));return(null==t?void 0:t[e])||u}),[]),f=n.useState(c),i=f[0],s=f[1];return n.useEffect((function(){var e=function(){return s(c)};return o.forEach((function(n){return n.addEventListener("change",e)})),function(){return o.forEach((function(n){return n.removeEventListener("change",e)}))}}),[]),i},exports.useMergeRefs=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.useMemo((function(){return t.every((function(e){return null==e}))?null:function(e){t.forEach((function(n){n&&f(n,e)}))}}),t)},exports.useOnClickOutside=function(e,t){n.useEffect((function(){if(t){var n=function(n){e.current&&!e.current.contains(n.target)&&t(n)};return i.forEach((function(e){document.addEventListener(e,n)})),function(){i.forEach((function(e){document.removeEventListener(e,n)}))}}}),[e,t])},exports.usePrevious=u,exports.useWhyDidYouUpdate=function(e,t){var r=n.useRef({});n.useEffect((function(){if(r.current){var n=Object.keys(o({},r.current,t)),u={};n.forEach((function(e){r.current[e]!==t[e]&&(u[e]={from:r.current[e],to:t[e]})})),Object.keys(u).length&&console.log("[why-did-you-update]",e,u)}r.current=t}))}; | ||
//# sourceMappingURL=react-hooks.cjs.production.min.js.map |
{ | ||
"name": "@dwarvesf/react-hooks", | ||
"version": "0.5.1", | ||
"version": "0.6.0", | ||
"description": "Official React hooks for @dwarvesf", | ||
@@ -5,0 +5,0 @@ "author": "Dwarves Foundation", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
98750
52
908