PageSourceSearch

https://leanpub.com/assets/useHover-DWHU3R5l.js

js leanpub.com collected 2026-10-01 08:34:20 UTC 2,142 bytes, 5 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c5f24550-7786-5d17-84f8-17bccfac452d")}catch(e){}}();
3import{$ as P,a as g,b as x}from"./useFocusRing-DX4MSezM.js";import{r as f}from"./vendor-react-D7BZ9ZKA.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};o.SENTRY_RELEASE={id:"e34a2f9468e4617a77893c27d98e903c140fca28"}}catch{}})();let c=!1,u=0;function L(){c=!0,setTimeout(()=>{c=!1},50)}function y(o){o.pointerType==="touch"&&L()}function G(){if(!(typeof document>"u"))return u===0&&typeof PointerEvent<"u"&&document.addEventListener("pointerup",y),u++,()=>{u--,!(u>0)&&typeof PointerEvent<"u"&&document.removeEventListener("pointerup",y)}}function M(o){let{onHoverStart:d,onHoverChange:n,onHoverEnd:s,isDisabled:a}=o,[h,$]=f.useState(!1),e=f.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;f.useEffect(G,[]);let{addGlobalListener:E,removeAllGlobalListeners:b}=P(),{hoverProps:m,triggerHoverEnd:H}=f.useMemo(()=>{let T=(t,r)=>{if(e.pointerType=r,a||r==="touch"||e.isHovered||!g(t.currentTarget,t.target))return;e.isHovered=!0;let i=t.currentTarget;e.target=i,E(x(t.target),"pointerover",v=>{e.isHovered&&e.target&&!g(e.target,v.target)&&l(v,v.pointerType)},{capture:!0}),d&&d({type:"hoverstart",target:i,pointerType:r}),n&&n(!0),$(!0)},l=(t,r)=>{let i=e.target;e.pointerType="",e.target=null,!(r==="touch"||!e.isHovered||!i)&&(e.isHovered=!1,b(),s&&s({type:"hoverend",target:i,pointerType:r}),n&&n(!1),$(!1))},p={};return typeof PointerEvent<"u"&&(p.onPointerEnter=t=>{c&&t.pointerType==="mouse"||T(t,t.pointerType)},p.onPointerLeave=t=>{!a&&g(t.currentTarget,t.target)&&l(t,t.pointerType)}),{hoverProps:p,triggerHoverEnd:l}},[d,n,s,a,e,E,b]);return f.useEffect(()=>{a&&H({currentTarget:e.target},e.pointerType)},[a]),{hoverProps:m,isHovered:h}}export{M as $};
4
5//# debugId=c5f24550-7786-5d17-84f8-17bccfac452d

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.