1import{a as e,t}from"./react-B7JSOICP.js";import{i as n}from"./Heading-BuuAx7EG.js";import{t as r}from"./jsx-runtime-By3aTQtn.js";import{f as i,o as a,p as o,s}from"./createLucideIcon-Xc70zii_.js";import{a as c,c as l,d as u,f as d,h as f,i as p,m,r as h}from"./Combination-CIGYqNbr.js";import{a as g,i as _,o as v,r as y}from"./Popover-C02vFE37.js";var b=e(t(),1),x=r(),S=Object.defineProperty,C=(e,t)=>S(e,`name`,{value:t,configurable:!0}),w=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),T=b.forwardRef(C(function(e,t){return(0,x.jsx)(n.span,{...e,ref:t,style:{...w,...e.style}})},`VisuallyHidden`)),E=Object.defineProperty,D=(e,t)=>E(e,`name`,{value:t,configurable:!0}),[O,k]=u(`Tooltip`,[v]),A=v(),j=`TooltipProvider`,M=700,N=`tooltip.open`,[P,F]=O(j),I=D(e=>{let{__scopeTooltip:t,delayDuration:n=M,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=b.useRef(!0),s=b.useRef(!1),c=b.useRef(0);return b.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(P,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:b.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:b.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:b.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),L=`Tooltip`,[ee,R]=O(L),z=D(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=F(L,e.__scopeTooltip),u=A(t),[d,f]=b.useState(null),[p,m]=b.useState(void 0),_=c(),v=b.useRef(0),y=o??l.disableHoverableContent,S=s??l.delayDuration,C=b.useRef(!1),[w,T]=h({prop:r,defaultProp:i??!1,onChange:D(e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(N))):l.onClose(),a?.(e)},`onChange`),caller:L}),E=b.useMemo(()=>w?C.current?`delayed-open`:`instant-open`:`closed`,[w]),O=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,C.current=!1,T(!0)},[T]),k=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,T(!1)},[T]),j=b.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{C.current=!0,T(!0),v.current=0},S)},[S,T]);b.useEffect(()=>()=>{v.current&&=(window.clearTimeout(v.current),0)},[]);let M=p??_;return(0,x.jsx)(g,{...u,children:(0,x.jsx)(ee,{scope:t,contentId:M,setContentId:m,open:w,stateAttribute:E,trigger:d,onTriggerChange:f,onTriggerEnter:b.useCallback(()=>{l.isOpenDelayedRef.current?j():O()},[l.isOpenDelayedRef,j,O]),onTriggerLeave:b.useCallback(()=>{y?k():(window.clearTimeout(v.current),v.current=0)},[k,y]),onOpen:O,onClose:k,disableHoverableContent:y,children:n})})},`Tooltip`),B=`TooltipTrigger`,te=b.forwardRef(D(function(e,t){let{__scopeTooltip:r,...i}=e,a=R(B,r),s=F(B,r),c=A(r),l=b.useRef(null),u=o(t,l,a.onTriggerChange),f=b.useRef(!1),p=b.useRef(!1),m=b.useCallback(()=>f.current=!1,[]);return b.useEffect(()=>()=>document.removeEventListener(`pointerup`,m),[m]),(0,x.jsx)(y,{asChild:!0,...c,children:(0,x.jsx)(n.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...i,ref:u,onPointerMove:d(e.onPointerMove,e=>{e.pointerType!==`touch`&&!p.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),p.current=!0)}),onPointerLeave:d(e.onPointerLeave,()=>{a.onTriggerLeave(),p.current=!1}),onPointerDown:d(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener(`pointerup`,m,{once:!0})}),onFocus:d(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:d(e.onBlur,a.onClose),onClick:d(e.onClick,a.onClose)})})},`TooltipTrigger`)),V=`TooltipPortal`,[ne,re]=O(V,{forceMount:void 0}),H=D(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=R(V,t);return(0,x.jsx)(ne,{scope:t,forceMount:n,children:(0,x.jsx)(p,{present:n||a.open,children:(0,x.jsx)(m,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),U=`TooltipContent`,W=b.forwardRef(D(function(e,t){let n=re(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=R(U,e.__scopeTooltip);return(0,x.jsx)(p,{present:r||o.open,children:o.disableHoverableContent?(0,x.jsx)(q,{side:i,...a,ref:t}):(0,x.jsx)(G,{side:i,...a,ref:t})})},`TooltipContent`)),G=b.forwardRef(D(function(e,t){let n=R(U,e.__scopeTooltip),r=F(U,e.__scopeTooltip),i=b.useRef(null),a=o(t,i),[s,c]=b.useState(null),{trigger:l,onClose:u}=n,d=i.current,{onPointerInTransitChange:f}=r,p=b.useCallback(()=>{c(null),f(!1)},[f]),m=b.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Y(r,J(r,n.getBoundingClientRect())),a=X(t.getBoundingClientRect()),o=Q([...i,...a]);c(o),f(!0)},[f]);return b.useEffect(()=>()=>
1p(),[p]),b.useEffect(()=>{if(l&&d){let e=D(e=>m(e,d),`handleTriggerLeave`),t=D(e=>m(e,l),`handleContentLeave`);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),b.useEffect(()=>{if(s){let e=D(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!Z(n,s);r?p():i&&(p(),u())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,x.jsx)(q,{...e,ref:a})},`TooltipContentHoverable`)),K=i(`TooltipContent`),q=b.forwardRef(D(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,u=R(U,n),d=A(n),{onClose:p}=u;b.useEffect(()=>(document.addEventListener(N,p),()=>document.removeEventListener(N,p)),[p]),b.useEffect(()=>{if(u.trigger){let e=D(e=>{e.target instanceof Node&&e.target.contains(u.trigger)&&p()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[u.trigger,p]);let{setContentId:m}=u;return f(()=>(m(a),()=>{m(void 0)}),[a,m]),(0,x.jsx)(l,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:p,children:(0,x.jsxs)(_,{"data-state":u.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:u.contentId,...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,x.jsx)(K,{children:r}),i?(0,x.jsx)(T,{id:u.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function J(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}D(J,`getExitSideFromRect`);function Y(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}D(Y,`getPaddedExitPoints`);function X(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}D(X,`getPointsFromRect`);function Z(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}D(Z,`isPointInPolygon`);function Q(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)),$(t)}D(Q,`getHull`);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(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}D($,`getHullPresorted`);var ie=I,ae=z,oe=te,se=H,ce=W,le=a({base:s(`z-100 overflow-hidden`,`rounded-md px-3 py-1.5`,`text-xs text-primary-foreground bg-gray-100 shadow-sm`,`data-[state=delayed-open]:animate-fade-zoom-in data-[state=closed]:animate-fade-zoom-out`)}),ue=ie,de=ae,fe=oe;function pe({className:e,sideOffset:t=4,...n}){return(0,x.jsx)(se,{children:(0,x.jsx)(ce,{sideOffset:t,className:le({className:e}),...n})})}export{w as a,fe as i,pe as n,ue as r,de as t}; 2//# sourceMappingURL=Tooltip-N-e4AMhT.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.