1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[92105,26611,40938],{26611:(e,t,r)=>{r.r(t),r.d(t,{Card:()=>s,CardContent:()=>c,CardDescription:()=>i,CardFooter:()=>u,CardHeader:()=>o,CardTitle:()=>d});var a=r(35776),n=r(55720),l=r(13729);let s=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...n})});s.displayName="Card";let o=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",r),...n})});o.displayName="CardHeader";let d=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",r),...n})});d.displayName="CardTitle";let i=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",r),...n})});i.displayName="CardDescription";let c=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",r),...n})});c.displayName="CardContent";let u=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",r),...n})});u.displayName="CardFooter"},40938:(e,t,r)=>{r.r(t),r.d(t,{ContextMenu:()=>c,ContextMenuCheckboxItem:()=>b,ContextMenuContent:()=>v,ContextMenuGroup:()=>m,ContextMenuItem:()=>y,ContextMenuLabel:()=>w,ContextMenuPortal:()=>f,ContextMenuRadioGroup:()=>h,ContextMenuRadioItem:()=>j,ContextMenuSeparator:()=>N,ContextMenuShortcut:()=>C,ContextMenuSub:()=>x,ContextMenuSubContent:()=>g,ContextMenuSubTrigger:()=>p,ContextMenuTrigger:()=>u});var a=r(35776),n=r(55720),l=r(75562),s=r(61859),o=r(42674),d=r(6480),i=r(13729);let c=l.fC,u=l.xz,m=l.ZA,f=l.Uv,x=l.Tr,h=l.Ee,p=n.forwardRef((e,t)=>{let{className:r,inset:n,children:o,...d}=e;return(0,a.jsxs)(l.fF,{ref:t,className:(0,i.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",n&&"pl-8",r),...d,children:[o,(0,a.jsx)(s.Z,{className:"ml-auto h-4 w-4"})]})});p.displayName=l.fF.displayName;let g=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(l.tu,{ref:t,className:(0,i.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...n})});g.displayName=l.tu.displayName;let v=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(l.Uv,{children:(0,a.jsx)(l.VY,{ref:t,className:(0,i.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...n})})});v.displayName=l.VY.displayName;let y=n.forwardRef((e,t)=>{let{className:r,inset:n,...s}=e;return(0,a.jsx)(l.ck,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",n&&"pl-8",r),...s})});y.displayName=l.ck.displayName;let b=n.forwardRef((e,t)=>{let{className:r,children:n,checked:s,...d}=e;return(0,a.jsxs)(l.oC,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:s,...d,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(l.wU,{children:(0,a.jsx)(o.Z,{className:"h-4 w-4"})})}),n]})});b.displayName=l.oC.displayName;let j=n.forwardRef((e,t)=>
1{let{className:r,children:n,...s}=e;return(0,a.jsxs)(l.Rk,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...s,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(l.wU,{children:(0,a.jsx)(d.Z,{className:"h-2 w-2 fill-current"})})}),n]})});j.displayName=l.Rk.displayName;let w=n.forwardRef((e,t)=>{let{className:r,inset:n,...s}=e;return(0,a.jsx)(l.__,{ref:t,className:(0,i.cn)("px-2 py-1.5 text-sm font-semibold text-foreground",n&&"pl-8",r),...s})});w.displayName=l.__.displayName;let N=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(l.Z0,{ref:t,className:(0,i.cn)("-mx-1 my-1 h-px bg-border",r),...n})});N.displayName=l.Z0.displayName;let C=e=>{let{className:t,...r}=e;return(0,a.jsx)("span",{className:(0,i.cn)("ml-auto text-xs tracking-widest text-muted-foreground",t),...r})};C.displayName="ContextMenuShortcut"},92105:(e,t,r)=>{r.r(t),r.d(t,{GanttAddFeatureHelper:()=>Q,GanttColumn:()=>J,GanttColumns:()=>$,GanttContentHeader:()=>Y,GanttCreateMarkerTrigger:()=>ee,GanttFeatureDragHelper:()=>et,GanttFeatureItem:()=>ea,GanttFeatureItemCard:()=>er,GanttFeatureList:()=>el,GanttFeatureListGroup:()=>en,GanttHeader:()=>X,GanttMarker:()=>es,GanttProvider:()=>eo,GanttSidebar:()=>O,GanttSidebarGroup:()=>V,GanttSidebarHeader:()=>P,GanttSidebarItem:()=>K,GanttTimeline:()=>ed,GanttToday:()=>ei,useGantt:()=>G});var a=r(35776),n=r(55720),l=r(95597),s=r(7683),o=r(33508),d=r(40777),i=r(66863),c=r(39824),u=r(87437),m=r(64329),f=r(9249),x=r(97972),h=r(90763),p=r(99437),g=r(46489),v=r(32820),y=r(12066),b=r(88321),j=r(8220),w=r(58820),N=r.n(w),C=r(63915),M=r(73497),Z=r(55894),k=r(48359),D=r(13729),z=r(26611),R=r(40938);let G=(0,Z.U)()((0,k.mW)(e=>({dragging:!1,setDragging:t=>e(()=>({dragging:t})),resizing:!1,setResizing:t=>e(()=>({resizing:t})),scrollX:0,setScrollX:t=>e(()=>({scrollX:t}))}))),S=e=>{let t=e=>1;return("monthly"===e||"quarterly"===e)&&(t=d.Z),t},q=e=>{let t=i.Z;return("monthly"===e||"quarterly"===e)&&(t=c.Z),t},E=e=>{let t=u.Z;return("monthly"===e||"quarterly"===e)&&(t=i.Z),t},I=e=>{let t=m.Z;return("monthly"===e||"quarterly"===e)&&(t=f.Z),t},T=e=>{let t=x.Z;return("monthly"===e||"quarterly"===e)&&(t=h.Z),t},A=e=>{let t=p.Z;return("monthly"===e||"quarterly"===e)&&(t=g.Z),t},L=(e,t)=>{let r=new Date(e.timelineData[0].year,0,1),a=e.columnWidth*e.zoom/100,n=S(e.range),l=A(e.range)(r,Math.floor(t/a)),s=n(l);return(0,p.Z)(l,Math.floor(t%a/Math.round(a/s)))},W=e=>{let t=[];for(let r of(t.push({year:e.getFullYear()-1,quarters:[,,,,].fill(null)},{year:e.getFullYear(),quarters:[,,,,].fill(null)},{year:e.getFullYear()+1,quarters:[,,,,].fill(null)}),t))r.quarters=[,,,,].fill(null).map((e,t)=>({months:[,,,].fill(null).map((e,a)=>{let n=3*t+a;return{days:(0,d.Z)(new Date(r.year,n,1))}})}));return t},H=(e,t,r)=>{let a=r.columnWidth*r.zoom/100,n=q(r.range)(I(r.range)(e),t);if("daily"===r.range)return a*n;let l=e.getDate();return n*a+a/(0,d.Z)(e)*l},F=(e,t,r)=>{let a=r.columnWidth*r.zoom/100;if(!t)return 2*a;let n=q(r.range);if("daily"===r.range)return a*(n(t,e)||1);let l=(0,d.Z)(e),s=a/l;if((0,v.Z)(e,t))return s;let o=E(r.range),i=I(r.range);if((0,v.Z)(i(e),i(t)))return o(t,e)*s;let c=l-(0,y.Z)(e),u=(0,y.Z)(t);return(n(i(t),i(e))-1)*a+c*s+a/(0,d.Z)(t)*u},B=(e,t,r)=>{let a=I(t),n=T(t),l=E(t),s=a(e),o=l(n(e),s);return e.getDate()/o*r},_=(0,n.createContext)({zoom:100,range:"monthly",columnWidth:50,headerHeight:60,sidebarWidth:300,rowHeight:36,onAddItem:void 0,placeholderLength:2,timelineData:[],ref:null}),Y=e=>{let{title:t,columns:r,renderHeaderItem:l}=e,s=(0,n.useId)();return(0,a.jsxs)("div",{className:"bg-backdrop/90 sticky top-0 z-20 grid w-full shrink-0 backdrop-blur-sm",style:{height:"var(--gantt-header-height)"},children:[(0,a.jsx)("div",{children:(0,a.jsx)("div",{className:"sticky inline-flex whitespace-nowrap px-3 py-2 text-xs text-muted-foreground",style:{left:"var(--gantt-sidebar-width)"},children:(0,a.jsx)("p",{children:t})})}),(0,a.jsx)("div",{className:"grid w-full",style:{gridTemplateColumns:"repeat(".concat(r,", var(--gantt-column-width))")},children:Array.from({length:r}).map((e,t)=>(0,a.jsx)("div",{className:"shrink-0 border-b border-border/50 py-1 text-center text-xs",children:l(t)},"".concat(s,"-").concat(t)))})]})},U={daily:()=>(0,n.useContext)(_).timelineData.map(e=>e.quarters.flatMap(e=>e.months).map((t,r)=>(0,a.jsxs)("div",{className:"relative flex flex-col",children:[(0,a.jsx)(Y,{title:(0,b.Z)(new Date(e.year,r,1),"MMMM yyyy"),columns:t.days,renderHeaderItem:t=>(0,a.jsxs)("div",{className:"flex items-center justify-center gap-1",children:[(0,a.jsx)("p",{children:(0,b.Z)((0,p.Z)(new Date(e.year,r,1),t),"d")}),(0,a.jsx)("p",{className:"text-muted-foreground",children:(0,b.Z)((0,p.Z)(new Date(e.year,r,1),t),"EEEEE")})]})}),(0,a.jsx)($,{columns:t.days,isColumnSecondary:t=>[0,6].includes((0,p.Z)(new Date(e.year,r,1),t).getDay())})]},"".concat(e.year,"-").concat(r)))),monthly:()=>(0,n.useContext)(_).timelineData.map(e=>(0,a.jsxs)("div",{className:"relative flex flex-col",children:[(0,a.jsx)(Y,{title:"".concat(e.year),columns:e.quarters.flatMap(e=>e.months).length,renderHeaderItem:t=>(0,a.jsx)("p",{children:(0,b.Z)(new Date(e.year,t,1),"MMM")})}),(0,a.jsx)($,{columns:e.quarters.flatMap(e=>e.months).length})]},e.year)),quarterly:()=>(0,n.useContext)(_).timelineData.map(e=>e.quarters.map((t,r)=>(0,a.jsxs)("div",{className:"relative flex flex-col",children:[(0,a.jsx)(Y,{title:"Q".concat(r+1," ").concat(e.year),columns:t.months.length,renderHeaderItem:t=>(0,a.jsx)("p",{children:(0,b.Z)(new Date(e.year,3*r+t,1),"MMM")})}),(0,a.jsx)($,{columns:t.months.length})]},"".concat(e.year,"-").concat(r))))},X=e=>{let{className:t}=e,r=U[(0,n.useContext)(_).range];return(0,a.jsx)("div",{className:(0,D.cn)("flex h-full w-max -space-x-px divide-x divide-border/50",t),children:(0,a.jsx)(r,{})})},K=e=>{let{feature:t,onSelectItem:r,className:n}=e,l=t.endAt&&(0,v.Z)(t.startAt,t.endAt)?(0,p.Z)(t.endAt,1):t.endAt,s=l?(0,j.Z)(t.startAt,l):"".concat((0,j.Z)(t.startAt,new Date)," so far");return(0,a.jsxs)("div",{role:"button",onClick:e=>
1{e.target===e.currentTarget&&r(t.id)},onKeyDown:e=>{"Enter"===e.key&&r(t.id)},tabIndex:0,className:(0,D.cn)("relative flex items-center gap-2.5 p-2.5 text-xs",n),style:{height:"var(--gantt-row-height)"},children:[(0,a.jsx)("div",{className:"pointer-events-none h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:t.status.color}}),(0,a.jsx)("p",{className:"pointer-events-none flex-1 truncate text-left font-medium",children:t.name}),(0,a.jsx)("p",{className:"pointer-events-none text-muted-foreground",children:s})]},t.id)},P=()=>(0,a.jsxs)("div",{className:"bg-backdrop/90 sticky top-0 z-10 flex shrink-0 items-end justify-between gap-2.5 border-b border-border/50 p-2.5 text-xs font-medium text-muted-foreground backdrop-blur-sm",style:{height:"var(--gantt-header-height)"},children:[(0,a.jsx)("p",{className:"flex-1 truncate text-left",children:"Issues"}),(0,a.jsx)("p",{className:"shrink-0",children:"Duration"})]}),V=e=>{let{children:t,name:r,className:n}=e;return(0,a.jsxs)("div",{className:n,children:[(0,a.jsx)("p",{style:{height:"var(--gantt-row-height)"},className:"w-full truncate p-2.5 text-left text-xs font-medium text-muted-foreground",children:r}),(0,a.jsx)("div",{className:"divide-y divide-border/50",children:t})]})},O=e=>{let{children:t,className:r}=e;return(0,a.jsxs)("div",{"data-roadmap-ui":"gantt-sidebar",className:(0,D.cn)("sticky left-0 z-30 h-max min-h-full text-clip border-r border-border/50 bg-background/90 backdrop-blur-md",r),children:[(0,a.jsx)(P,{}),(0,a.jsx)("div",{className:"space-y-4",children:t})]})},Q=e=>{let{top:t,className:r}=e,{scrollX:l}=G(),s=(0,n.useContext)(_),[d,i]=(0,o.ii)();return(0,a.jsx)("div",{className:(0,D.cn)("absolute top-0 w-full px-0.5",r),style:{marginTop:-s.rowHeight/2,transform:"translateY(".concat(t,"px)")},ref:i,children:(0,a.jsx)("button",{onClick:()=>{var e,t,r,a;let n=null===(t=s.ref)||void 0===t?void 0:null===(e=t.current)||void 0===e?void 0:e.getBoundingClientRect(),o=d.x-(null!==(a=null==n?void 0:n.left)&&void 0!==a?a:0)+l-s.sidebarWidth,i=L(s,o);null===(r=s.onAddItem)||void 0===r||r.call(s,i)},type:"button",className:"flex h-full w-full items-center justify-center rounded-md border border-dashed p-2",children:(0,a.jsx)(C.Z,{size:16,className:"pointer-events-none select-none text-muted-foreground"})})})},J=e=>{var t,r,l;let{index:s,isColumnSecondary:d}=e,i=(0,n.useContext)(_),{dragging:c}=G(),[u,m]=(0,o.ii)(),[f,x]=(0,n.useState)(!1),[h]=(0,o.b)(),p=(0,o.fB)(u.y-(null!==(r=null===(t=m.current)||void 0===t?void 0:t.getBoundingClientRect().y)&&void 0!==r?r:0)-(null!==(l=h.y)&&void 0!==l?l:0),10);return(0,a.jsx)("div",{className:(0,D.cn)("group relative h-full overflow-hidden",(null==d?void 0:d(s))?"bg-secondary":""),ref:m,onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),children:!c&&f&&i.onAddItem?(0,a.jsx)(Q,{top:p}):null})},$=e=>{let{columns:t,isColumnSecondary:r}=e,l=(0,n.useId)();return(0,a.jsx)("div",{className:"divide grid h-full w-full divide-x divide-border/50",style:{gridTemplateColumns:"repeat(".concat(t,", var(--gantt-column-width))")},children:Array.from({length:t}).map((e,t)=>(0,a.jsx)(J,{index:t,isColumnSecondary:r},"".concat(l,"-").concat(t)))})},ee=e=>{var t,r,l;let{onCreateMarker:s,className:d}=e,i=(0,n.useContext)(_),[c,u]=(0,o.ii)(),[m]=(0,o.b)(),f=(0,o.fB)(c.x-(null!==(r=null===(t=u.current)||void 0===t?void 0:t.getBoundingClientRect().x)&&void 0!==r?r:0)-(null!==(l=m.x)&&void 0!==l?l:0),10),x=L(i,f);return(0,a.jsx)("div",{className:(0,D.cn)("group pointer-events-none absolute left-0 top-0 h-full w-full select-none overflow-visible",d),ref:u,children:(0,a.jsxs)("div",{className:"pointer-events-auto sticky top-6 z-20 -ml-2 flex w-4 flex-col items-center justify-center gap-1 overflow-visible opacity-0 group-hover:opacity-100",style:{transform:"translateX(".concat(f,"px)")},children:[(0,a.jsx)("button",{type:"button",className:"z-50 inline-flex h-4 w-4 items-center justify-center rounded-full bg-card",onClick:()=>s(x),children:(0,a.jsx)(C.Z,{size:12,className:"text-muted-foreground"})}),(0,a.jsx)("div",{className:"whitespace-nowrap rounded-full border border-border/50 bg-background/90 px-2 py-1 text-xs text-foreground backdrop-blur-lg",children:(0,b.Z)(x,"MMM dd, yyyy")})]})})},et=e=>{let{direction:t,featureId:r,date:s}=e,{setDragging:o}=G(),{attributes:d,listeners:i,setNodeRef:c}=(0,l.O1)({id:"feature-drag-helper-".concat(r)}),u=!!d["aria-pressed"];return(0,n.useEffect)(()=>o(u),[u,o]),(0,a.jsxs)("div",{className:(0,D.cn)("group absolute top-1/2 z-[3] h-full w-6 -translate-y-1/2 !cursor-col-resize rounded-md outline-none","left"===t?"-left-2.5":"-right-2.5"),ref:c,...d,...i,children:[(0,a.jsx)("div",{className:(0,D.cn)("absolute top-1/2 h-[80%] w-1 -translate-y-1/2 roun
1ded-sm bg-muted-foreground opacity-0 transition-all","left"===t?"left-2.5":"right-2.5","left"===t?"group-hover:left-0":"group-hover:right-0",u&&("left"===t?"left-0":"right-0"),"group-hover:opacity-100",u&&"opacity-100")}),s&&(0,a.jsx)("div",{className:(0,D.cn)("absolute top-10 hidden -translate-x-1/2 whitespace-nowrap rounded-lg border border-border/50 bg-background/90 px-2 py-1 text-xs text-foreground backdrop-blur-lg group-hover:block",u&&"block"),children:(0,b.Z)(s,"MMM dd, yyyy")})]})},er=e=>{let{id:t,children:r}=e,{setDragging:s}=G(),{attributes:o,listeners:d,setNodeRef:i}=(0,l.O1)({id:t}),c=!!o["aria-pressed"];return(0,n.useEffect)(()=>s(c),[c,s]),(0,a.jsx)(z.Card,{className:"h-full w-full rounded-md bg-background p-2 text-xs shadow-sm",children:(0,a.jsx)("div",{className:(0,D.cn)("flex h-full w-full items-center justify-between gap-2 text-left",c&&"cursor-grabbing"),...o,...d,ref:i,children:r})})},ea=e=>{var t,r;let{onMove:d,children:i,className:c,...u}=e,{scrollX:m}=G(),f=(0,n.useContext)(_),x=new Date(null!==(r=null===(t=f.timelineData.at(0))||void 0===t?void 0:t.year)&&void 0!==r?r:0,0,1),[h,g]=(0,n.useState)(u.startAt),[v,y]=(0,n.useState)(u.endAt),b=F(h,v,f),j=H(h,x,f),w=A(f.range),[N]=(0,o.ii)(),[C,M]=(0,n.useState)(0),[Z,k]=(0,n.useState)(h),[z,R]=(0,n.useState)(v),S=(0,l.VT)(l.MA,{activationConstraint:{distance:10}}),I=()=>null==d?void 0:d(u.id,h,v);return(0,a.jsx)("div",{className:(0,D.cn)("relative flex w-max min-w-full py-0.5",c),style:{height:"var(--gantt-row-height)"},children:(0,a.jsxs)("div",{className:"pointer-events-auto absolute top-0.5",style:{height:"calc(var(--gantt-row-height) - 4px)",width:Math.round(b),left:Math.round(j)},children:[d&&(0,a.jsx)(l.LB,{sensors:[S],modifiers:[s.K7],onDragMove:()=>{var e,t,r;let a=null===(t=f.ref)||void 0===t?void 0:null===(e=t.current)||void 0===e?void 0:e.getBoundingClientRect(),n=N.x-(null!==(r=null==a?void 0:a.left)&&void 0!==r?r:0)+m-f.sidebarWidth;g(L(f,n))},onDragEnd:I,children:(0,a.jsx)(et,{direction:"left",featureId:u.id,date:h})}),(0,a.jsx)(l.LB,{sensors:[S],modifiers:[s.K7],onDragStart:()=>{M(N.x),k(h),R(v)},onDragMove:()=>{let e=L(f,N.x),t=L(f,C),r="daily"===f.range?q(f.range)(e,t):E(f.range)(e,t),a=(0,p.Z)(Z,r),n=z?(0,p.Z)(z,r):null;g(a),y(n)},onDragEnd:I,children:(0,a.jsx)(er,{id:u.id,children:null!=i?i:(0,a.jsx)("p",{className:"flex-1 truncate text-xs",children:u.name})})}),d&&(0,a.jsx)(l.LB,{sensors:[S],modifiers:[s.K7],onDragMove:()=>{var e,t,r;let a=null===(t=f.ref)||void 0===t?void 0:null===(e=t.current)||void 0===e?void 0:e.getBoundingClientRect(),n=N.x-(null!==(r=null==a?void 0:a.left)&&void 0!==r?r:0)+m-f.sidebarWidth;y(L(f,n))},onDragEnd:I,children:(0,a.jsx)(et,{direction:"right",featureId:u.id,date:null!=v?v:w(h,2)})})]})})},en=e=>{let{children:t,className:r}=e;return(0,a.jsx)("div",{className:(0,D.cn)("divide-y divide-transparent",r),style:{paddingTop:"var(--gantt-row-height)"},children:t})},el=e=>{let{className:t,children:r}=e;return(0,a.jsx)("div",{className:(0,D.cn)("absolute left-0 top-0 h-full w-max space-y-4",t),style:{marginTop:"var(--gantt-header-height)"},children:r})},es=e=>{var t,r;let{label:l,date:s,id:o,onRemove:d,className:i}=e,c=(0,n.useContext)(_),u=q(c.range)(s,new Date(null!==(r=null===(t=c.timelineData.at(0))||void 0===t?void 0:t.year)&&void 0!==r?r:0,0,1)),m=B(s,c.range,c.columnWidth*c.zoom/100);return(0,a.jsxs)("div",{className:"pointer-events-none absolute left-0 top-0 z-20 flex h-full select-none flex-col items-center justify-center overflow-visible",style:{width:0,transform:"translateX(calc(var(--gantt-column-width) * ".concat(u," + ").concat(m,"px))")},children:[(0,a.jsxs)(R.ContextMenu,{children:[(0,a.jsx)(R.ContextMenuTrigger,{asChild:!0,children:(0,a.jsxs)("div",{className:(0,D.cn)("group pointer-events-auto sticky top-0 flex select-auto flex-col flex-nowrap items-center justify-center whitespace-nowrap rounded-b-md bg-card px-2 py-1 text-xs text-foreground",i),children:[l,(0,a.jsx)("span",{className:"max-h-[0] overflow-hidden opacity-80 transition-all group-hover:max-h-[2rem]",children:(0,b.Z)(s,"MMM dd, yyyy")})]})}
1),(0,a.jsx)(R.ContextMenuContent,{children:d?(0,a.jsxs)(R.ContextMenuItem,{className:"flex items-center gap-2 text-destructive",onClick:()=>null==d?void 0:d(o),children:[(0,a.jsx)(M.Z,{size:16}),"Remove marker"]}):null})]}),(0,a.jsx)("div",{className:(0,D.cn)("h-full w-px bg-card",i)})]})},eo=e=>{var t;let{zoom:r=100,range:l="monthly",onAddItem:s,children:o,className:i}=e,c=(0,n.useRef)(null),[u,m]=(0,n.useState)(W(new Date)),{setScrollX:f}=G(),x=(null===(t=c.current)||void 0===t?void 0:t.querySelector('[data-roadmap-ui="gantt-sidebar"]'))?300:0,h=50;"monthly"===l?h=150:"quarterly"===l&&(h=100);let p={"--gantt-zoom":"".concat(r),"--gantt-column-width":"".concat(r/100*h,"px"),"--gantt-header-height":"".concat(60,"px"),"--gantt-row-height":"".concat(36,"px"),"--gantt-sidebar-width":"".concat(x,"px")};(0,n.useEffect)(()=>{c.current&&(c.current.scrollLeft=c.current.scrollWidth/2-c.current.clientWidth/2,f(c.current.scrollLeft))},[l,r,f]);let g=(0,n.useCallback)(N()(()=>{var e,t;if(!c.current)return;let{scrollLeft:r,scrollWidth:a,clientWidth:n}=c.current;
1if(f(r),0===r){let t=null===(e=u[0])||void 0===e?void 0:e.year;if(!t)return;let r=[...u];r.unshift({year:t-1,quarters:[,,,,].fill(null).map((e,r)=>({months:[,,,].fill(null).map((e,a)=>({days:(0,d.Z)(new Date(t,3*r+a,1))}))}))}),m(r),c.current.scrollLeft=c.current.clientWidth,f(c.current.scrollLeft)}else if(r+n>=a){let e=null===(t=u.at(-1))||void 0===t?void 0:t.year;if(!e)return;let r=[...u];r.push({year:e+1,quarters:[,,,,].fill(null).map((t,r)=>({months:[,,,].fill(null).map((t,a)=>({days:(0,d.Z)(new Date(e,3*r+a,1))}))}))}),m(r),c.current.scrollLeft=c.current.scrollWidth-c.current.clientWidth,f(c.current.scrollLeft)}},100),[u,f]);return(0,n.useEffect)(()=>(c.current&&c.current.addEventListener("scroll",g),()=>{c.current&&c.current.removeEventListener("scroll",g)}),[g]),(0,a.jsx)(_.Provider,{value:{zoom:r,range:l,headerHeight:60,columnWidth:h,sidebarWidth:x,rowHeight:36,onAddItem:s,timelineData:u,placeholderLength:2,ref:c},children:(0,a.jsx)("div",{className:(0,D.cn)("gantt relative grid h-full w-full flex-none select-none overflow-auto rounded-sm bg-secondary",l,i),style:{...p,gridTemplateColumns:"var(--gantt-sidebar-width) 1fr"},ref:c,children:o})})},ed=e=>{let{children:t,className:r}=e;return(0,a.jsx)("div",{className:(0,D.cn)("relative flex h-full w-max flex-none text-clip",r),children:t})},ei=e=>{var t,r;let{className:l}=e,s=new Date,o=(0,n.useContext)(_),d=q(o.range)(s,new Date(null!==(r=null===(t=o.timelineData.at(0))||void 0===t?void 0:t.year)&&void 0!==r?r:0,0,1)),i=B(s,o.range,o.columnWidth*o.zoom/100);return(0,a.jsxs)("div",{className:"pointer-events-none absolute left-0 top-0 z-20 flex h-full select-none flex-col items-center justify-center overflow-visible",style:{width:0,transform:"translateX(calc(var(--gantt-column-width) * ".concat(d," + ").concat(i,"px))")},children:[(0,a.jsxs)("div",{className:(0,D.cn)("group pointer-events-auto sticky top-0 flex select-auto flex-col flex-nowrap items-center justify-center whitespace-nowrap rounded-b-md bg-card px-2 py-1 text-xs text-foreground",l),children:["Today",(0,a.jsx)("span",{className:"max-h-[0] overflow-hidden opacity-80 transition-all group-hover:max-h-[2rem]",children:(0,b.Z)(s,"MMM dd, yyyy")})]}),(0,a.jsx)("div",{className:(0,D.cn)("h-full w-px bg-card",l)})]})}}}]);
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.