"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1729],{21729:(e,t,r)=>{r.d(t,{Kq:()=>X,UC:()=>G,ZL:()=>z,bL:()=>Y,i3:()=>W,l9:()=>Z});var n=r(91356),o=r(9321),i=r(1709),l=r(65537),a=r(49872),s=r(10168),u=r(17923),c=r(69578),p=r(41459),d=r(83418),f=r(64427),x=r(14216),h=r(6903),g=r(4208),[v,y]=(0,l.A)("Tooltip",[u.Bk]),b=(0,u.Bk)(),m="TooltipProvider",w="tooltip.open",[C,T]=v(m),E=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:l}=e,a=n.useRef(!0),s=n.useRef(!1),u=n.useRef(0);return n.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,g.jsx)(C,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:n.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};E.displayName=m;var k="Tooltip",[L,R]=v(k),j=e=>{let{__scopeTooltip:t,children:r,open:o,defaultOpen:i,onOpenChange:l,disableHoverableContent:a,delayDuration:c}=e,p=T(k,e.__scopeTooltip),d=b(t),[f,h]=n.useState(null),v=(0,s.B)(),y=n.useRef(0),m=a??p.disableHoverableContent,C=c??p.delayDuration,E=n.useRef(!1),[R,j]=(0,x.i)({prop:o,defaultProp:i??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(w))):p.onClose(),l?.(e)},caller:k}),_=n.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),P=n.useCallback(()=>{window.clearTimeout(y.current),y.current=0,E.current=!1,j(!0)},[j]),M=n.useCallback(()=>{window.clearTimeout(y.current),y.current=0,j(!1)},[j]),D=n.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{E.current=!0,j(!0),y.current=0},C)},[C,j]);return n.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,g.jsx)(u.bL,{...d,children:(0,g.jsx)(L,{scope:t,contentId:v,open:R,stateAttribute:_,trigger:f,onTriggerChange:h,onTriggerEnter:n.useCallback(()=>{p.isOpenDelayedRef.current?D():P()},[p.isOpenDelayedRef,D,P]),onTriggerLeave:n.useCallback(()=>{m?M():(window.clearTimeout(y.current),y.current=0)},[M,m]),onOpen:P,onClose:M,disableHoverableContent:m,children:r})})};j.displayName=k;var _="TooltipTrigger",P=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...l}=e,a=R(_,r),s=T(_,r),c=b(r),p=n.useRef(null),f=(0,i.s)(t,p,a.onTriggerChange),x=n.useRef(!1),h=n.useRef(!1),v=n.useCallback(()=>x.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,g.jsx)(u.Mz,{asChild:!0,...c,children:(0,g.jsx)(d.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...l,ref:f,onPointerMove:(0,o.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(h.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),h.current=!0))}),onPointerLeave:(0,o.mK)(e.onPointerLeave,()=>{a.onTriggerLeave(),h.current=!1}),onPointerDown:(0,o.mK)(e.onPointerDown,()=>{a.open&&a.onClose(),x.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,o.mK)(e.onFocus,()=>{x.current||a.onOpen()}),onBlur:(0,o.mK)(e.onBlur,a.onClose),onClick:(0,o.mK)(e.onClick,a.onClose)})})});P.displayName=_;var M="TooltipPortal",[D,N]=v(M,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=R(M,t);return(0,g.jsx)(D,{scope:t,forceMount:r,children:(0,g.jsx)(p.C,{present:r||i.open,children:(0,g.jsx)(c.Z,{asChild:!0,container:o,children:n})})})};O.displayName=M;var B="TooltipContent",I=n.forwardRef((e,t)=>{let r=N(B,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,l=R(B,e.__scopeTooltip);return(0,g.jsx)(p.C,{present:n||l.open,children:l.disableHoverableContent?(0,g.jsx)(q,{side:o,...i,ref:t}):(0,g.jsx)(K,{side:o,...i,ref:t})})}),K=n.forwardRef((e,t)=>{let r=R(B,e.__scopeTooltip),o=T(B,e.__scopeTooltip),l=n.useRef(null),a=(0,i.s)(t,l),[s,u]=n.useState(null),{trigger:c,onClose:p}=r,d=l.current,{onPointerInTransitChange:f}=o,x=n.useCallback(()=>{u(null),f(!1)},[f]),h=n.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());u(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.xt.x?1:e.yt.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),f(!0)},[f]);return n.useEffect(()=>()=>x(),[x]),n.useEffect(()=>{if(c&&d){let e=e=>h(e,d),t=e=>h(e,c);return c.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}},[c,d,h,x]),n.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=c?.contains(t)||d?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;en!=p>n&&r<(c-s)*(n-u)/(p-u)+s&&(o=!o)}return o}(r,s);n?x():o&&(x(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,d,s,p,x]),(0,g.jsx)(q,{...e,ref:a})}),[A,F]=v(k,{isInside:!1}),H=(0,f.Dc)("TooltipContent"),q=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:o,"aria-label":i,onEscapeKeyDown:l,onPointerDownOutside:s,...c}=e,p=R(B,r),d=b(r),{onClose:f}=p;return n.useEffect(()=>(document.addEventListener(w,f),()=>document.removeEventListener(w,f)),[f]),n.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,f]),(0,g.jsx)(a.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,g.jsxs)(u.UC,{"data-state":p.stateAttribute,...d,...c,ref:t,style:{...c.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)"},children:[(0,g.jsx)(H,{children:o}),(0,g.jsx)(A,{scope:r,isInside:!0,children:(0,g.jsx)(h.bL,{id:p.contentId,role:"tooltip",children:i||o})})]})})});I.displayName=B;var S="TooltipArrow",U=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=b(r);return F(S,r).isInside?null:(0,g.jsx)(u.i3,{...o,...n,ref:t})});U.displayName=S;var X=E,Y=j,Z=P,z=O,G=I,W=U}}]);