@aiquants/contact-map 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ var on=Object.defineProperty;var Ct=(e,t)=>()=>(e&&(t=e(e=0)),t);var sn=(e,t)=>{for(var r in t)on(e,r,{get:t[r],enumerable:!0})};var Vt,Kt,ia,qt,Gt,wt,Re,la,ye,V,Xe=Ct(()=>{"use strict";Vt=e=>{if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null},Kt=e=>!e||typeof e!="object"?null:"item"in e?e.item??null:"person_id"in e?e:null,ia=(e,t)=>{if(!e)return{value:null,fieldKey:null};for(let r of t){let o=Vt(e[r]);if(o)return{value:o,fieldKey:r}}return{value:null,fieldKey:null}},qt=e=>ia(e,["custom_email","email"]),Gt=e=>ia(e,["custom_mobile_phone_number","mobile_phone_number","company_phone_number"]),wt=e=>{let t=Vt(e);if(!t)return null;let r=t.replace(/[^0-9+#*]/g,"");return r.length===0?null:`tel:${r}`},Re=(e,t)=>{let r=Vt(e);return r?t?`https://mail.google.com/mail/?view=cm&fs=1&to=${encodeURIComponent(r)}`:`mailto:${encodeURIComponent(r)}`:null},la=e=>{if(!e)return"-";let t=typeof e=="string"||typeof e=="number"?new Date(e):e;return!(t instanceof Date)||Number.isNaN(t.getTime())?typeof e=="string"?e:"-":t.toISOString().split("T")[0]},ye=e=>{if(!e)return"-";let t=typeof e=="string"||typeof e=="number"?new Date(e):e;return!(t instanceof Date)||Number.isNaN(t.getTime())?typeof e=="string"?e:"-":t.toISOString()},V=e=>e==null?"-":typeof e=="string"?Vt(e)??"-":typeof e=="number"?Number.isFinite(e)?String(e):"-":e instanceof Date?ye(e):String(e)});import cn from"lucide-react/dist/esm/icons/check.js";import pn from"lucide-react/dist/esm/icons/copy.js";import un from"lucide-react/dist/esm/icons/x.js";import{useCallback as Fe,useEffect as Er,useMemo as Nt,useRef as Rr,useState as pa}from"react";import{createPortal as mn}from"react-dom";import{jsx as q,jsxs as ke}from"react/jsx-runtime";var hn,da,Pt,ut,fn,gn,Tt,Tr,ca,Pr,jt,Mr=Ct(()=>{"use strict";Xe();hn=350,da=["dblclick","pointerdown","pointerup","mousedown","mouseup","touchstart","touchend","contextmenu"],Pt=0,ut=null,fn=()=>{let e=document.body.style;Pt+=1,Pt===1&&(ut={userSelect:e.userSelect,webkitUserSelect:e.webkitUserSelect}),e.userSelect="none",typeof e.webkitUserSelect<"u"&&(e.webkitUserSelect="none")},gn=()=>{if(Pt=Math.max(0,Pt-1),Pt>0||!ut)return;let e=document.body.style;e.userSelect=ut.userSelect,typeof ut.webkitUserSelect<"u"&&(e.webkitUserSelect=ut.webkitUserSelect),ut=null},Tt=e=>{let t=typeof e=="string"?e.trim():"";return t.length>0?t:null},Tr=(e,t)=>{let r=new Set;return e.reduce((o,{label:i,value:n})=>{let c=typeof n=="string"?n.trim():"";if(!c)return o;let{normalized:d,key:m,entry:h}=t(c,i);return d&&!r.has(m)&&(r.add(m),o.push(h(d))),o},[])},ca=(e,t)=>e===t,Pr=({value:e,ariaLabel:t,size:r="md"})=>{let[o,i]=pa(!1),n=Rr(null),c=Fe(async s=>{if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(s),!0}catch{}if(typeof document>"u")return!1;let a=document.createElement("textarea");a.value=s,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a),a.select(),a.setSelectionRange(0,a.value.length);let l=document.execCommand("copy");return document.body.removeChild(a),l},[]),d=Fe(async s=>{s.preventDefault(),s.stopPropagation(),n.current!==null&&typeof window<"u"&&(window.clearTimeout(n.current),n.current=null);let a=await c(e);i(a),a&&typeof window<"u"&&(n.current=window.setTimeout(()=>{i(!1),n.current=null},1500))},[c,e]);Er(()=>()=>{n.current!==null&&typeof window<"u"&&(window.clearTimeout(n.current),n.current=null)},[]);let m=r==="sm"?"h-6 w-6":"h-7 w-7",h=r==="sm"?"h-3.5 w-3.5":"h-4 w-4",p=o?cn:pn;return q("button",{type:"button",className:`inline-flex ${m} shrink-0 items-center justify-center rounded-md border border-gray-200 text-slate-600 transition-colors hover:bg-gray-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-200 dark:text-slate-300`,onClick:d,"aria-label":t,title:t,children:q(p,{className:h,"aria-hidden":"true"})})},jt=({contactData:e,openEmailsWithGmail:t,openGmailCompose:r,onRequestClose:o})=>{let[i,n]=pa(null);Er(()=>{n(document.body)},[]);let c=Rr(null),d=Rr(null),m=Nt(()=>e.contacted_at?la(e.contacted_at):null,[e.contacted_at]),h=e.full_name||"-",p=Tt(e.company_name),s=Tt(e.department),a=Tt(e.title),l=Nt(()=>Tr([{label:"\u4F1A\u793E\u540D",value:p},{label:"\u90E8\u7F72",value:s},{label:"\u5F79\u8077",value:a}],(u,w)=>({normalized:u,key:`${w}-${u.toLowerCase()}`,entry:S=>({label:w,value:S})})),[p,s,a]),f=Nt(()=>Tr([{label:"\u643A\u5E2F\u96FB\u8A71 (\u30AB\u30B9\u30BF\u30E0)",value:e.custom_mobile_phone_number},{label:"\u643A\u5E2F\u96FB\u8A71",value:e.mobile_phone_number},{label:"\u4F1A\u793E\u96FB\u8A71 (\u30AB\u30B9\u30BF\u30E0)",value:e.custom_company_phone_number},{label:"\u4F1A\u793E\u96FB\u8A71",value:e.company_phone_number}],(u,w)=>{let S=wt(u);return{normalized:Tt(u),key:(S??u).toLowerCase(),entry:L=>({label:w,value:L,href:S})}}),[e.custom_mobile_phone_number,e.mobile_phone_number,e.custom_company_phone_number,e.company_phone_number]),v=Nt(()=>Tr([{label:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9 (\u30AB\u30B9\u30BF\u30E0)",value:e.custom_email},{label:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",value:e.email}],(u,w)=>{let S=Tt(u),M=Re(u,t),L=!!M?.startsWith("https://mail.google.com");return{normalized:S,key:u.toLowerCase(),entry:N=>({label:w,value:N,href:M,isGmailLink:L})}}),[e.custom_email,e.email,t]),P=f.length>0||v.length>0,W=Nt(()=>`contact-methods-${e.person_id}`,[e.person_id]),E=Fe(u=>{o(u),d.current=null},[o]),g=Fe(u=>{u.stopPropagation(),ca(u.target,u.currentTarget)&&E()},[E]),x=Fe(u=>{u.stopPropagation(),ca(u.target,u.currentTarget)&&(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),E())},[E]),k=Fe(u=>{u.stopPropagation(),E()},[E]),C=Fe((u,w)=>{w.isGmailLink&&(u.preventDefault(),r(w.value))},[r]),b=Fe((u,w)=>{if(!w.isGmailLink){d.current=null;return}let S=Date.now(),M=d.current;if(M&&M.email===w.value&&S-M.timestamp<=hn){d.current=null,u.preventDefault(),r(w.value);return}d.current={email:w.value,timestamp:S}},[r]);return Er(()=>{let u=[];if(typeof window<"u"){let w=S=>{if(S.key==="Escape"){E();return}if(S.key==="Tab"&&c.current){let M=c.current.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])');if(M.length===0)return;let L=M[0],N=M[M.length-1];S.shiftKey?document.activeElement===L&&(S.preventDefault(),N.focus()):document.activeElement===N&&(S.preventDefault(),L.focus())}};window.addEventListener("keydown",w),u.push(()=>window.removeEventListener("keydown",w))}if(typeof document<"u"){let w=c.current;if(w){let N=B=>{B.stopPropagation()};for(let B of da)w.addEventListener(B,N);u.push(()=>{for(let B of da)w.removeEventListener(B,N)})}let S=N=>{let B=c.current;return B&&N instanceof Node?B.contains(N):!1},M=N=>{S(N.target)||E({suppressLongPress:!0,cancelLongPressTimer:!0})},L=["pointerdown","wheel","touchmove"];for(let N of L)document.addEventListener(N,M,!0);u.push(()=>{for(let N of L)document.removeEventListener(N,M,!0)}),fn(),u.push(gn)}return()=>{for(let w of u)w()}},[E,i]),i?mn(q("div",{"data-contact-popup-root":"true",className:"fixed top-0 right-0 bottom-0 left-0 z-50 flex items-center justify-center bg-black/50 px-4 py-6",style:{right:"var(--aqcm-overlay-right, var(--aiquants-menu-pinned-width, 0px))",transition:"right 0.5s"},role:"dialog","aria-modal":"true","aria-labelledby":W,tabIndex:-1,onClick:g,onKeyDown:x,children:ke("div",{ref:c,className:"w-full max-w-md rounded-lg border border-slate-200 bg-white p-4 shadow-lg transition-colors dark:border-transparent dark:bg-slate-900 dark:shadow-slate-950/40 dark:ring-1 dark:ring-white/70",children:[ke("div",{className:"flex items-start justify-between gap-4",children:[ke("div",{children:[q("h2",{id:W,className:"font-semibold text-gray-900 text-lg dark:text-slate-100",children:h}),l.length>0?q("div",{className:"mt-2 space-y-2 text-slate-700 text-sm dark:text-slate-200",children:l.map(u=>ke("div",{className:"flex items-center gap-3",children:[q("p",{className:"wrap-break-word min-w-0 flex-1 whitespace-normal",children:u.value}),q(Pr,{value:u.value,ariaLabel:`${u.label}\u3092\u30B3\u30D4\u30FC`,size:"sm"})]},u.label))}):null]}),q("button",{type:"button",className:"rounded-md p-0.5 text-slate-600 transition-colors hover:bg-gray-100 focus:outline-none focus-visible:ring focus-visible:ring-blue-200 dark:text-slate-300 dark:hover:bg-slate-800/70",onClick:k,"aria-label":"\u9589\u3058\u308B",children:q(un,{className:"h-4 w-4","aria-hidden":"true"})})]}),ke("div",{className:"mt-4 space-y-4 text-slate-700 dark:text-slate-200",children:[f.length>0?q("div",{children:q("ul",{className:"space-y-3 text-sm",children:f.map(u=>q("li",{className:"flex items-start gap-3",children:ke("div",{className:"flex-1",children:[q("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:u.label}),ke("div",{className:"mt-1 flex items-center gap-3",children:[q("div",{className:"wrap-break-word min-w-0 flex-1 whitespace-normal",children:u.href?q("a",{href:u.href,className:"wrap-break-word text-blue-600 underline-offset-2 transition-colors hover:underline focus:underline focus:outline-none dark:text-blue-300",children:u.value}):q("span",{className:"wrap-break-word text-slate-800 dark:text-slate-100",children:u.value})}),q(Pr,{value:u.value,ariaLabel:`${u.label}\u3092\u30B3\u30D4\u30FC`,size:"sm"})]})]})},`${u.label}-${u.value}`))})}):null,v.length>0?q("div",{children:q("ul",{className:"space-y-3 text-sm",children:v.map(u=>q("li",{className:"flex items-start gap-3",children:ke("div",{className:"flex-1",children:[q("span",{className:"text-slate-600 text-xs dark:text-slate-300",children:u.label}),ke("div",{className:"mt-1 flex items-start gap-3",children:[ke("div",{className:"wrap-break-word min-w-0 flex-1 whitespace-normal",children:[u.href?q("a",{href:u.href,className:"wrap-break-word text-blue-600 underline-offset-2 transition-colors hover:underline focus:underline focus:outline-none dark:text-blue-300",target:u.isGmailLink?"_blank":void 0,rel:u.isGmailLink?"noopener noreferrer":void 0,onDoubleClick:w=>C(w,u),onTouchEnd:w=>b(w,u),children:u.value}):q("span",{className:"wrap-break-word text-slate-800 dark:text-slate-100",children:u.value}),u.isGmailLink?q("span",{className:"mt-1 block text-[11px] text-slate-500 dark:text-slate-400",children:"\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u307E\u305F\u306F\u4E8C\u5EA6\u30BF\u30C3\u30D7\u3067 Gmail \u3092\u958B\u304D\u307E\u3059"}):null]}),q(Pr,{value:u.value,ariaLabel:`${u.label}\u3092\u30B3\u30D4\u30FC`,size:"sm"})]})]})},`${u.label}-${u.value}`))})}):null,m?ke("div",{className:"mt-2 flex items-center gap-2 text-slate-600 text-sm dark:text-slate-300",children:[q("span",{className:"text-xs",children:"\u6700\u7D42\u30B3\u30F3\u30BF\u30AF\u30C8\u65E5:"}),q("span",{children:m})]}):null,P?null:q("p",{className:"text-slate-600 text-sm dark:text-slate-300",children:"\u8868\u793A\u3067\u304D\u308B\u9023\u7D61\u5148\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093"})]})]})}),i):null}});import{jsx as le,jsxs as Et}from"react/jsx-runtime";var Yt,Lr=Ct(()=>{"use strict";Yt=({fullName:e,title:t="-",companyName:r="-",department:o="-",phoneNumber:i="-",email:n="-",updatedAtText:c="-"})=>Et("div",{className:"flex h-full w-full flex-col justify-center gap-0.5 text-slate-800 text-xs leading-tight transition-colors sm:grid sm:grid-cols-3 sm:gap-2 sm:text-sm xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)_auto] dark:text-slate-200",children:[Et("div",{className:"flex items-center gap-1 sm:hidden",children:[le("div",{className:"flex-1 truncate font-medium text-gray-900 text-sm leading-tight dark:text-slate-100",children:e}),le("div",{className:"shrink-0 whitespace-nowrap text-[11px] text-slate-600 dark:text-slate-300",children:i})]}),le("div",{className:"flex items-center gap-1 sm:hidden",children:le("div",{className:"flex-1 truncate text-slate-700 text-xs leading-tight dark:text-slate-200",children:r})}),le("div",{className:"block sm:hidden",children:le("span",{className:"w-full truncate text-left text-[11px] text-slate-700 leading-tight dark:text-slate-200",children:o})}),Et("div",{className:"hidden flex-col gap-0.5 truncate sm:flex",children:[le("span",{className:"truncate font-medium text-gray-900 dark:text-slate-100",children:e}),le("span",{className:"truncate text-slate-600 text-xs dark:text-slate-300",children:t})]}),Et("div",{className:"hidden flex-col gap-0.5 truncate sm:flex",children:[le("span",{className:"truncate text-slate-800 dark:text-slate-100",children:r}),le("span",{className:"truncate text-slate-600 text-xs dark:text-slate-300",children:o})]}),Et("div",{className:"hidden flex-col gap-0.5 truncate sm:flex",children:[le("span",{className:"truncate text-slate-700 dark:text-slate-200",children:i}),le("span",{className:"truncate text-slate-600 text-xs dark:text-slate-300",children:n})]}),le("div",{className:"hidden items-end justify-end text-[11px] text-slate-600 xl:flex dark:text-slate-300",children:le("span",{className:"truncate",children:c})})]})});import{getNormalizedVariants as xn}from"@aiquants/select-box";import{memo as bn}from"react";import{Fragment as Xt,jsx as Rt}from"react/jsx-runtime";var vn,ne,Qt=Ct(()=>{"use strict";vn=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),ne=bn(({text:e,query:t,enabled:r=!0})=>{if(!(r&&t?.trim()&&e))return Rt(Xt,{children:e});let i=t.trim().split(/\s+/).filter(Boolean);if(i.length===0)return Rt(Xt,{children:e});let n=new Set;for(let l of i){let f=xn(l,{convertWidth:!0,convertKana:!0,convertCase:!0,convertRomaji:!0});for(let v of f)v.trim()&&n.add(vn(v.trim()))}if(n.size===0)return Rt(Xt,{children:e});let d=`(${Array.from(n).sort((l,f)=>f.length-l.length).join("|")})`,m=new RegExp(d,"gi"),h=[],p=0,s=m.exec(e),a=0;for(;s;){let l=s[0],f=s.index;if(f>p&&h.push(e.substring(p,f)),l.length===0){m.lastIndex++,s=m.exec(e);continue}h.push(Rt("mark",{className:"rounded bg-yellow-200 px-1 text-gray-900",children:l},`highlight-${f}-${a}`)),p=f+l.length,a+=1,s=m.exec(e)}return p<e.length&&h.push(e.substring(p)),Rt(Xt,{children:h})});ne.displayName="HighlightedText"});var ma={};sn(ma,{ContactDetailGrid:()=>ua,default:()=>yn});import{useMemo as Or}from"react";import{Fragment as kn,jsx as Wr,jsxs as Sn}from"react/jsx-runtime";var Dr,ua,yn,ha=Ct(()=>{"use strict";Xe();Mr();Lr();Qt();Dr=e=>{let t=typeof e=="string"?e.trim():"";return t.length>0?t:null},ua=({contactData:e,searchTerm:t,enableHighlighting:r,openEmailsWithGmail:o,openGmailCompose:i,isPopupVisible:n,onRequestClose:c})=>{let d=Or(()=>qt(e),[e]),m=Or(()=>Gt(e),[e]),h=d.value??"-",p=m.value??"-",s=Or(()=>ye(e.updated_at),[e.updated_at]),a=Dr(e.full_name)??"(No Name)",l=Dr(e.company_name),f=Dr(e.department),v=(P,W="-")=>Wr(ne,{text:P??W,query:t,enabled:r});return Sn(kn,{children:[Wr(Yt,{fullName:v(a),title:v(e.title),companyName:v(l),department:v(f),phoneNumber:p,email:v(h),updatedAtText:s}),n?Wr(jt,{contactData:e,openEmailsWithGmail:o,openGmailCompose:i,onRequestClose:c}):null]})},yn=ua});import{DEFAULT_FUZZY_SEARCH_OPTIONS as pt}from"@aiquants/fuzzy-search";import{memo as ln,useId as sa}from"react";import{jsx as fe,jsxs as je}from"react/jsx-runtime";var wr=ln(({searchOptions:e,setSearchOptions:t})=>{let r="flex flex-col gap-1 rounded-md border border-gray-200 bg-white/80 px-2 py-1 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/70 dark:shadow-none",o="text-xs font-semibold",i=sa(),n=sa(),c=[];return c.push(je("div",{className:`${r} border-sky-200 border-l-4 dark:border-sky-400/60`,children:[fe("div",{className:`${o} text-sky-700 dark:text-sky-300`,children:"\u{1F4D8} \u5B66\u7FD2\u91CD\u307F"}),fe("label",{htmlFor:i,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u91CD\u307F\u4FC2\u6570"}),fe("input",{id:i,type:"range",min:"0.5",max:"2.0",step:"0.1",value:e.learningWeight||pt.learningWeight,onChange:d=>t(m=>({...m,learningWeight:parseFloat(d.target.value)})),className:"w-full"}),je("span",{className:"text-sky-600 text-xs dark:text-sky-300",children:["\u73FE\u5728\u5024: ",e.learningWeight||pt.learningWeight]}),fe("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u518D\u5B66\u7FD2\u6642\u306E\u91CD\u307F\u4ED8\u3051\uFF08\u5927\u304D\u3044\u307B\u3069\u904E\u53BB\u306E\u691C\u7D22\u7D50\u679C\u3092\u512A\u5148\uFF09"})]},"learning")),c.push(je("div",{className:`${r} border-indigo-200 border-l-4 dark:border-indigo-400/60`,children:[fe("div",{className:`${o} text-indigo-700 dark:text-indigo-300`,children:"\u23F1\uFE0F \u30C7\u30D0\u30A6\u30F3\u30B9\u6642\u9593"}),fe("label",{htmlFor:n,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u5165\u529B\u9045\u5EF6 (ms)"}),fe("input",{id:n,type:"range",min:"100",max:"1000",step:"50",value:e.debounceMs||pt.debounceMs,onChange:d=>t(m=>({...m,debounceMs:parseInt(d.target.value,10)})),className:"w-full"}),je("span",{className:"text-indigo-600 text-xs dark:text-indigo-300",children:["\u73FE\u5728\u5024: ",e.debounceMs||pt.debounceMs]}),fe("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u5165\u529B\u306E\u5F85\u3061\u6642\u9593\u3002\u77ED\u3044\u307B\u3069\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u3001\u9577\u3044\u307B\u3069\u8CA0\u8377\u8EFD\u6E1B"})]},"debounce")),je("section",{className:"space-y-3",children:[je("div",{className:"flex items-center justify-between gap-3",children:[je("div",{className:"flex items-center gap-2 font-semibold text-gray-700 text-xs transition-colors dark:text-slate-200",children:[fe("span",{children:"\u26A1"}),fe("span",{className:"tracking-wide",children:"\u8A73\u7D30\u8A2D\u5B9A"})]}),fe("button",{type:"button",onClick:()=>t(d=>({...d,learningWeight:pt.learningWeight,debounceMs:pt.debounceMs})),className:"rounded border border-gray-300 bg-gray-100 px-2 py-1 font-medium text-gray-700 text-xs transition-colors hover:bg-gray-200 dark:border-slate-600 dark:bg-slate-800/70 dark:text-slate-200 dark:hover:bg-slate-700/70",title:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8",children:"\u30EA\u30BB\u30C3\u30C8"})]}),fe("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:c})]})});wr.displayName="AdvancedSearchSettings";import{DEFAULT_FUZZY_SEARCH_OPTIONS as Ye}from"@aiquants/fuzzy-search";import{memo as dn,useId as Ne}from"react";import{jsx as $,jsxs as J}from"react/jsx-runtime";var Nr=dn(({searchOptions:e,setSearchOptions:t,enableHighlighting:r,setEnableHighlighting:o,openEmailsWithGmail:i,setOpenEmailsWithGmail:n})=>{let c="flex flex-col gap-1 rounded-md border border-gray-200 bg-white/80 px-2 py-1 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/70 dark:shadow-none",d="text-xs font-semibold",m=Ne(),h=Ne(),p=Ne(),s=Ne(),a=Ne(),l=Ne(),f=Ne(),v=Ne(),P=Ne(),W=Ne(),E=[];return E.push(J("div",{className:`${c} border-blue-200 border-l-4 dark:border-blue-500/50`,children:[$("div",{className:`${d} text-blue-700 dark:text-blue-300`,children:"\u{1F3AF} \u6700\u7D42\u985E\u4F3C\u5EA6\u95BE\u5024"}),$("label",{htmlFor:m,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u30B9\u30B3\u30A2\u306E\u4E0B\u9650\u3092\u8ABF\u6574"}),$("input",{id:m,type:"range",min:"0.0",max:e.sortBy==="relevance"?"1.5":"1.0",step:"0.05",value:e.threshold??Ye.threshold,onChange:g=>t(x=>({...x,threshold:parseFloat(g.target.value)})),className:"w-full"}),J("span",{className:"text-blue-600 text-xs dark:text-blue-300",children:["\u73FE\u5728\u5024: ",e.threshold??Ye.threshold]}),$("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:e.sortBy==="relevance"?"Relevance \u30E2\u30FC\u30C9\u3067\u306F\u30B9\u30B3\u30A2\u304C 1.0 \u3092\u8D85\u3048\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\uFF08\u7BC4\u56F2: 0.0-1.5\uFF09":"\u7BC4\u56F2: 0.0-1.0"})]},"threshold")),E.push(J("div",{className:`${c} border-amber-200 border-l-4 dark:border-amber-400/60`,children:[$("div",{className:`${d} text-amber-700 dark:text-amber-300`,children:"\u{1FA84} \u8868\u793A\u30AA\u30D7\u30B7\u30E7\u30F3"}),J("label",{htmlFor:h,className:"flex items-center gap-2 text-gray-700 text-xs transition-colors dark:text-slate-200",children:[$("input",{id:h,type:"checkbox",checked:e.caseSensitive??Ye.caseSensitive,onChange:g=>t(x=>({...x,caseSensitive:g.target.checked})),className:"h-3 w-3"}),"\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u3092\u533A\u5225"]}),J("label",{htmlFor:p,className:"flex items-center gap-2 text-gray-700 text-xs transition-colors dark:text-slate-200",children:[$("input",{id:p,type:"checkbox",checked:r,onChange:g=>o(g.target.checked),className:"h-3 w-3"}),"\u30CF\u30A4\u30E9\u30A4\u30C8\u8868\u793A"]}),J("label",{htmlFor:s,className:"flex items-center gap-2 text-gray-700 text-xs transition-colors dark:text-slate-200",children:[$("input",{id:s,type:"checkbox",checked:i,onChange:g=>n(g.target.checked),className:"h-3 w-3"}),"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 Gmail \u306E\u4F5C\u6210\u753B\u9762\u3067\u958B\u304F"]}),J("div",{className:"flex flex-col gap-1",children:[$("label",{htmlFor:a,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u8907\u6570\u8A9E\u30AF\u30A8\u30EA\u306E\u6F14\u7B97\u5B50"}),J("select",{id:a,value:e.multiTermOperator??Ye.multiTermOperator,onChange:g=>t(x=>({...x,multiTermOperator:g.target.value})),className:"rounded border border-gray-300 px-2 py-1 text-xs transition-colors dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100",children:[$("option",{value:"or",children:"OR\uFF08\u3044\u305A\u308C\u304B\u4E00\u81F4\uFF09"}),$("option",{value:"and",children:"AND\uFF08\u3059\u3079\u3066\u4E00\u81F4\uFF09"})]}),$("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u8907\u6570\u8A9E\u3092\u30B9\u30DA\u30FC\u30B9\u3067\u5165\u529B\u3057\u305F\u3068\u304D\u306E\u7D50\u5408\u65B9\u6CD5\uFF08\u65E2\u5B9A\u306F OR\uFF09"})]})]},"display")),E.push(J("div",{className:`${c} border-emerald-200 border-l-4 dark:border-emerald-400/60`,children:[$("div",{className:`${d} text-emerald-700 dark:text-emerald-300`,children:"\u{1F4DA} \u30BD\u30FC\u30C8\u8A2D\u5B9A"}),J("div",{className:"flex flex-col gap-2",children:[$("label",{htmlFor:l,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u30BD\u30FC\u30C8\u57FA\u6E96"}),J("select",{id:l,value:e.sortBy||Ye.sortBy,onChange:g=>t(x=>({...x,sortBy:g.target.value})),className:"rounded border border-gray-300 px-2 py-1 text-xs transition-colors dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100",children:[$("option",{value:"score",children:"\u30B9\u30B3\u30A2"}),$("option",{value:"relevance",children:"\u95A2\u9023\u6027"}),$("option",{value:"original",children:"\u5143\u306E\u9806\u5E8F"})]})]}),J("div",{className:"flex flex-col gap-2",children:[$("label",{htmlFor:f,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u30BD\u30FC\u30C8\u9806\u5E8F"}),J("select",{id:f,value:e.sortOrder||Ye.sortOrder,onChange:g=>t(x=>({...x,sortOrder:g.target.value})),className:"rounded border border-gray-300 px-2 py-1 text-xs transition-colors dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100",children:[$("option",{value:"desc",children:"\u964D\u9806"}),$("option",{value:"asc",children:"\u6607\u9806"})]})]})]},"sorting")),E.push(J("div",{className:`${c} border-purple-200 border-l-4 dark:border-purple-400/60`,children:[$("div",{className:`${d} text-purple-700 dark:text-purple-300`,children:"\u2699\uFE0F \u691C\u7D22\u30A8\u30F3\u30B8\u30F3\u8A2D\u5B9A"}),$("label",{htmlFor:v,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u4E26\u5217\u691C\u7D22\u6226\u7565"}),J("select",{id:v,value:e.parallelSearchStrategy||Ye.parallelSearchStrategy,onChange:g=>t(x=>({...x,parallelSearchStrategy:g.target.value})),className:"rounded border border-gray-300 px-2 py-1 text-xs transition-colors dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100",children:[$("option",{value:"balanced",children:"\u30D0\u30E9\u30F3\u30B9"}),$("option",{value:"index-first",children:"Index\u512A\u5148"}),$("option",{value:"levenshtein-first",children:"Levenshtein\u512A\u5148"})]}),J("div",{className:"mt-2 space-y-2",children:[J("label",{htmlFor:P,className:"flex items-center gap-2 text-gray-700 text-xs transition-colors dark:text-slate-200",children:[$("input",{id:P,type:"checkbox",checked:e.enableIndexFiltering!==!1,onChange:g=>t(x=>({...x,enableIndexFiltering:g.target.checked})),className:"h-3 w-3"}),"Index\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0"]}),J("label",{htmlFor:W,className:"flex items-center gap-2 text-gray-700 text-xs transition-colors dark:text-slate-200",children:[$("input",{id:W,type:"checkbox",checked:e.enableLevenshtein!==!1,onChange:g=>t(x=>({...x,enableLevenshtein:g.target.checked})),className:"h-3 w-3"}),"Levenshtein \u8DDD\u96E2\u8A08\u7B97"]})]})]},"engine")),J("section",{className:"space-y-3",children:[J("div",{className:"flex items-center gap-2 font-semibold text-blue-700 text-xs transition-colors dark:text-sky-400",children:[$("span",{children:"\u{1F527}"}),$("span",{className:"tracking-wide",children:"\u57FA\u672C\u8A2D\u5B9A"})]}),$("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:E})]})});Nr.displayName="BasicSearchSettings";Xe();import Nn from"lucide-react/dist/esm/icons/badge-check.js";import Tn from"lucide-react/dist/esm/icons/building-2.js";import Pn from"lucide-react/dist/esm/icons/calendar-clock.js";import En from"lucide-react/dist/esm/icons/check.js";import Rn from"lucide-react/dist/esm/icons/copy.js";import Mn from"lucide-react/dist/esm/icons/id-card.js";import Ln from"lucide-react/dist/esm/icons/mail.js";import On from"lucide-react/dist/esm/icons/phone.js";import Dn from"lucide-react/dist/esm/icons/user-round.js";import{useCallback as Wn,useEffect as _n,useMemo as er,useRef as In,useState as Fn}from"react";var ze={info:(e,...t)=>console.info(`[contact-map] ${e}`,...t),warn:(e,...t)=>console.warn(`[contact-map] ${e}`,...t),error:(e,...t)=>console.error(`[contact-map] ${e}`,...t)};import*as Se from"@radix-ui/react-tabs";import*as Zt from"react";import{clsx as Cn}from"clsx";import{twMerge as wn}from"tailwind-merge";function Qe(...e){return wn(Cn(e))}import{jsx as _r}from"react/jsx-runtime";var Jt=Se.Root,Mt=Zt.forwardRef(({className:e,...t},r)=>_r(Se.List,{ref:r,className:Qe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));Mt.displayName=Se.List.displayName;var Ze=Zt.forwardRef(({className:e,...t},r)=>_r(Se.Trigger,{ref:r,className:Qe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 font-medium text-sm ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-2xs",e),...t}));Ze.displayName=Se.Trigger.displayName;var Je=Zt.forwardRef(({className:e,...t},r)=>_r(Se.Content,{ref:r,className:Qe("mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=inactive]:hidden",e),...t}));Je.displayName=Se.Content.displayName;Qt();import{jsx as O,jsxs as ee}from"react/jsx-runtime";var fa={height:"var(--contact-panel-height, 100%)",maxHeight:"100%"},zn=({icon:e,label:t,value:r,fieldKey:o,copyValue:i,onCopy:n,isCopied:c,linkHref:d,searchTerm:m,enableHighlighting:h})=>{let p=!!(n&&o&&i),s=d?.startsWith("https://mail.google.com")?"_blank":void 0;return ee("div",{className:"flex items-center justify-between gap-2 rounded-lg border border-slate-200 bg-slate-50 px-2.5 py-1.5 transition-colors dark:border-slate-700 dark:bg-slate-900/60",children:[ee("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[O("div",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-white text-slate-500 transition-colors dark:bg-slate-800 dark:text-slate-200",children:O(e,{size:14})}),ee("div",{className:"min-w-0 flex-1",children:[O("div",{className:"font-medium text-[10px] text-slate-500 dark:text-slate-400",children:t}),O("div",{className:"truncate font-semibold text-slate-900 text-xs dark:text-slate-100",children:d?O("a",{href:d,className:"text-inherit underline-offset-2 hover:underline focus:underline focus:outline-none",target:s,rel:s?"noopener noreferrer":void 0,children:O(ne,{text:r,query:m??"",enabled:h})}):O(ne,{text:r,query:m??"",enabled:h})})]})]}),p?O("button",{type:"button",onClick:()=>n&&o&&i&&n(o,i,t),className:"inline-flex h-6 w-6 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-500 transition-colors hover:border-blue-400 hover:text-blue-500 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-200 dark:hover:border-blue-400 dark:hover:text-blue-300","aria-label":`${t} \u3092\u30B3\u30D4\u30FC`,children:c?O(En,{size:14}):O(Rn,{size:14})}):null]})},ga=({items:e,searchTerm:t,enableHighlighting:r})=>O("dl",{className:"grid grid-cols-1 gap-x-3 gap-y-1.5 sm:grid-cols-2",children:e.map(o=>ee("div",{className:"flex flex-col gap-0.5 rounded-md border border-slate-200 bg-white/60 px-2 py-1 transition-colors dark:border-slate-700 dark:bg-slate-900/60",children:[O("dt",{className:"font-semibold text-[10px] text-slate-500 uppercase tracking-wide dark:text-slate-400",children:o.label}),O("dd",{className:"wrap-break-word text-slate-900 text-xs dark:text-slate-100",children:O(ne,{text:o.value,query:t??"",enabled:r})})]},o.label))}),Ir=({title:e})=>O("h3",{className:"font-semibold text-slate-700 text-xs dark:text-slate-200",children:e}),Hn=()=>ee("div",{className:"flex h-full min-h-40 w-full flex-1 flex-col items-center justify-center gap-2 rounded-xl border border-slate-300 border-dashed bg-white/60 p-4 text-center transition-colors dark:border-slate-700 dark:bg-slate-900/40",children:[O("p",{className:"font-medium text-slate-600 text-xs dark:text-slate-200",children:"\u9023\u7D61\u5148\u3092\u9078\u629E\u3059\u308B\u3068\u8A73\u7D30\u304C\u8868\u793A\u3055\u308C\u307E\u3059"}),O("p",{className:"text-[11px] text-slate-500 dark:text-slate-400",children:"\u30EA\u30B9\u30C8\u304B\u3089\u5BFE\u8C61\u306E\u4EBA\u7269\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"})]}),He=({contact:e,searchTerm:t,enableHighlighting:r,style:o,className:i=""})=>{let[n,c]=Fn(null),d=In(null),m=er(()=>({...fa,...o}),[o]);_n(()=>()=>{d.current!==null&&window.clearTimeout(d.current)},[]);let h=er(()=>qt(e),[e]),p=er(()=>Gt(e),[e]),s=er(()=>ye(e?.contacted_at??null),[e?.contacted_at]),a=Wn(async(b,u,w)=>{try{await navigator.clipboard.writeText(u),c(b),d.current!==null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{c(null)},2e3)}catch(S){ze.error("Failed to copy contact detail",S)}},[]);if(!e)return O("div",{className:"flex h-full min-h-0 w-full flex-col overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-950",style:fa,children:O(Hn,{})});let l=[V(e.title),V(e.department)].filter(b=>b!=="-"),f=[l.join(" / "),V(e.company_name)].filter(b=>b&&b!=="-").join(" \u30FB ")||"-",v=V(e.full_name),P=[{label:"\u6C0F\u540D",value:v==="-"?"(No Name)":v},{label:"\u6C0F\u540D\uFF08\u304B\u306A\uFF09",value:V(e.full_name_reading)},{label:"\u5F79\u8077",value:V(e.title)},{label:"\u90E8\u7F72",value:V(e.department)},{label:"\u4F1A\u793E\u540D",value:V(e.company_name)},{label:"\u4F1A\u793E\u540D\uFF08\u304B\u306A\uFF09",value:V(e.company_name_reading)},{label:"\u4F4F\u6240",value:V(e.address)},{label:"\u90F5\u4FBF\u756A\u53F7",value:V(e.postal_code)},{label:"URL",value:V(e.url)}],W=[{label:"\u30AB\u30B9\u30BF\u30E0\u30E1\u30FC\u30EB",value:V(e.custom_email),fieldKey:"custom_email",rawValue:e.custom_email},{label:"\u30E1\u30FC\u30EB",value:V(e.email),fieldKey:"email",rawValue:e.email}].filter(b=>b.value!=="-"),E=[{label:"\u30AB\u30B9\u30BF\u30E0\u643A\u5E2F\u756A\u53F7",value:V(e.custom_mobile_phone_number),fieldKey:"custom_mobile_phone_number",rawValue:e.custom_mobile_phone_number},{label:"\u643A\u5E2F\u756A\u53F7",value:V(e.mobile_phone_number),fieldKey:"mobile_phone_number",rawValue:e.mobile_phone_number},{label:"\u4F1A\u793E\u96FB\u8A71\u756A\u53F7",value:V(e.company_phone_number),fieldKey:"company_phone_number",rawValue:e.company_phone_number},{label:"\u4F1A\u793EFAX\u756A\u53F7",value:V(e.company_fax_number),fieldKey:"company_fax_number",rawValue:e.company_fax_number}].filter(b=>b.value!=="-"),g=[{label:"person_id",value:V(e.person_id)},{label:"person_id_redirect_to",value:V(e.person_id_redirect_to)},{label:"is_active",value:V(e.is_active)},{label:"is_contact_synced",value:V(e.is_contact_synced)},{label:"is_incomplete",value:V(e.is_incomplete)},{label:"is_in_eight",value:V(e.is_in_eight)},{label:"\u4F5C\u6210\u8005",value:V(e.created_by)},{label:"\u4F5C\u6210\u65E5\u6642",value:ye(e.created_at)},{label:"\u66F4\u65B0\u8005",value:V(e.updated_by)},{label:"\u66F4\u65B0\u65E5\u6642",value:ye(e.updated_at)}],x=[{icon:Mn,label:"person_id",value:V(e.person_id),fieldKey:"person_id",copyValue:String(e.person_id)},{icon:Ln,label:"\u30E1\u30FC\u30EB",value:h.value??"-",fieldKey:"primary_email",copyValue:h.value,linkHref:Re(h.value,!1)},{icon:On,label:"\u96FB\u8A71",value:p.value??"-",fieldKey:"primary_phone",copyValue:p.value,linkHref:wt(p.value)},{icon:Pn,label:"\u6700\u7D42\u63A5\u89E6",value:s}],k=[{title:"\u30E1\u30FC\u30EB",emptyText:"\u767B\u9332\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306F\u3042\u308A\u307E\u305B\u3093",entries:W,recommendedKey:h.fieldKey??null,resolveHref:b=>Re(b!=null?String(b):null,!1)},{title:"\u96FB\u8A71\u30FBFAX",emptyText:"\u767B\u9332\u3055\u308C\u305F\u96FB\u8A71\u756A\u53F7\u306F\u3042\u308A\u307E\u305B\u3093",entries:E,recommendedKey:p.fieldKey??null,resolveHref:b=>wt(b!=null?String(b):null)}],C=[{value:"summary",label:"\u30B5\u30DE\u30EA\u30FC",content:ee("div",{className:"flex flex-col gap-4",children:[ee("div",{className:"flex flex-col gap-1",children:[ee("div",{className:"flex items-center gap-2 text-slate-600 text-sm dark:text-slate-300",children:[O(Tn,{size:16}),O("span",{children:O(ne,{text:V(e.company_name),query:t??"",enabled:r})})]}),l.length>0?O("div",{className:"text-slate-600 text-sm dark:text-slate-300",children:l.map((b,u)=>ee("span",{children:[u>0&&" / ",O(ne,{text:b,query:t??"",enabled:r})]},`header-line-${u}`))}):null]}),O("div",{className:"flex flex-col gap-3",children:x.map(b=>O(zn,{icon:b.icon,label:b.label,value:b.value,fieldKey:b.fieldKey,copyValue:b.copyValue,onCopy:a,isCopied:b.fieldKey?n===b.fieldKey:!1,linkHref:b.linkHref,searchTerm:t,enableHighlighting:r},b.label))})]})},{value:"basic",label:"\u57FA\u672C\u60C5\u5831",content:ee("div",{className:"flex flex-col gap-3",children:[O(Ir,{title:"\u57FA\u672C\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB"}),O(ga,{items:P,searchTerm:t,enableHighlighting:r})]})},{value:"contact",label:"\u9023\u7D61\u5148",content:O("div",{className:"flex flex-col gap-4",children:k.map(({title:b,emptyText:u,entries:w,recommendedKey:S,resolveHref:M})=>ee("div",{className:"flex flex-col gap-2",children:[O(Ir,{title:b}),w.length===0?O("p",{className:"text-slate-500 text-xs dark:text-slate-400",children:u}):O("div",{className:"flex flex-col gap-2",children:w.map(L=>{let N=M(L.rawValue),B=L.fieldKey===S;return ee("div",{className:"flex items-center justify-between rounded-lg border border-slate-200 bg-white px-3 py-2 transition-colors dark:border-slate-700 dark:bg-slate-900/60",children:[ee("div",{children:[O("div",{className:"font-medium text-slate-500 text-xs dark:text-slate-400",children:L.label}),O("div",{className:"text-slate-900 text-sm dark:text-slate-100",children:N?O("a",{href:N,className:"text-inherit underline-offset-2 hover:underline focus:underline focus:outline-none",children:O(ne,{text:L.value,query:t??"",enabled:r})}):O(ne,{text:L.value,query:t??"",enabled:r})})]}),B?ee("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 font-semibold text-[11px] text-emerald-700 transition-colors dark:bg-emerald-300/20 dark:text-emerald-200",children:[O(Nn,{size:14}),"\u512A\u5148"]}):null]},L.fieldKey)})})]},b))})},{value:"meta",label:"\u30E1\u30BF\u60C5\u5831",content:ee("div",{className:"flex flex-col gap-3",children:[O(Ir,{title:"\u30E1\u30BF\u60C5\u5831"}),O(ga,{items:g,searchTerm:t,enableHighlighting:r})]})}];return ee("div",{className:`flex h-full min-h-0 w-full flex-col overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-950 ${i}`.trim(),style:m,children:[O("div",{className:"border-slate-200 border-b px-3 py-1.5 transition-colors dark:border-slate-700 dark:bg-slate-900/50",children:ee("div",{className:"flex items-center gap-2",children:[O("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-blue-50 text-blue-600 transition-colors dark:bg-sky-900/40 dark:text-sky-300",children:O(Dn,{size:16})}),ee("div",{className:"min-w-0 flex-1",children:[O("div",{className:"truncate font-semibold text-slate-900 text-sm dark:text-slate-100",children:O(ne,{text:V(e.full_name),query:t??"",enabled:r})}),O("div",{className:"truncate text-[11px] text-slate-600 dark:text-slate-300",children:O(ne,{text:f,query:t??"",enabled:r})})]})]})}),ee(Jt,{defaultValue:"summary",className:"flex flex-1 flex-col overflow-hidden",children:[O(Mt,{className:"flex gap-1.5 border-slate-200 border-b bg-slate-50 px-2 py-1 transition-colors dark:border-slate-700 dark:bg-slate-900/60",children:C.map(b=>O(Ze,{value:b.value,className:"rounded-md px-1.5 py-0.5 font-semibold text-[11px] transition-colors data-[state=active]:bg-white data-[state=active]:text-blue-600 dark:text-slate-300 dark:data-[state=active]:bg-slate-800 dark:data-[state=active]:text-sky-300",children:b.label},b.value))}),C.map(b=>O(Je,{value:b.value,className:"scrollbar-thin flex-1 overflow-y-auto px-2.5 py-2 transition-colors dark:text-slate-200",children:b.content},b.value))]})]})};import{memo as An}from"react";import{Fragment as xa,jsx as et,jsxs as tt}from"react/jsx-runtime";var Fr=An(({recordCount:e,companyCount:t,phase:r,loadedCount:o,totalCount:i,errorMessage:n,onRetry:c})=>tt("div",{"data-testid":"contact-map-annotation",className:"flex flex-wrap items-center gap-2 leading-1 transition-colors",role:"status",children:[tt("span",{className:"flex items-baseline gap-1",children:[et("span",{className:"text-slate-600 dark:text-slate-300",children:"\u7DCF\u4EF6\u6570:"}),et("span",{className:"text-slate-800 dark:text-slate-200","data-testid":"contact-map-record-count",children:e.toLocaleString()}),et("span",{className:"text-slate-600 dark:text-slate-300",children:"\u4EF6"})]}),tt("span",{className:"flex items-baseline gap-1",children:[et("span",{className:"text-slate-600 dark:text-slate-300",children:"\u4F01\u696D\u6570:"}),et("span",{className:"text-slate-800 dark:text-slate-200","data-testid":"contact-map-company-count",children:t.toLocaleString()}),et("span",{className:"text-slate-600 dark:text-slate-300",children:"\u793E"})]}),r==="streaming"||r==="retrying"||r==="idle"?tt("span",{"data-testid":"contact-map-stream-badge",className:"ml-2 inline-flex items-center gap-1.5 rounded-full bg-blue-50 px-2 py-0.5 font-medium text-blue-700 text-xs dark:bg-blue-900/30 dark:text-blue-300",children:["\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8AAD\u307F\u8FBC\u307F\u4E2D (",i!==null&&i>0?tt(xa,{children:[o.toLocaleString()," / ",i.toLocaleString()," \u4EF6\u30FB",Math.min(100,Math.round(o/i*100)),"%"]}):tt(xa,{children:[o.toLocaleString()," \u4EF6"]}),")"]}):null,r==="failed"||r==="auth-required"?tt("span",{"data-testid":"contact-map-error-badge",className:"ml-2 inline-flex items-center gap-1.5 rounded-full bg-rose-50 px-2 py-0.5 font-medium text-rose-700 text-xs dark:bg-rose-900/30 dark:text-rose-300",title:n??void 0,children:["\u26D4 \u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F (",o.toLocaleString()," \u4EF6\u53D7\u4FE1\u6E08)",c?et("button",{type:"button","data-testid":"contact-map-retry-button",onClick:c,className:"rounded border border-rose-300 bg-white px-1.5 py-0.5 font-semibold text-rose-700 transition-colors hover:bg-rose-100 dark:border-rose-700 dark:bg-rose-950 dark:text-rose-200 dark:hover:bg-rose-900",children:"\u518D\u8A66\u884C"}):null]}):null]}));Fr.displayName="ContactMapAnnotation";import{useMemo as ta}from"react";import{createContext as Bn,useContext as Un,useMemo as $n}from"react";import{jsx as Vn}from"react/jsx-runtime";var ba={streamEndpoint:"/api/contact_map/stream"},va=Bn(ba);function ya({config:e,children:t}){let r=$n(()=>({...ba,...e}),[e]);return Vn(va.Provider,{value:r,children:t})}function Ae(){return Un(va)}import{useEffect as Qn,useMemo as Zn,useSyncExternalStore as Jn}from"react";var Kn=1e3,qn=3e4,Gn=6,jn="/api/contact_map/stream",Yn=e=>({...e,contacted_at:e.contacted_at?new Date(e.contacted_at):null,created_at:e.created_at?new Date(e.created_at):void 0,updated_at:e.updated_at?new Date(e.updated_at):void 0}),Xn=e=>Array.isArray(e.records),tr=class{constructor(t={}){this.recordMap=new Map;this.listeners=new Set;this.lastCursor=null;this.consecutiveFailures=0;this.started=!1;this.disposed=!1;this.activeController=null;this.wakeRetryWait=null;this.state={records:[],loadedCount:0,totalCount:null,isLoading:!0,isComplete:!1,phase:"idle",error:null};this.handleOnline=()=>{this.wakeRetryWait?.()};this.fetchFn=t.fetchFn??((...r)=>fetch(...r)),this.endpoint=t.endpoint??jn,this.initialRetryDelayMs=t.initialRetryDelayMs??Kn,this.maxRetryDelayMs=t.maxRetryDelayMs??qn,this.maxConsecutiveFailures=t.maxConsecutiveFailures??Gn,this.logger=t.logger??ze}getState(){return this.state}getRecordMap(){return this.recordMap}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}start(){this.started||this.disposed||(this.started=!0,typeof window<"u"&&window.addEventListener("online",this.handleOnline),this.runStreamLoop())}retry(){this.disposed||this.state.phase!=="failed"||(this.consecutiveFailures=0,this.setState({error:null,isLoading:this.recordMap.size===0}),this.runStreamLoop())}retryNow(){this.retry()}dispose(){this.disposed=!0,this.activeController?.abort(),this.wakeRetryWait?.(),typeof window<"u"&&window.removeEventListener("online",this.handleOnline)}setState(t){this.state={...this.state,...t};for(let r of this.listeners)r(this.state)}publishRecords(t={}){let r=Array.from(this.recordMap.values());this.setState({records:r,loadedCount:r.length,isLoading:!1,...t})}async runStreamLoop(){for(this.setState({phase:"streaming"});!this.disposed;){let t=await this.streamOnce();if(t==="aborted")return;if(t==="complete"){this.publishRecords({isComplete:!0,phase:"complete",error:null});return}if(t==="auth-required"){this.setState({phase:"auth-required",isLoading:!1,error:new Error("Authentication required")});return}if(this.consecutiveFailures+=1,this.consecutiveFailures>=this.maxConsecutiveFailures){this.setState({phase:"failed",isLoading:!1});return}let r=Math.min(this.initialRetryDelayMs*2**(this.consecutiveFailures-1),this.maxRetryDelayMs);if(this.setState({phase:"retrying",isLoading:this.recordMap.size===0}),this.logger.warn(`[ContactMapStream] retrying in ${r}ms (attempt ${this.consecutiveFailures})`),await this.waitBeforeRetry(r),this.disposed)return;this.setState({phase:"streaming"})}}waitBeforeRetry(t){return new Promise(r=>{let o=setTimeout(()=>{this.wakeRetryWait=null,r()},t);this.wakeRetryWait=()=>{clearTimeout(o),this.wakeRetryWait=null,r()}})}buildStreamUrl(){if(!this.lastCursor)return this.endpoint;let t=this.endpoint.includes("?")?"&":"?",r=new URLSearchParams;return this.lastCursor.contacted_at!==null&&r.set("cursor_contacted_at",this.lastCursor.contacted_at),r.set("cursor_person_id",String(this.lastCursor.person_id)),`${this.endpoint}${t}${r.toString()}`}async streamOnce(){this.activeController=new AbortController;try{let t=await this.fetchFn(this.buildStreamUrl(),{signal:this.activeController.signal,credentials:"same-origin"});if(t.status===401||t.status===403)return"auth-required";if(!(t.ok&&t.body))return this.logger.warn(`[ContactMapStream] unexpected response: ${t.status}`),"retryable";let r=t.body.getReader(),o=new TextDecoder,i="",n=!1,c=!1;for(;;){let{done:d,value:m}=await r.read();if(d)break;let h=o.decode(m,{stream:!0}),p=(i+h).split(`
2
+ `);i=p.pop()??"";let s=!1;for(let a of p){let l=a.trim();if(!l)continue;let f;try{f=JSON.parse(l)}catch(v){this.logger.warn("[ContactMapStream] failed to parse NDJSON line:",v);continue}if("type"in f&&f.type==="METADATA"){typeof f.total=="number"&&Number.isFinite(f.total)&&this.setState({totalCount:f.total});continue}if(!Xn(f)){this.logger.warn("[ContactMapStream] server reported error:","error"in f?f.error:""),c=!0;continue}for(let v of f.records)v&&typeof v.person_id=="number"&&(this.recordMap.set(v.person_id,Yn(v)),s=!0);typeof f.total=="number"&&Number.isFinite(f.total)&&this.setState({totalCount:f.total}),f.nextCursor&&(this.lastCursor=f.nextCursor),f.isLast&&(n=!0)}s&&(this.consecutiveFailures=0,this.publishRecords({error:null}))}return c?(this.setState({error:new Error("Stream interrupted by server error")}),"retryable"):n?"complete":(this.setState({error:new Error("Stream ended before completion")}),"retryable")}catch(t){if(t instanceof Error&&t.name==="AbortError")return"aborted";let r=t instanceof Error?t:new Error(String(t));return this.setState({error:r}),"retryable"}finally{this.activeController=null}}};var rr=null,ka=e=>(rr??(rr=new tr({endpoint:e})),rr),ji=()=>{rr?.dispose(),rr=null},Sa=()=>ka().getRecordMap(),eo={records:[],loadedCount:0,totalCount:null,isLoading:!0,isComplete:!1,phase:"idle",error:null};function ar(e){let t=Ae(),r=e??t.streamEndpoint??"/api/contact_map/stream",o=Zn(()=>ka(r),[r]);return Qn(()=>{o.start(),o.retry()},[o]),{...Jn(n=>o.subscribe(n),()=>o.getState(),()=>eo),retryNow:()=>o.retryNow()}}import{DEFAULT_FUZZY_SEARCH_OPTIONS as Jr}from"@aiquants/fuzzy-search";import{useFuzzySearch as Ts}from"@aiquants/fuzzy-search/react";import Ps from"lucide-react/dist/esm/icons/search.js";import{useCallback as zt,useEffect as Le,useMemo as st,useRef as tn,useState as Oe,useTransition as Es}from"react";import{useNavigation as Rs,useSearchParams as Ms}from"react-router";import{normalizeText as to}from"@aiquants/select-box";var ro=/[\u200B\uFEFF]/g,ao=/^[\s\u3000\u00A0]+|[\s\u3000\u00A0]+$/g,zr=e=>{let t=e.replace(ro,"").replace(ao,"");return to(t,{convertWidth:!0,convertKana:!0,convertCase:!0,convertRomaji:!0})};import{useCallback as rt,useEffect as no,useRef as Ca}from"react";var Be=e=>{let t=Ca(null),r=Ca({isPointerDown:!1,isDragging:!1,startX:0,scrollLeft:0,pointerId:0,hasCapture:!1,didDrag:!1,pointerType:""}),o=e?.dragThreshold??4,i=rt(s=>{let a=s.currentTarget,l=s.deltaY;!a||l===0||(s.preventDefault(),a.scrollBy({left:l,behavior:"smooth"}))},[]),n=rt(s=>{t.current?.removeEventListener("wheel",i),t.current=s,s?.addEventListener("wheel",i,{passive:!1})},[i]);no(()=>()=>{t.current&&t.current.removeEventListener("wheel",i)},[i]);let c=rt(s=>{if(s.pointerType==="touch")return;let a=r.current;a.isPointerDown=!0,a.isDragging=!1,a.startX=s.clientX,a.scrollLeft=s.currentTarget.scrollLeft,a.pointerId=s.pointerId,a.hasCapture=!1,a.pointerType=s.pointerType},[]),d=rt(s=>{let a=r.current;if(!a.isPointerDown||a.pointerType==="touch")return;let l=s.currentTarget,f=s.clientX-a.startX;!a.isDragging&&Math.abs(f)>o&&(a.isDragging=!0,a.hasCapture||(l.setPointerCapture?.(s.pointerId),a.hasCapture=!0)),a.isDragging&&(s.preventDefault(),l.scrollLeft=a.scrollLeft-f)},[o]),m=rt(s=>{let a=r.current;if(a.pointerType==="touch")return;let l=s.currentTarget;a.isPointerDown&&a.hasCapture&&l.hasPointerCapture?.(s.pointerId)&&l.releasePointerCapture(s.pointerId),a.isDragging&&(a.didDrag=!0,window.setTimeout(()=>{a.didDrag=!1},0)),a.isPointerDown=!1,a.isDragging=!1,a.pointerId=0,a.hasCapture=!1},[]),h=rt(s=>{m(s)},[m]),p=rt(s=>{r.current.didDrag&&(s.preventDefault(),s.stopPropagation(),r.current.didDrag=!1)},[]);return{setScrollableRef:n,onPointerDown:c,onPointerMove:d,onPointerUp:h,onPointerLeave:h,onPointerCancel:h,onClickCapture:p}};import{jsx as wa}from"react/jsx-runtime";function Na({value:e,max:t=100,className:r,indicatorClassName:o,...i}){let n=e===void 0,c=n?0:Math.min(100,Math.max(0,e/t*100));return wa("div",{role:"progressbar","aria-valuenow":n?void 0:c,"aria-valuemin":0,"aria-valuemax":100,"data-slot":"progress",className:Qe("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",r),...i,children:wa("div",{"data-slot":"progress-indicator",className:Qe("h-full rounded-full bg-primary transition-[width] duration-300 ease-in-out will-change-transform",n&&"w-1/3 animate-progress-indeterminate",o),style:n?void 0:{width:`${c}%`}})})}import{useCallback as ms,useState as hs}from"react";import{useSearchParams as fs}from"react-router";Xe();import{Panel as Oa,PanelGroup as vo,PanelResizeHandle as yo}from"@aiquants/resize-panels";import{tapScrollCircleSampleVisual as ko,VirtualScroll as So}from"@aiquants/virtualscroll";import{lazy as Co,memo as wo,Suspense as No,useCallback as Me,useEffect as _a,useLayoutEffect as Ia,useMemo as Wt,useRef as _t,useState as lr}from"react";var Lt={listPanelMinWidth:320,detailPanelMinWidth:260,handleThickness:10,listPaddingAndBorder:0,detailPaddingAndBorder:0,scrollbarSafetyBuffer:20,hysteresisSafetyMargin:35},Ot={listPanelMinWidth:280,detailPanelMinWidth:260,handleThickness:10,listPaddingAndBorder:0,detailPaddingAndBorder:0,scrollbarSafetyBuffer:20,hysteresisSafetyMargin:35};function nr(e){let t=e.listPanelMinWidth+e.detailPanelMinWidth+e.handleThickness+e.listPaddingAndBorder+e.detailPaddingAndBorder,r=t+e.scrollbarSafetyBuffer,o=r+e.hysteresisSafetyMargin,i=o-r;return{physicalMinWidth:t,collapseThreshold:r,expandThreshold:o,hysteresisWidth:i}}import{useCallback as oo,useEffect as so,useState as io}from"react";var Ta=(e,t)=>{let{enableMutationObserver:r=!1,bottomGap:o=4,minFallbackHeight:i=240}=t??{},[n,c]=io(600),d=oo(()=>{if(typeof window>"u")return;let m=e.current;if(!m||m.offsetParent===null&&window.getComputedStyle(m).position!=="fixed")return;let h=S=>Number.parseFloat(S)||0,{top:p}=m.getBoundingClientRect(),s=m.parentElement?.getBoundingClientRect(),a=window.getComputedStyle(document.documentElement),l=h(a.getPropertyValue("--footer-height")),f=h(a.getPropertyValue("--header-height")),v=h(a.getPropertyValue("--scrollbar-height")),P=window.getComputedStyle(m),W=h(P.marginBottom),E=h(P.paddingBottom),g=window.innerHeight-l-v-o,x=s?Math.min(s.bottom,g):g,k=s?Math.max(s.top,f):f,C=Math.max(p,k),b=x-C-W-E,u=Number.isFinite(b)?Math.floor(b):0,w=u>0?u:i;w>0&&Number.isFinite(w)&&c(S=>Math.abs(S-w)>1?w:S)},[o,e,i]);return so(()=>{if(typeof window>"u")return;let m=null,h=null,p=null,s=null,a=()=>{m!==null&&window.cancelAnimationFrame(m),m=window.requestAnimationFrame(()=>{d()})};a(),h=window.setTimeout(()=>{a()},150);let l=e.current;return typeof ResizeObserver<"u"&&l&&(p=new ResizeObserver(()=>{a()}),p.observe(l),l.parentElement&&p.observe(l.parentElement)),r&&typeof MutationObserver<"u"&&(s=new MutationObserver(()=>{a()}),s.observe(document.body,{attributes:!0,childList:!0,subtree:!0})),window.addEventListener("resize",a),()=>{m!==null&&window.cancelAnimationFrame(m),h!==null&&window.clearTimeout(h),p&&p.disconnect(),s&&s.disconnect(),window.removeEventListener("resize",a)}},[e,r,d]),{viewportHeight:n,updateViewportHeight:d}};import{useCallback as Ue,useEffect as Pa,useRef as Dt,useState as Ea}from"react";var lo=600,Ra=8,or=({ref:e,onSelect:t,resolveItem:r,item:o})=>{let[i,n]=Ea(!1),[c,d]=Ea(null),m=Dt(null),h=Dt(!1),p=Dt(!1),s=Dt(null),a=Dt({onSelect:t,resolveItem:r,item:o});Pa(()=>{a.current={onSelect:t,resolveItem:r,item:o}},[t,r,o]);let l=Ue(()=>{typeof window>"u"||m.current!==null&&(window.clearTimeout(m.current),m.current=null)},[]),f=Ue(()=>{s.current&&(l(),p.current=!1,s.current=null)},[l]),v=Ue(k=>{typeof window>"u"||k.button!==0&&k.pointerType==="mouse"||(l(),p.current=!1,h.current=!1,s.current={x:k.clientX,y:k.clientY,pointerId:k.pointerId},m.current=window.setTimeout(()=>{let C=a.current,b=null;C.item!==void 0?b=C.item:C.resolveItem&&k.target&&(b=C.resolveItem(k.target)),b!==null&&(h.current=!0,C.onSelect?.(b),d(b),n(!0)),f()},lo))},[l,f]),P=Ue(k=>{s.current&&k.pointerId===s.current.pointerId&&(l(),s.current=null,p.current=!1)},[l]),W=Ue(k=>{h.current&&(k.preventDefault(),k.stopPropagation(),h.current=!1)},[]),E=Ue(k=>{if(!s.current||k.pointerId!==s.current.pointerId)return;let C=Math.abs(k.clientX-s.current.x),b=Math.abs(k.clientY-s.current.y);(C>Ra||b>Ra)&&(l(),s.current=null)},[l]),g=Ue(k=>{(i||m.current!==null)&&(k.preventDefault(),k.stopPropagation())},[i]),x=Ue(k=>{k?.cancelLongPressTimer&&l(),k?.suppressLongPress&&(p.current=!0),n(!1),d(null),h.current=!1,s.current=null},[l]);return Pa(()=>{let k=e.current;if(!(k&&typeof window<"u"))return;let C=[["pointerdown",v,void 0],["pointerup",P,void 0],["pointercancel",P,void 0],["pointermove",E,void 0],["pointerleave",P,void 0],["click",W,!0],["contextmenu",g,void 0]],b=[["contextmenu",g,!0],["pointerup",P,!0],["pointercancel",P,!0]];for(let[u,w,S]of C)k.addEventListener(u,w,S);for(let[u,w,S]of b)window.addEventListener(u,w,S);return()=>{for(let[u,w,S]of C)k.removeEventListener(u,w,S);for(let[u,w,S]of b)window.removeEventListener(u,w,S);l()}},[e,v,P,E,W,g,l]),{isPopupVisible:i,popupItem:c,handleClosePopup:x}};import{useCallback as co,useEffect as po,useState as Ma,useSyncExternalStore as uo}from"react";function sr(e,t,r){let o=r?.mediaQuery??"(min-width: 1024px)",i=uo(co(p=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let s=window.matchMedia(o);return s.addEventListener("change",p),()=>s.removeEventListener("change",p)},[o]),()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia(o).matches:!0,()=>!1),[n,c]=Ma(!1),[d,m]=Ma(0);return po(()=>{if(typeof window>"u"||typeof ResizeObserver>"u")return;let p=e.current;if(!p)return;let s=new ResizeObserver(a=>{for(let l of a){if(l.target!==p)continue;let f=0;l.borderBoxSize&&l.borderBoxSize.length>0?f=l.borderBoxSize[0].inlineSize:f=l.contentRect.width,!(!Number.isFinite(f)||f<=0)&&(m(f),c(v=>v&&f>=t.expandThreshold?!1:!v&&f<t.collapseThreshold?!0:v))}});return s.observe(p),()=>s.disconnect()},[e,t.collapseThreshold,t.expandThreshold]),{isTwoColumn:i&&!n,isContainerNarrow:n,isMediaMatches:i,containerWidth:d}}import{useSwipeToDismissOverlay as mo,useTapClick as ho}from"@aiquants/swipe-overlay";import{useCallback as fo,useEffect as go,useRef as xo}from"react";import{jsx as La,jsxs as bo}from"react/jsx-runtime";var ir=({isOpen:e,onClose:t,children:r,className:o="",title:i="\u8A73\u7D30"})=>{let n=xo(null),{overlayRef:c,overlayStyle:d,attemptClose:m}=mo({isOpen:e,onClose:t,isCloseBlocked:fo(()=>!1,[]),skipWhenTextSelected:!0}),h=ho(()=>m());return go(()=>{!e&&n.current?.contains(document.activeElement)&&document.activeElement.blur()},[e]),e?bo("div",{ref:n,"data-testid":"contact-map-mobile-overlay",className:`fixed top-0 bottom-0 left-0 z-50 flex touch-manipulation transition-[visibility] duration-200 ${e?"pointer-events-auto visible":"pointer-events-none invisible"}`,style:{right:"var(--aqcm-overlay-right, var(--aiquants-menu-pinned-width, 0px))",transition:"right 0.5s, visibility 0.2s"},"aria-hidden":!e,children:[La("button",{type:"button","aria-label":"\u80CC\u666F\u3092\u30BF\u30C3\u30D7\u3057\u3066\u9589\u3058\u308B",className:`absolute inset-0 touch-manipulation bg-slate-900/50 transition-opacity duration-200 focus:outline-none ${e?"opacity-100":"opacity-0"}`,...h}),La("aside",{role:"dialog","aria-modal":"true","aria-label":i,style:d,ref:c,className:`relative ml-auto flex h-full w-full max-w-lg transform touch-pan-y flex-col bg-white shadow-xl transition-transform duration-200 ease-out dark:bg-slate-900 ${o}`,onKeyDown:p=>{p.key==="Escape"&&(p.stopPropagation(),m())},children:r})]}):null};Lr();import{Fragment as Ho,jsx as I,jsxs as de}from"react/jsx-runtime";var To=Co(async()=>({default:(await Promise.resolve().then(()=>(ha(),ma))).default})),Fa=64,Da="h-[64px]",Wa=240,Po=4,Hr=nr(Lt),Eo=Lt.listPanelMinWidth,Ro=Lt.detailPanelMinWidth,Mo=Lt.handleThickness,Nl=Hr.collapseThreshold,Tl=Hr.expandThreshold,Lo=({contactData:e})=>{let t=e?.full_name??"(No Name)",r=e?.title??"-",o=e?.company_name??"-",i=e?.department??"-",n=e?.email??"-",c=e?.company_phone_number??e?.mobile_phone_number??"-",d=e?.updated_at?ye(e.updated_at):"-";return I(Yt,{fullName:t,title:r,companyName:o,department:i,phoneNumber:c,email:n,updatedAtText:d})},Oo=e=>({"--contact-panel-height":`${e}px`}),Do=e=>typeof e=="object"&&e!==null&&"item"in e,Wo=(e,t)=>t!==void 0?`${e}:${t.toFixed(3)}`:void 0,_o=(e,t)=>{for(let r of e){let o=Kt(r);if(o?.person_id===t)return o}return null},Ar=(e,t,r)=>{let{viewportHeight:o}=Ta(t,{enableMutationObserver:!0,bottomGap:Po,minFallbackHeight:Wa}),[i,n]=lr(0),c=Me(()=>{let s=r.current,a=t.current;if(!(s&&a))return;let l=s.getBoundingClientRect(),f=a.getBoundingClientRect(),v=Math.ceil(f.top-l.top);Number.isFinite(v)&&v>0&&n(P=>Math.abs(P-v)>1?v:P)},[t,r]);Ia(()=>{if(!e)return;c();let s=requestAnimationFrame(c);return window.addEventListener("resize",c),()=>{cancelAnimationFrame(s),window.removeEventListener("resize",c)}},[e,c]);let d=o>0?o:Wa,m=i>0?i:0,h=d+m,p=Wt(()=>Oo(h),[h]);return{normalizedViewportHeight:d,normalizedDetailHeight:h,panelSizingStyle:p}},Io=new Set,Fo=()=>{let[e,t]=lr(Io),r=Me((o,i)=>{t(n=>{if(n.has(o)===i)return n;let c=new Set(n);return i?c.add(o):c.delete(o),c})},[]);return{isAnyPopupVisible:e.size>0,handlePopupVisibilityChange:r}},zo=(e,t,r)=>{let o=_t(r);Ia(()=>{o.current=r},[r]),_a(()=>{if(e!==null)return o.current(e,t),()=>{o.current(e,!1)}},[e,t])},za=wo(({entry:e,index:t,selectedPersonId:r,onSelect:o,searchTerm:i,enableHighlighting:n,openEmailsWithGmail:c,openGmailCompose:d,onPopupVisibilityChange:m})=>{let h=_t(null),p=I("div",{className:Da}),s=Do(e)?e:null,a=Kt(e),{isPopupVisible:l,handleClosePopup:f}=or({ref:h,onSelect:o,item:a?.person_id});if(zo(a?.person_id??null,l,m),!e||!a)return p;let{person_id:v}=a,P=r===v,W=t%2===0?"bg-white dark:bg-slate-900":"bg-gray-50 dark:bg-slate-900/70",g=P?"border-blue-300 bg-blue-50 ring-1 ring-blue-200 dark:border-blue-500 dark:bg-blue-500/20 dark:ring-blue-500/40":W,x=["B","F"].map(k=>Wo(k,k==="B"?s?.baseScore:s?.score)).filter(Boolean);return de("div",{ref:h,className:`flex ${Da} w-full items-center overflow-hidden border-gray-200 border-b px-4 py-2 text-left transition-colors hover:bg-blue-50 dark:border-slate-700 dark:hover:bg-blue-500/10 ${g}`,style:{height:Fa},role:"button","aria-pressed":P,"data-selected":P?"true":"false",onClick:()=>o(v),children:[de("div",{className:"hidden w-28 shrink-0 flex-col items-center gap-0.5 text-center sm:flex",children:[de("div",{className:"whitespace-nowrap font-medium text-slate-700 text-xs leading-tight dark:text-slate-200",children:["No. ",t+1]}),I("div",{className:"truncate text-[11px] text-slate-700 leading-tight dark:text-slate-200",children:v}),I("div",{className:"flex items-center gap-1 whitespace-nowrap font-mono text-[11px] text-slate-600 leading-tight dark:text-slate-300",children:x.length?x.map(k=>I("span",{children:k},k)):I("span",{children:"-"})})]}),I(No,{fallback:I(Lo,{contactData:a}),children:I(To,{contactData:a,searchTerm:i,enableHighlighting:n,openEmailsWithGmail:c,openGmailCompose:d,isPopupVisible:l,onRequestClose:f})})]})});za.displayName="ContactListRow";var Ha=({context:e})=>{let{contactMapRecords:t,filteredItems:r,searchTerm:o,hasSearchTerm:i,enableHighlighting:n,openEmailsWithGmail:c,isSearchTabActive:d}=e,m=_t(null),h=_t(null),[p,s]=lr(null),{normalizedViewportHeight:a,panelSizingStyle:l}=Ar(d,h,m),{isAnyPopupVisible:f,handlePopupVisibilityChange:v}=Fo(),P=Wt(()=>({enablePointerDrag:!f,enableKeyboardNavigation:!f}),[f]),W=Wt(()=>i?r:t,[i,r,t]),E=Me(Q=>{s(Q)},[]),g=Me(Q=>{if(!c)return;let me=Q.trim();if(!me||me==="-"||typeof window>"u")return;let X=Re(me,!0);X&&window.open(X,"_blank","noopener,noreferrer")},[c]),[x,k]=lr(!1),C=Me(Q=>{E(Q),k(!0)},[E]),b=Me((Q,me)=>I(za,{entry:Q,index:me,selectedPersonId:p,onSelect:C,searchTerm:o,enableHighlighting:n,openEmailsWithGmail:c,openGmailCompose:g,onPopupVisibilityChange:v}),[p,C,o,n,c,g,v]),u=Me(Q=>W[Q],[W]),w=Me(Q=>Kt(W[Q])?.person_id??`row-${Q}`,[W]),S=Me(()=>Fa,[]),M=W.length,L=Wt(()=>({enabled:!0,renderVisual:ko}),[]),N=Wt(()=>p===null?null:_o(W,p),[p,W]);_a(()=>{p!==null&&!N&&s(null)},[p,N]);let B=_t(null),{isTwoColumn:ce}=sr(B,Hr),Ve=de("div",{ref:m,className:"flex min-h-0 flex-1 flex-col gap-1",children:[I("div",{className:"hidden rounded-t-lg border border-gray-200 bg-gray-50 px-4 py-2 transition-colors sm:block dark:border-slate-700 dark:bg-slate-900/70",children:de("div",{className:"flex items-center",children:[de("div",{className:"flex w-28 shrink-0 flex-col items-center gap-0.5 text-center text-[11px] text-slate-700 uppercase tracking-wider dark:text-slate-200",children:[I("span",{className:"font-semibold text-slate-900 text-xs dark:text-slate-100",children:"No"}),I("span",{className:"leading-tight",children:"ID"}),I("span",{className:"whitespace-nowrap leading-tight",children:"Score"})]}),de("div",{className:"hidden w-full grid-cols-3 gap-2 font-medium text-slate-700 text-xs uppercase tracking-wider transition-colors sm:grid xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)_auto] dark:text-slate-200",children:[de("div",{className:"flex flex-col gap-0.5",children:[I("span",{children:"\u6C0F\u540D"}),I("span",{className:"font-normal text-[10px] text-slate-600 uppercase tracking-wider dark:text-slate-300",children:"\u5F79\u8077"})]}),de("div",{className:"flex flex-col gap-0.5",children:[I("span",{children:"\u4F1A\u793E\u540D"}),I("span",{className:"font-normal text-[10px] text-slate-600 uppercase tracking-wider dark:text-slate-300",children:"\u90E8\u7F72"})]}),de("div",{className:"flex flex-col gap-0.5",children:[I("span",{children:"\u96FB\u8A71\u756A\u53F7"}),I("span",{className:"font-normal text-[10px] text-slate-600 uppercase tracking-wider dark:text-slate-300",children:"\u30E1\u30FC\u30EB"})]}),I("div",{className:"hidden items-end justify-end xl:flex",children:I("span",{className:"font-normal text-[10px] text-slate-600 uppercase tracking-wider dark:text-slate-300",children:"\u66F4\u65B0\u65E5\u6642"})})]})]})}),I("div",{ref:h,className:"flex-1",children:I(So,{itemCount:M,getItemKey:w,behaviorOptions:P,getItem:u,getItemHeight:S,viewportSize:a,overscanCount:10,scrollBarOptions:{width:8,enableScrollToTopBottomButtons:!0,tapScrollCircleOptions:L},className:"w-full rounded-b-lg border border-gray-200 border-t-0 bg-white pr-0.75 transition-colors dark:border-slate-700 dark:bg-slate-950",children:(Q,me)=>b(Q,me)})}),r.length===0&&i?I("div",{className:"py-8 text-center",children:I("p",{className:"text-slate-600 dark:text-slate-300",children:"\u691C\u7D22\u7D50\u679C\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"})}):null,M===0&&!i?I("div",{className:"py-8 text-center",children:I("p",{className:"text-slate-600 dark:text-slate-300",children:"\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093"})}):null]});return I("div",{ref:B,"data-testid":"contact-map-list-root",className:"flex min-h-0 flex-1 flex-col",style:l,children:ce?de(vo,{id:"contact-map-list-panels",direction:"horizontal",className:"flex min-h-0 w-full flex-1","data-testid":"contact-map-list-panel-group",children:[I(Oa,{id:"contact-map-list-pane",defaultSize:{value:68,unit:"percentage"},minSize:{value:Eo,unit:"pixels"},contentOverflow:"hidden",className:"flex min-h-0 flex-col",children:Ve}),I(yo,{id:"contact-map-list-handle",thickness:Mo,indicator:{visible:!0,thickness:6,length:32,barThickness:2,barLength:16},className:"cursor-col-resize rounded transition-colors hover:bg-slate-200/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-1 dark:hover:bg-slate-700/60","aria-label":"\u9023\u7D61\u5148\u4E00\u89A7\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u30EA\u30B5\u30A4\u30BA"}),I(Oa,{id:"contact-map-list-detail-pane",defaultSize:{value:32,unit:"percentage"},minSize:{value:Ro,unit:"pixels"},maxSize:{value:600,unit:"pixels"},contentOverflow:"hidden",className:"flex min-h-0 flex-col pl-1",children:I(He,{contact:N,searchTerm:o,enableHighlighting:n})})]}):de(Ho,{children:[Ve,I("div",{className:"hidden","aria-hidden":"true",children:I(He,{contact:N,searchTerm:o,enableHighlighting:n})}),N?I(ir,{isOpen:x,onClose:()=>k(!1),className:"z-50 bg-white dark:bg-slate-900",children:de("div",{className:"flex h-full flex-col overflow-hidden p-3 sm:p-4",children:[de("div",{className:"mb-2 flex items-center justify-between border-b pb-2 pr-10 dark:border-slate-700",children:[I("h3",{className:"font-semibold text-slate-900 text-sm dark:text-slate-100",children:"\u9023\u7D61\u5148\u8A73\u7D30"}),I("button",{type:"button",onClick:()=>k(!1),className:"rounded px-2.5 py-1 font-medium text-slate-600 text-xs hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800",children:"\u9589\u3058\u308B"})]}),I("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto",style:{height:"100%"},children:I(He,{contact:N,searchTerm:o,enableHighlighting:n})})]})}):null]})})};Xe();import{DirectoryTree as Yo}from"@aiquants/directory-tree";import{Panel as $a,PanelGroup as Xo,PanelResizeHandle as Qo}from"@aiquants/resize-panels";import{tapScrollCircleSampleVisual as Zo}from"@aiquants/virtualscroll";import Jo from"@heroicons/react/24/solid/FolderMinusIcon.js";import es from"@heroicons/react/24/solid/FolderPlusIcon.js";import{useCallback as Te,useEffect as at,useMemo as Pe,useRef as pr,useState as $e}from"react";import{createPortal as ts}from"react-dom";var Br=(e,t)=>e&&e.trim()||t;import{useEffect as Ao,useRef as dr,useState as Bo}from"react";var Aa=(e,t=250)=>{let[r,o]=Bo(e),i=dr(null),n=dr(e),c=dr(null),d=dr(!1);return Ao(()=>{if(!d.current){d.current=!0,o(e),n.current=e;return}n.current=r,i.current=null;let m=h=>{i.current??(i.current=h);let p=h-i.current,s=Math.min(1,Math.max(0,p/t)),a=1-(1-s)**3,l=Math.max(0,Math.round(n.current+(e-n.current)*a));o(l),s<1&&(c.current=requestAnimationFrame(m))};return c.current=requestAnimationFrame(m),()=>{c.current!==null&&cancelAnimationFrame(c.current)}},[e,t]),Math.max(0,r)};import{useEffect as Uo,useMemo as $o,useSyncExternalStore as Vo}from"react";var Ko=250,qo=4e3,Ba=3,cr=class{constructor(t){this.worker=null;this.generation=0;this.postedCount=0;this.latestSnapshot=null;this.workerNeedsReset=!1;this.lastSyncedRecords=[];this.consecutiveFailures=0;this.finalizeRequested=!1;this.retryTimer=null;this.listeners=new Set;this.state={snapshot:null,isBuilding:!1};this.getState=()=>this.state;this.subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));this.handleMessage=t=>{let r=t.data;r.type!=="TREE_CHUNK"||r.generation!==this.generation||r.uniquePersonCount===0&&this.postedCount>0&&(this.latestSnapshot?.uniquePersonCount??0)>0||this.latestSnapshot!==null&&r.uniquePersonCount<this.latestSnapshot.uniquePersonCount&&!(r.isIdle&&r.consumedRecords>=this.postedCount)||(r.isIdle&&r.consumedRecords>=this.postedCount&&(this.consecutiveFailures=0),this.latestSnapshot={tree:r.tree,directoryPaths:r.directoryPaths,consumedRecords:r.consumedRecords,uniquePersonCount:r.uniquePersonCount,isIdle:r.isIdle,rebuildEpoch:r.rebuildEpoch},this.updateState())};this.handleFailure=t=>{if(this.worker?.terminate(),this.worker=null,this.postedCount=0,this.workerNeedsReset=!0,this.consecutiveFailures+=1,this.updateState(),this.consecutiveFailures>=Ba)return;let r=Math.min(Ko*2**(this.consecutiveFailures-1),qo);this.retryTimer!==null&&clearTimeout(this.retryTimer),this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.syncRecords(this.lastSyncedRecords),this.finalizeRequested&&this.finalize()},r)};this.workerFactory=t}updateState(){let t=this.postedCount>(this.latestSnapshot?.consumedRecords??0);this.state.snapshot===this.latestSnapshot&&this.state.isBuilding===t||(this.state={snapshot:this.latestSnapshot,isBuilding:t},this.notify())}notify(){for(let t of this.listeners)t()}ensureWorker(){if(this.consecutiveFailures>=Ba)return null;if(!this.worker)try{this.worker=this.workerFactory(),this.worker.onerror=this.handleFailure,this.worker.onmessageerror=this.handleFailure,this.worker.onmessage=this.handleMessage}catch(t){return this.handleFailure(t),null}return this.worker}syncRecords(t){this.lastSyncedRecords=t;let r=this.ensureWorker();if(r&&((this.workerNeedsReset||t.length<this.postedCount)&&(this.generation+=1,this.postedCount=0,this.workerNeedsReset=!1,r.postMessage({type:"RESET_TREE",generation:this.generation,epochBase:this.latestSnapshot?.rebuildEpoch??0}),this.updateState()),t.length>this.postedCount)){let o=t.slice(this.postedCount);this.postedCount=t.length,r.postMessage({type:"APPEND_RECORDS",generation:this.generation,records:o}),this.updateState()}}finalize(){this.finalizeRequested=!0,this.worker&&this.worker.postMessage({type:"FINALIZE_TREE",generation:this.generation})}dispose(){this.retryTimer!==null&&clearTimeout(this.retryTimer),this.worker?.terminate(),this.worker=null,this.listeners.clear(),this.latestSnapshot=null,this.postedCount=0,this.workerNeedsReset=!1,this.lastSyncedRecords=[],this.consecutiveFailures=0,this.finalizeRequested=!1,this.state={snapshot:null,isBuilding:!1}}},Go=e=>{if(e)return new Worker(e,{type:"module"});let t=typeof import.meta<"u"?import.meta.url:void 0;if(t){let o=t.includes(".ts")?"../workers/treeWorker.ts":"./worker/treeWorker.mjs";return new Worker(new URL(o,t),{type:"module"})}throw new Error("Tree Worker requires workerUrl or ESM import.meta.url")},It=null,Ur=(e,t)=>{if(!It){let r=e??(()=>Go(t));It=new cr(r)}return It},Wl=e=>{Ur().syncRecords(e)},_l=()=>{Ur().finalize()},Il=()=>{It?.dispose(),It=null},jo={snapshot:null,isBuilding:!1};function Ua(e,t=!1){let r=Ae(),o=r.treeWorkerFactory,i=r.workerUrls?.treeWorker,n=$o(()=>o?new cr(o):Ur(void 0,i),[o,i]);return Uo(()=>{n.syncRecords(e),t&&n.finalize()},[n,e,t]),Vo(n.subscribe,n.getState,()=>jo)}Mr();Qt();import{Fragment as us,jsx as _,jsxs as se}from"react/jsx-runtime";var rs="(No Name)",Kr=nr(Ot),as=Ot.listPanelMinWidth,ns=Ot.detailPanelMinWidth,os=Ot.handleThickness,od=Kr.collapseThreshold,sd=Kr.expandThreshold,ss=(e,t="",r=!0)=>{let o=Br(e.full_name,rs),i=Br(e.title,""),n=_(ne,{text:o,query:t,enabled:r});return i?se("span",{className:"flex items-center gap-1.5",children:[_("span",{children:n}),_("span",{className:"text-slate-400 text-xs dark:text-slate-500",children:_(ne,{text:i,query:t,enabled:r})})]}):n},is="contact-map-tree h-full w-full",ls={hoverClassName:"bg-slate-100/70 dark:bg-slate-800/60",directorySelectedClassName:"bg-sky-100/55 dark:bg-sky-900/40 [&_.directory-tree-name]:text-sky-700 dark:[&_.directory-tree-name]:text-sky-300",itemSelectedClassName:"bg-sky-100/70 dark:bg-sky-900/55 [&_.directory-tree-name]:text-sky-700 dark:[&_.directory-tree-name]:text-sky-300"},$r="h-4 w-4 shrink-0 transition-colors duration-150",ds=(e,t,r)=>({...e,viewportHeightOverride:t,behaviorOptions:{...e.behaviorOptions,enablePointerDrag:!r,enableKeyboardNavigation:!r}}),ur=null,Va=null,Ft=new Map,Ka="",cs=(e,t,r,o)=>{let i=`${r?"icons":"plain"}#${o}`;i!==Ka&&(Ft.clear(),Ka=i);let n={entries:[],personPathMap:new Map,contactByPath:new Map,ancestorsByPath:new Map,firstPerson:null,totalCount:0},c=new Set;for(let d of e){c.add(d.absolutePath);let m=Ft.get(d.absolutePath);(!m||m.signature!==d.name)&&(m={signature:d.name,result:Ga([d],t,r,{searchTerm:"",enableHighlighting:!1})},Ft.set(d.absolutePath,m));let h=m.result;h.entries.length>0&&n.entries.push(h.entries[0]);for(let[p,s]of h.personPathMap){let a=n.personPathMap.get(p);if(a)for(let l of s)a.add(l);else n.personPathMap.set(p,new Set(s))}for(let[p,s]of h.contactByPath)n.contactByPath.set(p,s);for(let[p,s]of h.ancestorsByPath)n.ancestorsByPath.set(p,s);n.totalCount+=h.totalCount,!n.firstPerson&&h.firstPerson&&(n.firstPerson=h.firstPerson)}for(let d of Ft.keys())c.has(d)||Ft.delete(d);return n},Vr=e=>e.isSelected||e.isItemSelected?"text-sky-600 dark:text-sky-300":e.isExpanded&&e.isDirectory?"text-slate-600 dark:text-slate-200":"text-slate-500 dark:text-slate-400",qa=e=>{let t=[];for(let r of e)r.type==="directory"&&(t.push(r.absolutePath),r.children&&t.push(...qa(r.children)));return t},Ga=(e,t,r,o,i)=>{let n=new Map,c=new Map,d=new Map,m=0,h=null,p=(a,l)=>{let f=[...l,a.absolutePath];d.set(a.absolutePath,f);let v,P,W=_(ne,{text:a.name,query:o.searchTerm,enabled:o.enableHighlighting});if(a.type==="file"&&a.personId){if(i&&!i.has(a.personId))return null;let E=t.get(a.personId);if(E){c.set(a.absolutePath,E),n.has(a.personId)||n.set(a.personId,new Set);let g=n.get(a.personId);g&&g.add(a.absolutePath),m++,h||(h={personId:a.personId,path:a.absolutePath}),r&&(P=x=>{let k=Vr(x);return x.isSelected||x.isItemSelected||a.isPrimary&&(k=a.title?"text-indigo-600 dark:text-indigo-400":"text-orange-500 dark:text-orange-400"),_(r.person,{"aria-hidden":"true",className:`${$r} ${k}`})},a.title&&(W=ss(E,o.searchTerm,o.enableHighlighting))),W=_("span",{"data-contact-path":a.absolutePath,className:"block w-full",children:W})}}else if(a.children){let E=a.children.map(g=>p(g,f)).filter(g=>g!==null);if(i&&E.length===0)return null;if(v=E,r){let g=a.relativePath.startsWith("company:")?r.company:r.department;P=x=>_(g,{"aria-hidden":"true",className:`${$r} ${Vr(x)}`})}}return{name:a.name,label:W,type:a.type,absolutePath:a.absolutePath,relativePath:a.relativePath,icon:P,children:v}};return{entries:e.map(a=>p(a,[])).filter(a=>a!==null),personPathMap:n,contactByPath:c,ancestorsByPath:d,firstPerson:h,totalCount:m}},ps=(e,t,r)=>{let o=new Set,i=new Set,n=new Map;t.forEach((p,s)=>{n.set(p.item.person_id,s)});for(let p of t){let s=p.item.person_id,a=e.personPathMap.get(s);if(a)for(let l of a){o.add(l);let f=e.ancestorsByPath.get(l);if(f){for(let v of f)o.add(v);r&&f.length>0&&i.add(f[0])}}}let c=new Map,d=p=>{let s=c.get(p.absolutePath);if(s!==void 0)return s;let a=1/0;if(p.type==="file"){let l=e.contactByPath.get(p.absolutePath);l&&(a=n.get(l.person_id)??1/0)}else if(p.children)for(let l of p.children)a=Math.min(a,d(l));return c.set(p.absolutePath,a),a},m=(p,s=0)=>p.filter(a=>r&&s===0&&i.has(a.absolutePath)?!0:o.has(a.absolutePath)).map(a=>r&&s===0&&i.has(a.absolutePath)?a:a.type==="directory"&&a.children?{...a,children:m(a.children,s+1)}:a).sort((a,l)=>s===0?d(a)-d(l):0),h=m(e.entries);return{...e,entries:h}},ja=({context:e,controlsContainer:t})=>{let{contactMapRecords:r,filteredItems:o,hasSearchTerm:i,isSearchInProgress:n,isSearchTabActive:c}=e,[d,m]=$e(null),[h,p]=$e(!1),{snapshot:s,isBuilding:a}=Ua(r),l=s?.tree??null,f=Sa(),v=s?.rebuildEpoch??0,P=Pe(()=>l?cs(l,f,d,v):null,[l,f,d,v]),W=Pe(()=>{if(!l)return null;if(!i)return P;let T;h||(T=new Set(o.map(K=>K.item.person_id)));let z=Ga(l,f,d,{searchTerm:e.searchTerm,enableHighlighting:e.enableHighlighting},T);return ps(z,o,h)},[l,P,f,d,e.searchTerm,e.enableHighlighting,i,o,h]),E=Pe(()=>W||{entries:[],personPathMap:new Map,contactByPath:new Map,ancestorsByPath:new Map,firstPerson:null,totalCount:0},[W]),g=i&&e.errorMessage!==null,[x,k]=$e(E),C=pr(!1);at(()=>{if(!(n||g)){C.current=!!l,k(E);return}!C.current&&l&&E.entries.length>0&&(C.current=!0,k(E))},[E,l,n,g]);let b=i&&(n||g)?x:E,{entries:u,personPathMap:w,contactByPath:S,totalCount:M}=b,L=Pe(()=>qa(u),[u]),[N,B]=$e(()=>Va??new Set),ce=Te(T=>!N.has(T),[N]),Ve=Te(T=>{B(z=>{let K=new Set(z);return K.has(T)?K.delete(T):K.add(T),K})},[]),Q=Te(T=>{T.length!==0&&B(z=>{let K=new Set(z);for(let ve of T)K.add(ve);return K})},[]),me=Te(T=>{B(z=>{if(z.size===0)return z;let K=!1,ve=new Set(z);for(let ct of T)ve.delete(ct)&&(K=!0);return K?ve:z})},[]);at(()=>{Va=N},[N]),at(()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem("contact-map.tree-expanded")}catch{}},[]);let[X,gt]=$e(null),[pe,De]=$e(null),[xt,Ht]=$e(!1),[Ke,gr]=$e(!1),At=pr(null),Y=pr(null),{normalizedViewportHeight:bt,panelSizingStyle:Ee}=Ar(c,Y,At),we=Te(T=>{let z=S.get(T);z&&(X!==z.person_id&&gt(z.person_id),T!==pe&&De(T),Ht(!0))},[S,pe,X]),he=Te(T=>{we(T.entry.absolutePath)},[we]),Bt=Te(T=>T instanceof Element?T.closest("[data-contact-path]")?.getAttribute("data-contact-path")??null:null,[]),{isPopupVisible:vt,popupItem:ge,handleClosePopup:yt}=or({ref:Y,resolveItem:Bt,onSelect:we}),it=Te(T=>{if(!e.openEmailsWithGmail)return;let z=T.trim();if(!z||z==="-"||typeof window>"u")return;let K=Re(z,!0);K&&window.open(K,"_blank","noopener,noreferrer")},[e.openEmailsWithGmail]),xe=ge?S.get(ge):null,We=vt&&xe!==null&&xe!==void 0;at(()=>{vt&&!xe&&yt()},[vt,xe,yt]);let Ut=Pe(()=>({overscanCount:16,callbackThrottleMs:16,scrollBarOptions:{width:8,enableScrollToTopBottomButtons:!0,tapScrollCircleOptions:{enabled:!0,renderVisual:Zo}},behaviorOptions:{resetOnGetItemHeightChange:!1},preserveScrollAnchor:!0}),[]),kt=Pe(()=>ds(Ut,bt,We),[Ut,bt,We]);at(()=>{let T=!1;return typeof window>"u"?()=>{T=!0}:ur?(m(ur),()=>{T=!0}):((async()=>{try{let[K,ve,ct,Ie]=await Promise.all([import("lucide-react/dist/esm/icons/building-2.js"),import("lucide-react/dist/esm/icons/users-round.js"),import("lucide-react/dist/esm/icons/id-card.js"),import("lucide-react/dist/esm/icons/user-round.js")]);if(T)return;let Ge=K.default,Cr=ve.default,na=ct.default,oa=Ie.default;Ge&&Cr&&na&&oa&&(ur={company:Ge,department:Cr,title:na,person:oa},m(ur))}catch(K){ze.warn("Failed to load lucide icons",K)}})(),()=>{T=!0})},[]);let be=Pe(()=>{if(!d)return;let T=Ie=>Ge=>_(Ie,{"aria-hidden":"true",className:`${$r} ${Vr(Ge)}`}),z={company:T(d.company),department:T(d.department),title:T(d.title)},K=T(d.person),ve=Ie=>Ie in z,ct=Ie=>{let[Ge]=Ie.entry.relativePath.split(":",1);return(ve(Ge)?z[Ge]:z.company)(Ie)};return{directory:ct,directoryExpanded:ct,file:K}},[d]),xr=Te(()=>{B(T=>T.size===0?T:new Set)},[]),br=Te(()=>{L.length>0&&Q(L)},[L,Q]);at(()=>{if(typeof window>"u")return;let T=document.documentElement,z=window.matchMedia("(prefers-color-scheme: dark)"),K=()=>gr(T.classList.contains("dark")||z.matches);K(),z.addEventListener("change",K);let ve=new MutationObserver(K);return ve.observe(T,{attributes:!0,attributeFilter:["class"]}),()=>{z.removeEventListener("change",K),ve.disconnect()}},[]),at(()=>{if(M===0){X!==null&&gt(null),pe!==null&&De(null);return}if(X!==null){let T=w.get(X);if(T){if(pe&&T.has(pe))return;let z=T.values().next().value;z&&De(z);return}}X!==null&&gt(null),pe!==null&&De(null)},[M,X,pe,w]);let lt=pe?S.get(pe)??null:null,St=Ke?"#475569":"#94A3B8",dt=e.isStreamingComplete,_e=e.isStreamingFailed,qe=dt&&r.length===0,vr=(a||!l)&&!qe,$t=Aa(M,250),kr=se("div",{className:"flex items-center gap-1.5",children:[se("span",{className:"inline-flex h-5 items-center gap-1 rounded bg-slate-100 px-1.5 font-mono font-medium text-[10px] text-slate-700 dark:bg-slate-800 dark:text-slate-200",title:"\u30C4\u30EA\u30FC\u30D3\u30E5\u30FC\u3067\u69CB\u7BC9\u3055\u308C\u305F\u5168\u30CE\u30FC\u30C9\u6570",children:[_("span",{className:"text-[10px]",children:"\u{1F333}"})," \u30CE\u30FC\u30C9: ",l!==null||qe?`${$t.toLocaleString()} \u500B`:"\u2026"]}),_e&&!dt?se("span",{className:"inline-flex h-5 items-center gap-1 rounded border border-rose-200 bg-rose-50 px-1.5 font-medium text-[10px] text-rose-700 dark:border-rose-800 dark:bg-rose-950/60 dark:text-rose-300",title:"\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F\u3002\u53D7\u4FE1\u6E08\u307F\u30C7\u30FC\u30BF\u306E\u307F\u8868\u793A\u3057\u3066\u3044\u307E\u3059",children:[_("span",{className:"h-1.5 w-1.5 rounded-full bg-rose-500"}),_("span",{className:"text-[10px]",children:"\u26D4"})," \u4E2D\u65AD"]}):dt?vr?se("span",{className:"inline-flex h-5 items-center gap-1 rounded border border-amber-200 bg-amber-50 px-1.5 font-medium text-[10px] text-amber-700 dark:border-amber-800 dark:bg-amber-950/60 dark:text-amber-300",title:"\u53D7\u53D6\u30C7\u30FC\u30BF\u3092\u57FA\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u69CB\u9020\u3092\u6700\u7D42\u69CB\u7BC9\u30FB\u5C55\u958B\u4E2D",children:[se("span",{className:"relative flex h-1.5 w-1.5",children:[_("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-amber-400 opacity-75"}),_("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-amber-500"})]}),_("span",{className:"text-[10px]",children:"\u{1F33F}"})," Treeing..."]}):se("span",{className:"inline-flex h-5 items-center gap-1 rounded border border-emerald-200 bg-emerald-50 px-1.5 font-medium text-[10px] text-emerald-700 dark:border-emerald-800 dark:bg-emerald-950/60 dark:text-emerald-300",title:"\u30C4\u30EA\u30FC\u30CE\u30FC\u30C9\u306E\u5168\u4EF6\u69CB\u7BC9\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F",children:[_("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),_("span",{className:"text-[10px]",children:"\u2705"})," Complete"]}):se("span",{className:"inline-flex h-5 items-center gap-1 rounded border border-sky-200 bg-sky-50 px-1.5 font-medium text-[10px] text-sky-700 dark:border-sky-800 dark:bg-sky-950/60 dark:text-sky-300",title:"\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304B\u3089\u306E\u30C7\u30FC\u30BF\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u3092\u53D7\u4FE1\u4E2D",children:[se("span",{className:"relative flex h-1.5 w-1.5",children:[_("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-sky-400 opacity-75"}),_("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-sky-500"})]}),_("span",{className:"text-[10px]",children:"\u23F3"})," Loading..."]}),i&&se("button",{type:"button",onClick:()=>p(!h),className:`inline-flex h-5 items-center rounded px-1.5 text-[10px] transition-colors ${h?"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300":"text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-slate-800"}`,title:"\u691C\u7D22\u30D2\u30C3\u30C8\u3057\u305F\u4F1A\u793E\u5168\u4F53\u3092\u8868\u793A",children:[_("span",{className:"text-[10px]",children:"\u{1F3E2}"})," \u5168\u4F53\u8868\u793A"]}),L.length>0?se("div",{className:"flex items-center gap-1",children:[_("button",{type:"button",onClick:xr,className:"inline-flex h-5 w-5 items-center justify-center rounded border border-slate-300 bg-white text-slate-500 transition-colors hover:bg-slate-100 hover:text-slate-700 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700 dark:hover:text-slate-100","aria-label":"\u5168\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u5C55\u958B",title:"\u5168\u3066\u5C55\u958B",children:_(es,{className:"h-3 w-3"})}),_("button",{type:"button",onClick:br,className:"inline-flex h-5 w-5 items-center justify-center rounded border border-slate-300 bg-white text-slate-500 transition-colors hover:bg-slate-100 hover:text-slate-700 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700 dark:hover:text-slate-100","aria-label":"\u5168\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u6298\u308A\u305F\u305F\u307F",title:"\u5168\u3066\u6298\u308A\u305F\u305F\u307F",children:_(Jo,{className:"h-3 w-3"})})]}):null]}),Sr=pr(null),{isTwoColumn:ra}=sr(Sr,Kr,{mediaQuery:"(min-width: 768px)"}),aa=Pe(()=>({toggle:Ve,isExpanded:ce,expandMultiple:me,collapseMultiple:Q,isPending:n}),[Q,me,ce,Ve,n]),H=Pe(()=>({onEntryClick:he,selectedPath:pe}),[he,pe]),U=Pe(()=>({className:is,lineColor:St,iconOverrides:be,showDirectoryIcons:!!be,showFileIcons:!!be,highlightStyles:ls,entryClassName:"rounded-md px-1 py-0.5",nameClassName:"text-xs tracking-tight",directoryNameClassName:"font-normal text-slate-800 dark:text-slate-100",fileNameClassName:"text-slate-700 dark:text-slate-200"}),[St,be]),Z=_("div",{ref:At,className:"flex min-h-0 flex-1 flex-col rounded-xl border border-slate-200 bg-white shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-950",children:_("div",{ref:Y,className:"flex min-h-0 flex-1 flex-col overflow-hidden p-2",children:u.length>0?_(Yo,{entries:u,expansion:aa,selection:H,visual:U,virtualScroll:kt}):_("div",{className:"flex h-full w-full items-center justify-center rounded-lg border border-slate-300 border-dashed bg-white/70 px-6 text-center text-slate-500 text-sm transition-colors dark:border-slate-700 dark:bg-slate-900/50 dark:text-slate-300",children:i?"\u6761\u4EF6\u306B\u4E00\u81F4\u3059\u308B\u9023\u7D61\u5148\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093":"\u8868\u793A\u3059\u308B\u9023\u7D61\u5148\u304C\u3042\u308A\u307E\u305B\u3093"})})});return se("div",{ref:Sr,"data-testid":"contact-map-tree-root",className:"flex min-h-0 flex-1 flex-col",style:Ee,children:[t&&ts(kr,t),ra?se(Xo,{id:"contact-map-tree-panels",direction:"horizontal",className:"flex min-h-0 w-full flex-1","data-testid":"contact-map-tree-panel-group",children:[_($a,{id:"contact-map-tree-pane",defaultSize:{value:60,unit:"percentage"},minSize:{value:as,unit:"pixels"},contentOverflow:"hidden",className:"flex min-h-0 flex-col",children:Z}),_(Qo,{id:"contact-map-tree-handle",thickness:os,indicator:{visible:!0,thickness:6,length:32,barThickness:2,barLength:16},className:"cursor-col-resize rounded transition-colors hover:bg-slate-200/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-1 dark:hover:bg-slate-700/60","aria-label":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u3068\u8A73\u7D30\u30DA\u30A4\u30F3\u306E\u5883\u754C\u30EA\u30B5\u30A4\u30BA"}),_($a,{id:"contact-map-tree-detail-pane",defaultSize:{value:40,unit:"percentage"},minSize:{value:ns,unit:"pixels"},maxSize:{value:600,unit:"pixels"},contentOverflow:"hidden",className:"flex min-h-0 flex-col pl-1",children:_(He,{contact:lt??null,searchTerm:e.searchTerm,enableHighlighting:e.enableHighlighting})})]}):se(us,{children:[Z,_("div",{className:"hidden","aria-hidden":"true",children:_(He,{contact:lt,searchTerm:e.searchTerm,enableHighlighting:e.enableHighlighting})}),xt&&lt?_(ir,{isOpen:xt,onClose:()=>Ht(!1),className:"z-50 bg-white dark:bg-slate-900",children:se("div",{className:"flex h-full flex-col overflow-hidden p-3 sm:p-4",children:[se("div",{className:"mb-2 flex items-center justify-between border-b pb-2 pr-10 dark:border-slate-700",children:[_("h3",{className:"font-semibold text-slate-900 text-sm dark:text-slate-100",children:"\u9023\u7D61\u5148\u8A73\u7D30"}),_("button",{type:"button",onClick:()=>Ht(!1),className:"rounded px-2.5 py-1 font-medium text-slate-600 text-xs hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800",children:"\u9589\u3058\u308B"})]}),_("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto",style:{height:"100%"},children:_(He,{contact:lt,searchTerm:e.searchTerm,enableHighlighting:e.enableHighlighting})})]})}):null]}),We&&xe&&_(jt,{contactData:xe,openEmailsWithGmail:e.openEmailsWithGmail,openGmailCompose:it,onRequestClose:yt})]})};import{jsx as nt,jsxs as mr}from"react/jsx-runtime";var qr="view",gs={WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},xs=e=>e==="tree"?"tree":"list",Ya=({context:e})=>{let[t,r]=fs(),[o,i]=hs(null),n=xs(t.get(qr)),{setScrollableRef:c,onPointerDown:d,onPointerMove:m,onPointerUp:h,onPointerLeave:p,onPointerCancel:s,onClickCapture:a}=Be(),l=ms(f=>{let v=f==="tree"?"tree":"list";if(v===n)return;let P=new URLSearchParams(typeof window<"u"?window.location.search:"");v==="list"?P.delete(qr):P.set(qr,v),r(P,{replace:!0})},[n,r]);return mr("div",{"data-testid":"contact-map-search-tab-group",className:"flex h-full flex-1 flex-col",children:[mr("div",{className:"mt-1 mb-1.5 flex shrink-0 items-center gap-2",children:[mr("div",{ref:c,className:"flex space-x-1 overflow-x-auto text-nowrap rounded-lg bg-gray-100 p-0.5 transition-colors dark:bg-slate-800/80",style:gs,onPointerDown:d,onPointerMove:m,onPointerUp:h,onPointerLeave:p,onPointerCancel:s,onClickCapture:a,children:[nt("button",{type:"button","data-testid":"contact-map-tab-list",onClick:()=>l("list"),className:`rounded px-2 py-0.5 text-xs transition-colors ${n==="list"?"bg-blue-500 text-white dark:bg-blue-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4C4} List"}),nt("button",{type:"button","data-testid":"contact-map-tab-tree",onClick:()=>l("tree"),className:`rounded px-2 py-0.5 text-xs transition-colors ${n==="tree"?"bg-green-500 text-white dark:bg-green-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F333} Tree"})]}),nt("div",{ref:i,className:"flex items-center gap-1.5"})]}),mr("div",{className:"flex h-full flex-1 flex-col",children:[nt("div",{className:`${n==="list"?"flex h-full flex-1 flex-col":"hidden"}`,children:n==="list"?nt(Ha,{context:e}):null}),nt("div",{className:`${n==="tree"?"flex h-full flex-1 flex-col":"hidden"}`,children:n==="tree"?nt(ja,{context:e,controlsContainer:o}):null})]})]})};import{DEFAULT_FUZZY_SEARCH_OPTIONS as Yr}from"@aiquants/fuzzy-search";import{memo as ys}from"react";import{DEFAULT_FUZZY_SEARCH_OPTIONS as F}from"@aiquants/fuzzy-search";import{memo as bs,useId as ue}from"react";import{jsx as R,jsxs as A}from"react/jsx-runtime";var Gr=bs(({searchOptions:e,setSearchOptions:t})=>{let r="flex flex-col gap-1 rounded-md border border-gray-200 bg-white/80 px-2 py-1 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/70 dark:shadow-none",o="text-xs font-semibold",i=e.sortBy==="relevance",n=ue(),c=ue(),d=ue(),m=ue(),h=ue(),p=ue(),s=ue(),a=ue(),l=ue(),f=ue(),v=ue(),P=[];P.push(A("div",{className:`${r} border-green-200 border-l-4 dark:border-green-400/60`,children:[R("div",{className:`${o} text-green-700 dark:text-green-300`,children:"\u{1F3D7}\uFE0F \u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u69CB\u7BC9"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:n,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"N-gram \u30B5\u30A4\u30BA"}),R("input",{id:n,type:"range",min:"1",max:"4",step:"1",value:e.ngramSize||F.ngramSize,onChange:g=>t(x=>({...x,ngramSize:parseInt(g.target.value,10)})),className:"w-full"}),A("span",{className:"text-green-600 text-xs dark:text-green-300",children:["\u73FE\u5728\u5024: ",e.ngramSize||F.ngramSize]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u6587\u5B57\u5217\u3092\u4F55\u6587\u5B57\u5358\u4F4D\u3067\u5206\u5272\u3059\u308B\u304B\u3002\u5C0F\u3055\u3044\u307B\u3069\u9AD8\u901F\u3060\u304C\u7CBE\u5EA6\u4F4E\u4E0B"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:c,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u6700\u5C0F N-gram \u4E00\u81F4\u6570"}),R("input",{id:c,type:"range",min:"1",max:"5",step:"1",value:e.minNgramOverlap||F.minNgramOverlap,onChange:g=>t(x=>({...x,minNgramOverlap:parseInt(g.target.value,10)})),className:"w-full"}),A("span",{className:"text-green-600 text-xs dark:text-green-300",children:["\u73FE\u5728\u5024: ",e.minNgramOverlap||F.minNgramOverlap]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u4E00\u81F4\u6570\u304C\u3053\u306E\u5024\u3092\u4E0B\u56DE\u308B\u5019\u88DC\u306F\u9664\u5916"})]})]},"index-build")),P.push(A("div",{className:`${r} border-blue-200 border-l-4 dark:border-blue-500/60`,children:[R("div",{className:`${o} text-blue-700 dark:text-blue-300`,children:"\u{1F50D} \u5019\u88DC\u7D5E\u308A\u8FBC\u307F"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:d,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"Index \u95BE\u5024"}),R("input",{id:d,type:"range",min:"0.0",max:"1.0",step:"0.05",value:e.indexWorkerOptions?.threshold??F.indexWorkerOptions?.threshold,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,threshold:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-blue-600 text-xs dark:text-blue-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.threshold??F.indexWorkerOptions?.threshold]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"Jaro-Winkler \u985E\u4F3C\u5EA6\u306E\u4E0B\u9650\uFF08\u7BC4\u56F2: 0.0-1.0\uFF09"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:h,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"N-gram \u91CD\u8907\u5EA6\u95BE\u5024"}),R("input",{id:h,type:"range",min:"0.1",max:"0.9",step:"0.1",value:e.indexWorkerOptions?.ngramOverlapThreshold??F.indexWorkerOptions?.ngramOverlapThreshold,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,ngramOverlapThreshold:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-blue-600 text-xs dark:text-blue-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.ngramOverlapThreshold??F.indexWorkerOptions?.ngramOverlapThreshold]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"N-gram \u306E\u91CD\u306A\u308A\u5177\u5408\u3002\u9AD8\u3044\u307B\u3069\u53B3\u5BC6\u306B\u5019\u88DC\u3092\u7D5E\u308B"})]})]},"candidate-control")),P.push(A("div",{className:`${r} border-cyan-200 border-l-4 dark:border-cyan-400/60`,children:[R("div",{className:`${o} text-cyan-700 dark:text-cyan-300`,children:"\u{1F9ED} \u691C\u7D22\u6226\u7565\u3068\u5019\u88DC\u6570"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:m,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u691C\u7D22\u6226\u7565"}),A("select",{id:m,value:e.indexWorkerOptions?.strategy??F.indexWorkerOptions?.strategy??"hybrid",onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,strategy:g.target.value}})),className:"rounded border border-gray-300 px-2 py-1 text-xs transition-colors dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100",children:[R("option",{value:"fast",children:"Fast\uFF08\u9AD8\u901F\uFF09"}),R("option",{value:"accurate",children:"Accurate\uFF08\u6B63\u78BA\uFF09"}),R("option",{value:"hybrid",children:"Hybrid\uFF08\u52D5\u7684\uFF09"})]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u51E6\u7406\u8CA0\u8377\u3068\u7CBE\u5EA6\u306E\u30D0\u30E9\u30F3\u30B9\u3092\u9078\u629E"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:p,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u6700\u5C0F\u5019\u88DC\u6BD4\u7387"}),R("input",{id:p,type:"range",min:"0.05",max:"0.3",step:"0.05",value:e.indexWorkerOptions?.minCandidatesRatio??F.indexWorkerOptions?.minCandidatesRatio,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,minCandidatesRatio:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-cyan-600 text-xs dark:text-cyan-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.minCandidatesRatio??F.indexWorkerOptions?.minCandidatesRatio]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u6700\u4F4E\u9650\u78BA\u4FDD\u3059\u308B\u5019\u88DC\u5272\u5408"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:s,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u6700\u5927\u5019\u88DC\u6BD4\u7387"}),R("input",{id:s,type:"range",min:"0.3",max:"0.8",step:"0.1",value:e.indexWorkerOptions?.maxCandidatesRatio??F.indexWorkerOptions?.maxCandidatesRatio,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,maxCandidatesRatio:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-cyan-600 text-xs dark:text-cyan-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.maxCandidatesRatio??F.indexWorkerOptions?.maxCandidatesRatio]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u5019\u88DC\u6570\u306E\u4E0A\u9650\u3002\u8D85\u3048\u308B\u3068\u52D5\u7684\u306B\u7D5E\u308A\u8FBC\u307F"})]})]},"strategy")),P.push(A("div",{className:`${r} border-indigo-200 border-l-4 dark:border-indigo-500/60`,children:[R("div",{className:`${o} text-indigo-700 dark:text-indigo-300`,children:"\u{1F521} \u30B9\u30B3\u30A2\u8ABF\u6574"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:a,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"Jaro-Winkler \u63A5\u982D\u8F9E\u91CD\u307F"}),R("input",{id:a,type:"range",min:"0.05",max:"0.25",step:"0.05",value:e.indexWorkerOptions?.jaroWinklerPrefix??F.indexWorkerOptions?.jaroWinklerPrefix,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,jaroWinklerPrefix:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-indigo-600 text-xs dark:text-indigo-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.jaroWinklerPrefix??F.indexWorkerOptions?.jaroWinklerPrefix]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u5148\u982D\u4E00\u81F4\u306B\u4ED8\u4E0E\u3059\u308B\u30DC\u30FC\u30CA\u30B9\u5024"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:l,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u6700\u5927\u7D50\u679C\u6570"}),R("input",{id:l,type:"range",min:"1000",max:"10000",step:"1000",value:e.indexWorkerOptions?.maxResults??F.indexWorkerOptions?.maxResults,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,maxResults:parseInt(g.target.value,10)}})),className:"w-full"}),A("span",{className:"text-indigo-600 text-xs dark:text-indigo-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.maxResults??F.indexWorkerOptions?.maxResults]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u53D6\u5F97\u3059\u308B\u6700\u5927\u4EF6\u6570\u3002\u5927\u304D\u3044\u307B\u3069\u5305\u62EC\u7684\u3060\u304C\u9045\u5EF6\u304C\u5897\u52A0"})]})]},"jaro")),P.push(A("div",{className:`${r} border-emerald-200 border-l-4 ${i?"":"opacity-50"} dark:border-emerald-400/60`,children:[R("div",{className:`${o} text-emerald-700 dark:text-emerald-300`,children:"\u{1F3AF} Relevance \u30B9\u30B3\u30A2\u91CD\u307F"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:f,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u30D5\u30A3\u30FC\u30EB\u30C9\u91CD\u307F"}),R("input",{id:f,type:"range",min:"0",max:"1",step:"0.05",value:e.indexWorkerOptions?.relevanceFieldWeight??F.indexWorkerOptions?.relevanceFieldWeight??.2,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,relevanceFieldWeight:parseFloat(g.target.value)}})),disabled:!i,className:"w-full disabled:cursor-not-allowed"}),A("span",{className:"text-emerald-600 text-xs dark:text-emerald-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.relevanceFieldWeight??F.indexWorkerOptions?.relevanceFieldWeight??.2]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u30DE\u30C3\u30C1\u30D5\u30A3\u30FC\u30EB\u30C9\u6570\u306B\u3069\u308C\u3060\u3051\u91CD\u307F\u4ED8\u3051\u3059\u308B\u304B"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:v,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u5B8C\u5168\u4E00\u81F4\u30DC\u30FC\u30CA\u30B9"}),R("input",{id:v,type:"range",min:"0",max:"0.3",step:"0.1",value:e.indexWorkerOptions?.relevancePerfectMatchBonus??F.indexWorkerOptions?.relevancePerfectMatchBonus??.1,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,relevancePerfectMatchBonus:parseFloat(g.target.value)}})),disabled:!i,className:"w-full disabled:cursor-not-allowed"}),A("span",{className:"text-emerald-600 text-xs dark:text-emerald-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.relevancePerfectMatchBonus??F.indexWorkerOptions?.relevancePerfectMatchBonus??.1]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u5B8C\u5168\u4E00\u81F4\u6642\u306B\u8FFD\u52A0\u3059\u308B\u30DC\u30FC\u30CA\u30B9\u5024"})]}),!i&&R("p",{className:"text-[11px] text-emerald-600 dark:text-emerald-300",children:"Relevance \u30BD\u30FC\u30C8\u6642\u306E\u307F\u5909\u66F4\u53EF\u80FD"})]},"relevance"));let W=ue(),E=ue();return P.push(A("div",{className:`${r} border-teal-200 border-l-4 dark:border-teal-400/60`,children:[R("div",{className:`${o} text-teal-700 dark:text-teal-300`,children:"\u{1F524} \u548C\u6587\u30FB\u90E8\u5206\u6587\u5B57\u5217\u5305\u542B\u30B9\u30B3\u30A2"}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:W,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u5305\u542B \u57FA\u790E\u30B9\u30B3\u30A2 (containmentScoreBase)"}),R("input",{id:W,type:"range",min:"0.0",max:"0.7",step:"0.05",value:e.indexWorkerOptions?.containmentScoreBase??F.indexWorkerOptions?.containmentScoreBase??.7,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,containmentScoreBase:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-teal-600 text-xs dark:text-teal-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.containmentScoreBase??F.indexWorkerOptions?.containmentScoreBase??.7]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u30AF\u30A8\u30EA\u304C\u6587\u5B57\u5217\u4E2D\u306B\u5B8C\u5168\u542B\u307E\u308C\u308B\u5834\u5408\u306E\u6700\u4F4E\u57FA\u790E\u30B9\u30B3\u30A2\uFF08\u548C\u65872\u6587\u5B57\u7B49\u306E\u6551\u6E08\uFF09"})]}),A("div",{className:"space-y-2",children:[R("label",{htmlFor:E,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u5305\u542B \u88AB\u8986\u7387\u91CD\u307F (containmentCoverageWeight)"}),R("input",{id:E,type:"range",min:"0.0",max:"0.3",step:"0.05",value:e.indexWorkerOptions?.containmentCoverageWeight??F.indexWorkerOptions?.containmentCoverageWeight??.3,onChange:g=>t(x=>({...x,indexWorkerOptions:{...x.indexWorkerOptions,containmentCoverageWeight:parseFloat(g.target.value)}})),className:"w-full"}),A("span",{className:"text-teal-600 text-xs dark:text-teal-300",children:["\u73FE\u5728\u5024: ",e.indexWorkerOptions?.containmentCoverageWeight??F.indexWorkerOptions?.containmentCoverageWeight??.3]}),R("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u30AF\u30A8\u30EA\u9577/\u30D5\u30A3\u30FC\u30EB\u30C9\u9577\u6BD4\u7387\u306B\u5FDC\u3058\u305F\u52A0\u7B97\u30B9\u30B3\u30A2\uFF08\u5408\u8A081.0\u4EE5\u4E0B\u306B\u5236\u9650\uFF09"})]})]},"containment")),A("section",{className:"space-y-3",children:[A("div",{className:"flex items-center justify-between gap-3",children:[A("div",{className:"flex items-center gap-2 font-semibold text-green-700 text-xs transition-colors dark:text-green-300",children:[R("span",{children:"\u{1F4CA}"}),R("span",{className:"tracking-wide",children:"Index Worker \u8A2D\u5B9A"})]}),R("button",{type:"button",onClick:()=>t(g=>({...g,indexWorkerOptions:{threshold:F.indexWorkerOptions?.threshold||.4,ngramOverlapThreshold:F.indexWorkerOptions?.ngramOverlapThreshold||.3,minCandidatesRatio:F.indexWorkerOptions?.minCandidatesRatio||.1,maxCandidatesRatio:F.indexWorkerOptions?.maxCandidatesRatio||.5,jaroWinklerPrefix:F.indexWorkerOptions?.jaroWinklerPrefix||.1,maxResults:F.indexWorkerOptions?.maxResults||100,relevanceFieldWeight:F.indexWorkerOptions?.relevanceFieldWeight||.2,relevancePerfectMatchBonus:F.indexWorkerOptions?.relevancePerfectMatchBonus||.1,containmentScoreBase:F.indexWorkerOptions?.containmentScoreBase||.7,containmentCoverageWeight:F.indexWorkerOptions?.containmentCoverageWeight||.3,strategy:F.indexWorkerOptions?.strategy},ngramSize:F.ngramSize,minNgramOverlap:F.minNgramOverlap})),className:"rounded border border-green-300 bg-green-100 px-2 py-1 font-medium text-green-700 text-xs transition-colors hover:bg-green-200 dark:border-green-400/60 dark:bg-green-900/20 dark:text-green-200 dark:hover:bg-green-800/30",title:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8",children:"\u30EA\u30BB\u30C3\u30C8"})]}),R("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:P})]})});Gr.displayName="IndexWorkerSettings";import{DEFAULT_FUZZY_SEARCH_OPTIONS as ae}from"@aiquants/fuzzy-search";import{memo as vs,useId as mt}from"react";import{jsx as G,jsxs as te}from"react/jsx-runtime";var jr=vs(({searchOptions:e,setSearchOptions:t})=>{let r="flex flex-col gap-1 rounded-md border border-gray-200 bg-white/80 px-2 py-1 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/70 dark:shadow-none",o="text-xs font-semibold",i=e.sortBy==="relevance",n=mt(),c=mt(),d=mt(),m=mt(),h=mt(),p=mt(),s=[];return s.push(te("div",{className:`${r} border-purple-200 border-l-4 dark:border-purple-400/60`,children:[G("div",{className:`${o} text-purple-700 dark:text-purple-300`,children:"\u{1F9EE} \u5019\u88DC\u30D5\u30A3\u30EB\u30BF"}),te("div",{className:"space-y-2",children:[G("label",{htmlFor:n,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"Levenshtein \u95BE\u5024"}),G("input",{id:n,type:"range",min:"0.0",max:i?"1.5":"1.0",step:"0.05",value:e.levenshteinWorkerOptions?.threshold??ae.levenshteinWorkerOptions?.threshold,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,threshold:parseFloat(a.target.value)}})),className:"w-full"}),te("span",{className:"text-purple-600 text-xs dark:text-purple-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.threshold??ae.levenshteinWorkerOptions?.threshold]}),te("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:["\u3053\u306E\u95BE\u5024\u4EE5\u4E0A\u306E\u7D50\u679C\u306E\u307F\u4FDD\u6301",i?"\uFF08\u7BC4\u56F2: 0.0-1.5\uFF09":"\uFF08\u7BC4\u56F2: 0.0-1.0\uFF09"]})]}),te("div",{className:"space-y-2",children:[G("label",{htmlFor:c,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u9577\u3055\u985E\u4F3C\u5EA6\u95BE\u5024"}),G("input",{id:c,type:"range",min:"0.05",max:"0.3",step:"0.05",value:e.levenshteinWorkerOptions?.lengthSimilarityThreshold??ae.levenshteinWorkerOptions?.lengthSimilarityThreshold,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,lengthSimilarityThreshold:parseFloat(a.target.value)}})),className:"w-full"}),te("span",{className:"text-purple-600 text-xs dark:text-purple-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.lengthSimilarityThreshold??ae.levenshteinWorkerOptions?.lengthSimilarityThreshold]}),G("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u9577\u3055\u304C\u5927\u304D\u304F\u7570\u306A\u308B\u5019\u88DC\u3092\u4E8B\u524D\u306B\u9664\u5916\u3057\u3066\u901F\u5EA6\u5411\u4E0A"})]})]},"threshold")),s.push(te("div",{className:`${r} border-pink-200 border-l-4 dark:border-pink-400/60`,children:[G("div",{className:`${o} text-pink-700 dark:text-pink-300`,children:"\u{1FA84} \u30B9\u30B3\u30A2\u8ABF\u6574"}),te("div",{className:"space-y-2",children:[G("label",{htmlFor:d,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u9577\u3055\u5DEE\u30DA\u30CA\u30EB\u30C6\u30A3"}),G("input",{id:d,type:"range",min:"0.5",max:"2.0",step:"0.1",value:e.levenshteinWorkerOptions?.lengthDiffPenalty??ae.levenshteinWorkerOptions?.lengthDiffPenalty,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,lengthDiffPenalty:parseFloat(a.target.value)}})),className:"w-full"}),te("span",{className:"text-pink-600 text-xs dark:text-pink-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.lengthDiffPenalty??ae.levenshteinWorkerOptions?.lengthDiffPenalty]}),G("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u9577\u3055\u5DEE\u3092\u3069\u308C\u3060\u3051\u6E1B\u70B9\u3059\u308B\u304B\u3002\u5927\u304D\u3044\u307B\u3069\u9577\u3055\u4E00\u81F4\u3092\u91CD\u8996"})]})]},"penalty")),s.push(te("div",{className:`${r} border-violet-200 border-l-4 dark:border-violet-400/60`,children:[G("div",{className:`${o} text-violet-700 dark:text-violet-300`,children:"\u{1F4E6} \u7D50\u679C\u6570\u5236\u5FA1"}),G("label",{htmlFor:m,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u6700\u5927\u7D50\u679C\u6570"}),G("input",{id:m,type:"range",min:"1000",max:"10000",step:"1000",value:e.levenshteinWorkerOptions?.maxResults??ae.levenshteinWorkerOptions?.maxResults,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,maxResults:parseInt(a.target.value,10)}})),className:"w-full"}),te("span",{className:"text-violet-600 text-xs dark:text-violet-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.maxResults??ae.levenshteinWorkerOptions?.maxResults]}),G("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u8FD4\u5374\u3059\u308B\u6700\u5927\u4EF6\u6570\u3002\u5927\u304D\u3044\u307B\u3069\u7DB2\u7F85\u7684\u3060\u304C\u51E6\u7406\u6642\u9593\u304C\u5897\u52A0"})]},"max-results")),s.push(te("div",{className:`${r} border-rose-200 border-l-4 ${i?"":"opacity-50"} dark:border-rose-400/60`,children:[G("div",{className:`${o} text-rose-700 dark:text-rose-300`,children:"\u{1F3AF} Relevance \u30B9\u30B3\u30A2\u91CD\u307F"}),te("div",{className:"space-y-2",children:[G("label",{htmlFor:h,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u30D5\u30A3\u30FC\u30EB\u30C9\u91CD\u307F"}),G("input",{id:h,type:"range",min:"0",max:"1",step:"0.05",value:e.levenshteinWorkerOptions?.relevanceFieldWeight??ae.levenshteinWorkerOptions?.relevanceFieldWeight??.15,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,relevanceFieldWeight:parseFloat(a.target.value)}})),disabled:!i,className:"w-full disabled:cursor-not-allowed"}),te("span",{className:"text-rose-600 text-xs dark:text-rose-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.relevanceFieldWeight??ae.levenshteinWorkerOptions?.relevanceFieldWeight??.15]}),G("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u4E00\u81F4\u30D5\u30A3\u30FC\u30EB\u30C9\u6570\u306E\u8A55\u4FA1\u91CD\u307F"})]}),te("div",{className:"space-y-2",children:[G("label",{htmlFor:p,className:"font-medium text-[11px] text-gray-600 transition-colors dark:text-slate-300",children:"\u90E8\u5206\u4E00\u81F4\u30DC\u30FC\u30CA\u30B9"}),G("input",{id:p,type:"range",min:"0.05",max:"0.3",step:"0.05",value:e.levenshteinWorkerOptions?.partialMatchBonus??ae.levenshteinWorkerOptions?.partialMatchBonus,onChange:a=>t(l=>({...l,levenshteinWorkerOptions:{...l.levenshteinWorkerOptions,partialMatchBonus:parseFloat(a.target.value)}})),disabled:!i,className:"w-full disabled:cursor-not-allowed"}),te("span",{className:"text-rose-600 text-xs dark:text-rose-300",children:["\u73FE\u5728\u5024: ",e.levenshteinWorkerOptions?.partialMatchBonus??ae.levenshteinWorkerOptions?.partialMatchBonus]}),G("p",{className:"text-[11px] text-gray-500 transition-colors dark:text-slate-400",children:"\u90E8\u5206\u4E00\u81F4\u306B\u4ED8\u4E0E\u3059\u308B\u8FFD\u52A0\u30B9\u30B3\u30A2"})]}),!i&&G("p",{className:"text-[11px] text-rose-600 dark:text-rose-300",children:"Relevance \u30BD\u30FC\u30C8\u6642\u306E\u307F\u4FEE\u6B63\u53EF\u80FD"})]},"relevance")),te("section",{className:"space-y-3",children:[te("div",{className:"flex items-center justify-between gap-3",children:[te("div",{className:"flex items-center gap-2 font-semibold text-purple-700 text-xs transition-colors dark:text-purple-300",children:[G("span",{children:"\u{1F4CF}"}),G("span",{className:"tracking-wide",children:"Levenshtein Worker \u8A73\u7D30\u8A2D\u5B9A"})]}),G("button",{type:"button",onClick:()=>t(a=>({...a,levenshteinWorkerOptions:{threshold:ae.levenshteinWorkerOptions?.threshold||.3,lengthSimilarityThreshold:ae.levenshteinWorkerOptions?.lengthSimilarityThreshold||.1,partialMatchBonus:ae.levenshteinWorkerOptions?.partialMatchBonus||.1,lengthDiffPenalty:ae.levenshteinWorkerOptions?.lengthDiffPenalty||1,maxResults:ae.levenshteinWorkerOptions?.maxResults||100,relevanceFieldWeight:ae.levenshteinWorkerOptions?.relevanceFieldWeight||.15}})),className:"rounded border border-purple-300 bg-purple-100 px-2 py-1 font-medium text-purple-700 text-xs transition-colors hover:bg-purple-200 dark:border-purple-400/60 dark:bg-purple-900/20 dark:text-purple-200 dark:hover:bg-purple-800/30",title:"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8",children:"\u30EA\u30BB\u30C3\u30C8"})]}),G("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:s})]})});jr.displayName="LevenshteinWorkerSettings";import{jsx as ie,jsxs as hr}from"react/jsx-runtime";var ks={WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},Xr=ys(({searchOptions:e,setSearchOptions:t,enableHighlighting:r,setEnableHighlighting:o,openEmailsWithGmail:i,setOpenEmailsWithGmail:n,activeTab:c,onTabChange:d})=>{let{setScrollableRef:m,onPointerDown:h,onPointerMove:p,onPointerUp:s,onPointerLeave:a,onPointerCancel:l,onClickCapture:f}=Be();return hr("div",{className:"wrap-break-word flex w-full flex-col gap-1.5 rounded-lg border border-blue-300 bg-white p-1.5 shadow-md transition-colors dark:border-blue-500/40 dark:bg-slate-900/80 dark:shadow-blue-900/30",children:[hr("div",{className:"mb-0.5 flex shrink-0 flex-col gap-1 rounded bg-blue-50 px-1.5 py-0.5 transition-colors sm:flex-row sm:items-center sm:justify-between dark:bg-blue-900/30",children:[ie("h3",{className:"font-semibold text-gray-700 text-xs transition-colors dark:text-slate-100",children:"\u2699\uFE0F \u691C\u7D22\u8A2D\u5B9A"}),ie("div",{className:"flex flex-wrap gap-1.5",children:ie("button",{type:"button",onClick:()=>t(v=>({...Yr,autoSearchOnIndexRebuild:!1,debounceMs:0,workerUrls:v.workerUrls,indexWorkerOptions:{...Yr.indexWorkerOptions},levenshteinWorkerOptions:{...Yr.levenshteinWorkerOptions}})),className:"rounded bg-red-500 px-1.5 py-0.5 text-[10px] text-white transition-colors hover:bg-red-600 dark:hover:bg-red-700",title:"\u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u30EA\u30BB\u30C3\u30C8",children:"\u{1F504} \u3059\u3079\u3066\u30EA\u30BB\u30C3\u30C8"})})]}),ie("div",{className:"mb-0 shrink-0",children:hr("div",{ref:m,role:"tablist","aria-label":"\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3\u8A2D\u5B9A\u30BF\u30D6",className:"flex space-x-1 overflow-x-auto text-nowrap rounded-md bg-gray-100 p-0.5 transition-colors dark:bg-slate-800/80",style:ks,onPointerDown:h,onPointerMove:p,onPointerUp:s,onPointerLeave:a,onPointerCancel:l,onClickCapture:f,children:[ie("button",{type:"button",role:"tab","aria-selected":c==="basic",onClick:()=>d("basic"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${c==="basic"?"bg-blue-500 text-white dark:bg-blue-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F527} \u57FA\u672C\u8A2D\u5B9A"}),ie("button",{type:"button",role:"tab","aria-selected":c==="advanced",onClick:()=>d("advanced"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${c==="advanced"?"bg-orange-500 text-white dark:bg-orange-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u26A1 \u8A73\u7D30\u8A2D\u5B9A"}),ie("button",{type:"button",role:"tab","aria-selected":c==="index",onClick:()=>d("index"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${c==="index"?"bg-green-500 text-white dark:bg-green-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4CA} Index Worker"}),ie("button",{type:"button",role:"tab","aria-selected":c==="levenshtein",onClick:()=>d("levenshtein"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${c==="levenshtein"?"bg-purple-500 text-white dark:bg-purple-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4CF} Levenshtein Worker"})]})}),hr("div",{className:"flex flex-col gap-1",children:[ie("div",{className:`${c==="basic"?"block":"hidden"}`,children:ie(Nr,{searchOptions:e,setSearchOptions:t,enableHighlighting:r,setEnableHighlighting:o,openEmailsWithGmail:i,setOpenEmailsWithGmail:n})}),ie("div",{className:`${c==="advanced"?"block":"hidden"}`,children:ie(wr,{searchOptions:e,setSearchOptions:t})}),ie("div",{className:`${c==="index"?"block":"hidden"}`,children:ie(Gr,{searchOptions:e,setSearchOptions:t})}),ie("div",{className:`${c==="levenshtein"?"block":"hidden"}`,children:ie(jr,{searchOptions:e,setSearchOptions:t})})]})]})});Xr.displayName="SearchOptionsPanel";import{memo as ws}from"react";import{memo as Ss}from"react";import{jsxs as Qr}from"react/jsx-runtime";var D=Ss(({label:e,value:t,unit:r,color:o="text-gray-600 dark:text-slate-300"})=>Qr("div",{className:"wrap-break-word flex min-w-0 flex-col overflow-hidden text-gray-700 transition-colors sm:flex-row sm:justify-between dark:text-slate-200",children:[Qr("span",{className:"wrap-break-word overflow-hidden text-left",children:[e,":"]}),Qr("span",{className:`font-medium ${o} min-w-0 overflow-hidden break-all transition-colors sm:ml-2`,children:[t,r]})]}));D.displayName="StatItem";Xe();import{memo as Cs}from"react";import{jsx as y,jsxs as re}from"react/jsx-runtime";var ht=Cs(({title:e,icon:t,stats:r,color:o})=>{if(!r)return y("section",{className:"rounded-lg border border-gray-200 border-dashed bg-white/40 p-3 text-gray-400 text-xs transition-colors dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400",children:"\u7D71\u8A08\u30C7\u30FC\u30BF\u306A\u3057"});let i=r.basic||{},n=r.workerSpecific||{},c=r.analysis||{},d=i.totalSearches??0,m=i.totalProcessingTime??0,h=i.averageSearchTime??0,p=i.lastSearchTime??0,s=i.errorCount??0,a=i.timestamp,l=c.fieldPerformance||{},f=c.performanceInsights||{},v=c.recentHistory||[],P=n.specificMetrics||{},W=n.operationCount??0,E=n.operationDistribution||{},g=e==="Index Worker",x=e==="Levenshtein Worker",k=P,C=P,b="flex flex-col gap-1 rounded-lg border border-gray-200 bg-white/80 p-3 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/70 dark:shadow-none",u="text-xs font-semibold transition-colors",w=M=>{if(M)return ye(M)},S=[];if(S.push(re("div",{className:`${b} border-blue-200 border-l-4 dark:border-blue-500/60`,children:[y("div",{className:`${u} ${o}`,children:"\u{1F4CA} \u57FA\u672C\u7D71\u8A08"}),y(D,{label:"\u7DCF\u691C\u7D22\u56DE\u6570",value:d.toLocaleString(),color:o}),y(D,{label:"\u5E73\u5747\u691C\u7D22\u6642\u9593",value:h.toFixed(2),unit:"ms",color:o}),y(D,{label:"\u7DCF\u51E6\u7406\u6642\u9593",value:m.toFixed(2),unit:"ms",color:o}),y(D,{label:"\u6700\u5F8C\u306E\u691C\u7D22\u6642\u9593",value:p.toFixed(2),unit:"ms",color:o}),y(D,{label:"\u30A8\u30E9\u30FC\u6570",value:s,color:s>0?"text-red-600 dark:text-red-400":o}),w(a)&&y(D,{label:"\u7D71\u8A08\u66F4\u65B0\u6642\u523B",value:w(a),color:"text-gray-500 dark:text-slate-400"})]},"basic")),W>0||Object.keys(E).length>0){let M=Object.entries(E).sort(([,L],[,N])=>(Number(N)||0)-(Number(L)||0)).slice(0,6);S.push(re("div",{className:`${b} border-amber-200 border-l-4 dark:border-amber-400/60`,children:[y("div",{className:`${u} text-amber-600 dark:text-amber-300`,children:"\u{1F527} \u64CD\u4F5C\u7D71\u8A08"}),y(D,{label:"\u7DCF\u64CD\u4F5C\u6570",value:W.toLocaleString(),color:"text-amber-700 dark:text-amber-300"}),M.length>0&&y("div",{className:"mt-1 space-y-1",children:M.map(([L,N])=>y(D,{label:L,value:Number(N).toLocaleString(),unit:"\u56DE",color:"text-amber-700 dark:text-amber-300"},L))})]},"operations"))}if(g&&(S.push(re("div",{className:`${b} border-green-200 border-l-4 dark:border-green-400/60`,children:[y("div",{className:`${u} text-green-700 dark:text-green-300`,children:"\u{1F3D7}\uFE0F \u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u7D71\u8A08"}),y(D,{label:"\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u69CB\u7BC9\u56DE\u6570",value:(k.totalIndexBuilds??0).toLocaleString(),color:"text-green-700 dark:text-green-300"}),y(D,{label:"\u30C7\u30FC\u30BF\u30B5\u30A4\u30BA",value:(k.currentDataSize??0).toLocaleString(),unit:"\u4EF6",color:"text-green-700 dark:text-green-300"}),y(D,{label:"\u6700\u5F8C\u306E\u69CB\u7BC9\u6642\u9593",value:(k.lastIndexTime??0).toFixed(2),unit:"ms",color:"text-green-700 dark:text-green-300"})]},"index-core")),k.cacheSize&&S.push(re("div",{className:`${b} border-emerald-200 border-l-4 dark:border-emerald-400/60`,children:[y("div",{className:`${u} text-emerald-700 dark:text-emerald-300`,children:"\u{1F4BE} \u30AD\u30E3\u30C3\u30B7\u30E5\u7D71\u8A08"}),y(D,{label:"N-gram",value:(k.cacheSize.ngram??0).toLocaleString(),color:"text-emerald-700 dark:text-emerald-300"}),y(D,{label:"\u5358\u8A9E",value:(k.cacheSize.word??0).toLocaleString(),color:"text-emerald-700 dark:text-emerald-300"}),y(D,{label:"\u97F3\u97FB",value:(k.cacheSize.phonetic??0).toLocaleString(),color:"text-emerald-700 dark:text-emerald-300"})]},"index-cache")),k.indexMetadata)){let M=Object.entries(k.indexMetadata).slice(0,6);M.length>0&&S.push(re("div",{className:`${b} border-teal-200 border-l-4 dark:border-teal-400/60`,children:[y("div",{className:`${u} text-teal-700 dark:text-teal-300`,children:"\u{1F4CB} \u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30E1\u30BF\u30C7\u30FC\u30BF"}),M.map(([L,N])=>{let B;if(typeof N=="number"){let ce=L.toLowerCase();ce.includes("time")&&!ce.includes("timestamp")?B=`${N.toFixed(2)}ms`:ce.includes("timestamp")||ce.includes("at")?B=w(N)??N.toString():B=N.toLocaleString()}else B=String(N);return y(D,{label:L,value:B,color:"text-teal-700 dark:text-teal-300"},L)})]},"index-meta"))}if(x){if(S.push(re("div",{className:`${b} border-purple-200 border-l-4 dark:border-purple-400/60`,children:[y("div",{className:`${u} text-purple-700 dark:text-purple-300`,children:"\u{1F522} \u8A08\u7B97\u7D71\u8A08"}),y(D,{label:"\u7DCF\u8A08\u7B97\u6570",value:(C.totalCalculations??0).toLocaleString(),color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u8DDD\u96E2\u8A08\u7B97\u6570",value:(C.totalDistanceCalculations??0).toLocaleString(),color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u5E73\u5747\u8DDD\u96E2",value:typeof C.averageDistance=="number"?C.averageDistance.toFixed(2):"0.00",color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u6700\u5C0F\u8DDD\u96E2",value:C.minDistance??"N/A",color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u6700\u5927\u8DDD\u96E2",value:C.maxDistance??0,color:"text-purple-700 dark:text-purple-300"})]},"lev-basic")),S.push(re("div",{className:`${b} border-fuchsia-200 border-l-4 dark:border-fuchsia-400/60`,children:[y("div",{className:`${u} text-fuchsia-700 dark:text-fuchsia-300`,children:"\u{1F3AF} \u30DE\u30C3\u30C1\u7D71\u8A08"}),y(D,{label:"\u90E8\u5206\u30DE\u30C3\u30C1\u6570",value:(C.partialMatches??0).toLocaleString(),color:"text-fuchsia-700 dark:text-fuchsia-300"}),y(D,{label:"\u5B8C\u5168\u30DE\u30C3\u30C1\u6570",value:(C.perfectMatches??0).toLocaleString(),color:"text-fuchsia-700 dark:text-fuchsia-300"}),y(D,{label:"\u65E9\u671F\u7D42\u4E86\u6570",value:(C.earlyTerminations??0).toLocaleString(),color:"text-fuchsia-700 dark:text-fuchsia-300"})]},"lev-match")),C.similarityThresholds&&S.push(re("div",{className:`${b} border-rose-200 border-l-4 dark:border-rose-400/60`,children:[y("div",{className:`${u} text-rose-700 dark:text-rose-300`,children:"\u{1F4C8} \u985E\u4F3C\u5EA6\u5206\u5E03"}),y(D,{label:"80%\u4EE5\u4E0A",value:(C.similarityThresholds.above80??0).toLocaleString(),color:"text-emerald-700 dark:text-emerald-300"}),y(D,{label:"60%\u4EE5\u4E0A",value:(C.similarityThresholds.above60??0).toLocaleString(),color:"text-lime-700 dark:text-lime-300"}),y(D,{label:"40%\u4EE5\u4E0A",value:(C.similarityThresholds.above40??0).toLocaleString(),color:"text-orange-600 dark:text-orange-300"}),y(D,{label:"40%\u672A\u6E80",value:(C.similarityThresholds.below40??0).toLocaleString(),color:"text-red-600 dark:text-red-400"})]},"lev-similarity")),C.distanceDistribution){let M=Object.entries(C.distanceDistribution).sort(([,L],[,N])=>Number(N)-Number(L)).slice(0,6);M.length>0&&S.push(re("div",{className:`${b} border-indigo-200 border-l-4 dark:border-indigo-500/60`,children:[y("div",{className:`${u} text-indigo-700 dark:text-indigo-300`,children:"\u{1F4CA} \u8DDD\u96E2\u5206\u5E03 (\u4E0A\u4F4D6)"}),M.map(([L,N])=>y(D,{label:`\u8DDD\u96E2 ${L}`,value:Number(N).toLocaleString(),unit:"\u56DE",color:"text-indigo-700 dark:text-indigo-300"},L))]},"lev-distance"))}if(C.queryLengthStats){let M=Object.entries(C.queryLengthStats).sort(([,L],[,N])=>(N.count??0)-(L.count??0)).slice(0,6);M.length>0&&S.push(re("div",{className:`${b} border-violet-200 border-l-4 dark:border-violet-400/60`,children:[y("div",{className:`${u} text-violet-700 dark:text-violet-300`,children:"\u{1F4CF} \u30AF\u30A8\u30EA\u9577\u7D71\u8A08 (\u4E0A\u4F4D6)"}),M.map(([L,N])=>{let B=Number(N.count??0),ce=Number(N.averageScore??0);return y(D,{label:`\u9577\u3055 ${L}`,value:`${B.toLocaleString()}\u56DE / \u5E73\u5747 ${(ce*100).toFixed(1)}%`,color:"text-violet-700 dark:text-violet-300"},L)})]},"lev-query-length"))}}if(Object.keys(l).length>0){let M=Object.entries(l).sort(([,L],[,N])=>(N.averageScore??0)-(L.averageScore??0)).slice(0,6);S.push(re("div",{className:`${b} border-purple-200 border-l-4 dark:border-purple-400/60`,children:[y("div",{className:`${u} text-purple-700 dark:text-purple-300`,children:"\u{1F4CB} \u30D5\u30A3\u30FC\u30EB\u30C9\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9 (\u4E0A\u4F4D6)"}),M.map(([L,N])=>{let B=N;return re("div",{className:"space-y-1 rounded bg-purple-50/60 p-2 transition-colors dark:bg-slate-900/50",children:[y("div",{className:"font-semibold text-purple-700 text-xs transition-colors dark:text-purple-300",children:L}),y(D,{label:"\u5E73\u5747\u30B9\u30B3\u30A2",value:`${((B.averageScore??0)*100).toFixed(1)}%`,color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u30DE\u30C3\u30C1\u6570",value:(B.matchCount??0).toLocaleString(),unit:"\u4EF6",color:"text-purple-700 dark:text-purple-300"}),y(D,{label:"\u6700\u9AD8/\u6700\u4F4E\u30B9\u30B3\u30A2",value:`${((B.bestScore??0)*100).toFixed(1)}% / ${((B.worstScore??0)*100).toFixed(1)}%`,color:"text-purple-700 dark:text-purple-300"})]},L)})]},"field-performance"))}return(f.bestPerformingField||f.totalHistoryEntries||f.similarityDistribution)&&S.push(re("div",{className:`${b} border-blue-200 border-l-4 dark:border-blue-400/60`,children:[y("div",{className:`${u} text-blue-700 dark:text-blue-300`,children:"\u{1F50D} \u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u6D1E\u5BDF"}),f.bestPerformingField&&y(D,{label:"\u6700\u9AD8\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u30D5\u30A3\u30FC\u30EB\u30C9",value:f.bestPerformingField,color:"text-blue-700 dark:text-blue-300"}),y(D,{label:"\u6700\u8FD1\u306E\u5E73\u5747\u51E6\u7406\u6642\u9593",value:(f.recentAverageProcessingTime??0).toFixed(2),unit:"ms",color:"text-blue-700 dark:text-blue-300"}),y(D,{label:"\u6700\u8FD1\u306E\u5E73\u5747\u7D50\u679C\u6570",value:(f.recentAverageResultCount??0).toFixed(1),unit:"\u4EF6",color:"text-blue-700 dark:text-blue-300"}),y(D,{label:"\u30B9\u30EB\u30FC\u30D7\u30C3\u30C8",value:(f.throughputPerSecond??0).toFixed(2),unit:"ops/\u79D2",color:"text-blue-700 dark:text-blue-300"}),y(D,{label:"\u6700\u983B\u51FA\u30AF\u30A8\u30EA\u9577",value:(f.mostCommonQueryLength??0).toLocaleString(),unit:"\u6587\u5B57",color:"text-blue-700 dark:text-blue-300"}),y(D,{label:"\u5C65\u6B74\u30A8\u30F3\u30C8\u30EA\u6570",value:(f.totalHistoryEntries??0).toLocaleString(),color:"text-blue-700 dark:text-blue-300"}),f.similarityDistribution&&re("div",{className:"mt-1 grid grid-cols-2 gap-1",children:[y(D,{label:"\u9AD8\u985E\u4F3C",value:(f.similarityDistribution.highSimilarity??0).toLocaleString(),color:"text-emerald-700 dark:text-emerald-300"}),y(D,{label:"\u4E2D\u985E\u4F3C",value:(f.similarityDistribution.mediumSimilarity??0).toLocaleString(),color:"text-lime-700 dark:text-lime-300"}),y(D,{label:"\u4F4E\u985E\u4F3C",value:(f.similarityDistribution.lowSimilarity??0).toLocaleString(),color:"text-orange-600 dark:text-orange-300"}),y(D,{label:"\u6975\u4F4E\u985E\u4F3C",value:(f.similarityDistribution.veryLowSimilarity??0).toLocaleString(),color:"text-red-600 dark:text-red-400"})]})]},"performance-insights")),v.length>0&&S.push(re("div",{className:`${b} border-sky-200 border-l-4 dark:border-sky-400/60`,children:[y("div",{className:`${u} text-sky-700 dark:text-sky-300`,children:"\u{1F4C8} \u6700\u8FD1\u306E\u5C65\u6B74 (\u6700\u65B03\u4EF6)"}),v.slice(-3).reverse().map((M,L)=>re("div",{className:"rounded bg-sky-50/70 p-2 transition-colors dark:bg-slate-900/50",children:[y("div",{className:"font-medium text-sky-700 transition-colors dark:text-sky-300",children:M.operationType}),re("div",{className:"text-sky-600 text-xs transition-colors dark:text-sky-200",children:["\u51E6\u7406\u6642\u9593: ",M.processingTime.toFixed(2),"ms / \u7D50\u679C: ",(M.resultCount??0).toLocaleString(),"\u4EF6"]}),w(M.timestamp)&&y("div",{className:"text-[10px] text-sky-500 transition-colors dark:text-sky-200",children:w(M.timestamp)})]},`${M.operationType}-${M.timestamp??L}`))]},"recent-history")),re("section",{className:"space-y-2",children:[re("div",{className:`flex items-center gap-2 font-semibold text-xs ${o}`,children:[y("span",{children:t}),y("span",{className:"tracking-wide",children:e})]}),y("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:S})]})});ht.displayName="WorkerStatsSection";import{jsx as oe,jsxs as ot}from"react/jsx-runtime";var Ns={WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},Zr=ws(({performanceMetrics:e,searchTerm:t,totalDataCount:r,resultsCount:o,resetStats:i,rebuildIndex:n,isIndexBuilding:c,activeTab:d,onTabChange:m})=>{let h=t.trim(),p=h?o:r,{setScrollableRef:s,onPointerDown:a,onPointerMove:l,onPointerUp:f,onPointerLeave:v,onPointerCancel:P,onClickCapture:W}=Be(),E=d!=="index"||c,g=c?"\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u518D\u69CB\u7BC9\u4E2D":d!=="index"?"Index\u30BF\u30D6\u3067\u306E\u307F\u4F7F\u7528\u53EF\u80FD":"\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u518D\u69CB\u7BC9",x=E?"cursor-not-allowed bg-gray-300 text-gray-500 dark:bg-slate-700 dark:text-slate-400":"bg-blue-500 text-white hover:bg-blue-600 dark:bg-blue-500 dark:hover:bg-blue-600",k=c?"\u23F3 Rebuilding...":"\u{1F3D7}\uFE0F Rebuild Index";return ot("div",{className:"wrap-break-word flex w-full flex-col gap-1.5 rounded-lg border border-blue-300 bg-white p-1.5 shadow-md transition-colors dark:border-blue-500/40 dark:bg-slate-900/80 dark:shadow-blue-900/30",children:[ot("div",{className:"mb-0.5 flex shrink-0 flex-col gap-1 rounded bg-blue-50 px-1.5 py-0.5 transition-colors sm:flex-row sm:items-center sm:justify-between dark:bg-blue-900/30",children:[oe("h3",{className:"font-semibold text-gray-700 text-xs transition-colors dark:text-slate-100",children:"\u{1F4CA} \u691C\u7D22\u7D71\u8A08"}),ot("div",{className:"flex flex-wrap gap-1.5",children:[oe("button",{type:"button",onClick:()=>n(),disabled:E,className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${x}`,title:g,children:k}),oe("button",{type:"button",onClick:i,className:"rounded bg-red-500 px-1.5 py-0.5 text-[10px] text-white transition-colors hover:bg-red-600 dark:hover:bg-red-700",title:"\u7D71\u8A08\u3092\u30EA\u30BB\u30C3\u30C8",children:"\u{1F504} \u30EA\u30BB\u30C3\u30C8"})]})]}),oe("div",{className:"mb-0 shrink-0",children:ot("div",{ref:s,className:"flex space-x-1 overflow-x-auto text-nowrap rounded-md bg-gray-100 p-0.5 transition-colors dark:bg-slate-800/80",style:Ns,onPointerDown:a,onPointerMove:l,onPointerUp:f,onPointerLeave:v,onPointerCancel:P,onClickCapture:W,children:[oe("button",{type:"button",onClick:()=>m("overview"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${d==="overview"?"bg-blue-500 text-white dark:bg-blue-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4CB} \u6982\u8981"}),oe("button",{type:"button",onClick:()=>m("index"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${d==="index"?"bg-green-500 text-white dark:bg-green-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4CA} Index"}),oe("button",{type:"button",onClick:()=>m("levenshtein"),className:`rounded px-1.5 py-0.5 text-[10px] transition-colors ${d==="levenshtein"?"bg-purple-500 text-white dark:bg-purple-500":"text-gray-600 hover:bg-gray-200 dark:text-slate-300 dark:hover:bg-slate-700/70"}`,children:"\u{1F4CF} Levenshtein"})]})}),ot("div",{className:"flex flex-col gap-1 pb-0.5",children:[ot("div",{className:`${d==="overview"?"grid":"hidden"} grid-cols-1 gap-2 pr-1 text-gray-600 text-xs transition-colors sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 dark:text-slate-300`,children:[oe(D,{label:"\u7DCF\u691C\u7D22\u56DE\u6570",value:e.totalSearches}),oe(D,{label:"\u5E73\u5747\u691C\u7D22\u6642\u9593",value:e.averageSearchTime.toFixed(1),unit:"ms"}),oe(D,{label:"\u30C7\u30FC\u30BF\u4EF6\u6570",value:e.itemCount.toLocaleString()}),oe(D,{label:h?"\u691C\u7D22\u7D50\u679C\u4EF6\u6570":"\u8868\u793A\u4EF6\u6570",value:p.toLocaleString()})]}),oe("div",{className:`${d==="index"?"space-y-3":"hidden"} pr-1 text-gray-600 text-xs transition-colors dark:text-slate-300`,children:oe(ht,{title:"Index Worker",icon:"\u{1F4CA}",stats:e.workerStats?.index,color:"text-green-600 dark:text-green-300"})}),oe("div",{className:`${d==="levenshtein"?"space-y-3":"hidden"} pr-1 text-gray-600 text-xs transition-colors dark:text-slate-300`,children:oe(ht,{title:"Levenshtein Worker",icon:"\u{1F4CF}",stats:e.workerStats?.levenshtein,color:"text-purple-600 dark:text-purple-300"})}),ot("div",{className:"hidden",children:[oe(ht,{title:"Index Worker",icon:"\u{1F4CA}",stats:e.workerStats?.index,color:"text-green-600 dark:text-green-300"}),oe(ht,{title:"Levenshtein Worker",icon:"\u{1F4CF}",stats:e.workerStats?.levenshtein,color:"text-purple-600 dark:text-purple-300"})]})]})]})});Zr.displayName="StatisticsPanel";import{Fragment as en,jsx as j,jsxs as Ce}from"react/jsx-runtime";var Ls=/[\u200B\uFEFF]/g,ea=typeof window<"u",rn=ea&&typeof document<"u",fr=(e,t=[],r=!1)=>{let o=tn(e);o.current=e,Le(()=>{if(!(!ea||r&&!rn))return o.current()},[r,...t])},Xa=(e,t,r)=>{let[o,i]=Oe(()=>{let n=Qa(c=>c.getItem(e));return n&&t.includes(n)?n:r});return fr(()=>{Qa(n=>{n.setItem(e,o)})},[e,o]),[o,i]},Qa=e=>{if(!ea)return null;try{return e(window.sessionStorage)}catch{return null}},Za=(e,t)=>{let[r,o]=Oe(e);return Le(()=>{let i=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(i)}},[e,t]),r},Os="contact-map.settings-tab",Ds="contact-map.statistics-tab",Ws=["basic","advanced","index","levenshtein"],_s=["overview","index","levenshtein"],Ja=["full_name","company_name","department","title","email","company_phone_number","mobile_phone_number"],Is={WebkitOverflowScrolling:"touch",msOverflowStyle:"none",scrollbarWidth:"none"},an=({streamState:e,workerUrls:t,onFooterVisibilityChange:r,children:o}={})=>{let i=Ae(),n=ar(),c=st(()=>e||{contactMapRecords:n.records,isStreamingComplete:n.isComplete,isStreamingFailed:n.phase==="failed",streamPhase:n.phase,loadedCount:n.loadedCount,companyCount:0,totalCount:n.totalCount,errorMessage:n.error?.message??null},[e,n]),{contactMapRecords:d,isStreamingComplete:m,isStreamingFailed:h}=c,p=Rs(),[s]=Ms(),a=tn(null),[l,f]=Oe(!0),[v,P]=Oe(i.openEmailsWithGmail??!1),[W,E]=Oe(s.get("q")||""),g=Za(W,300);Le(()=>{let H=s.get("q")||"";E(U=>U!==H?H:U)},[s]),Le(()=>{if(typeof window>"u")return;let H=new URL(window.location.href);(H.searchParams.get("q")||"")!==g&&(g?H.searchParams.set("q",g):H.searchParams.delete("q"),window.history.replaceState(window.history.state,"",H.toString()))},[g]);let[x,k]=Es(),[C,b]=Oe("search"),[u,w]=Xa(Os,Ws,"basic"),[S,M]=Xa(Ds,_s,"overview"),{setScrollableRef:L,onPointerDown:N,onPointerMove:B,onPointerUp:ce,onPointerLeave:Ve,onPointerCancel:Q,onClickCapture:me}=Be(),X=zt(()=>{if(!rn)return;let H=a.current;!H||document.activeElement===H||window.requestAnimationFrame(()=>{try{H.focus({preventScroll:!0})}catch{}})},[]),gt=zt(H=>{let U=H;b(U),U==="search"&&X()},[X]),pe=st(()=>{let{indexWorkerOptions:H={},levenshteinWorkerOptions:U={},...Z}=Jr;return{...Z,autoSearchOnIndexRebuild:!1,debounceMs:0,workerUrls:t,indexWorkerOptions:{...H},levenshteinWorkerOptions:{...U}}},[t]),[De,xt]=Oe(pe),Ke=(De.multiTermOperator??Jr.multiTermOperator)==="and",gr=Ke?"AND \u691C\u7D22 (\u3059\u3079\u3066\u4E00\u81F4)":"OR \u691C\u7D22 (\u3044\u305A\u308C\u304B\u4E00\u81F4)",At=Za(d,m?0:800),{searchTerm:Y,setSearchTerm:bt,filteredItems:Ee,isSearching:we,isIndexBuilding:he,clearSearch:Bt,resetStats:vt,performanceMetrics:ge,rebuildIndex:yt,error:it}=Ts(At,Ja,De),xe=Y.trim().length>0,[We,Ut]=Oe(()=>Y),kt=st(()=>zr(W),[W]),be=st(()=>zr(g),[g]);Le(()=>{be!==Y&&k(()=>{bt(be)})},[be,Y,bt]);let xr=zt(H=>{let Z=H.target.value.replace(Ls,"");E(Z)},[]),br=zt(()=>{E(""),Bt(),X()},[Bt,X]),lt=zt(()=>{xt(H=>{let Z=(H.multiTermOperator??Jr.multiTermOperator??"and")==="and"?"or":"and";return{...H,multiTermOperator:Z}}),X()},[X]);fr(()=>{if(!(C==="search"&&p.state==="idle"&&!x))return;let U=document.activeElement;if(!!!(U?.matches('[role="tab"]')||U?.closest('[role="tablist"]')?.getAttribute("role")==="tablist")&&U&&U!==document.body&&U!==a.current)return;let T=window.requestAnimationFrame(()=>{X()});return()=>{window.cancelAnimationFrame(T)}},[C,p.state,x,X],!0),fr(()=>{if(C!=="search")return;let H=[[document,"visibilitychange",()=>{document.visibilityState==="visible"&&X()}],[window,"pageshow",()=>{X()}]];for(let[U,Z,T]of H)U.addEventListener(Z,T);return()=>{for(let[U,Z,T]of H)U.removeEventListener(Z,T)}},[C,X],!0),Le(()=>(r&&r(C==="search"?"mobile-hidden":"visible"),()=>{r&&r("visible")}),[C,r]),fr(()=>{let H=document.body,U=H.style.overflow;return C==="search"&&(H.style.overflow="hidden"),()=>{H.style.overflow=U}},[C],!0),Le(()=>{ge&&ze.info("\u{1F4CA} [STATE] \u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u6307\u6A19\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F:",{totalSearches:ge.totalSearches,averageSearchTime:ge.averageSearchTime,itemCount:ge.itemCount,resultsCount:ge.resultsCount,workersAvailable:!!ge.workerStats})},[ge]);let{isAwaitingDebounce:St,isAwaitingSearchTermSync:dt,isSearchInProgress:_e}=st(()=>{let H=kt!==be,U=be!==Y,Z=Y.trim().length>0||kt.trim().length>0;return{isAwaitingDebounce:H,isAwaitingSearchTermSync:U,isSearchInProgress:x||we||Z&&he||H||U||We!==Y}},[kt,be,Y,x,we,he,We]),[qe,vr]=Oe(Y);Le(()=>{qe!==Y&&vr(Y)},[Y,qe]),Le(()=>{St||dt||x||we||he||qe===Y&&We!==Y&&Ut(Y)},[Y,We,St,dt,x,we,he,qe]);let $t=st(()=>{if(!Ee.length)return Ee;let H=Y.toLowerCase();if(!H)return Ee;let U=Z=>Ja.some(T=>{let z=Z[T];return typeof z=="string"?z.toLowerCase().includes(H):!1});return[...Ee].sort((Z,T)=>{let z=U(Z.item),K=U(T.item);return z&&!K?-1:!z&&K?1:0})},[Ee,Y]),yr=st(()=>({contactMapRecords:d,filteredItems:$t,searchTerm:Y,isSearching:we,isIndexBuilding:he,isPending:x,hasSearchTerm:xe,enableHighlighting:l,openEmailsWithGmail:v,isSearchInProgress:_e,isSearchTabActive:C==="search",errorMessage:it??null,isStreamingComplete:m,isStreamingFailed:h}),[d,$t,Y,we,he,x,xe,l,v,_e,C,it,m,h]),kr=xe?Ee.length:d.length;return j("div",{className:`scrollbar-hidden bg-slate-50 text-slate-900 dark:bg-slate-900 dark:text-slate-100${C==="search"?" h-full min-h-0":""}`,children:Ce(Jt,{value:C,onValueChange:gt,className:`flex flex-col${C==="search"?" h-full min-h-0":""}`,children:[Ce(Mt,{ref:L,style:Is,className:"scrollbar-none mt-0 mb-1 flex w-full touch-pan-x flex-nowrap overflow-x-auto overflow-y-hidden rounded-md bg-slate-50 transition-colors dark:bg-slate-900/70 dark:text-slate-200",onPointerDown:N,onPointerMove:B,onPointerUp:ce,onPointerLeave:Ve,onPointerCancel:Q,onClickCapture:me,children:[j(Ze,{value:"search",className:"min-w-16 px-2 py-0.5 text-xs transition-colors sm:min-w-24 sm:px-2.5 sm:py-0.5 sm:text-xs dark:text-slate-300 dark:data-[state=active]:bg-slate-800 dark:data-[state=active]:text-slate-100",children:"\u{1F50D} \u3042\u3044\u307E\u3044\u691C\u7D22"}),j(Ze,{value:"settings",className:"min-w-16 px-2 py-0.5 text-xs transition-colors sm:min-w-24 sm:px-2.5 sm:py-0.5 sm:text-xs dark:text-slate-300 dark:data-[state=active]:bg-slate-800 dark:data-[state=active]:text-slate-100",children:"\u2699\uFE0F \u691C\u7D22\u8A2D\u5B9A"}),j(Ze,{value:"statistics",className:"min-w-16 px-2 py-0.5 text-xs transition-colors sm:min-w-24 sm:px-2.5 sm:py-0.5 sm:text-xs dark:text-slate-300 dark:data-[state=active]:bg-slate-800 dark:data-[state=active]:text-slate-100",children:"\u{1F4CA} \u691C\u7D22\u7D71\u8A08"})]}),j(Je,{value:"search",className:"mt-0 flex h-full min-h-0 flex-col overflow-hidden",children:Ce("div",{className:"flex h-full flex-col",children:[j("div",{className:"rounded-md border border-gray-200 bg-white shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/80 dark:shadow-none",children:Ce("div",{className:"flex flex-col",children:[j("div",{className:"relative",children:Ce("div",{className:"flex items-center gap-1 p-1",children:[Ce("button",{type:"button",onClick:lt,"aria-pressed":Ke,title:gr,className:`inline-flex min-w-9 items-center justify-center gap-0.5 rounded border px-1.5 py-0.5 font-semibold text-[10px] transition-colors sm:min-w-12 sm:px-2 sm:py-0.5 sm:text-xs ${Ke?"border-blue-500 bg-blue-600 text-white hover:bg-blue-700 dark:border-blue-400 dark:bg-blue-500 dark:hover:bg-blue-600":"border-amber-400 bg-amber-100 text-amber-800 hover:bg-amber-200 dark:border-amber-500/70 dark:bg-amber-300/20 dark:text-amber-200 dark:hover:bg-amber-300/30"}`,children:[j("span",{className:"text-[10px] sm:text-xs",children:Ke?"AND":"OR"}),j("span",{className:"hidden text-[10px] sm:inline",children:Ke?"\u5168\u8A9E\u4E00\u81F4":"\u3044\u305A\u308C\u304B\u4E00\u81F4"})]}),j("input",{ref:a,type:"text",value:W,onChange:xr,placeholder:"\u3042\u3044\u307E\u3044\u691C\u7D22...",className:"flex-1 rounded border border-gray-300 border-solid px-2 py-0.5 text-xs shadow-sm transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 sm:px-2 sm:py-0.5 sm:text-xs dark:border-slate-600 dark:bg-slate-950 dark:text-slate-100 dark:shadow-none"}),W&&j("button",{type:"button",onClick:br,className:"flex items-center justify-center gap-1 rounded border border-gray-300 px-1.5 py-0.5 text-[10px] transition-colors hover:text-gray-700 sm:px-2 sm:py-0.5 sm:text-xs dark:border-slate-600 dark:bg-slate-800/70 dark:text-slate-300 dark:hover:text-slate-100",title:_e?"\u691C\u7D22\u51E6\u7406\u4E2D":"\u691C\u7D22\u3092\u30AF\u30EA\u30A2",disabled:_e,children:_e?Ce(en,{children:[j(Ps,{"aria-hidden":"true",className:"h-3 w-3 animate-spin sm:h-3.5 sm:w-3.5"}),j("span",{className:"hidden sm:inline",children:"\u691C\u7D22\u4E2D..."})]}):"\u2715"})]})}),Ce("p",{className:"px-1.5 py-0.5 text-[10px] text-slate-700 leading-snug transition-colors sm:text-[11px] dark:text-slate-200",children:["\u767B\u9332\u4EF6\u6570: ",j("span",{className:"font-semibold text-[11px] text-slate-900 sm:text-xs dark:text-white",children:d.length})," \u4EF6",he?j("span",{className:"ml-1.5 inline-flex items-center rounded bg-blue-50 px-1.5 py-0.2 text-[10px] text-blue-700 sm:text-[11px] dark:bg-blue-900/40 dark:text-blue-200",children:"\u23F3 \u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u518D\u69CB\u7BC9\u4E2D..."}):null,it?Ce("span",{className:"ml-1.5 inline-flex items-center rounded bg-rose-50 px-1.5 py-0.2 text-[10px] text-rose-700 sm:text-[11px] dark:bg-rose-900/40 dark:text-rose-200",children:["\u26A0\uFE0F \u30A8\u30E9\u30FC:",j("span",{className:"ml-1 break-all font-semibold",children:it})]}):null,xe&&Ce("span",{className:"ml-1.5 text-[10px] text-blue-600 sm:text-[11px] dark:text-sky-400",children:["| \u691C\u7D22\u7D50\u679C:",_e?j("span",{className:"ml-1 font-semibold text-[10px] sm:text-[11px]",children:"\u691C\u7D22\u4E2D..."}):Ce(en,{children:[j("span",{className:"ml-1 font-semibold text-[11px] text-slate-900 sm:text-xs dark:text-white",children:Ee.length}),j("span",{className:"ml-0.5 text-[10px] sm:text-[11px]",children:"\u4EF6"})]})]})]}),j("div",{className:"h-2.5 px-2 pb-1.5",children:he?j(Na,{className:"h-1 bg-blue-200 dark:bg-blue-800",indicatorClassName:"bg-blue-500 dark:bg-blue-400"}):null})]})}),o?o(yr):j(Ya,{context:yr})]})}),j(Je,{value:"settings",className:"mt-0",children:j(Xr,{searchOptions:De,setSearchOptions:xt,enableHighlighting:l,setEnableHighlighting:f,openEmailsWithGmail:v,setOpenEmailsWithGmail:P,activeTab:u,onTabChange:w})}),j(Je,{value:"statistics",className:"mt-0",children:j(Zr,{performanceMetrics:ge,searchTerm:Y,totalDataCount:d.length,resultsCount:kr,resetStats:vt,rebuildIndex:yt,isIndexBuilding:he,activeTab:S,onTabChange:M})})]})})};import{jsx as ft,jsxs as nn}from"react/jsx-runtime";var Fs=({renderHeader:e,title:t="Contact Map",streamEndpoint:r,workerUrls:o,onFooterVisibilityChange:i})=>{let n=ar(r),c=n.records,d=ta(()=>c.reduce((p,{company_name:s})=>(typeof s=="string"&&s.trim().length>0&&p.add(s),p),new Set).size,[c]),m=ft(Fr,{recordCount:c.length,companyCount:d,phase:n.phase,loadedCount:n.loadedCount,totalCount:n.totalCount,errorMessage:n.error?.message??null,onRetry:n.retryNow}),h=ta(()=>({contactMapRecords:c,isStreamingComplete:n.isComplete,isStreamingFailed:n.phase==="failed",streamPhase:n.phase,loadedCount:n.loadedCount,companyCount:d,totalCount:n.totalCount,errorMessage:n.error?.message??null}),[c,n.isComplete,n.phase,n.loadedCount,d,n.totalCount,n.error]);return nn("div",{"data-testid":"contact-map-app-view",className:"flex h-full w-full flex-col",children:[e?e({title:t,annotation:m}):nn("div",{"data-testid":"contact-map-default-header",className:"mb-2 flex items-center justify-between",children:[ft("h1",{className:"font-bold text-xl",children:t}),m]}),ft("div",{className:"min-h-0 flex-1",children:ft(an,{streamState:h,workerUrls:o,onFooterVisibilityChange:i})})]})},fc=e=>{let t=Ae(),r=ta(()=>({...t,streamEndpoint:e.streamEndpoint??t.streamEndpoint,workerUrls:{...t.workerUrls,...e.workerUrls}}),[t,e.streamEndpoint,e.workerUrls]);return ft(ya,{config:r,children:ft(Fs,{...e})})};function bc(){return!1}export{wr as AdvancedSearchSettings,Nr as BasicSearchSettings,ua as ContactDetailGrid,He as ContactDetailPanel,jt as ContactDetailPopup,Yt as ContactDetailRowLayout,Fr as ContactMapAnnotation,fc as ContactMapAppView,ya as ContactMapConfigProvider,Ha as ContactMapSearchListView,an as ContactMapSearchPage,Ya as ContactMapSearchTabGroup,ja as ContactMapSearchTreeView,tr as ContactMapStreamClient,ne as HighlightedText,Gr as IndexWorkerSettings,Nl as LIST_COLLAPSE_THRESHOLD,Ro as LIST_DETAIL_PANEL_MIN_WIDTH,Tl as LIST_EXPAND_THRESHOLD,Eo as LIST_PANEL_MIN_WIDTH,Mo as LIST_RESIZE_HANDLE_THICKNESS,jr as LevenshteinWorkerSettings,Na as Progress,Xr as SearchOptionsPanel,D as StatItem,Zr as StatisticsPanel,ir as SwipeOverlay,od as TREE_COLLAPSE_THRESHOLD,ns as TREE_DETAIL_PANEL_MIN_WIDTH,sd as TREE_EXPAND_THRESHOLD,as as TREE_PANEL_MIN_WIDTH,os as TREE_RESIZE_HANDLE_THICKNESS,Jt as Tabs,Je as TabsContent,Mt as TabsList,Ze as TabsTrigger,cr as TreeWorkerSession,ht as WorkerStatsSection,ds as composeTreeVirtualScrollOptions,bc as contactMapShouldRevalidate,Yn as deserializeStreamRecord,_l as finalizeTreeWorker,Sa as getContactMapRecordMap,ka as getContactMapStreamClient,Ur as getTreeWorkerSession,ji as resetContactMapStreamClientForTesting,Il as resetTreeWorkerSessionForTesting,Wl as syncTreeWorkerRecords,Aa as useAnimatedNumber,Ae as useContactMapConfig,ar as useContactMapStream,Ar as useContactPanelSizing,Ta as useDynamicViewportHeight,Be as useHorizontalDragScroll,or as useLongPressPopup,zo as useReportPopupVisibility,sr as useResponsiveTwoColumnLayout,Fo as useRowPopupRegistry,Ua as useTreeWorker};