PageSourceSearch

https://www.gemphere.com/assets/EnterpriseSearch-DDER1bYJ.js

js gemphere.com collected 2026-10-02 01:30:08 UTC 48,298 bytes, 16 lines download raw bytes

vendor: 17,426 bytes, lines 1-16
1import{bm as ve,j as e,bE as S,bF as ar,bG as or,r as n,bH as G,bI as J,bJ as ae,bK as V,bL as z,bM as nr,bN as lr,bO as ir,bP as Q,bQ as re,bR as Ee,bS as me,bT as Ae,bU as cr,bV as dr,bW as mr,bX as _e,bY as ur,bZ as Re,ab as ue}from"./index-t4UNL-er.js";import{H as hr,C as he,a as pr,b as xr,c as fr}from"./card-DbH3HPdJ.js";import{u as gr}from"./index-BjqtNt-N.js";import{c as br,S as vr,a as wr,b as yr,d as jr,e as pe}from"./select-CwLWroP5.js";import{T as Nr}from"./textarea-DsOhmRUW.js";import{M as Sr}from"./map-pin-Bs8yA5Hl.js";import{B as kr}from"./briefcase-DoSn8kXa.js";import"./Combination-HGhFtX4F.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const Le=ve("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
7 * @license lucide-react v0.462.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const Cr=ve("Landmark",[["line",{x1:"3",x2:"21",y1:"22",y2:"22",key:"j8o0r"}],["line",{x1:"6",x2:"6",y1:"18",y2:"11",key:"10tf0k"}],["line",{x1:"10",x2:"10",y1:"18",y2:"11",key:"54lgf6"}],["line",{x1:"14",x2:"14",y1:"18",y2:"11",key:"380y"}],["line",{x1:"18",x2:"18",y1:"18",y2:"11",key:"1kevvc"}],["polygon",{points:"12 2 20 7 4 7",key:"jkujk7"}]]);/**
12 * @license lucide-react v0.462.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */const Pr=ve("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),Tr=ar("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function _({className:r,variant:s,...t}){return e.jsx("div",{className:S(Tr({variant:s}),r),...t})}function Er(r,s){return n.useReducer((t,l)=>s[t][l]??t,r)}var we="ScrollArea",[Me,lt]=or(we),[Ar,T]=Me(we),He=n.forwardRef((r,s)=>{const{__scopeScrollArea:t,type:l="hover",dir:o,scrollHideDelay:c=600,...a}=r,[d,m]=n.useState(null),[u,h]=n.useState(null),[x,p]=n.useState(null),[b,k]=n.useState(null),[Y,q]=n.useState(null),[L,C]=n.useState(0),[M,E]=n.useState(0),[H,I]=n.useState(!1),[F,O]=n.useState(!1),w=G(s,D=>m(D)),N=gr(o);return e.jsx(Ar,{scope:t,type:l,dir:N,scrollHideDelay:c,scrollArea:d,viewport:u,onViewportChange:h,content:x,onContentChange:p,scrollbarX:b,onScrollbarXChange:k,scrollbarXEnabled:H,onScrollbarXEnabledChange:I,scrollbarY:Y,onScrollbarYChange:q,scrollbarYEnabled:F,onScrollbarYEnabledChange:O,onCornerWidthChange:C,onCornerHeightChange:E,children:e.jsx(J.div,{dir:N,...a,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":L+"px","--radix-scroll-area-corner-height":M+"px",...r.style}})})});He.displayName=we;var Fe="ScrollAreaViewport",Oe=n.forwardRef((r,s)=>{const{__scopeScrollArea:t,children:l,nonce:o,...c}=r,a=T(Fe,t),d=n.useRef(null),m=G(s,d,a.onViewportChange);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),e.jsx(J.div,{"data-radix-scroll-area-viewport":"",...c,ref:m,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...r.style},children:e.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});Oe.displayName=Fe;var R="ScrollAreaScrollbar",ye=n.forwardRef((r,s)=>{const{forceMount:t,...l}=r,o=T(R,r.__scopeScrollArea),{onScrollbarXEnabledChange:c,onScrollbarYEnabledChange:a}=o,d=r.orientation==="horizontal";return n.useEffect(()=>(d?c(!0):a(!0),()=>{d?c(!1):a(!1)}),[d,c,a]),o.type==="hover"?e.jsx(Rr,{...l,ref:s,forceMount:t}):o.type==="scroll"?e.jsx(Lr,{...l,ref:s,forceMount:t}):o.type==="auto"?e.jsx(Ue,{...l,ref:s,forceMount:t}):o.type==="always"?e.jsx(je,{...l,ref:s}):null});ye.displayName=R;var Rr=n.forwardRef((r,s)=>{const{forceMount:t,...l}=r,o=T(R,r.__scopeScrollArea),[c,a]=n.useState(!1);return n.useEffect(()=>{const d=o.scrollArea;let m=0;if(d){const u=()=>{window.clearTimeout(m),a(!0)},h=()=>{m=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return d.addEventListener("pointerenter",u),d.addEventListener("pointerleave",h),()=>{window.clearTimeout(m),d.removeEventListener("pointerenter",u),d.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),e.jsx(ae,{present:t||c,children:e.jsx(Ue,{"data-state":c?"visible":"hidden",...l,ref:s})})}),Lr=n.forwardRef((r,s)=>{const{forceMount:t,...l}=r,o=T(R,r.__scopeScrollArea),c=r.orientation==="horizontal",a=ne(()=>m("SCROLL_END"),100),[d,m]=Er("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return n.useEffect(()=>{if(d==="idle"){const u=window.setTimeout(()=>m("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(u)}},[d,o.scrollHideDelay,m]),n.useEffect(()=>{const u=o.viewport,h=c?"scrollLeft":"scrollTop";if(u){let x=u[h];const p=()=>{const b=u[h];x!==b&&(m("SCROLL"),a()),x=b};return u.addEventListener("scroll",p),()=>u.removeEventListener("scroll",p)}},[o.viewport,c,m,a]),e.jsx(ae,{present:t||d!=="hidden",children:e.jsx(je,{"data-state":d==="hidden"?"hidden":"visible",...l,ref:s,onPointerEnter:V(r.onPointerEnter,()=>m("POINTER_ENTER")),onPointerLeave:V(r.onPointerLeave,()=>m("POINTER_LEAVE"))})})}),Ue=n.forwardRef((r,s)=>{const t=T(R,r.__scopeScrollArea),{forceMount:l,...o}=r,[c,a]=n.useState(!1),d=r.orientation==="horizontal",m=ne(()=>{if(t.viewport){const u=t.viewport.offsetWidth<t.viewport.scrollWidth,h=t.viewport.offsetHeight<t.viewport.scrollHeight;a(d?u:h)}},10);return $(t.viewport,m),$(t.content,m),e.jsx(ae,{present:l||c,children:e.jsx(je,{"data-state":c?"visible":"hidden",...o,ref:s})})}),je=n.forwardRef((r,s)=>{const{orientation:t="vertical",...l}=r,o=T(R,r.__scopeScrollArea),c=n.useRef(null),a=n.useRef(0),[d,m]=n.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=Ye(d.viewport,d.content),h={...l,sizes:d,onSizesChange:m,hasThumb:u>0&&u<1,onThumbChange:p=>c.current=p,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:p=>a.current=p};function x(p,b){return Fr(p,a.current,d,b)}return t==="horizontal"?e.jsx(Ir,{...h,ref:s,onThumbPositionChange:()=>{if(o.viewport&&c.current){const p=o.viewport.scrollLeft,b=Ie(p,d,o.dir);c.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:p=>{o.viewport&&(o.viewport.scrollLeft=p)},onDragScroll:p=>{o.viewport&&(o.viewport.scrollLeft=x(p,o.dir))}}):t==="vertical"?e.jsx(Dr,{...h,ref:s,onThumbPositionChange:()=>{if(o.viewport&&c.current){const p=o.viewport.scrollTop,b=Ie(p,d);c.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:p=>{o.viewport&&(o.viewport.scrollTop=p)},onDragScroll:p=>{o.viewport&&(o.viewport.scrollTop=x(p))}}):null}),Ir=n.forwardRef((r,s)=>{const{sizes:t,onSizesChange:l,...o}=r,c=T(R,r.__scopeScrollArea),[a,d]=n.useState(),m=n.useRef(null),u=G(s,m,c.onScrollbarXChange);return n.useEffect(()=>{m.current&&d(getComputedStyle(m.current))},[m]),e.jsx(Be,{"data-orientation":"horizontal",...o,ref:u,sizes:t,style:{bottom:0,left:c.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:c.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":oe(t)+"px",...r.style},onThumbPointerDown:h=>r.onThumbPointerDown(h.x),onDragScroll:h=>r.onDragScroll(h.x),onWheelScroll:(h,x)=>{if(c.viewport){const p=c.viewport.scrollLeft+h.deltaX;r.onWheelScroll(p),Xe(p,x)&&h.preventDefault()}},onResize:()=>{m.current&&c.viewport&&a&&l({content:c.viewport.scrollWidth,viewport:c.viewport.offsetWidth,scrollbar:{size:m.current.clientWidth,paddingStart:se(a.paddingLeft),paddingEnd:se(a.paddingRight)}})}})}),Dr=n.forwardRef((r,s)=>{const{sizes:t,onSizesChange:l,...o}=r,c=T(R,r.__scopeScrollArea),[a,d]=n.useState(),m=n.useRef(null),u=G(s,m,c.onScrollbarYChange);return n.useEffect(()=>{m.current&&d(getComputedStyle(m.current))},[m]),e.jsx(Be,{"data-orientation":"vertical",...o,ref:u,sizes:t,style:{top:0,right:c.dir==="ltr"?0:void 0,left:c.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":oe(t)+"px",...r.style},onThumbPointerDown:h=>r.onThumbPointerDown(h.y),onDragScroll:h=>r.onDragScroll(h.y),onWheelScroll:(h,x)=>{if(c.viewport){const p=c.viewport.scrollTop+h.deltaY;r.onWheelScroll(p),Xe(p,x)&&h.preventDefault()}},onResize:()=>{m.current&&c.viewport&&a&&l({content:c.viewport.scrollHeight,viewport:c.viewport.offsetHeight,scrollbar:{size:m.current.clientHeight,paddingStart:se(a.paddingTop),paddingEnd:se(a.paddingBottom)}})}})}),[_r,We]=Me(R),Be=n.forwardRef((r,s)=>{const{__scopeScrollArea:t,sizes:l,hasThumb:o,onThumbChange:c,onThumbPointerUp:a,onThumbPointerDown:d,onThumbPositionChange:m,onDragScroll:u,onWheelScroll:h,onResize:x,...p}=r,b=T(R,t),[k,Y]=n.useState(null),q=G(s,w=>Y(w)),L=n.useRef(null),C=n.useRef(""),M=b.viewport,E=l.content-l.viewport,H=z(h),I=z(m),F=ne(x,10);function O(w){if(L.current){const N=w.clientX-L.current.left,D=w.clientY-L.current.top;u({x:N,y:D})}}return n.useEffect(()=>{const w=N=>{const D=N.target;(k==null?void 0:k.contains(D))&&H(N,E)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[M,k,E,H]),n.useEffect(I,[l,I]),$(k,F),$(b.content,F),e.jsx(_r,{scope:t,scrollbar:k,hasThumb:o,onThumbChange:z(c),onThumbPointerUp:z(a),onThumbPositionChange:I,onThumbPointerDown:z(d),children:e.jsx(J.div,{...p,ref:q,style:{position:"absolute",...p.style},onPointerDown:V(r.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),L.current=k.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",b.viewport&&(b.viewport.style.scrollBehavior="auto"),O(w))}),onPointerMove:V(r.onPointerMove,O),onPointerUp:V(r.onPointerUp,w=>{const N=w.target;N.hasPointerCapture(w.pointerId)&&N.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,b.viewport&&(b.viewport.style.scrollBehavior=""),L.current=null})})})}),te="ScrollAreaThumb",ze=n.forwardRef((r,s)=>{const{forceMount:t,...l}=r,o=We(te,r.__scopeScrollArea);return e.jsx(ae,{present:t||o.hasThumb,children:e.jsx(Mr,{ref:s,...l})})}),Mr=n.forwardRef((r,s)=>{const{__scopeScrollArea:t,style:l,...o}=r,c=T(te,t),a=We(te,t),{onThumbPositionChange:d}=a,m=G(s,x=>a.onThumbChange(x)),u=n.useRef(void 0),h=ne(()=>{u.current&&(u.current(),u.current=void 0)},100);return n.useEffect(()=>{const x=c.viewport;if(x){const p=()=>{if(h(),!u.current){const b=Or(x,d);u.current=b,d()}};return d(),x.addEventListener("scroll",p),()=>x.removeEventListener("scroll",p)}},[c.viewport,h,d]),e.jsx(J.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:m,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:V(r.onPointerDownCapture,x=>{const b=x.target.getBoundingClientRect(),k=x.clientX-b.left,Y=x.clientY-b.top;a.onThumbPointerDown({x:k,y:Y})}),onPointerUp:V(r.onPointerUp,a.onThumbPointerUp)})});ze.displayName=te;var Ne="ScrollAreaCorner",Ve=n.forwardRef((r,s)=>{const t=T(Ne,r.__scopeScrollArea),l=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&l?e.jsx(Hr,{...r,ref:s}):null});Ve.displayName=Ne;var Hr=n.forwardRef((r,s)=>{const{__scopeScrollArea:t,...l}=r,o=T(Ne,t),[c,a]=n.useState(0),[d,m]=n.useState(0),u=!!(c&&d);return $(o.scrollbarX,()=>{var x;const h=((x=o.scrollbarX)==null?void 0:x.offsetHeight)||0;o.onCornerHeightChange(h),m(h)}),$(o.scrollbarY,()=>{var x;const h=((x=o.scrollbarY)==null?void 0:x.offsetWidth)||0;o.onCornerWidthChange(h),a(h)}),u?e.jsx(J.div,{...l,ref:s,style:{width:c,height:d,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function se(r){return r?parseInt(r,10):0}function Ye(r,s){const t=r/s;return isNaN(t)?0:t}function oe(r){const s=Ye(r.viewport,r.content),t=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=(r.scrollbar.size-t)*s;return Math.max(l,18)}function Fr(r,s,t,l="ltr"){const o=oe(t),c=o/2,a=s||c,d=o-a,m=t.scrollbar.paddingStart+a,u=t.scrollbar.size-t.scrollbar.paddingEnd-d,h=t.content-t.viewport,x=l==="ltr"?[0,h]:[h*-1,0];return qe([m,u],x)(r)}function Ie(r,s,t="ltr"){const l=oe(s),o=s.scrollbar.paddingStart+s.scrollbar.paddingEnd,c=s.scrollbar.size-o,a=s.content-s.viewport,d=c-l,m=t==="ltr"?[0,a]:[a*-1,0],u=br(r,m);return qe([0,a],[0,d])(u)}function qe(r,s){return t=>{if(r[0]===r[1]||s[0]===s[1])return s[0];const l=(s[1]-s[0])/(r[1]-r[0]);return s[0]+l*(t-r[0])}}function Xe(r,s){return r>0&&r<s}var Or=(r,s=()=>{})=>{let t={left:r.scrollLeft,top:r.scrollTop},l=0;return function o(){const c={left:r.scrollLeft,top:r.scrollTop},a=t.left!==c.left,d=t.top!==c.top;(a||d)&&s(),t=c,l=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(l)};function ne(r,s){const t=z(r),l=n.useRef(0);return n.useEffect(()=>()=>window.clearTimeout(l.current),[]),n.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(t,s)},[t,s])}function $(r,s){const t=z(s);nr(()=>{let l=0;if(r){const o=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(t)});return o.observe(r),()=>{window.cancelAnimationFrame(l),o.unobserve(r)}}},[r,t])}var $e=He,Ur=Oe,Wr=Ve;const be=n.forwardRef(({className:r,children:s,...t},l)=>e.jsxs($e,{ref:l,className:S("relative overflow-hidden",r),...t,children:[e.jsx(Ur,{className:"h-full w-full rounded-[inherit]",children:s}),e.jsx(Ge,{}),e.jsx(Wr,{})]}));be.displayName=$e.displayName;const Ge=n.forwardRef(({className:r,orientation:s="vertical",...t},l)=>e.jsx(ye,{ref:l,orientation:s,className:S("flex touch-none select-none transition-colors",s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...t,children:e.jsx(ze,{className:"relative flex-1 rounded-full bg-border"})}));Ge.displayName=ye.displayName;var Br="Separator",De="horizontal",zr=["horizontal","vertical"],Je=n.forwardRef((r,s)=>{const{decorative:t,orientation:l=De,...o}=r,c=Vr(l)?l:De,d=t?{role:"none"}:{"aria-orientation":c==="vertical"?c:void 0,role:"separator"};return e.jsx(J.div,{"data-orientation":c,...d,...o,ref:s})});Je.displayName=Br;function Vr(r){return zr.includes(r)}var Ke=Je;const Qe=n.forwardRef(({className:r,orientation:s="horizontal",decorative:t=!0,...l},o)=>e.jsx(Ke,{ref:o,decorative:t,orientation:s,className:S("shrink-0 bg-border",s==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...l}));Qe.displayName=Ke.displayName;const Ze=n.forwardRef(({className:r,...s},t)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:t,className:S("w-full caption-bottom text-sm",r),...s})}));Ze.displayName="Table";const er=n.forwardRef(({className:r,...s},t)=>e.jsx("thead",{ref:t,className:S("[&_tr]:border-b",r),...s}));er.displayName="TableHeader";const rr=n.forwardRef(({className:r,...s},t)=>e.jsx("tbody",{ref:t,className:S("[&_tr:last-child]:border-0",r),...s}));rr.displayName="TableBody";const Yr=n.forwardRef(({className:r,...s},t)=>e.jsx("tfoot",{ref:t,className:S("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",r),...s}));Yr.displayName="TableFooter";const Z=n.forwardRef(({className:r,...s},t)=>e.jsx("tr",{ref:t,className:S("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",r),...s}));Z.displayName="TableRow";const X=n.forwardRef(({className:r,...s},t)=>e.jsx("th",{ref:t,className:S("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",r),...s}));X.displayName="TableHead";const B=n.forwardRef(({className:r,...s},t)=>e.jsx("td",{ref:t,className:S("p-4 align-middle [&:has([role=checkbox])]:pr-0",r),...s}));B.displayName="TableCell";const qr=n.forwardRef(({className:r,...s},t)=>e.jsx("caption",{ref:t,className:S("mt-4 text-sm text-muted-foreground",r),...s}));qr.displayName="TableCaption";const Xr="Your team (J.P. Morgan)",xe=[{id:"p1",name:"Elena Vasquez",title:"Managing Partner",company:"Harbor Peak Ventures",hq:"San Francisco, CA",region:"US — West",role:"Investor",sectors:["Enterprise","Fintech"],stage:"Series A–C",matchScore:94,matchReasons:["Fintech thesis overlap","Recent LP intro path via alum"],warmPaths:[{id:"w1",strength:"strong",summary:"Shared o
16perating history + regional overlap",hops:[{name:"Marcus Chen",title:"MD, Technology Banking",org:"J.P. Morgan",linkToViewer:"Reports in your coverage pod",linkToTarget:"Served on same nonprofit board (2021–23)"}]},{id:"w2",strength:"medium",summary:"Investor network bridge",hops:[{name:"Priya Nair",title:"Partner",org:"Signal Ridge",linkToViewer:"Introduced by your team last quarter",linkToTarget:"Co-invested with Harbor Peak (2024)"}]}]},{id:"p2",name:"James Okonkwo",title:"CEO & Co-founder",company:"Lattice Dynamics",hq:"New York, NY",region:"US — Northeast",role:"Founder",sectors:["AI Infra","Developer Tools"],stage:"Series B",matchScore:89,matchReasons:["NYC ecosystem","Banking relationship in syndicate"],signals:["Closed Series B in 2024","Recently expanded eng team"],warmPaths:[{id:"w1",strength:"strong",summary:"Direct firm overlap",hops:[{name:"Danielle Frost",title:"VP, Corporate Banking",org:"J.P. Morgan",linkToViewer:"You work with her on the account plan",linkToTarget:"Met at NY Enterprise Tech meetup (warm)"}]}]},{id:"p3",name:"Sofia Lindström",title:"Principal",company:"Nordic Light Capital",hq:"Stockholm",region:"EU — Nordics",role:"Investor",sectors:["Climate","Deep Tech"],stage:"Growth",matchScore:86,matchReasons:["Climate vertical priority","Cross-border LP interest"],warmPaths:[{id:"w1",strength:"medium",summary:"Regional + sector bridge",hops:[{name:"Henrik Berg",title:"Head of Sustainable Finance",org:"J.P. Morgan",linkToViewer:"Same region cluster in internal directory",linkToTarget:"Speaker overlap at Slush 2025"}]},{id:"w2",strength:"exploratory",summary:"Academic tie",hops:[{name:"Dr. Amira Haddad",title:"Prof. of Materials",org:"ETH Zürich",linkToViewer:"Gemphere connection (2nd degree)",linkToTarget:"Technical advisor to portfolio co."}]}]},{id:"p4",name:"Michael Torres",title:"Head of Corporate Development",company:"Helix Systems",hq:"Austin, TX",region:"US — South",role:"Operator",sectors:["Healthcare IT","Security"],stage:"M&A active",matchScore:91,matchReasons:["Strategic buyer profile","Overlapping advisors"],signals:["Active M&A pipeline","Strategic acquirer"],warmPaths:[{id:"w1",strength:"strong",summary:"Board pathway",hops:[{name:"Laura Kim",title:"Independent Director",org:"Helix Systems",linkToViewer:"Former JPM colleague (TTS)",linkToTarget:"Board member — can sponsor intro"}]}]},{id:"p5",name:"Aisha Rahman",title:"Founder",company:"ClearLedger",hq:"London",region:"UK & Ireland",role:"Founder",sectors:["Fintech","Payments"],stage:"Seed",matchScore:88,matchReasons:["Payments coverage","Accelerator cohort match"],signals:["Seed round in progress","UK payments focus"],warmPaths:[{id:"w1",strength:"medium",summary:"Accelerator + city",hops:[{name:"Oliver Grant",title:"Programme Lead",org:"London Fintech Sandbox",linkToViewer:"Your team hosted a session there",linkToTarget:"Mentor to ClearLedger"}]}]},{id:"p6",name:"Robert Hale",title:"Partner",company:"Ironwood Growth",hq:"Chicago, IL",region:"US — Midwest",role:"Investor",sectors:["Industrials","Logistics"],stage:"Buyout / Growth",matchScore:82,matchReasons:["Middle-market coverage","Manufacturing network"],warmPaths:[{id:"w1",strength:"exploratory",summary:"Industry conference path",hops:[{name:"Kevin Walsh",title:"Director",org:"Association for Corporate Growth",linkToViewer:"Warm intro available via Gemphere",linkToTarget:"Chapter chair — knows Hale"}]}]},{id:"p7",name:"Jordan Reeves",title:"Head of AI",company:"Northbeam Analytics",hq:"San Jose, CA",region:"US — West",role:"Operator",sectors:["AI","Enterprise","Data"],stage:"Series D",matchScore:93,matchReasons:["AI leadership in Bay Area","Enterprise GTM overlap"],signals:["Hiring senior AI roles","Product launch Q1"],warmPaths:[{id:"w1",strength:"strong",summary:"Regional + AI practice overlap",hops:[{name:"Samira Okoye",title:"Director, Applied AI",org:"J.P. Morgan",linkToViewer:"Same internal AI guild",linkToTarget:"Met at Bay Area CIO roundtable"}]}]}];function $r(r){return r==="strong"?"bg-emerald-500/15 text-emerald-800 dark:text-emerald-300 border-emerald-500/30":r==="medium"?"bg-amber-500/15 text-amber-900 dark:text-amber-200 border-amber-500/30":"bg-slate-500/10 text-slate-700 dark:text-slate-300 border-border"}function le(r){const s=r.replace(/\s+/g," ").trim().split(" ").filter(
16Boolean);return s.length>=2?(s[0][0]+s[s.length-1][0]).toUpperCase():r.slice(0,2).toUpperCase()||"?"}function Gr(r){return r.map(s=>({id:s.id,name:s.name,title:s.title,company:s.company,hq:s.hq,region:s.region,role:s.role,sectors:s.sectors,stage:s.stage}))}function it(){var Ce,Pe,Te;const[r,s]=n.useState(xe),[t,l]=n.useState(!0),[o,c]=n.useState(!1),[a,d]=n.useState(null),[m,u]=n.useState(null),[h,x]=n.useState(""),[p,b]=n.useState("match"),[k,Y]=n.useState({Founder:!0,Investor:!0,Operator:!0,Advisor:!0}),[q,L]=n.useState(()=>Object.fromEntries(Array.from(new Set(xe.map(i=>i.region))).sort().map(i=>[i,!0]))),[C,M]=n.useState(((Ce=xe[0])==null?void 0:Ce.id)??null),[E,H]=n.useState(null),[I,F]=n.useState([]),[O,w]=n.useState(""),[N,D]=n.useState(!1),[W,ie]=n.useState(null),[sr,ce]=n.useState(!1),[Se,de]=n.useState(null);n.useEffect(()=>{const i=Array.from(new Set(r.map(g=>g.region))).sort();L(Object.fromEntries(i.map(g=>[g,!0])))},[r]),n.useEffect(()=>{let i=!1;return(async()=>{var g,P;try{u(null);const f=await lr(400);if(i)return;if(!((g=f.items)!=null&&g.length)){u("Live catalog returned no rows. On Heroku, set GEMPHERE_MYSQL_* on the gem-agent app and redeploy.");return}const y=f.items.map(j=>({id:j.id,name:j.name,title:j.title,company:j.company,hq:j.hq,region:j.region,role:j.role,sectors:j.sectors??[],stage:j.stage,signals:j.signals,matchScore:j.matchScore??70,matchReasons:j.matchReasons??[],warmPaths:[],linkedinUrl:j.linkedinUrl}));s(y),c(!0),d(f.totalApprox??y.length),M(((P=y[0])==null?void 0:P.id)??null),H(null)}catch(f){const y=f instanceof Error?f.message:String(f);u(y.includes("Failed to fetch")||y.includes("NetworkError")?"Could not reach the API (check site proxy / gem-agent URL).":y)}finally{i||l(!1)}})(),()=>{i=!0}},[]),n.useEffect(()=>{if(!o||!C||!/^(it|pf|ng)-\d+$/.test(C)){ie(null),de(null),ce(!1);return}let i=!1;return ce(!0),de(null),ir(C).then(g=>{i||ie(g)}).catch(g=>{i||(ie(null),de(g instanceof Error?g.message:String(g)))}).finally(()=>{i||ce(!1)}),()=>{i=!0}},[C,o]);const U=n.useMemo(()=>{const i=h.trim().toLowerCase();let g=r.filter(f=>k[f.role]);if(g=g.filter(f=>q[f.region]!==!1),E!==null){const f=new Set(E);g=g.filter(y=>f.has(y.id))}return i&&(g=g.filter(f=>{var y;return f.name.toLowerCase().includes(i)||f.company.toLowerCase().includes(i)||f.title.toLowerCase().includes(i)||f.sectors.some(j=>j.toLowerCase().includes(i))||f.hq.toLowerCase().includes(i)||(((y=f.signals)==null?void 0:y.some(j=>j.toLowerCase().includes(i)))??!1)})),[...g].sort((f,y)=>p==="match"?y.matchScore-f.matchScore:p==="name"?f.name.localeCompare(y.name):f.company.localeCompare(y.company))},[r,h,k,q,p,E]);async function ke(){const i=O.trim();if(!i||N)return;w("");const g={role:"user",content:i};F(P=>[...P,g]),D(!0);try{const P=Gr(r).slice(0,150),f=[...I,g].slice(-10).map(K=>({role:K.role,content:K.content})),{reply:y,matched_ids:j}=await ur({message:i,items:P,history:f});H(j),F(K=>[...K,{role:"assistant",content:y}])}catch(P){const f=P instanceof Error?P.message:"Request failed";F(y=>[...y,{role:"assistant",content:`Could not run the AI filter (${f}). Check that the profile service is running and OPENAI_API_KEY is set.`}])}finally{D(!1)}}n.useEffect(()=>{if(U.length===0){M(null);return}(!C||!U.some(i=>i.id===C))&&M(U[0].id)},[U,C]);const v=r.find(i=>i.id===C)??U[0]??null;return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(hr,{}),e.jsx("div",{className:"pt-[4.5rem] pb-10",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto space-y-4 px-3 sm:px-4 lg:px-6 pt-4",children:[e.jsxs("div",{className:"rounded-2xl border border-border/80 bg-gradient-to-br from-card via-card to-muted/30 px-4 py-4 sm:px-6 sm:py-5 shadow-sm",children:[e.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"space-y-3 min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Cr,{className:"h-5 w-5 text-muted-foreground shrink-0"}),e.jsx("h1",{className:"text-xl sm:text-2xl font-semibold tracking-tight text-foreground font-serif",children:"Enterprise Search"}),e.jsx(_,{variant:"outline",className:"font-normal text-xs border-dashed gap-1",children:t?e.jsxs(e.Fragment,{children:[e.jsx(Q,{className:"h-3 w-3 animate-spin"}
16),"Loading catalog…"]}):o?"Intel DB":"Demo data"})]}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-2xl leading-relaxed",children:"Relationship intelligence for institutional teams: use the AI assistant to describe who you want (title, city, funding, sector); results update from the catalog. Optional keyword narrows further. Warm intro paths stay illustrative until the graph is wired up."}),e.jsxs("div",{className:"flex flex-wrap gap-2 pt-1",children:[e.jsxs(_,{className:"bg-primary/10 text-foreground border border-primary/20 font-normal gap-1",children:[e.jsx(Pr,{className:"h-3 w-3"}),"Match scoring (preview)"]}),e.jsxs(_,{className:"bg-primary/10 text-foreground border border-primary/20 font-normal gap-1",children:[e.jsx(re,{className:"h-3 w-3"}),"Intro graph"]}),e.jsxs(_,{className:"bg-primary/10 text-foreground border border-primary/20 font-normal gap-1",children:[e.jsx(Ee,{className:"h-3 w-3"}),"AI filter (natural language)"]})]})]}),e.jsxs("div",{className:"flex gap-3 lg:text-right shrink-0",children:[e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/60 px-4 py-3 min-w-[140px]",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:"Universe"}),e.jsx("p",{className:"text-lg font-semibold tabular-nums",children:r.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:o&&a!=null&&a>r.length?`in view (${a.toLocaleString()} in DB)`:o?"profiles (intel)":"demo profiles"})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/60 px-4 py-3 min-w-[140px]",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:"Visible"}),e.jsx("p",{className:"text-lg font-semibold tabular-nums",children:U.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:E!==null?"after AI filter":"after filters"})]})]})]}),m&&e.jsxs("div",{className:"mt-4 rounded-lg border border-amber-500/35 bg-amber-500/10 px-3 py-2.5 text-sm text-foreground leading-snug",children:[e.jsx("span",{className:"font-medium",children:"Showing demo data — "}),m]})]}),e.jsxs("div",{className:"grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_minmax(380px,520px)] gap-4 items-start",children:[e.jsxs("div",{className:"space-y-3 min-w-0 xl:min-w-0",children:[e.jsx(he,{className:"border-border/70 shadow-sm overflow-hidden",children:e.jsxs("div",{className:"p-3 sm:p-4 border-b border-border/60 bg-muted/20",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(Ee,{className:"h-4 w-4 text-primary shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Ask AI to filter the catalog"}),E!==null&&e.jsxs(_,{variant:"secondary",className:"font-normal text-xs gap-1",children:[e.jsx(me,{className:"h-3 w-3"}),"Active"]})]}),E!==null&&e.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",className:"h-8 text-muted-foreground",onClick:()=>{H(null)},children:[e.jsx(cr,{className:"h-3.5 w-3.5 mr-1"}),"Clear AI filter"]})]}),e.jsx(be,{className:"h-[min(200px,28vh)] w-full rounded-md border border-border/60 bg-background/50 p-3 mb-3",children:I.length===0?e.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Examples: “Head of AI in San Jose”, “founders who raised recently”, “investors focused on climate in Europe”."}):e.jsxs("div",{className:"space-y-3 pr-2",children:[I.map((i,g)=>e.jsx("div",{className:S("text-sm rounded-lg px-3 py-2 max-w-[95%]",i.role==="user"?"ml-auto bg-primary/10 text-foreground border border-primary/15":"mr-auto bg-muted/60 text-foreground border border-border/60"),children:i.content},`${i.role}-${g}`)),N&&e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(Q,{className:"h-3.5 w-3.5 animate-spin"}),"Filtering…"]})]})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsx(Nr,{value:O,onChange:i=>w(i.target.value),onKeyDown:i=>{i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),ke())},placeholder:"Describe the people or companies you want to see…",className:"min-h-[72px] resize-y bg-background text-sm",disabled:N}),e.jsx(Ae,{type:"button",className:"sm:self-end shrink-0",onClick:()=>void ke(),disabled:N||!O.trim(),children:N?e.jsxs(e.Fragment,{children:[e.jsx(Q,{className:"h-4 w-4 animate-spin mr-2"}),"Working"]}):e.jsxs(e.Fragment,{children:[e.jsx(me,{className:"h-4 w-4 mr-2"}),"Apply"]})})]})]})}),e.jsxs(he,{className:"border-border/70 shadow-sm overflow-hidden ring-1 ring-border/80",children:[e.jsx("div",{className:"border-b border-border/60 bg-muted/25 p-3 sm:p-4",children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Filter this table"}),e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-stretch lg:gap-3",children:[e.jsxs("div",{className:"relative min-w-0 flex-1",children:[e.jsx(dr,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(mr,{value:h,onChange:i=>x(i.target.value),placeholder:"Search this table: name, company, title, keyword…",className:"h-11 bg-background pl-9 text-base sm:h-10 sm:text-sm","aria-label":"Filter results by keyword"})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2 lg:w-[200px]",children:[e.jsx("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:"Sort"}),e.jsxs(vr,{value:p,onValueChange:i=>b(i),children:[e.jsx(wr,{className:"h-11 w-full bg-background sm:h-10",children:e.jsx(yr,{})}),e.jsxs(jr,{children:[e.jsx(pe,{value:"match",children:"Best match"}),e.jsx(pe,{value:"name",children:"Name (A–Z)"}),e.jsx(pe,{value:"company",children:"Company (A–Z)"})]})]})]})]})]})}),e.jsxs(Ze,{children:[e.jsx(er,{children:e.jsxs(Z,{className:"hover:bg-transparent",children:[e.jsx(X,{className:"w-[88px]",children:"Match"}),e.jsx(X,{children:"Name"}),e.jsx(X,{className:"hidden md:table-cell",children:"Role"}),e.jsx(X,{className:"hidden lg:table-cell",children:"Company"}),e.jsx(X,{className:"hidden md:table-cell",children:"Location"})]})}),e.jsx(rr,{children:U.length===0?e.jsx(Z,{children:e.jsx(B,{colSpan:5,className:"text-center py-16 text-muted-foreground",children:"No profiles match these filters. Try clearing the AI filter or keywords."})}):U.map(i=>e.jsxs(Z,{"data-state":(v==null?void 0:v.id)===i.id?"selected":void 0,className:S("cursor-pointer",(v==null?void 0:v.id)===i.id&&"bg-muted/60"),onClick:()=>M(i.id),children:[e.jsx(B,{className:"font-medium tabular-nums",children:e.jsx("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary/10 px-2 py-0.5 text-xs text-foreground",children:i.matchScore})}),e.jsx(B,{children:e.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0",children:[e.jsx("span",{className:"font-medium truncate",children:i.name}),e.jsxs("span",{className:"text-xs text-muted-foreground truncate md:hidden",children:[i.title," · ",i.company]})]})}),e.jsx(B,{className:"hidden md:table-cell",children:e.jsx(_,{variant:"secondary",className:"font-normal",children:i.role})}),e.jsx(B,{className:"hidden lg:table-cell",children:e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[e.jsx(_e,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),e.jsx("span",{className:"truncate",children:i.company})]})}),e.jsx(B,{className:"hidden md:table-cell text-muted-foreground",children:e.jsxs("span",{className:"inline-flex items-center gap-1 min-w-0",children:[e.jsx(Sr,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"truncate",children:i.hq})]})})]},i.id))})]})]})]}),e.jsxs(he,{className:"border-border/70 shadow-sm xl:sticky xl:top-24 min-w-0",children:[e.jsxs(pr,{className:"pb-2 border-b border-border/60 bg-muted/15",children:[e.jsxs(xr,{className:"text-base font-medium flex items-center gap-2",children:[o?e.jsx(kr,{className:"h-4 w-4 opacity-80"}):e.jsx(re,{className:"h-4 w-4 opacity-80"}),o?"Profile & intel":"Warm intro paths"]}),e.jsx("p",{className:"text-xs text-muted-foreground font-normal leading-relaxed",children:o?"Photos, sites, portfolio companies, investor team, and relationship rows from founders_investors_portfolio_data.":"Select a row to see how you might reach them through bridges (employer overlap, geography, boards, events — illustrative only)."})]}),e.jsx(fr,{className:"p-0",children:v?e.jsx(be,{className:"h-[min(72vh,720px)] w-full [&>[data-radix-scroll-area-viewport]]:min-w-0",children:e.jsxs("div",{className:"p-4 space-y-4 min-w-0 max-w-full",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[o&&((Pe=W==null?void 0:W.anchor)!=null&&Pe.imageUrl)?e.jsx(Jr,{imageUrl:W.anchor.imageUrl,name:v.name}
16):e.jsx("div",{className:"h-14 w-14 rounded-full bg-primary/15 flex items-center justify-center text-sm font-semibold shrink-0",children:le(v.name)}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"font-semibold leading-tight break-words",children:v.name}),e.jsx("p",{className:"text-sm text-muted-foreground break-words",children:v.title}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:(((Te=v.sectors)==null?void 0:Te.length)??0)>0?`${v.sectors.join(" · ")}${v.stage?` · ${v.stage}`:""}`:v.stage?v.stage:o?"Sector not in source data":""}),v.linkedinUrl?e.jsx("a",{href:v.linkedinUrl,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline mt-2 inline-block",children:"LinkedIn profile"}):null]})]}),o&&sr&&e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(Q,{className:"h-3.5 w-3.5 animate-spin"}),"Loading intel from database…"]}),o&&Se&&e.jsx("p",{className:"text-xs text-destructive",children:Se}),o&&W&&e.jsx(Kr,{detail:W,targetName:v.name}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2",children:"Why they match"}),e.jsx("ul",{className:"text-sm space-y-1.5",children:v.matchReasons.map(i=>e.jsxs("li",{className:"flex gap-2",children:[e.jsx(me,{className:"h-3.5 w-3.5 mt-0.5 shrink-0 text-primary/70"}),e.jsx("span",{children:i})]},i))})]}),!o&&e.jsxs(e.Fragment,{children:[e.jsx(Qe,{}),v.warmPaths.length===0?e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No intro graph for this row in demo mode."}):null,e.jsx("div",{className:"space-y-4",children:v.warmPaths.map(i=>e.jsxs("div",{className:"rounded-xl border border-border/70 bg-card/50 p-3 space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(_,{variant:"outline",className:S("font-normal",$r(i.strength)),children:i.strength==="strong"?"Strong path":i.strength==="medium"?"Good path":"Exploratory"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:i.summary})]}),e.jsx("div",{className:"space-y-4",children:i.hops.map((g,P)=>e.jsx("div",{className:"space-y-3",children:e.jsx(Qr,{viewerLabel:Xr,targetName:v.name,bridge:g})},`${i.id}-${P}`))})]},i.id))})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed border-t border-border/60 pt-3",children:o?"Data is scraped into founders_investors_portfolio_data; quality varies by source page.":"Demo mode: illustrative match scores and intro paths. Set GEMPHERE_MYSQL_* on the profile service to load scraped intel."})]})}):e.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"Select a profile from the table."})})]})]})]})})]})}function A(r){const s=r==null?void 0:r.trim();return s?/^https?:\/\//i.test(s)?s:/^\/\//.test(s)?`https:${s}`:`https://${s}`:null}function tr(r){var t;if(!r)return"";const s=((t=r.split(/[\r\n]+/)[0])==null?void 0:t.trim())||r.trim();return s.length>160?`${s.slice(0,160)}…`:s}function Jr({imageUrl:r,name:s}){const[t,l]=n.useState(!1);return t?e.jsx("div",{className:"h-14 w-14 rounded-full bg-primary/15 flex items-center justify-center text-sm font-semibold shrink-0",children:le(s)}):e.jsx("img",{src:r,alt:"",className:"h-14 w-14 rounded-full object-cover bg-muted shrink-0 border border-border/60",onError:()=>l(!0)})}function ee({url:r,fallback:s}){const[t,l]=n.useState(!1),o=r==null?void 0:r.trim();return!o||t?e.jsx("div",{className:"h-10 w-10 rounded-md bg-muted flex items-center justify-center text-[10px] text-muted-foreground text-center px-0.5 shrink-0 leading-tight",children:le(s||"?")}):e.jsx("img",{src:o,alt:"",className:"h-10 w-10 rounded-md object-cover bg-muted shrink-0",onError:()=>l(!0)})}function fe({row:r}){return e.jsxs("li",{className:"flex gap-2 rounded-lg border border-border/50 bg-card/40 p-2",children:[e.jsx(ee,{url:r.imageUrl,fallback:r.personName||"?"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-medium break-words",children:r.personName||"—"}),e.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:tr(r.personTitle)}),A(r.linkedinUrl)?e.jsx("a",{href:A(r.linkedinUrl),target:"_blank",rel:"noopener noreferrer",className:"text-[11px] text-primary hover:underline",children:"LinkedIn"}):null]})]})}
16function Kr({detail:r,targetName:s}){const t=r.anchor,l=A(t==null?void 0:t.investorWebsite),o=A(t==null?void 0:t.portfolioCompanyWebsite),c=n.useMemo(()=>{var d;const a=new Map;for(const m of r.portfolioFounders){const u=(d=m.portfolioCompanyName)==null?void 0:d.trim();u&&(a.has(u)||a.set(u,[]),a.get(u).push(m))}return a},[r.portfolioFounders]);return e.jsxs("div",{className:"space-y-4 border-t border-border/60 pt-3",children:[t!=null&&t.investorFirmName?e.jsxs("div",{className:"rounded-lg border border-border/60 bg-muted/15 p-3 space-y-1",children:[e.jsx("p",{className:"text-[11px] uppercase text-muted-foreground",children:"Investor / fund"}),e.jsx("p",{className:"text-sm font-medium break-words",children:t.investorFirmName}),l?e.jsxs("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary inline-flex items-center gap-1 break-all",children:[e.jsx(Re,{className:"h-3 w-3 shrink-0"})," Website"]}):null]}):null,t!=null&&t.portfolioCompanyName?e.jsxs("div",{className:"rounded-lg border border-border/60 bg-muted/15 p-3 space-y-1",children:[e.jsx("p",{className:"text-[11px] uppercase text-muted-foreground",children:"Company (portfolio)"}),e.jsx("p",{className:"text-sm font-medium break-words",children:t.portfolioCompanyName}),o?e.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary inline-flex items-center gap-1 break-all",children:[e.jsx(Re,{className:"h-3 w-3 shrink-0"})," Company site"]}):null]}):null,r.portfolioCompanies.length>0?e.jsxs("section",{children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(_e,{className:"h-3.5 w-3.5"})," Portfolio companies (",r.portfolioCompanies.length,")"]}),e.jsx("ul",{className:"space-y-3 max-h-[360px] overflow-y-auto pr-1",children:r.portfolioCompanies.map(a=>{var m;const d=c.get(((m=a.portfolioCompanyName)==null?void 0:m.trim())||"")||[];return e.jsxs("li",{className:"rounded-lg border border-border/50 bg-card/40 p-2 min-w-0 space-y-2",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(ee,{url:a.imageUrl,fallback:a.portfolioCompanyName||"?"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-medium leading-snug break-words",children:a.portfolioCompanyName||"—"}),A(a.portfolioCompanyWebsite)?e.jsx("a",{href:A(a.portfolioCompanyWebsite),target:"_blank",rel:"noopener noreferrer",className:"text-[11px] text-primary break-all line-clamp-2",children:a.portfolioCompanyWebsite}):null]})]}),d.length>0?e.jsxs("div",{className:"pl-2 border-l-2 border-border/40 space-y-1.5",children:[e.jsx("p",{className:"text-[10px] uppercase text-muted-foreground tracking-wide",children:"Founders"}),d.map(u=>e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx(ee,{url:u.imageUrl,fallback:u.personName||"?"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-xs font-medium break-words",children:u.personName||"—"}),e.jsx("p",{className:"text-[11px] text-muted-foreground line-clamp-1",children:tr(u.personTitle)}),A(u.linkedinUrl)?e.jsx("a",{href:A(u.linkedinUrl),target:"_blank",rel:"noopener noreferrer",className:"text-[10px] text-primary hover:underline",children:"LinkedIn"}):null]})]},u.id))]}):null]},a.id)})})]}):null,r.investorTeamAtFirm.length>0?e.jsxs("section",{children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(ue,{className:"h-3.5 w-3.5"})," Investor team (",r.investorTeamAtFirm.length,")"]}),e.jsx("ul",{className:"space-y-2 max-h-[220px] overflow-y-auto pr-1",children:r.investorTeamAtFirm.map(a=>e.jsx(fe,{row:a},a.id))})]}):null,r.teamPeers.length>0?e.jsxs("section",{children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(ue,{className:"h-3.5 w-3.5"})," Peers at same fund (",r.teamPeers.length,")"]}),e.jsx("ul",{className:"space-y-2 max-h-[200px] overflow-y-auto pr-1",children:r.teamPeers.map(a=>e.jsx(fe,{row:a},a.id))})]}):null,r.companyFounders.length>0?e.jsxs("section",{children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(ue,{className:"h-3.5 w-3.5"})," Others at same company (",r.companyFounders.length,")"]}),e.jsx("ul",{className:"space-y-2 max-h-[200px] overflow-y-auto pr-1",children:r.companyFounders.map(a=>e.jsx(fe,{row:a},a.id))})]}):null,r.relationshipEdges.length>0?e.jsxs("section",{children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(re,{className:"h-3.5 w-3.5"})," Relationship edges (",r.relationshipEdges.length,")"]}),e.jsx("ul",{className:"space-y-2 max-h-[200px] overflow-y-auto pr-1 text-xs",children:r.relationshipEdges.map(a=>e.jsxs("li",{className:"rounded-lg border border-border/50 bg-card/40 p-2 space-y-1",children:[e.jsx(_,{variant:"outline",className:"text-[10px] font-normal",children:a.relationship||"edge"}),e.jsxs("p",{className:"break-words",children:[e.jsx("span",{className:"text-muted-foreground",children:"From:"}
16)," ",a.fromName||a.investorFirmName||"—"]}),e.jsxs("p",{className:"break-words",children:[e.jsx("span",{className:"text-muted-foreground",children:"To:"})," ",a.toName||a.portfolioCompanyName||"—"]})]},a.id))})]}):null,r.warmIntroPaths.length>0?e.jsxs("section",{className:"border-t border-border/60 pt-3",children:[e.jsxs("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground mb-2 flex items-center gap-1.5",children:[e.jsx(re,{className:"h-3.5 w-3.5"})," Warm intro paths (",r.warmIntroPaths.length,")"]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground mb-3",children:["People who could help you connect to ",s,"."]}),e.jsx("ul",{className:"space-y-2 max-h-[320px] overflow-y-auto pr-1",children:r.warmIntroPaths.map((a,d)=>e.jsxs("li",{className:"rounded-lg border border-border/50 bg-card/40 p-3 space-y-2",children:[e.jsxs("div",{className:"flex gap-2 items-center",children:[a.bridgePhoto?e.jsx(ee,{url:a.bridgePhoto,fallback:a.bridgeName}):e.jsx("div",{className:"h-10 w-10 rounded-md bg-primary/15 flex items-center justify-center text-[10px] font-semibold shrink-0",children:le(a.bridgeName)}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-medium break-words",children:a.bridgeName}),e.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.bridgeTitle}),A(a.bridgeLinkedIn)?e.jsx("a",{href:A(a.bridgeLinkedIn),target:"_blank",rel:"noopener noreferrer",className:"text-[11px] text-primary hover:underline",children:"LinkedIn"}):null]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsx(_,{variant:"outline",className:"text-[10px] font-normal",children:a.relation}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:a.reason})]})]},`wi-${d}`))})]}):null]})}function Qr({viewerLabel:r,targetName:s,bridge:t}){return e.jsxs("div",{className:"rounded-lg bg-muted/30 border border-border/50 p-3 space-y-3 min-w-0 max-w-full",children:[e.jsxs("div",{className:"flex flex-col gap-1 min-w-0",children:[e.jsx(ge,{title:"You / your org",subtitle:r,kind:"viewer"}),e.jsx("div",{className:"flex justify-center py-0.5 text-muted-foreground","aria-hidden":!0,children:e.jsx(Le,{className:"h-4 w-4 shrink-0"})}),e.jsx(ge,{title:t.name,subtitle:`${t.title} · ${t.org}`,kind:"bridge"}),e.jsx("div",{className:"flex justify-center py-0.5 text-muted-foreground","aria-hidden":!0,children:e.jsx(Le,{className:"h-4 w-4 shrink-0"})}),e.jsx(ge,{title:s,subtitle:"Target",kind:"target"})]}),e.jsxs("div",{className:"grid gap-2 grid-cols-1 text-xs min-w-0",children:[e.jsxs("div",{className:"rounded-md bg-background/80 border border-border/50 p-2.5 min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:"Link to you"}),e.jsx("p",{className:"text-foreground leading-snug break-words",children:t.linkToViewer})]}),e.jsxs("div",{className:"rounded-md bg-background/80 border border-border/50 p-2.5 min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:"Link to target"}),e.jsx("p",{className:"text-foreground leading-snug break-words",children:t.linkToTarget})]})]})]})}function ge({title:r,subtitle:s,kind:t}){const l=t==="bridge"?"ring-2 ring-primary/25 border-primary/30":"border-border/60";return e.jsxs("div",{className:S("w-full min-w-0 rounded-lg border bg-background/90 p-3 shadow-sm",l),children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:t==="viewer"?"Viewer":t==="bridge"?"Bridge":"Target"}),e.jsx("p",{className:"text-sm font-medium leading-snug break-words",children:r}),e.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed mt-1 break-words",children:s})]})}export{it as default};

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.