Module 967158

1,577 characters · in no known chunk
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{M:()=>d});var i=n(114099),r=n(297987),s=n(241827),a=n(64700);let o=!1,l=0;function u(e){"touch"===e.pointerType&&(o=!0,setTimeout(()=>{o=!1},50))}function c(){if("u">typeof document)return 0===l&&"u">typeof PointerEvent&&document.addEventListener("pointerup",u),l++,()=>{!(--l>0)&&"u">typeof PointerEvent&&document.removeEventListener("pointerup",u)}}function d(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:l,isDisabled:u}=e,[d,_]=(0,a.useState)(!1),f=(0,a.useRef)({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;(0,a.useEffect)(c,[]);let{addGlobalListener:h,removeAllGlobalListeners:p}=(0,i.A)(),{hoverProps:E,triggerHoverEnd:m}=(0,a.useMemo)(()=>{let e=(e,t)=>{let i=f.target;f.pointerType="",f.target=null,"touch"!==t&&f.isHovered&&i&&(f.isHovered=!1,p(),l&&l({type:"hoverend",target:i,pointerType:t}),n&&n(!1),_(!1))},i={};return"u">typeof PointerEvent&&(i.onPointerEnter=i=>{o&&"mouse"===i.pointerType||((i,a)=>{if(f.pointerType=a,u||"touch"===a||f.isHovered||!i.currentTarget.contains(i.target))return;f.isHovered=!0;let o=i.currentTarget;f.target=o,h((0,r.TW)(i.target),"pointerover",t=>{f.isHovered&&f.target&&!(0,s.sD)(f.target,t.target)&&e(t,t.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:o,pointerType:a}),n&&n(!0),_(!0)})(i,i.pointerType)},i.onPointerLeave=t=>{!u&&t.currentTarget.contains(t.target)&&e(t,t.pointerType)}),{hoverProps:i,triggerHoverEnd:e}},[t,n,l,u,f,h,p]);return(0,a.useEffect)(()=>{u&&m({currentTarget:f.target},f.pointerType)},[u]),{hoverProps:E,isHovered:d}}}