UNPKG

@kodingdotninja/use-tailwind-breakpoint

Version:
14 lines (9 loc) 902 B
'use strict'; 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;