@einride/hooks
Advanced tools
Comparing version 1.7.2-beta.2 to 1.7.2-beta.3
@@ -1,1 +0,38 @@ | ||
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),f=(t,e)=>{const[o,r]=u.useState(t);return u.useEffect(()=>{const n=setTimeout(()=>r(t),e??500);return()=>{clearTimeout(n)}},[t,e]),o},c=(t,e)=>{const[o,r]=u.useState(t),n=()=>{var s;o||(r(!0),(s=e==null?void 0:e.onOpen)==null||s.call(e))},d=()=>{var s;o&&(r(!1),(s=e==null?void 0:e.onClose)==null||s.call(e))};return{isOpen:o,handlers:{open:n,close:d,toggle:()=>{o?d():n()}}}},i=t=>{const[e,o]=u.useState(m(t)),r=u.useCallback(n=>{o(n.matches)},[]);return u.useEffect(()=>{if(typeof(window==null?void 0:window.matchMedia)=="function"){const n=window.matchMedia(t);return o(n.matches),n.addEventListener("change",r),()=>n.removeEventListener("change",r)}},[t,r]),e},m=t=>typeof window<"u"&&typeof(window==null?void 0:window.matchMedia)=="function"?window.matchMedia(t).matches:!1,h=()=>i("(prefers-color-scheme: dark)")?"dark":"light",g=()=>i("(prefers-reduced-motion: reduce)");exports.useDebouncedValue=f;exports.useDisclosure=c;exports.useMediaQuery=i;exports.usePrefersColorScheme=h;exports.usePrefersReducedMotion=g; | ||
import { useState as u, useEffect as d, useCallback as m } from "react"; | ||
const g = (t, e) => { | ||
const [o, r] = u(t); | ||
return d(() => { | ||
const n = setTimeout(() => r(t), e ?? 500); | ||
return () => { | ||
clearTimeout(n); | ||
}; | ||
}, [t, e]), o; | ||
}, c = (t, e) => { | ||
const [o, r] = u(t), n = () => { | ||
var i; | ||
o || (r(!0), (i = e == null ? void 0 : e.onOpen) == null || i.call(e)); | ||
}, s = () => { | ||
var i; | ||
o && (r(!1), (i = e == null ? void 0 : e.onClose) == null || i.call(e)); | ||
}; | ||
return { isOpen: o, handlers: { open: n, close: s, toggle: () => { | ||
o ? s() : n(); | ||
} } }; | ||
}, f = (t) => { | ||
const [e, o] = u(h(t)), r = m((n) => { | ||
o(n.matches); | ||
}, []); | ||
return d(() => { | ||
if (typeof (window == null ? void 0 : window.matchMedia) == "function") { | ||
const n = window.matchMedia(t); | ||
return o(n.matches), n.addEventListener("change", r), () => n.removeEventListener("change", r); | ||
} | ||
}, [t, r]), e; | ||
}, h = (t) => typeof window < "u" && typeof (window == null ? void 0 : window.matchMedia) == "function" ? window.matchMedia(t).matches : !1, M = () => f("(prefers-color-scheme: dark)") ? "dark" : "light", C = () => f("(prefers-reduced-motion: reduce)"); | ||
export { | ||
g as useDebouncedValue, | ||
c as useDisclosure, | ||
f as useMediaQuery, | ||
M as usePrefersColorScheme, | ||
C as usePrefersReducedMotion | ||
}; |
{ | ||
"name": "@einride/hooks", | ||
"version": "1.7.2-beta.2", | ||
"version": "1.7.2-beta.3", | ||
"description": "Reusable React hooks", | ||
@@ -40,2 +40,3 @@ "scripts": { | ||
}, | ||
"type": "module", | ||
"files": [ | ||
@@ -42,0 +43,0 @@ "dist" |
8475
Yes