"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[364],{60364:function(e,t,n){n.d(t,{VY:function(){return N},zt:function(){return H},fC:function(){return A},xz:function(){return F}});var r=n(22988),o=n(2265),l=n(78149),i=n(1584),a=n(98324),u=n(53938),c=n(53201),s=n(49171),d=(n(56935),n(31383)),p=n(18676);(0,o.forwardRef)((e,t)=>{let{children:n,...l}=e,i=o.Children.toArray(n),a=i.find(g);if(a){let e=a.props.children,n=i.map(t=>t!==a?t:o.Children.count(e)>1?o.Children.only(null):(0,o.isValidElement)(e)?e.props.children:null);return(0,o.createElement)(f,(0,r.Z)({},l,{ref:t}),(0,o.isValidElement)(e)?(0,o.cloneElement)(e,void 0,n):null)}return(0,o.createElement)(f,(0,r.Z)({},l,{ref:t}),n)}).displayName="Slot";let f=(0,o.forwardRef)((e,t)=>{let{children:n,...r}=e;return(0,o.isValidElement)(n)?(0,o.cloneElement)(n,{...function(e,t){let n={...t};for(let r in t){let o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...e)=>{l(...e),o(...e)}:o&&(n[r]=o):"style"===r?n[r]={...o,...l}:"className"===r&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props),ref:t?(0,i.F)(t,n.ref):n.ref}):o.Children.count(n)>1?o.Children.only(null):null});f.displayName="SlotClone";let h=({children:e})=>(0,o.createElement)(o.Fragment,null,e);function g(e){return(0,o.isValidElement)(e)&&e.type===h}var m=n(91715),y=n(31725);let[v,E]=(0,a.b)("Tooltip",[s.D7]),b=(0,s.D7)(),x="tooltip.open",[C,w]=v("TooltipProvider"),T="Tooltip",[k,_]=v(T),D="TooltipTrigger",M=(0,o.forwardRef)((e,t)=>{let{__scopeTooltip:n,...a}=e,u=_(D,n),c=w(D,n),d=b(n),f=(0,o.useRef)(null),h=(0,i.e)(t,f,u.onTriggerChange),g=(0,o.useRef)(!1),m=(0,o.useRef)(!1),y=(0,o.useCallback)(()=>g.current=!1,[]);return(0,o.useEffect)(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,o.createElement)(s.ee,(0,r.Z)({asChild:!0},d),(0,o.createElement)(p.WV.button,(0,r.Z)({"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute},a,{ref:h,onPointerMove:(0,l.M)(e.onPointerMove,e=>{"touch"===e.pointerType||m.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),m.current=!0)}),onPointerLeave:(0,l.M)(e.onPointerLeave,()=>{u.onTriggerLeave(),m.current=!1}),onPointerDown:(0,l.M)(e.onPointerDown,()=>{g.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,l.M)(e.onFocus,()=>{g.current||u.onOpen()}),onBlur:(0,l.M)(e.onBlur,u.onClose),onClick:(0,l.M)(e.onClick,u.onClose)})))}),[R,L]=v("TooltipPortal",{forceMount:void 0}),P="TooltipContent",O=(0,o.forwardRef)((e,t)=>{let n=L(P,e.__scopeTooltip),{forceMount:l=n.forceMount,side:i="top",...a}=e,u=_(P,e.__scopeTooltip);return(0,o.createElement)(d.z,{present:l||u.open},u.disableHoverableContent?(0,o.createElement)(B,(0,r.Z)({side:i},a,{ref:t})):(0,o.createElement)(I,(0,r.Z)({side:i},a,{ref:t})))}),I=(0,o.forwardRef)((e,t)=>{let n=_(P,e.__scopeTooltip),l=w(P,e.__scopeTooltip),a=(0,o.useRef)(null),u=(0,i.e)(t,a),[c,s]=(0,o.useState)(null),{trigger:d,onClose:p}=n,f=a.current,{onPointerInTransitChange:h}=l,g=(0,o.useCallback)(()=>{s(null),h(!1)},[h]),m=(0,o.useCallback)((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=function(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),l=Math.abs(t.left-e.x);switch(Math.min(n,r,o,l)){case l:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}(r,n.getBoundingClientRect());s(function(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),function(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)}(t)}([...function(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}(r,o),...function(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}]}(t.getBoundingClientRect())])),h(!0)},[h]);return(0,o.useEffect)(()=>()=>g(),[g]),(0,o.useEffect)(()=>{if(d&&f){let e=e=>m(e,f),t=e=>m(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,m,g]),(0,o.useEffect)(()=>{if(c){let e=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=!function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let i=t[e].x,a=t[e].y,u=t[l].x,c=t[l].y;a>r!=c>r&&n<(u-i)*(r-a)/(c-a)+i&&(o=!o)}return o}(n,c);r?g():o&&(g(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,c,p,g]),(0,o.createElement)(B,(0,r.Z)({},e,{ref:u}))}),[Z,V]=v(T,{isInside:!1}),B=(0,o.forwardRef)((e,t)=>{let{__scopeTooltip:n,children:l,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:c,...d}=e,p=_(P,n),f=b(n),{onClose:g}=p;return(0,o.useEffect)(()=>(document.addEventListener(x,g),()=>document.removeEventListener(x,g)),[g]),(0,o.useEffect)(()=>{if(p.trigger){let e=e=>{let t=e.target;null!=t&&t.contains(p.trigger)&&g()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,g]),(0,o.createElement)(u.XB,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:g},(0,o.createElement)(s.VY,(0,r.Z)({"data-state":p.stateAttribute},f,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)(h,null,l),(0,o.createElement)(Z,{scope:n,isInside:!0},(0,o.createElement)(y.f,{id:p.contentId,role:"tooltip"},i||l))))}),H=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:r=300,disableHoverableContent:l=!1,children:i}=e,[a,u]=(0,o.useState)(!0),c=(0,o.useRef)(!1),s=(0,o.useRef)(0);return(0,o.useEffect)(()=>{let e=s.current;return()=>window.clearTimeout(e)},[]),(0,o.createElement)(C,{scope:t,isOpenDelayed:a,delayDuration:n,onOpen:(0,o.useCallback)(()=>{window.clearTimeout(s.current),u(!1)},[]),onClose:(0,o.useCallback)(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(()=>u(!0),r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:(0,o.useCallback)(e=>{c.current=e},[]),disableHoverableContent:l},i)},A=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:l=!1,onOpenChange:i,disableHoverableContent:a,delayDuration:u}=e,d=w(T,e.__scopeTooltip),p=b(t),[f,h]=(0,o.useState)(null),g=(0,c.M)(),y=(0,o.useRef)(0),v=null!=a?a:d.disableHoverableContent,E=null!=u?u:d.delayDuration,C=(0,o.useRef)(!1),[_=!1,D]=(0,m.T)({prop:r,defaultProp:l,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(x))):d.onClose(),null==i||i(e)}}),M=(0,o.useMemo)(()=>_?C.current?"delayed-open":"instant-open":"closed",[_]),R=(0,o.useCallback)(()=>{window.clearTimeout(y.current),C.current=!1,D(!0)},[D]),L=(0,o.useCallback)(()=>{window.clearTimeout(y.current),D(!1)},[D]),P=(0,o.useCallback)(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{C.current=!0,D(!0)},E)},[E,D]);return(0,o.useEffect)(()=>()=>window.clearTimeout(y.current),[]),(0,o.createElement)(s.fC,p,(0,o.createElement)(k,{scope:t,contentId:g,open:_,stateAttribute:M,trigger:f,onTriggerChange:h,onTriggerEnter:(0,o.useCallback)(()=>{d.isOpenDelayed?P():R()},[d.isOpenDelayed,P,R]),onTriggerLeave:(0,o.useCallback)(()=>{v?L():window.clearTimeout(y.current)},[L,v]),onOpen:R,onClose:L,disableHoverableContent:v},n))},F=M,N=O}}]);