@kodingdotninja/use-tailwind-breakpoint
Version:
Custom hooks to use breakpoints for React 🎐🔨
14 lines (9 loc) • 902 B
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('react');
var v=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),c=!v,i=c?react.useLayoutEffect:react.useEffect;function E(m){function r(t,e=!1){let[n,o]=react.useState(()=>e);return i(()=>{if(!(c&&"matchMedia"in window&&window.matchMedia))return;let a=m[t]??"999999px",s=window.matchMedia(`(min-width: ${a})`);function u(p){o(p.matches);}return o(s.matches),s.addEventListener("change",u),()=>s.removeEventListener("change",u)},[t,e]),n}function d(t,e){let n=r(t);return i(()=>e(n),[t,e]),null}function h(t,e,n){let o=r(t);return react.useMemo(()=>o?e:n,[n,o,e])}return {useBreakpoint:r,useBreakpointEffect:d,useBreakpointValue:h}}
exports.create = E;
exports.default = E;
exports.isBrowser = c;
exports.isSSR = v;
exports.useIsomorphicEffect = i;
;