"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3334],{53334:function(e,t,n){n.d(t,{VY:function(){return S},fC:function(){return $a093c7e1ec25a057$export$be92b6f5f03c0fe9},xz:function(){return H},zt:function(){return $a093c7e1ec25a057$export$2881499e37b75b9a}});var r=n(97605),o=n(50959),a=n(70425),l=n(33438),i=n(61318),c=n(86614),u=n(39906),s=n(51953),d=(n(23780),n(10345)),p=n(80275),f=n(98877),g=n(19514),h=n(12580);let[v,b]=(0,i.b)("Tooltip",[s.D7]),x=(0,s.D7)(),y="tooltip.open",[m,E]=v("TooltipProvider"),$="Tooltip",[C,T]=v($),w="TooltipTrigger",P=(0,o.forwardRef)((e,t)=>{let{__scopeTooltip:n,...i}=e,c=T(w,n),u=E(w,n),d=x(n),f=(0,o.useRef)(null),g=(0,l.e)(t,f,c.onTriggerChange),h=(0,o.useRef)(!1),v=(0,o.useRef)(!1),b=(0,o.useCallback)(()=>h.current=!1,[]);return(0,o.useEffect)(()=>()=>document.removeEventListener("pointerup",b),[b]),(0,o.createElement)(s.ee,(0,r.Z)({asChild:!0},d),(0,o.createElement)(p.WV.button,(0,r.Z)({"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute},i,{ref:g,onPointerMove:(0,a.M)(e.onPointerMove,e=>{"touch"===e.pointerType||v.current||u.isPointerInTransitRef.current||(c.onTriggerEnter(),v.current=!0)}),onPointerLeave:(0,a.M)(e.onPointerLeave,()=>{c.onTriggerLeave(),v.current=!1}),onPointerDown:(0,a.M)(e.onPointerDown,()=>{h.current=!0,document.addEventListener("pointerup",b,{once:!0})}),onFocus:(0,a.M)(e.onFocus,()=>{h.current||c.onOpen()}),onBlur:(0,a.M)(e.onBlur,c.onClose),onClick:(0,a.M)(e.onClick,c.onClose)})))}),[k,L]=v("TooltipPortal",{forceMount:void 0}),_="TooltipContent",R=(0,o.forwardRef)((e,t)=>{let n=L(_,e.__scopeTooltip),{forceMount:a=n.forceMount,side:l="top",...i}=e,c=T(_,e.__scopeTooltip);return(0,o.createElement)(d.z,{present:a||c.open},c.disableHoverableContent?(0,o.createElement)(I,(0,r.Z)({side:l},i,{ref:t})):(0,o.createElement)(D,(0,r.Z)({side:l},i,{ref:t})))}),D=(0,o.forwardRef)((e,t)=>{let n=T(_,e.__scopeTooltip),a=E(_,e.__scopeTooltip),i=(0,o.useRef)(null),c=(0,l.e)(t,i),[u,s]=(0,o.useState)(null),{trigger:d,onClose:p}=n,f=i.current,{onPointerInTransitChange:g}=a,h=(0,o.useCallback)(()=>{s(null),g(!1)},[g]),v=(0,o.useCallback)((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=$a093c7e1ec25a057$var$getExitSideFromRect(r,n.getBoundingClientRect()),a=$a093c7e1ec25a057$var$getPaddedExitPoints(r,o),l=$a093c7e1ec25a057$var$getPointsFromRect(t.getBoundingClientRect()),i=$a093c7e1ec25a057$var$getHull([...a,...l]);s(i),g(!0)},[g]);return(0,o.useEffect)(()=>()=>h(),[h]),(0,o.useEffect)(()=>{if(d&&f){let handleTriggerLeave=e=>v(e,f),handleContentLeave=e=>v(e,d);return d.addEventListener("pointerleave",handleTriggerLeave),f.addEventListener("pointerleave",handleContentLeave),()=>{d.removeEventListener("pointerleave",handleTriggerLeave),f.removeEventListener("pointerleave",handleContentLeave)}}},[d,f,v,h]),(0,o.useEffect)(()=>{if(u){let handleTrackPointerGrace=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=(null==d?void 0:d.contains(t))||(null==f?void 0:f.contains(t)),o=!$a093c7e1ec25a057$var$isPointInPolygon(n,u);r?h():o&&(h(),p())};return document.addEventListener("pointermove",handleTrackPointerGrace),()=>document.removeEventListener("pointermove",handleTrackPointerGrace)}},[d,f,u,p,h]),(0,o.createElement)(I,(0,r.Z)({},e,{ref:c}))}),[M,O]=v($,{isInside:!1}),I=(0,o.forwardRef)((e,t)=>{let{__scopeTooltip:n,children:a,"aria-label":l,onEscapeKeyDown:i,onPointerDownOutside:u,...d}=e,p=T(_,n),g=x(n),{onClose:v}=p;return(0,o.useEffect)(()=>(document.addEventListener(y,v),()=>document.removeEventListener(y,v)),[v]),(0,o.useEffect)(()=>{if(p.trigger){let handleScroll=e=>{let t=e.target;null!=t&&t.contains(p.trigger)&&v()};return window.addEventListener("scroll",handleScroll,{capture:!0}),()=>window.removeEventListener("scroll",handleScroll,{capture:!0})}},[p.trigger,v]),(0,o.createElement)(c.XB,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:v},(0,o.createElement)(s.VY,(0,r.Z)({"data-state":p.stateAttribute},g,d,{ref:t,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"}}),(0,o.createElement)(f.A4,null,a),(0,o.createElement)(M,{scope:n,isInside:!0},(0,o.createElement)(h.f,{id:p.contentId,role:"tooltip"},l||a))))});function $a093c7e1ec25a057$var$getExitSideFromRect(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}function $a093c7e1ec25a057$var$getPaddedExitPoints(e,t,n=5){let r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function $a093c7e1ec25a057$var$getPointsFromRect(e){let{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function $a093c7e1ec25a057$var$isPointInPolygon(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let l=t[e].x,i=t[e].y,c=t[a].x,u=t[a].y,s=i>r!=u>r&&n<(c-l)*(r-i)/(u-i)+l;s&&(o=!o)}return o}function $a093c7e1ec25a057$var$getHull(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),$a093c7e1ec25a057$var$getHullPresorted(t)}function $a093c7e1ec25a057$var$getHullPresorted(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return(n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y)?t:t.concat(n)}let $a093c7e1ec25a057$export$2881499e37b75b9a=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:l}=e,[i,c]=(0,o.useState)(!0),u=(0,o.useRef)(!1),s=(0,o.useRef)(0);return(0,o.useEffect)(()=>{let e=s.current;return()=>window.clearTimeout(e)},[]),(0,o.createElement)(m,{scope:t,isOpenDelayed:i,delayDuration:n,onOpen:(0,o.useCallback)(()=>{window.clearTimeout(s.current),c(!1)},[]),onClose:(0,o.useCallback)(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(()=>c(!0),r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:(0,o.useCallback)(e=>{u.current=e},[]),disableHoverableContent:a},l)},$a093c7e1ec25a057$export$be92b6f5f03c0fe9=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:a=!1,onOpenChange:l,disableHoverableContent:i,delayDuration:c}=e,d=E($,e.__scopeTooltip),p=x(t),[f,h]=(0,o.useState)(null),v=(0,u.M)(),b=(0,o.useRef)(0),m=null!=i?i:d.disableHoverableContent,T=null!=c?c:d.delayDuration,w=(0,o.useRef)(!1),[P=!1,k]=(0,g.T)({prop:r,defaultProp:a,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(y))):d.onClose(),null==l||l(e)}}),L=(0,o.useMemo)(()=>P?w.current?"delayed-open":"instant-open":"closed",[P]),_=(0,o.useCallback)(()=>{window.clearTimeout(b.current),w.current=!1,k(!0)},[k]),R=(0,o.useCallback)(()=>{window.clearTimeout(b.current),k(!1)},[k]),D=(0,o.useCallback)(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{w.current=!0,k(!0)},T)},[T,k]);return(0,o.useEffect)(()=>()=>window.clearTimeout(b.current),[]),(0,o.createElement)(s.fC,p,(0,o.createElement)(C,{scope:t,contentId:v,open:P,stateAttribute:L,trigger:f,onTriggerChange:h,onTriggerEnter:(0,o.useCallback)(()=>{d.isOpenDelayed?D():_()},[d.isOpenDelayed,D,_]),onTriggerLeave:(0,o.useCallback)(()=>{m?R():window.clearTimeout(b.current)},[R,m]),onOpen:_,onClose:R,disableHoverableContent:m},n))},H=P,S=R}}]);