1import{r as a,aq as M,j as s,am as k,an as l,gi as H,ap as F,ao as I,aj as U}from"./index-D9xPWcr8.js";import{R as $,A as W,c as T,C as z,a as B}from"./index-CkmduF8v.js";import{P as G,D as K}from"./index-Dgd2aRUl.js";var b,R="HoverCard",[O]=I(R,[T]),S=T(),[q,w]=O(R),_=e=>{const{__scopeHoverCard:o,children:t,open:c,defaultOpen:n,onOpenChange:i,openDelay:f=700,closeDelay:v=300}=e,d=S(o),C=a.useRef(0),u=a.useRef(0),h=a.useRef(!1),p=a.useRef(!1),[x,r]=M({prop:c,defaultProp:n??!1,onChange:i,caller:R}),m=a.useCallback(()=>{clearTimeout(u.current),C.current=window.setTimeout(()=>r(!0),f)},[f,r]),A=a.useCallback(()=>{clearTimeout(C.current),!h.current&&!p.current&&(u.current=window.setTimeout(()=>r(!1),v))},[v,r]),L=a.useCallback(()=>r(!1),[r]);return a.useEffect(()=>()=>{clearTimeout(C.current),clearTimeout(u.current)},[]),s.jsx(q,{scope:o,open:x,onOpenChange:r,onOpen:m,onClose:A,onDismiss:L,hasSelectionRef:h,isPointerDownOnContentRef:p,children:s.jsx($,{...d,children:t})})};_.displayName=R;var y="HoverCardTrigger",N=a.forwardRef((e,o)=>{const{__scopeHoverCard:t,...c}=e,n=w(y,t),i=S(t);return s.jsx(W,{asChild:!0,...i,children:s.jsx(k.a,{"data-state":n.open?"open":"closed",...c,ref:o,onPointerEnter:l(e.onPointerEnter,g(n.onOpen)),onPointerLeave:l(e.onPointerLeave,g(n.onClose)),onFocus:l(e.onFocus,n.onOpen),onBlur:l(e.onBlur,n.onClose),onTouchStart:l(e.onTouchStart,f=>f.preventDefault())})})});N.displayName=y;var E="HoverCardPortal",[V,J]=O(E,{forceMount:void 0}),D=e=>{const{__scopeHoverCard:o,forceMount:t,children:c,container:n}=e,i=w(E,o);return s.jsx(V,{scope:o,forceMount:t,children:s.jsx(H,{present:t||i.open,children:s.jsx(G,{asChild:!0,container:n,children:c})})})};D.displayName=E;var P="HoverCardContent",j=a.forwardRef((e,o)=>{const t=J(P,e.__scopeHoverCard),{forceMount:c=t.forceMount,...n}=e,i=w(P,e.__scopeHoverCard);return s.jsx(H,{present:c||i.open,children:s.jsx(Q,{"data-state":i.open?"open":"closed",...n,onPointerEnter:l(e.onPointerEnter,g(i.onOpen)),onPointerLeave:l(e.onPointerLeave,g(i.onClose)),ref:o})})});j.displayName=P;var Q=a.forwardRef((e,o)=>{const{__scopeHoverCard:t,onEscapeKeyDown:c,onPointerDownOutside:n,onFocusOutside:i,onInteractOutside:f,...v}=e,d=w(P,t),C=S(t),u=a.useRef(null),h=F(o,u),[p,x]=a.useState(!1);return a.useEffect(()=>{if(p){const r=document.body;return b=r.style.userSelect||r.style.webkitUserSelect,r.style.userSelect="none",r.style.webkitUserSelect="none",()=>{r.style.userSelect=b,r.style.webkitUserSelect=b}}},[p]),a.useEffect(()=>{if(u.current){const r=()=>{x(!1),d.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(d.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",r),()=>{document.removeEventListener("pointerup",r),d.hasSelectionRef.current=!1,d.isPointerDownOnContentRef.current=!1}}},[d.isPointerDownOnContentRef,d.hasSelectionRef]),a.useEffect(()=>{u.current&&Z(u.current).forEach(m=>m.setAttribute("tabindex","-1"))}),s.jsx(K,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:n,onFocusOutside:l(i,r=>{r.preventDefault()}),onDismiss:d.onDismiss,children:s.jsx(z,{...C,...v,onPointerDown:l(v.onPointerDown,r=>{r.currentTarget.contains(r.target)&&x(!0),d.hasSelectionRef.current=!1,d.isPointerDownOnContentRef.current=!0}),ref:h,style:{...v.style,userSelect:p?"text":void 0,WebkitUserSelect:p?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),X="HoverCardArrow",Y=a.forwardRef((e,o)=>{const{__scopeHoverCard:t,...c}=e,n=S(t);return s.jsx(B,{...n,...c,ref:o})});Y.displayName=X;function g(e){return o=>o.pointerType==="touch"?void 0:e()}function Z(e){const o=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:c=>c.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)o.push(t.currentNode);return o}var ee=_,re=N,oe=D,te=j;function ce({...e}){return s.jsx(ee,{"data-slot":"hover-card",...e})}function ie({...e}){return s.jsx(re,{"data-slot":"hover-card-trigger",...e})}function de({className:e,align:o="center",side:t="right",sideOffset:c=8,collisionPadding:n=12,...i}){return s.jsx(oe,{"data-slot":"hover-card-portal",children:s.jsx(te,{"data-slot":"hover-card-content",align:o,side:t,sideOffset:c,collisionPadding:n,className:U("z-50 w-64 roun
1ded-md bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 shadow-xl outline-none duration-100 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...i})})}export{ce as H,ie as a,de as b};
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.