PageSourceSearch

https://2140.wtf/assets/tooltip-CTzg_BSQ.js

js 2140.wtf collected 2026-10-04 05:16:57 UTC 8,457 bytes, 1 lines download raw bytes

vendor: 8,457 bytes, line 1
1import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{ha as t}from"./lucide-icons-COCRnNA-.js";import{t as n}from"./jsx-runtime-BH1R-mb2.js";import{a as r,i,n as a}from"./dist-ByDN7mrb.js";import{a as o,r as s}from"./dist-BKT-bsr5.js";import{t as c}from"./dist-dKZBLgeu.js";import{r as l,t as u}from"./dist-fHHS21zh.js";import{t as d}from"./dist-Dy4qaoP5.js";import{a as f,i as p,n as m,r as h,t as g}from"./dist-BSG978wi.js";import{t as ee}from"./dist-Clt7Z8yQ.js";import{t as _}from"./dist-CU_q8xfW2.js";import{t as v}from"./utils-CkIZfGh5.js";var y=e(t(),1),b=n(),[x,S]=i(`Tooltip`,[f]),C=f(),w=`TooltipProvider`,T=700,E=`tooltip.open`,[D,O]=x(w),k=e=>{let{__scopeTooltip:t,delayDuration:n=T,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=y.useRef(!0),s=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,b.jsx)(D,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:y.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};k.displayName=w;var A=`Tooltip`,[te,j]=x(A),M=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=O(A,e.__scopeTooltip),l=C(t),[u,f]=y.useState(null),m=d(),h=y.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,v=y.useRef(!1),[x,S]=ee({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(E))):c.onClose(),a?.(e)},caller:A}),w=y.useMemo(()=>x?v.current?`delayed-open`:`instant-open`:`closed`,[x]),T=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,S(!0)},[S]),D=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,S(!1)},[S]),k=y.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,S(!0),h.current=0},_)},[_,S]);return y.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,b.jsx)(p,{...l,children:(0,b.jsx)(te,{scope:t,contentId:m,open:x,stateAttribute:w,trigger:u,onTriggerChange:f,onTriggerEnter:y.useCallback(()=>{c.isOpenDelayedRef.current?k():T()},[c.isOpenDelayedRef,k,T]),onTriggerLeave:y.useCallback(()=>{g?D():(window.clearTimeout(h.current),h.current=0)},[D,g]),onOpen:T,onClose:D,disableHoverableContent:g,children:n})})};M.displayName=A;var N=`TooltipTrigger`,P=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...i}=e,s=j(N,n),c=O(N,n),l=C(n),u=o(t,y.useRef(null),s.onTriggerChange),d=y.useRef(!1),f=y.useRef(!1),p=y.useCallback(()=>d.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),(0,b.jsx)(g,{asChild:!0,...l,children:(0,b.jsx)(a.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:u,onPointerMove:r(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!c.isPointerInTransitRef.current&&(s.onTriggerEnter(),f.current=!0)}),onPointerLeave:r(e.onPointerLeave,()=>{s.onTriggerLeave(),f.current=!1}),onPointerDown:r(e.onPointerDown,()=>{s.open&&s.onClose(),d.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:r(e.onFocus,()=>{d.current||s.onOpen()}),onBlur:r(e.onBlur,s.onClose),onClick:r(e.onClick,s.onClose)})})});P.displayName=N;var F=`TooltipPortal`,[I,L]=x(F,{forceMount:void 0}),ne=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=j(F,t);return(0,b.jsx)(I,{scope:t,forceMount:n,children:(0,b.jsx)(c,{present:n||a.open,children:(0,b.jsx)(u,{asChild:!0,container:i,children:r})})})};ne.displayName=F;var R=`TooltipContent`,z=y.forwardRef((e,t)=>{let n=L(R,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=j(R,e.__scopeTooltip);return(0,b.jsx)(c,{present:r||o.open,children:o.disableHoverableContent?(0,b.jsx)(W,{side:i,...a,ref:t}):(0,b.jsx)(B,{side:i,...a,ref:t})})}),B=y.forwardRef((e,t)=>{let n=j(R,e.__scopeTooltip),r=O(R,e.__scopeTooltip),i=y.useRef(null),a=o(t,i),[s,c]=y.useState(null),{trigger:l,onClose:u}=n,d=i.current,{onPointerInTransitChange:f}=r,p=y.useCallback(()=>{c(null),f(!1)},[f]),m=y.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=J(r,q(r,n.getBoundingClientRect())),a=Y(t.getBoundingClientRect());c(re([...i,...a])),f(!0)},[f]);return y.useEffect(()=>()=>p(),[p]),y.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),y.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!X(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,b.jsx)(W,{...e,ref:a})}),[V,H]=x(A,{isInside:!1}),U=s(`TooltipContent`),W=y.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=j(R,n),u=C(n),{onClose:d}=c;return y.useEffect(()=>(document.addEventListener(E,d),()=>document.removeEventListener(E,d)),[d]),y.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,d]),(0,b.jsx)(l,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,b.jsxs)(h,{"data-state":c.stateAttribute,...u,...s,ref:t,style:{...s.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,b.jsx)(U,{children:r}),(0,b.jsx)(V,{scope:n,isInside:!0,children:(0,b.jsx)(_,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});z.displayName=R;var G=`TooltipArrow`,K=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=C(n);return H(G,n).isInside?null:(0,b.jsx)(m,{...i,...r,ref:t})});K.displayName=G;function q(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`)}}function J(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});break}return r}function Y(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}]}function X(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}function re(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)),ie(t)}function ie(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)}var ae=k,oe=M,se=P,Z=z,Q=ae,ce=oe,le=se,$=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,b.jsx)(Z,{ref:r,sideOffset:t,className:v(`z-[200] overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));$.displayName=Z.displayName;export{le as i,$ as n,Q as r,ce as t};

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.