Module 720879

2,681 characters · in 994a6b345d7fe237.js
Dependencies
Required by (2)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){n.d(t,{L:()=>u,A:()=>c});var l=n(627968),r=n(64700),i=n(844222),a=n(775602),s=n(350535),o=n(642481),d=n(650583);function u(e){let{children:t,targetElementRef:n,estimatedTooltipHeight:u,delay:c=300,onShow:m,title:g,body:p,graphic:f,size:h="md",actions:_,gradientColor:x}=e,v=r.useContext(i.C),[b,E]=r.useState("closed"),j=r.useRef(null),y=r.useRef(!1),C="opening-mouse"===b||"open-mouse"===b,A="opening-keyboard"===b||"open-keyboard"===b,I="open-mouse"===b||"open-keyboard"===b,R=(v.keyboardModeEnabled||A)&&null!=_,[N,T]=r.useState(0),S=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,n=arguments.length>2?arguments[2]:void 0,[l,i]=r.useState("top");return r.useEffect(()=>{if(null==e.current)return void i("top");let n=e.current.getBoundingClientRect(),l=window.innerWidth,r=window.innerHeight,a={top:n.top,bottom:r-n.bottom,left:n.left,right:l-n.right},s=["top","bottom","right","left"];for(let e of s)if(a[e]>=t)return void i(e);i(s.reduce((e,t)=>a[t]>a[e]?t:e,"top"))},[e,t,n]),l}(n,u,b),k=r.useCallback(()=>{null!=j.current&&(clearTimeout(j.current),j.current=null)},[]),B=r.useCallback(e=>{e&&(y.current=!0),k(),E("closing")},[k]);r.useEffect(()=>k,[k]);let O=r.useCallback(()=>{("closed"===b||"closing"===b)&&(k(),E("opening-mouse"))},[k,b]),D=r.useCallback(()=>{C&&B(!1)},[B,C]),w=r.useCallback(()=>{if(y.current||!a.Ay.keyboardModeEnabled||"closed"!==b&&"closing"!==b){y.current=!1;return}k(),E("opening-keyboard")},[k,b]),U=r.useCallback(()=>{R&&"opening-keyboard"!==b||B(!1)},[B,b,R]);r.useEffect(()=>{if("opening-mouse"===b)return j.current=window.setTimeout(()=>{j.current=null,E("open-mouse"),m?.()},c),k},[b,c,m,k]),r.useEffect(()=>{if("opening-keyboard"===b)return j.current=window.setTimeout(()=>{j.current=null,E("open-keyboard"),m?.()},c),k},[b,c,m,k]),r.useEffect(()=>{if("closing"===b)return j.current=window.setTimeout(()=>{j.current=null,E("closed")},200),k},[b,k]),r.useEffect(()=>{if(!I)return;let e=e=>{e.key===d.dh.ESCAPE&&(e.preventDefault(),e.stopPropagation(),B(!0))};return document.addEventListener("keydown",e,!0),()=>{document.removeEventListener("keydown",e,!0)}},[I,B]);let P=r.useMemo(()=>null==_?_:_.map(e=>({...e,onClick:t=>{e.onClick?.(t),B(!1)}})),[_,B]),M=r.useCallback(e=>{T(e)},[]);return(0,l.jsxs)("div",{onMouseEnter:O,onMouseLeave:D,onFocus:w,onBlur:U,children:[t,(0,l.jsx)(o.j,{targetElementRef:n,shouldShow:I,position:S,align:"center",title:g,body:p,graphic:f,size:h,actions:P,gradientColor:x,showCloseButton:R,shouldTrapFocus:R,returnRef:R?n:void 0,isCaretHoverable:!0,caretConfig:{align:"custom",customOffset:N},onNudgeChange:M,onRequestClose:e=>{B(null!=e&&(0,s.sg)(e))}})]})}let c=u}