Module 720879

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