1import{c as N,r as O,j as l,H as P}from"./app-Bda8uKs2.js";import{B as k,i as C,M as E}from"./member-node-DMumq46_.js";import{P as R}from"./people-hub-header-BP2e5EWZ.js";import{A as $}from"./app-layout-BL4dJpGM.js";import{i as B}from"./index-RAz4DKZy.js";import{MemberPanel as G}from"./member-panel-BkusvqpL.js";/* empty css */import"./value-BGBiTkF3.js";import"./with-selector-BLm6zFn_.js";import"./index-vv8FLJdC.js";import"./vanilla-CAvSZlFl.js";import"./member-avatar-DWyl3EEj.js";import"./use-initials-CgrGPAEX.js";import"./index-CkG_IHiz.js";import"./index-CC_PGypA.js";import"./index-HTteRQBt.js";import"./index-CLnS0zot.js";import"./utils-Bk3hkyGf.js";import"./badge-CXkLP0kq.js";import"./index-D68BQrH-.js";import"./index-Dag5ztfA.js";import"./index-CCfStN9o.js";import"./index-RfzaMjoS.js";import"./settings-2-THuou0da.js";import"./createLucideIcon-q0nE9J3F.js";import"./button-BuIdVqHk.js";import"./input-BBm_UpVq.js";import"./spinner-CvOcmIhb.js";import"./loader-circle-qMI-OBPc.js";import"./index-CMZkZNjY.js";import"./dialog-T9bT4uTJ.js";import"./index-Cc7c74ib.js";import"./index-DxvRt983.js";import"./index-pfPRIMe8.js";import"./x-DFO_egex.js";import"./index-LNXt3Z-q.js";import"./index-BMKvap4h.js";import"./flash-toaster-DoFWjaT9.js";import"./index-BusHtOjd.js";import"./index-Ba8OW6IL.js";import"./use-current-url-CtX1zGQm.js";import"./index-eIYmd7L3.js";import"./index-BhgVjuNu.js";import"./index-DyYE4xxu.js";import"./check-Bw8_CLnN.js";import"./plus-C4TRfT3x.js";import"./app-logo-icon-8QGdaQo7.js";import"./search-DJyBxQad.js";import"./select-BUaMHcd2.js";import"./index-DVxqW1xX.js";import"./chevron-down-YdLk_IEP.js";const M=260,T=140;function V(i){const t=new Set(i.map(e=>e.id)),o=new Map;for(const e of i){const r=e.manager_id!==null&&t.has(e.manager_id)?e.manager_id:null;o.set(r,[...o.get(r)??[],e])}const m=new Set,a=e=>{if(!m.has(e.id)){m.add(e.id);for(const r of o.get(e.id)??[])a(r)}};for(const e of o.get(null)??[])a(e);for(const e of i)m.has(e.id)||(o.set(e.manager_id,(o.get(e.manager_id)??[]).filter(r=>r.id!==e.id)),o.set(null,[...o.get(null)??[],e]),a(e));const d=e=>{const r=o.get(e.id)??[];return r.length===0?M:r.reduce((s,c)=>s+d(c),0)},f=[],x=(e,r,s)=>{const c=d(e);f.push({...e,x:r+c/2-M/2,y:s*T});let u=r;for(const p of o.get(e.id)??[])x(p,u,s+1),u+=d(p)};let n=0;for(const e of o.get(null)??[])x(e,n,0),n+=d(e);return f}const L=[{title:"Org chart",href:B().url}],W={member:E};function qt(i){const t=N.c(25),{members:o,canEdit:m,roleResponsibilities:a,selectedMemberId:d}=i,[f,x]=O.useState(d);let n,e;if(t[0]!==o){const _=V(o);n=_.map(D);const H=new Set(_.map(z));e=_.filter(I=>I.manager_id!==null&&H.has(I.manager_id)).map(q),t[0]=o,t[1]=n,t[2]=e}else n=t[1],e=t[2];const r=e;let s;t[3]!==r||t[4]!==n?(s={nodes:n,edges:r},t[3]=r,t[4]=n,t[5]=s):s=t[5];const{nodes:c,edges:u}=s;let p;t[6]!==o||t[7]!==f?(p=o.find(_=>_.id===f)??null,t[6]=o,t[7]=f,t[8]=p):p=t[8];const b=p;let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=l.jsx(P,{title:"Org chart"}),t[9]=y):y=t[9];let S;t[10]===Symbol.for("react.memo_cache_sentinel")?(S=l.jsx(R,{active:"chart"}),t[10]=S):S=t[10];let j,v;t[11]===Symbol.for("react.memo_cache_sentinel")?(j={hideAttribution:!0},v=(_,H)=>x(Number(H.id)),t[11]=j,t[12]=v):(j=t[11],v=t[12]);let w;t[13]===Symbol.for("react.memo_cache_sentinel")?(w=l.jsx(k,{}),t[13]=w):w=t[13];let g;t[14]!==u||t[15]!==c?(g=l.jsx(C,{nodes:c,edges:u,nodeTypes:W,fitView:!0,proOptions:j,onNodeClick:v,nodesConnectable:!1,elementsSelectable:!0,children:w}),t[14]=u,t[15]=c,t[16]=g):g=t[16];let h;t[17]!==m||t[18]!==o||t[19]!==a||t[20]!==b?(h=b&&l.jsx(G,{member:b,members:o,roleResponsibilities:a,canEdit:m,onClose:()=>x(null)}),t[17]=m,t[18]=o,t[19]=a,t[20]=b,t[21]=h):h=t[21];let A;return t[22]!==h||t[23]!==g?(A=l.jsxs($,{breadcrumbs:L,children:[y,l.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[S,l.jsxs("div",{className:"relative h-[calc(100vh-16rem)]",children:[g,h]})]})]}),t[22]=h,t[23]=g,t[24]=A):A=t[24],A}function q(i){return{id:`${i.manager_id}-${i.id}`,source:String(i.manager_id),target:String(i.id),type:"smoothstep"}}function z(i){return i.id}function D(i){return{id:String(i.id),type:"member",position:{x:i.x,y:i.y},data:i,draggable:!1}}export{qt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.