PageSourceSearch

https://app.pax-i.ai/chunk-PMO5DHYH.js

js pax-i.ai collected 2026-10-05 13:26:23 UTC 86,123 bytes, 3 lines download raw bytes

1import{a as le,b as de}from"./chunk-V7WB22T3.js";import{a as ie,b as re,e as oe,f as ae}from"./chunk-NOY7HHGU.js";import{a as ge}from"./chunk-OK5TZJBB.js";import"./chunk-IKKOL6KV.js";import{a as rt}from"./chunk-UUWBCW3Q.js";import{e as ce,f as se}from"./chunk-X2CLAKKR.js";import"./chunk-Z2SJPJSW.js";import"./chunk-LXKTYBIS.js";import"./chunk-VPYESVM7.js";import{a as qt,b as Xt}from"./chunk-V6XZLINA.js";import{a as Qt}from"./chunk-KAL2OWX3.js";import{a as Zt,b as nt}from"./chunk-E6C2QDT6.js";import{a as te,b as ee}from"./chunk-TRGZSXXL.js";import{a as it,b as K}from"./chunk-JNOFOTYU.js";import"./chunk-S6Q63JA7.js";import{b as ne}from"./chunk-T7JO76OI.js";import"./chunk-CZN24ULV.js";import"./chunk-F7RNGLSF.js";import"./chunk-7QCPF3C6.js";import{a as $t}from"./chunk-XBO6YBU4.js";import{b as Jt,c as Ft}from"./chunk-42UP4CF2.js";import{a as Yt}from"./chunk-OPU5IZL4.js";import{a as Gt}from"./chunk-6477ZBMI.js";import"./chunk-4O3FVBGX.js";import"./chunk-3V3DF45T.js";import{b as Q,e as tt,j as et,r as F,s as Vt}from"./chunk-QMKAY6L3.js";import{b as X,c as N,d as R}from"./chunk-2QBXBXBG.js";import{c as Wt}from"./chunk-SP3HOEQ5.js";import{a as Ht}from"./chunk-BIXBZ7E7.js";import"./chunk-H5BK6PY3.js";import"./chunk-UYS4K7BP.js";import{c as Kt,e as U}from"./chunk-6UDFMWQR.js";import"./chunk-D3GZHNP7.js";import"./chunk-NRC5AI7K.js";import"./chunk-42VXR55A.js";import{a as Dt}from"./chunk-4B56CV3U.js";import{j as Rt,k as At,l as Lt,m as q,n as Bt,q as Nt}from"./chunk-IGN5GLRN.js";import{F as Ut}from"./chunk-FI7JFUZL.js";import{i as Y,j as kt,k as Z,t as It,u as D}from"./chunk-UH7EAKM6.js";import{$b as Ct,A as Pt,Ab as M,Db as xt,Eb as St,Fb as p,Gb as a,Hb as c,Ib as d,Ic as m,Jc as _,Lc as zt,Mc as Et,Pb as x,Qa as bt,R as j,Ra as yt,Tb as u,Va as o,Vb as g,X as W,Zb as mt,_a as z,_b as _t,aa as pt,cc as wt,dc as ut,eb as b,ec as E,f as ft,fc as Tt,g as dt,ga as h,ha as f,hc as l,ic as y,jb as I,jc as P,kc as G,ma as Ot,nc as A,oc as L,pb as J,pc as B,ua as Mt,yc as jt,zb as O,zc as k}from"./chunk-HNJKLSZE.js";import{a as w,b as T}from"./chunk-OSQMNGTH.js";var Ce=["messagesEl"],ue=["inputEl"],ve=(i,e)=>e.id;function he(i,e){i&1&&(a(0,"div",8)(1,"div",16),d(2,"div",17),c(),a(3,"p"),l(4),m(5,"translate"),c()()),i&2&&(o(4),y(_(5,1,"RAIL_PAXI_CHAT.EMPTY_STATE")))}function fe(i,e){i&1&&(a(0,"div",20),d(1,"span",23)(2,"span",23)(3,"span",23),c())}function Pe(i,e){if(i&1&&(a(0,"div",21),l(1),c()),i&2){let t=g().$implicit;o(),y(t.message)}}function Oe(i,e){if(i&1&&(a(0,"div",22),d(1,"markdown",24),c()),i&2){let t=g().$implicit;o(),p("data",t.message)}}function Me(i,e){if(i&1&&(a(0,"div",18)(1,"span",19),l(2),m(3,"translate"),c(),O(4,fe,4,0,"div",20)(5,Pe,2,1,"div",21)(6,Oe,2,1,"div",22),c()),i&2){let t=e.$implicit;E("user",t.senderType==="user")("ai",t.senderType==="ai"),o(2),y(t.senderType==="ai"?"Paxi":_(3,6,"PAXI_DRAWER.YOU")),o(2),M(t.senderType==="ai"&&t.isLoading?4:t.senderType==="user"?5:6)}}function be(i,e){if(i&1){let t=x();a(0,"div",11),d(1,"i",25),a(2,"span",26),l(3),m(4,"slice"),c(),a(5,"button",27),u("click",function(){h(t);let r=g();return f(r.removeAttachment())}),d(6,"i",6),c()()}if(i&2){let t=g();o(3),G("",zt(4,2,t.localAttached,0,100),"",t.localAttached.length>100?"\u2026":"")}}var ot=class i{constructor(e,t){this.aiChatService=e;this.translate=t}aiChatService;translate;attachedText="";closeChat=new z;messagesEl;inputEl;messages=[];inputText="";isSending=!1;localAttached="";conversationId;streamBuffer="";streamTimer=null;destroyRef=pt(Ot);router=pt(q);ngOnChanges(e){e.attachedText&&e.attachedText.currentValue&&(this.localAttached=e.attachedText.currentValue,this.messages=[],this.conversationId=void 0,setTimeout(()=>this.inputEl?.nativeElement.focus(),80))}ngOnDestroy(){this.stopStream()}removeAttachment(){this.localAttached=""}send(){let e=this.inputText.trim();if(!e||this.isSending)return;let t=this.localAttached?`"${this.localAttached}"
2
3${e}`:e;this.inputText="",this.localAttached="",this.isSending=!0,this.resetTextarea();let n=`u-${Date.now()}`,r=`a-${Date.now()}`;if(this.messages.filter(v=>v.senderType==="user").length>=2){this.messages=[...this.messages,{id:n,senderType:"user",message:e,timestamp:new Date().toISOString()},{id:r,senderType:"ai",message:this.translate.instant("RAIL_PAXI_CHAT.REDIRECT_MESSAGE"),isLoading:!1}],this.scrollToBottom(),setTimeout(()=>{this.closeChat.emit(),this.router.navigate(["/app/ai-chat"])},2500);return}this.messages=[...this.messages,{id:n,senderType:"user",message:e,timestamp:new Date().toISOString()},{id:r,senderType:"ai",message:"",isLoading:!0}],this.scrollToBottom();let C=this.conversationId?{conversationId:this.conversationId,message:t}:{message:t};this.aiChatService.createChatStream(C).pipe(Dt(this.destroyRef)).subscribe({next:v=>{if(v.type==="chunk")this.enqueueChunk(r,v.text);else if(v.type==="done"){this.flushStream(r),v.data?.conversationId&&(this.conversationId=v.data.conversationId);let S=v.data?.reply?.text;this.messages=this.messages.map(H=>H.id===r?T(w({},H),{message:S||H.message,isLoading:!1,isStreaming:!1}):H),this.isSending=!1,this.scrollToBottom()}else v.type==="error"&&(this.flushStream(r),this.messages=this.messages.map(S=>S.id===r?T(w({},S),{message:v.message||this.translate.instant("PAXI_DRAWER.SOMETHING_WENT_WRONG"),isLoading:!1}):S),this.isSending=!1)},error:()=>{this.flushStream(r),this.messages=this.messages.map(v=>v.id===r?T(w({},v),{message:this.translate.instant("PAXI_DRAWER.FAILED_TO_RESPOND"),isLoading:!1}):v),this.isSending=!1}})}onKeydown(e){e.isComposing||e.keyCode===229||e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.send())}resizeTextarea(){let e=this.inputEl?.nativeElement;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,112)}px`)}resetTextarea(){let e=this.inputEl?.nativeElement;e&&(e.style.height="auto")}enqueueChunk(e,t){this.streamBuffer+=t,!this.streamTimer&&(this.streamTimer=setInterval(()=>{if(!this.streamBuffer.length){this.stopStream();return}let n=this.streamBuffer.slice(0,3);this.streamBuffer=this.streamBuffer.slice(3),this.messages=this.messages.map(r=>r.id===e?T(w({},r),{message:(r.message??"")+n,isLoading:!1}):r),this.scrollToBottom()},16))}flushStream(e){if(this.streamBuffer.length){let t=this.streamBuffer;this.streamBuffer="",this.messages=this.messages.map(n=>n.id===e?T(w({},n),{message:(n.message??"")+t,isLoading:!1}):n)}this.stopStream()}stopStream(){this.streamTimer&&(clearInterval(this.streamTimer),this.streamTimer=null),this.streamBuffer=""}scrollToBottom(){requestAnimationFrame(()=>{let e=this.messagesEl?.nativeElement;e&&(e.scrollTop=e.scrollHeight)})}static \u0275fac=function(t){return new(t||i)(b(Gt),b(X))};static \u0275cmp=I({type:i,selectors:[["app-rail-paxi-chat"]],viewQuery:function(t,n){if(t&1&&(mt(Ce,5),mt(ue,5)),t&2){let r;
3_t(r=Ct())&&(n.messagesEl=r.first),_t(r=Ct())&&(n.inputEl=r.first)}},inputs:{attachedText:"attachedText"},outputs:{closeChat:"closeChat"},features:[Mt],decls:22,vars:13,consts:[["messagesEl",""],["inputEl",""],[1,"rail-chat-header"],[1,"rail-chat-title"],[1,"fa-solid","fa-sparkles"],[1,"rail-chat-close",3,"click","title"],[1,"pi","pi-times"],[1,"rail-chat-messages"],[1,"rail-chat-empty"],[1,"rail-msg",3,"user","ai"],[1,"rail-chat-input-area"],[1,"context-chip"],[1,"chat-input-wrapper"],["rows","1",1,"chat-input",3,"ngModelChange","keydown","input","placeholder","ngModel"],[1,"send-btn",3,"click","disabled"],[1,"fa-solid","fa-paper-plane-top"],[1,"ai-orb-container"],[1,"ai-orb"],[1,"rail-msg"],[1,"msg-label"],[1,"msg-body","thinking"],[1,"msg-body","user-bubble"],[1,"msg-body","ai-card"],[1,"dot"],[3,"data"],[1,"pi","pi-quote-right","chip-icon"],[1,"chip-text"],[1,"chip-remove",3,"click"]],template:function(t,n){if(t&1){let r=x();a(0,"div",2)(1,"div",3),d(2,"i",4),a(3,"span"),l(4),m(5,"translate"),c()(),a(6,"button",5),m(7,"translate"),u("click",function(){return h(r),f(n.closeChat.emit())}),d(8,"i",6),c()(),a(9,"div",7,0),O(11,he,6,3,"div",8),xt(12,Me,7,8,"div",9,ve),c(),a(14,"div",10),O(15,be,7,6,"div",11),a(16,"div",12)(17,"textarea",13,1),m(19,"translate"),B("ngModelChange",function(C){return h(r),L(n.inputText,C)||(n.inputText=C),f(C)}),u("keydown",function(C){return h(r),f(n.onKeydown(C))})("input",function(){return h(r),f(n.resizeTextarea())}),c(),a(20,"button",14),u("click",function(){return h(r),f(n.send())}),d(21,"i",15),c()()()}t&2&&(o(4),y(_(5,7,"RAIL_PAXI_CHAT.TITLE")),o(2),p("title",_(7,9,"RAIL_PAXI_CHAT.BACK_TO_OVERVIEW")),o(5),M(n.messages.length===0?11:-1),o(),St(n.messages),o(3),M(n.localAttached?15:-1),o(2),p("placeholder",_(19,11,"RAIL_PAXI_CHAT.INPUT_PLACEHOLDER")),A("ngModel",n.inputText),o(3),p("disabled",!n.inputText.trim()||n.isSending))},dependencies:[D,F,Q,tt,et,Ft,Jt,R,It,N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.rail-scroll-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]{scrollbar-width:none;-ms-overflow-style:none}.rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.rail-section[_ngcontent-%COMP%]{border-bottom:var(--size-1) solid var(--color-border-subtle)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]{width:100%;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover{background:var(--color-surface-subtle)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover   .section-title[_ngcontent-%COMP%]{color:var(--color-gray-900)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:800;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.08em;margin:0;display:flex;align-items:center;gap:var(--space-2-5)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-14);color:var(--color-primary-700)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon[_ngcontent-%COMP%]{font-size:var(--font-size-12);color:var(--color-gray-400);transition:all .3s cubic-bezier(.4,0,.2,1)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]{padding:0 var(--space-5) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.rail-section[_ngcontent-%COMP%]   .section-content.animate-zen[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeIn .4s cubic-bezier(.4,0,.2,1)}.insight-card[_ngcontent-%COMP%]{padding:var(--space-5);border:var(--size-1) solid var(--color-border-subtle);border-radius:var(--radius-16);position:relative;box-shadow:0 var(--size-2) var(--size-4) #00000005}.insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-gray-500);font-size:var(--font-size-13);padding:var(--space-4) 0}.insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-24);color:var(--color-primary-700)}.insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]{font-size:var(--font-size-14-2);color:var(--color-gray-600);line-height:1.6;margin:0;letter-spacing:.01em;font-weight:500}.insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{font-weight:700;color:var(--color-gray-900)}.chat-input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:flex-end;
3gap:var(--space-2);background:var(--color-surface-card);padding:var(--space-1-5);border:var(--size-1) solid var(--color-border-muted);border-radius:var(--radius-12);box-shadow:0 var(--size-1) var(--size-2) #1018280d;transition:all .2s}.chat-input-wrapper[_ngcontent-%COMP%]:focus-within{border-color:var(--color-primary-700);box-shadow:0 0 0 var(--size-3) #5263841a,0 var(--size-1) var(--size-2) #1018280d}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]{flex:1;padding:var(--space-2) var(--space-2-5);background:transparent;border:none;border-radius:0;font-size:var(--font-size-13);color:var(--color-gray-700);box-shadow:none;resize:none;max-height:var(--space-18);min-height:var(--space-9);line-height:1.5;overflow-y:auto}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::placeholder{color:var(--color-gray-400)}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]:focus{outline:none;box-shadow:none}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]{width:var(--space-9);height:var(--space-9);background:var(--color-gray-100);color:var(--color-border-muted);border-radius:var(--radius-8);border:none;display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s;flex-shrink:0}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:not(:disabled){background:var(--color-primary-700);color:#fff;cursor:pointer}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12)}.no-data-inline[_ngcontent-%COMP%]{text-align:center;padding:var(--space-4);color:var(--text-color-secondary);font-size:var(--font-size-14);margin:0}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(-var(--size-4))}to{opacity:1;transform:translateY(0)}}[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.rail-chat-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border-bottom:1px solid rgba(0,0,0,.07);flex-shrink:0}.rail-chat-header[_ngcontent-%COMP%]   .rail-chat-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-13);font-weight:600;color:var(--color-gray-800)}.rail-chat-header[_ngcontent-%COMP%]   .rail-chat-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:12px;color:var(--color-primary-700)}.rail-chat-header[_ngcontent-%COMP%]   .rail-chat-close[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-6);cursor:pointer;color:var(--color-gray-400);transition:background .15s,color .15s}.rail-chat-header[_ngcontent-%COMP%]   .rail-chat-close[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:11px}.rail-chat-header[_ngcontent-%COMP%]   .rail-chat-close[_ngcontent-%COMP%]:hover{background:#0000000f;color:var(--color-gray-700)}.rail-chat-messages[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);scrollbar-width:none}.rail-chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.rail-chat-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:var(--space-10) var(--space-5);height:100%;color:var(--color-gray-400)}.rail-chat-empty[_ngcontent-%COMP%]   .ai-orb-container[_ngcontent-%COMP%]{position:relative;width:110px;height:110px;margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:center}.rail-chat-empty[_ngcontent-%COMP%]   .ai-orb[_ngcontent-%COMP%]{position:absolute;width:100%;height:100%;border-radius:50%;z-index:1;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.9) 0%,transparent 20%),radial-gradient(circle at 35% 35%,#7dd3fc 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,#fbcfe8 0%,transparent 60%),radial-gradient(circle at 75% 70%,#a78bfa 0%,transparent 65%),radial-gradient(circle at 50% 95%,rgba(255,255,255,.8) 0%,transparent 35%),#ddd6fe;box-shadow:inset -12px -15px 25px #8b5cf666,inset 12px 12px 25px #ffffffe6,inset -4px 4px 15px #ffffff80,0 12px 30px #a78bfa4d;animation:_ngcontent-%COMP%_orbFloat 4s ease-in-out infinite}.rail-chat-empty[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:var(--font-size-13);line-height:1.6;max-width:220px}.rail-msg[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-1-5);animation:_ngcontent-%COMP%_msgIn .15s ease}.rail-msg[_ngcontent-%COMP%]   .msg-label[_ngcontent-%COMP%]{font-size:var(--font-size-10);font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--color-gray-400)}.rail-msg.user[_ngcontent-%COMP%]{align-items:flex-end}.rail-msg.user[_ngcontent-%COMP%]   .user-bubble[_ngcontent-%COMP%]{background:var(--color-gray-900);color:#fff;border-radius:var(--radius-12) var(--radius-12) var(--radius-4) var(--radius-12);padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-13);max-width:88%;white-space:pre-wrap;line-height:1.5}.rail-msg.ai[_ngcontent-%COMP%]{align-items:flex-start}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]{background:var(--color-surface-page);border:1px solid var(--color-border-subtle);border-radius:var(--radius-4) var(--radius-12) var(--radius-12) var(--radius-12);padding:var(--space-3) var(--space-4);font-size:var(--font-size-13);color:var(--color-gray-700);line-height:1.7;max-width:100%}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     p{margin:0 0 var(--space-2)}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     p:last-child{margin:0}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     ul, .rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     ol{padding-left:var(--space-5);margin:var(--space-2) 0}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:.85em}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     pre{background:#0000000a;padding:var(--space-3);border-radius:var(--radius-8);overflow-x:auto}.rail-msg.ai[_ngcontent-%COMP%]   .ai-card[_ngcontent-%COMP%]     strong{color:var(--color-gray-900)}.thinking[_ngcontent-%COMP%]{display:flex;gap:5px;align-items:center;padding:var(--space-2-5) var(--space-4);background:var(--color-surface-page);border:1px solid var(--color-border-subtle);border-radius:var(--radius-4) var(--radius-12) var(--radius-12) var(--radius-12)}.thinking[_ngcontent-%COMP%]   .dot[_ngcontent-%COMP%]{width:6px;height:6px;background:var(--color-gray-400);border-radius:50%;animation:_ngcontent-%COMP%_dotPulse 1.2s ease-in-out infinite}.thinking[_ngcontent-%COMP%]   .dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.thinking[_ngcontent-%COMP%]   .dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes _ngcontent-%COMP%_msgIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_orbFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.rail-chat-input-area[_ngcontent-%COMP%]{flex-shrink:0;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.context-chip[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:var(--space-2);background:#52638412;border:1px solid rgba(82,99,132,.2);border-radius:var(--radius-8);padding:var(--space-2) var(--space-3);font-size:var(--font-size-12);color:var(--color-gray-600)}.context-chip[_ngcontent-%COMP%]   .chip-icon[_ngcontent-%COMP%]{flex-shrink:0;color:var(--color-primary-700);font-size:11px;margin-top:1px}.context-chip[_ngcontent-%COMP%]   .chip-text[_ngcontent-%COMP%]{flex:1;min-width:0;font-style:italic;line-height:1.5}.context-chip[_ngcontent-%COMP%]   .chip-remove[_ngcontent-%COMP%]{flex-shrink:0;border:none;background:transparent;color:var(--color-gray-400);
3cursor:pointer;padding:0;display:flex;align-items:center}.context-chip[_ngcontent-%COMP%]   .chip-remove[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:10px}.context-chip[_ngcontent-%COMP%]   .chip-remove[_ngcontent-%COMP%]:hover{color:var(--color-gray-700)}"]})};var ye=()=>({width:"720px"});function xe(i,e){i&1&&(a(0,"div",3),d(1,"i",12),a(2,"span"),l(3,"Applying changes..."),c()())}function Se(i,e){i&1&&d(0,"i",22)}function we(i,e){if(i&1&&(d(0,"img",18),m(1,"translate")),i&2){let t=g().$implicit;p("src",t.image,yt)("alt",_(1,2,t.label))}}function Te(i,e){if(i&1&&(a(0,"div",19)(1,"div",23)(2,"div",24),d(3,"i",25),a(4,"div",26)(5,"h2"),l(6),m(7,"translate"),c()()()(),a(8,"div",27)(9,"div",28),l(10,"--"),c()()()),i&2){let t=g().$implicit;o(3),p("ngClass",t.icon),o(3),y(_(7,2,t.label))}}function je(i,e){if(i&1){let t=x();a(0,"div",13),u("click",function(){let r=h(t).$implicit,s=g(2);return f(s.toggleOption(r))}),a(1,"div",14)(2,"div",15),J(3,Se,1,0,"i",16),c()(),a(4,"div",17),O(5,we,2,4,"img",18)(6,Te,11,4,"div",19),c(),a(7,"div",20)(8,"div",21),l(9),m(10,"translate"),c()()()}if(i&2){let t=e.$implicit,n=g(2);E("selected",t.checked)("disabled",n.isSaving),o(2),E("checked",t.checked),o(),p("ngIf",t.checked),o(2),M(t.image?5:6),o(4),y(_(10,9,t.label))}}function ze(i,e){if(i&1){let t=x();O(0,xe,4,0,"div",3),a(1,"div",4)(2,"div",5)(3,"div",6)(4,"button",7),u("click",function(){h(t);let r=g();return f(r.selectAll())}),l(5),m(6,"translate"),c(),a(7,"button",8),u("click",function(){h(t);let r=g();return f(r.clearAll())}),l(8),m(9,"translate"),c()()(),a(10,"div",9)(11,"div",10),J(12,je,11,11,"div",11),c()()()}if(i&2){let t=g();M(t.isSaving?0:-1),o(5),P(" ",_(6,4,"PROJECT_DETAIL.CUSTOMIZE.SELECT_ALL")," "),o(3),P(" ",_(9,6,"PROJECT_DETAIL.CUSTOMIZE.CLEAR")," "),o(4),p("ngForOf",t.cardOptions)}}function Ee(i,e){if(i&1){let t=x();a(0,"button",29),u("click",function(){h(t);let r=g();return f(r.onReset())}),l(1),m(2,"translate"),c(),d(3,"span",30),a(4,"button",29),u("click",function(){h(t);let r=g();return f(r.onCancel())}),l(5),m(6,"translate"),c(),a(7,"button",31),u("click",function(){h(t);let r=g();return f(r.onSave())}),l(8),m(9,"translate"),c()}if(i&2){let t=g();p("disabled",t.isSaving),o(),P(" ",_(2,7,"PROJECT_DETAIL.CUSTOMIZE.RESET_DEFAULTS")," "),o(3),p("disabled",t.isSaving),o(),P(" ",_(6,9,"PROJECT_DETAIL.CUSTOMIZE.CANCEL")," "),o(2),p("disabled",t.isSaving)("loading",t.isSaving),o(),P(" ",_(9,11,"PROJECT_DETAIL.CUSTOMIZE.DONE")," ")}}var ct=class i{visible=!1;cardOptions=[];isSaving=!1;visibleChange=new z;saveChanges=new z;cancelDialog=new z;resetDialog=new z;onVisibilityChange(e){this.visibleChange.emit(e)}selectAll(){this.cardOptions=this.cardOptions.map(e=>T(w({},e),{checked:!0}))}clearAll(){this.cardOptions=this.cardOptions.map(e=>T(w({},e),{checked:!1}))}toggleOption(e){this.isSaving||(e.checked=!e.checked)}onSave(){let e=this.cardOptions.filter(t=>t.checked).map(t=>t.id);this.saveChanges.emit(e)}onCancel(){this.cancelDialog.emit()}onReset(){this.resetDialog.emit()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-customize-overview-dialog"]],inputs:{visible:"visible",cardOptions:"cardOptions",isSaving:"isSaving"},outputs:{visibleChange:"visibleChange",saveChanges:"saveChanges",cancelDialog:"cancelDialog",resetDialog:"resetDialog"},decls:4,vars:9,consts:[["appendTo","body",3,"visibleChange","header","visible","modal","closable"],["pTemplate","content"],["pTemplate","footer"],[1,"customize-loading-overlay"],[1,"customize-grid"],[1,"section-title","actions-row"],[1,"actions"],["pButton","","type","button",1,"p-button-text","p-button-sm",3,"click"],["pButton","","type","button",1,"p-button-text","p-button-sm","p-button-secondary",3,"click"],[1,"section"],[1,"tiles"],["class","tile-card",3,"selected","disabled","click",4,"ngFor","ngForOf"],[1,"pi","pi-spinner","pi-spin"],[1,"tile-card",3,"click"],[1,"selection-overlay"],[1,"checkbox-circle"],["class","pi pi-check",4,"ngIf"],[1,"card-preview"],[3,"src","alt"],[1,"metrics-card","card"],[1,"card-title-bottom"],[1,"card-label"],[1,"pi","pi-check"],[1,"top-bar"],[1,"top-bar-left"],[3,"ngClass"],[1,"title"],[1,"main-score"],[1,"score-value"],["pButton","","type","button",1,"p-button-text",3,"click","disabled"],[1,"spacer"],["pButton","","type","button",1,"save-btn",3,"click","disabled","loading"]],template:function(t,n){t&1&&(a(0,"p-dialog",0),m(1,"translate"),B("visibleChange",function(s){return L(n.visible,s)||(n.visible=s),s}),u("visibleChange",function(s){return n.onVisibilityChange(s)}),J(2,ze,13,8,"ng-template",1)(3,Ee,10,13,"ng-template",2),c()),t&2&&(Tt(k(8,ye)),p("header",_(1,6,"PROJECT_DETAIL.CUSTOMIZE.DIALOG_TITLE")),A("visible",n.visible),p("modal",!0)("closable",!n.isSaving))},dependencies:[D,Y,kt,Z,R,nt,Zt,Ut,U,Kt,N],styles:["[_nghost-%COMP%]{display:block}.customize-loading-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;border-radius:var(--radius-6)}.customize-loading-overlay[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-40);color:var(--color-cta-primary);margin-bottom:var(--space-4)}.customize-loading-overlay[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-size:var(--font-size-16);font-weight:500;color:var(--color-gray-700)}.customize-grid[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-6)}.customize-grid[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;padding-bottom:var(--space-2);border-bottom:var(--size-1) solid var(--color-border-subtle);margin-bottom:var(--space-2)}.customize-grid[_ngcontent-%COMP%]   .section-title.actions-row[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%]{display:flex;gap:var(--space-2)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]{cursor:pointer;border:var(--size-2) solid transparent;border-radius:var(--radius-12);transition:all .2s;position:relative;overflow:hidden;height:auto;box-shadow:none;background:transparent}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]:hover:not(.disabled){border-color:var(--color-border-muted)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card.selected[_ngcontent-%COMP%]{border-color:var(--color-brand-deep)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card.disabled[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.7}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .selection-overlay[_ngcontent-%COMP%]{position:absolute;top:var(--size-12);right:var(--size-12);z-index:10}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .selection-overlay[_ngcontent-%COMP%]   .checkbox-circle[_ng
3content-%COMP%]{width:var(--size-28);height:var(--size-28);border-radius:50%;display:flex;align-items:center;justify-content:center;border:var(--size-2) solid var(--color-border-input);background:#fff;box-shadow:0 var(--size-2) var(--size-4) #0000001a;transition:all .2s}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .selection-overlay[_ngcontent-%COMP%]   .checkbox-circle.checked[_ngcontent-%COMP%]{background:var(--color-brand-deep);border-color:var(--color-brand-deep)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .selection-overlay[_ngcontent-%COMP%]   .checkbox-circle[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-14);color:var(--color-white);font-weight:700}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]{width:100%;height:var(--size-260);background:var(--color-slate-50);border-radius:var(--radius-10);overflow:hidden;padding:var(--space-4)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:contain}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]{height:100%;padding:var(--space-6);background:#fff;display:flex;flex-direction:column;gap:var(--space-4);pointer-events:none;transform:scale(.85);transform-origin:center}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%], .customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]{display:flex;gap:var(--space-2)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-24);color:var(--color-text-subtle)}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .title[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:900;text-transform:uppercase;color:var(--color-text-subtle);margin:0}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .main-score[_ngcontent-%COMP%]{margin-top:auto}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-preview[_ngcontent-%COMP%]   .metrics-card[_ngcontent-%COMP%]   .main-score[_ngcontent-%COMP%]   .score-value[_ngcontent-%COMP%]{font-size:var(--font-size-40);font-weight:100;color:var(--color-gray-800);line-height:1}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-title-bottom[_ngcontent-%COMP%]{margin-top:var(--space-3);text-align:center}.customize-grid[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .tiles[_ngcontent-%COMP%]   .tile-card[_ngcontent-%COMP%]   .card-title-bottom[_ngcontent-%COMP%]   .card-label[_ngcontent-%COMP%]{color:var(--color-brand-deep);font-weight:700;font-size:var(--font-size-body-sm)}  .p-dialog-footer{display:flex;align-items:center}  .p-dialog-footer .spacer{flex:1}  .p-dialog-footer .save-btn{background-color:var(--color-brand-deep);border-color:var(--color-brand-deep);font-weight:700}"],changeDetection:0})};function Ie(i,e){i&1&&d(0,"p-skeleton",1)}function De(i,e){if(i&1&&(a(0,"h1"),d(1,"i",3),l(2),c()),i&2){let t=g();o(2),P(" ",t.projectName," ")}}var st=class i{projectName;isLoading=!1;showCustomizeButton=!1;customizeClick=new z;onCustomizeClick(){this.customizeClick.emit()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=I({type:i,selectors:[["app-project-header-bar"]],inputs:{projectName:"projectName",isLoading:"isLoading",showCustomizeButton:"showCustomizeButton"},outputs:{customizeClick:"customizeClick"},decls:4,vars:1,consts:[[1,"header-bar"],["width","12rem","height","2rem"],[1,"header-actions"],[1,"fa-light","fa-cube"]],template:function(t,n){t&1&&(a(0,"div",0),O(1,Ie,1,0,"p-skeleton",1)(2,De,3,1,"h1"),d(3,"div",2),c()),t&2&&(o(),M(n.isLoading?1:2))},dependencies:[D,R,K,it,U],styles:["[_nghost-%COMP%]{display:block}.header-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0 var(--space-5) 0}.header-bar[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:var(--font-size-32);font-weight:700;color:var(--color-gray-900);margin:0;display:flex;align-items:center;gap:var(--space-4)}.header-bar[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:var(--color-primary-700);font-size:var(--font-size-28)}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]{background-color:var(--color-cta-primary);border:none;color:#fff;border-radius:var(--radius-6);padding:var(--space-2-4) var(--space-4-8);font-size:var(--font-size-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all .2s}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]:hover{background-color:var(--color-cta-primary-hover)}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-16);color:#fff}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   .btn-label[_ngcontent-%COMP%]{font-weight:500;font-size:var(--font-size-sm)}@media (max-width: var(--size-900)){.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]{padding:var(--space-2) var(--space-4);font-size:var(--font-size-label)}.header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-body-sm)}}"],changeDetection:0})};var V=class i{toMidnight(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}getDaysPassed(e){let t=this.toMidnight(new Date(e)),n=this.toMidnight(new Date);if(n<t)return 0;let r=n-t;return Math.floor(r/(1e3*60*60*24))+1}getSprintDuration(e,t){let n=this.toMidnight(new Date(e)),s=this.toMidnight(new Date(t))-n;return Math.max(1,Math.floor(s/(1e3*60*60*24))+1)}getSprintCompletedTasks(e){return e.sprintData?e.sprintData.completedTasks:0}getSprintTotalTasks(e){return e.sprintData?.totalTasks||0}getSprintProgress(e){let t=this.getSprintTotalTasks(e);if(t===0)return 0;let n=this.getSprintCompletedTasks(e);return Math.round(n/t*100)}getSprintTimeProgress(e){if(!e.startDate||!e.endDate)return 0;
3let t=this.getSprintDuration(e.startDate,e.endDate),n=this.getDaysPassed(e.startDate);return Math.min(100,Math.round(n/t*100))}getSprintDaysLeft(e){if(!e.endDate)return"";let t=this.toMidnight(new Date(e.endDate)),n=this.toMidnight(new Date),r=t-n,s=Math.floor(r/(1e3*60*60*24));return s<0?"Ended":s===0?"Ends today":`${s} days left`}getSprintProgressData(e){return{completedTasks:this.getSprintCompletedTasks(e),totalTasks:this.getSprintTotalTasks(e),taskProgressPercent:this.getSprintProgress(e),timeProgressPercent:this.getSprintTimeProgress(e),daysLeft:this.getSprintDaysLeft(e)}}static \u0275fac=function(t){return new(t||i)};static \u0275prov=W({token:i,factory:i.\u0275fac,providedIn:"root"})};function Re(i,e){i&1&&(a(0,"div",9),d(1,"i",14),a(2,"span"),l(3),m(4,"translate"),c()()),i&2&&(o(3),P(" ",_(4,1,"PROJECT_DETAIL.MESSAGES.GENERATING")," "))}function Ae(i,e){if(i&1&&(a(0,"div",15),d(1,"p",17),c()),i&2){let t=g(3);o(),p("innerHTML",t.metricsSummary==null?null:t.metricsSummary.overallSummary,bt)}}function Le(i,e){i&1&&(a(0,"p",16),l(1),m(2,"translate"),c()),i&2&&(o(),P(" ",_(2,1,"PROJECT_DETAIL.MESSAGES.NO_SUMMARY")," "))}function Be(i,e){if(i&1&&O(0,Ae,2,1,"div",15)(1,Le,3,3,"p",16),i&2){let t=g(2);M(t.metricsSummary!=null&&t.metricsSummary.overallSummary?0:1)}}function Ne(i,e){if(i&1){let t=x();a(0,"div",7)(1,"div",8),O(2,Re,5,3,"div",9)(3,Be,2,1),c(),a(4,"div",10)(5,"textarea",11),B("ngModelChange",function(r){h(t);let s=g();return L(s.chatMessage,r)||(s.chatMessage=r),f(r)}),u("keydown",function(r){h(t);let s=g();return f(s.onChatKeydown(r))}),c(),a(6,"button",12),u("click",function(){h(t);let r=g();return f(r.submitChat())}),d(7,"i",13),c()()()}if(i&2){let t=g();o(2),M(t.isMetricsLoading?2:3),o(3),A("ngModel",t.chatMessage),p("placeholder",t.chatPlaceholder)("autoResize",!0),o(),p("disabled",!t.chatMessage.trim())}}function Ve(i,e){i&1&&d(0,"p-skeleton",19)}function Je(i,e){if(i&1&&(a(0,"div",21)(1,"h4",22),l(2),c(),d(3,"p-tag",23),c(),a(4,"div",24)(5,"div",25)(6,"span",26),d(7,"i",27),l(8," START "),c(),a(9,"span",28),l(10),c()(),a(11,"div",25)(12,"span",26),d(13,"i",29),l(14," END "),c(),a(15,"span",28),l(16),c()()(),a(17,"div",30)(18,"div",31)(19,"span",26),l(20,"TICKETS"),c(),a(21,"span",28),l(22),c()(),a(23,"div",32),d(24,"div",33),c()(),a(25,"div",30)(26,"div",31)(27,"span",26),l(28,"Days"),c(),a(29,"span",28),l(30),c()(),a(31,"div",32),d(32,"div",34),c()()),i&2){let t=g(2);o(2),y(t.activeSprint.sprintName),o(),p("value",t.activeSprint.status)("severity",t.getSeverity(t.activeSprint.status))("rounded",!0),o(7),y(t.fmtDateOnly(t.activeSprint.startDate)),o(6),y(t.fmtDateOnly(t.activeSprint.endDate)),o(6),G("",t.sprintProgress.completedTasks,"/",t.sprintProgress.totalTasks),o(2),ut("width",t.sprintProgress.taskProgressPercent,"%"),o(6),y(t.sprintProgress.daysLeft),o(2),ut("width",t.sprintProgress.timeProgressPercent,"%")}}function Fe(i,e){i&1&&(a(0,"p"),l(1),m(2,"translate"),c()),i&2&&(o(),P(" ",_(2,1,"PROJECT_DETAIL.MESSAGES.NO_ACTIVE_SPRINT")," "))}function Ue(i,e){i&1&&(a(0,"p"),l(1),m(2,"translate"),c()),i&2&&(o(),y(_(2,1,"INTEGRATIONS.JIRA.NO_CONNECTION")))}function Ke(i,e){if(i&1&&(a(0,"div",20),J(1,Fe,3,3,"p",35)(2,Ue,3,3,"ng-template",null,0,Et),c()),i&2){let t=wt(3),n=g(2);o(),p("ngIf",n.isJiraConnected)("ngIfElse",t)}}function $e(i,e){if(i&1&&(a(0,"div",7)(1,"div",18),O(2,Ve,1,0,"p-skeleton",19)(3,Je,33,13)(4,Ke,4,2,"div",20),c()()),i&2){let t=g();o(2),M(t.isSprintsLoading?2:t.activeSprint&&t.sprintProgress?3:4)}}function He(i,e){if(i&1&&(a(0,"div",7),d(1,"recent-activity",36),c()),i&2){let t=g();o(),p("allActivities",t.activityData)("isLoading",t.isActivityLoading)}}var lt=class i{constructor(e){this.sprintCalculator=e}sprintCalculator;metricsSummary;activeSprint;activityData=[];isMetricsLoading=!1;isSprintsLoading=!1;isActivityLoading=!1;chatPlaceholder="";isJiraConnected=!1;chatSubmit=new z;showSummary=!0;showSprint=!0;showActivity=!0;chatMessage="";get sprintProgress(){return this.activeSprint?this.sprintCalculator.getSprintProgressData(this.activeSprint):null}getSeverity(e){switch(e){case"ACTIVE":return"success";case"COMPLETED":return"info";
3case"OVERDUE":return"danger";default:return"secondary"}}onChatKeydown(e){e.isComposing||e.keyCode===229||e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submitChat())}submitChat(){let e=this.chatMessage.trim();e&&(this.chatSubmit.emit(e),this.chatMessage="")}fmtDateOnly(e){if(!e)return"";let t=e.match(/^(\d{4})-(\d{2})-(\d{2})/),n;if(t){let[,r,s,C]=t;n=new Date(parseInt(r),parseInt(s)-1,parseInt(C))}else n=new Date(e);return ce(n)}static \u0275fac=function(t){return new(t||i)(b(V))};static \u0275cmp=I({type:i,selectors:[["app-project-right-rail"]],inputs:{metricsSummary:"metricsSummary",activeSprint:"activeSprint",activityData:"activityData",isMetricsLoading:"isMetricsLoading",isSprintsLoading:"isSprintsLoading",isActivityLoading:"isActivityLoading",chatPlaceholder:"chatPlaceholder",isJiraConnected:"isJiraConnected"},outputs:{chatSubmit:"chatSubmit"},decls:23,vars:18,consts:[["jiraNotConnected",""],[1,"rail-scroll-content","custom-scrollbar"],[1,"rail-section"],[1,"section-toggle",3,"click"],[1,"section-title"],[1,"fa-solid","fa-sparkles"],[1,"fa-solid","fa-chevron-down","toggle-icon"],[1,"section-content","animate-zen"],[1,"insight-card"],[1,"generating-loader"],[1,"chat-input-wrapper"],["rows","1","pTextarea","",1,"chat-input",3,"ngModelChange","keydown","ngModel","placeholder","autoResize"],[1,"send-btn",3,"click","disabled"],[1,"fa-solid","fa-paper-plane-top"],[1,"pi","pi-spinner","pi-spin"],[1,"insight-content-wrapper"],[1,"no-data-inline"],[1,"insight-text",3,"innerHTML"],[1,"insight-card","sprint-card-inner"],["width","100%","height","200px"],[1,"no-sprint-message"],[1,"sprint-header-row"],[1,"sprint-name"],[3,"value","severity","rounded"],[1,"sprint-dates-row"],[1,"date-col"],[1,"label"],[1,"fa-light","fa-calendar"],[1,"value"],[1,"fa-light","fa-calendar-check"],[1,"progress-section"],[1,"progress-info"],[1,"progress-track"],[1,"progress-fill","tickets-fill"],[1,"progress-fill","time-fill"],[4,"ngIf","ngIfElse"],[3,"allActivities","isLoading"]],template:function(t,n){t&1&&(a(0,"div",1)(1,"div",2)(2,"button",3),u("click",function(){return n.showSummary=!n.showSummary}),a(3,"h4",4),d(4,"i",5),l(5),m(6,"translate"),c(),d(7,"i",6),c(),O(8,Ne,8,5,"div",7),c(),a(9,"div",2)(10,"button",3),u("click",function(){return n.showSprint=!n.showSprint}),a(11,"h4",4),l(12),m(13,"translate"),c(),d(14,"i",6),c(),O(15,$e,5,1,"div",7),c(),a(16,"div",2)(17,"button",3),u("click",function(){return n.showActivity=!n.showActivity}),a(18,"h4",4),l(19),m(20,"translate"),c(),d(21,"i",6),c(),O(22,He,2,2,"div",7),c()()),t&2&&(o(5),P(" ",_(6,12,"PROJECT_DETAIL.HEADINGS.AI_SUMMARY")," "),o(2),E("rotated",!n.showSummary),o(),M(n.showSummary?8:-1),o(4),y(_(13,14,"PROJECT_DETAIL.HEADINGS.SPRINT_PROGRESS")),o(2),E("rotated",!n.showSprint),o(),M(n.showSprint?15:-1),o(4),y(_(20,16,"PROJECT_DETAIL.HEADINGS.RECENT_ACTIVITY")),o(2),E("rotated",!n.showActivity),o(),M(n.showActivity?22:-1))},dependencies:[D,Z,R,K,it,ee,te,Xt,qt,F,Q,tt,et,le,N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.rail-scroll-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]{scrollbar-width:none;-ms-overflow-style:none}.rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.rail-section[_ngcontent-%COMP%]{border-bottom:var(--size-1) solid var(--color-border-subtle)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]{width:100%;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover{background:var(--color-surface-subtle)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover   .section-title[_ngcontent-%COMP%]{color:var(--color-gray-900)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:800;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.08em;margin:0;display:flex;align-items:center;gap:var(--space-2-5)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-14);color:var(--color-primary-700)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon[_ngcontent-%COMP%]{font-size:var(--font-size-12);color:var(--color-gray-400);transition:all .3s cubic-bezier(.4,0,.2,1)}.rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]{padding:0 var(--space-5) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.rail-section[_ngcontent-%COMP%]   .section-content.animate-zen[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeIn .4s cubic-bezier(.4,0,.2,1)}.insight-card[_ngcontent-%COMP%]{padding:var(--space-5);border:var(--size-1) solid var(--color-border-subtle);border-radius:var(--radius-16);position:relative;box-shadow:0 var(--size-2) var(--size-4) #00000005}.insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-gray-500);font-size:var(--font-size-13);padding:var(--space-4) 0}.insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-24);color:var(--color-primary-700)}.insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]{font-size:var(--font-size-14-2);color:var(--color-gray-600);line-height:1.6;margin:0;letter-spacing:.01em;font-weight:500}.insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{font-weight:700;color:var(--color-gray-900)}.chat-input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:flex-end;
3gap:var(--space-2);background:var(--color-surface-card);padding:var(--space-1-5);border:var(--size-1) solid var(--color-border-muted);border-radius:var(--radius-12);box-shadow:0 var(--size-1) var(--size-2) #1018280d;transition:all .2s}.chat-input-wrapper[_ngcontent-%COMP%]:focus-within{border-color:var(--color-primary-700);box-shadow:0 0 0 var(--size-3) #5263841a,0 var(--size-1) var(--size-2) #1018280d}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]{flex:1;padding:var(--space-2) var(--space-2-5);background:transparent;border:none;border-radius:0;font-size:var(--font-size-13);color:var(--color-gray-700);box-shadow:none;resize:none;max-height:var(--space-18);min-height:var(--space-9);line-height:1.5;overflow-y:auto}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::placeholder{color:var(--color-gray-400)}.chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]:focus{outline:none;box-shadow:none}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]{width:var(--space-9);height:var(--space-9);background:var(--color-gray-100);color:var(--color-border-muted);border-radius:var(--radius-8);border:none;display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s;flex-shrink:0}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:not(:disabled){background:var(--color-primary-700);color:#fff;cursor:pointer}.chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12)}.no-data-inline[_ngcontent-%COMP%]{text-align:center;padding:var(--space-4);color:var(--text-color-secondary);font-size:var(--font-size-14);margin:0}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(-var(--size-4))}to{opacity:1;transform:translateY(0)}}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .insight-content-wrapper[_ngcontent-%COMP%]{max-height:none;overflow:visible;padding-right:0}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]{background:var(--color-surface-page);border:var(--size-1) solid var(--color-border-subtle);border-radius:var(--radius-16);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);box-shadow:0 var(--size-2) var(--size-4) #00000005}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-header-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-header-row[_ngcontent-%COMP%]   .sprint-name[_ng
3content-%COMP%]{margin:0;font-size:var(--font-size-16);font-weight:700;color:var(--color-gray-700)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]{display:flex;gap:var(--space-8)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-1)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%]{font-size:var(--font-size-10);font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;display:flex;align-items:center;gap:var(--space-1)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:600;color:var(--color-gray-700)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-2)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%]{font-size:var(--font-size-10);font-weight:700;color:var(--color-text-subtle)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:600;color:var(--color-neutral-700)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]{height:var(--space-1-5);background:#0000000d;border-radius:var(--radius-pill);overflow:hidden}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill[_ngcontent-%COMP%]{height:100%;border-radius:var(--radius-pill)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill.tickets-fill[_ngcontent-%COMP%]{background:var(--color-primary-700)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill.time-fill[_ngcontent-%COMP%]{background:var(--color-project-sage)}.rail-scroll-content[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .no-sprint-message[_ngcontent-%COMP%]{text-align:center;padding:var(--space-4) 0;color:var(--color-gray-500)}"],changeDetection:0})};var gt=class i{storageKeyPrefix="paxi.project.overview.selectedCards.";flagsKeyPrefix="paxi.project.overview.flags.";defaultCards=[1,2,3,4,5,6,7,8];defaultFlags={timeliness:!0,stability:!0};selectedCardsSubject=new dt(this.defaultCards);selectedCards$=this.selectedCardsSubject.asObservable();flagsSubject=new dt(this.defaultFlags);flags$=this.flagsSubject.asObservable();load(e){let t=this.buildKey(e),n=this.buildFlagsKey(e);try{let r=localStorage.getItem(t);if(r){let C=JSON.parse(r);if(Array.isArray(C)&&C.every(v=>typeof v=="number")){let v=Array.from(new Set(C)).filter(S=>this.defaultCards.includes(S)&&S>=1&&S<=8);this.selectedCardsSubject.next(v.length?v:this.defaultCards)}}let s=localStorage.getItem(n);if(s){let C=JSON.parse(s),v=typeof C?.timeliness=="boolean"?C.timeliness:!0,S=typeof C?.stability=="boolean"?C.stability:!0;this.flagsSubject.next({timeliness:v,stability:S})}}catch{}localStorage.getItem(t)||this.selectedCardsSubject.next(this.defaultCards),localStorage.getItem(n)||this.flagsSubject.next(this.defaultFlags)}setSelectedCards(e,t){let n=Array.from(new Set(t)).filter(s=>this.defaultCards.includes(s)&&s>=1&&s<=8),r=n.length?n:this.defaultCards;this.selectedCardsSubject.next(r);try{localStorage.setItem(this.buildKey(e),JSON.stringify(r))}catch{}}setFlags(e,t){let n=typeof t.timeliness=="boolean"?t.timeliness:!0,r=typeof t.stability=="boolean"?t.stability:!0,s={timeliness:n,stability:r};this.flagsSubject.next(s);try{localStorage.setItem(this.buildFlagsKey(e),JSON.stringify(s))}catch{}}getSelectedCardsSnapshot(){return this.selectedCardsSubject.getValue()}buildKey(e){return`${this.storageKeyPrefix}${e??"global"}`}getFlagsSnapshot(){return this.flagsSubject.getValue()}buildFlagsKey(e){return`${this.flagsKeyPrefix}${e??"global"}`}static \u0275fac=function(t){return new(t||i)};static \u0275prov=W({token:i,factory:i.\u0275fac,providedIn:"root"})};var Ge=()=>["overview"],Ye=()=>["sprints"],Ze=()=>["key-moments"],qe=()=>["meeting-notes"],Xe=()=>["documents"],Qe=()=>["team"],tn=()=>["leaderboard"],en=()=>["details"];function nn(i,e){i&1&&(a(0,"p-tab",13),l(1),m(2,"translate"),c()),i&2&&(p("routerLink",k(4,tn)),o(),P(" ",_(2,2,"PROJECT_DETAIL.TABS.LEADERBOARD")," "))}function rn(i,e){i&1&&(a(0,"p-tab",15),l(1),m(2,"translate"),c()),i&2&&(p("routerLink",k(4,en)),o(),P(" ",_(2,2,"PROJECT_DETAIL.TABS.DETAILS")," "))}function on(i,e){if(i&1){let t=x();a(0,"app-project-right-rail",21),u("chatSubmit",function(r){h(t);let s=g(2);return f(s.goToAiChat(r))}),c()}if(i&2){let t=g(2);p("metricsSummary",t.metricsSummary)("activeSprint",t.activeSprint)("activityData",t.activityData)("isMetricsLoading",t.isMetricsLoading)("isSprintsLoading",t.isSprintsLoading)("isActivityLoading",t.isActivityLoading)("chatPlaceholder",t.getChatPlaceholder())("isJiraConnected",t.isJiraConnected)}}function an(i,e){if(i&1){let t=x();a(0,"app-rail-paxi-chat",22),u("closeChat",function(){h(t);let r=g(2);return f(r.switchRailToOverview())}),c()}if(i&2){let t=g(2);p("attachedText",t.railAttachedText)}}function cn(i,e){if(i&1){let t=x();a(0,"div",1)(1,"div",4)(2,"div",5)(3,"app-project-header-bar",6),u("customizeClick",function(){h(t);let r=g();return f(r.openCustomize())}),c(),a(4,"p-tabs",7),B("valueChange",function(r){h(t);let s=g();return L(s.activeTab,r)||(s.activeTab=r),f(r)}),a(5,"p-tablist")(6,"p-tab",8),l(7),m(8,"translate"),c(),a(9,"p-tab",9),l(10),m(11,"translate"),c(),a(12,"p-tab",10),l(13),m(14,"translate"),c(),a(15,"p-tab",11),l(16),m(17,"translate"),c(),a(18,"p-tab",12),l(19),m(20,"translate"),c(),O(21,nn,3,5,"p-tab",13),a(22,"p-tab",14),l(23),m(24,"translate"),c(),O(25,rn,3,5,"p-tab",15),c()()(),d(26,"router-outlet"),c(),a(27,"button",16),u("click",function(){h(t);let r=g();return f(r.toggleRightRail())}),d(28,"i",17),c(),a(29,"div",18),O(30,on,1,8,"app-project-right-rail",19)(31,an,1,1,"app-rail-paxi-chat",20),c()()}if(i&2){let t=g();o(3),p("projectName",t.projectName)("isLoading",t.isMetricsLoading)("showCustomizeButton",t.activeTab==="overview"),o(),A("value",t.activeTab),o(2),p("routerLink",k(34,Ge)),o(),P(" ",_(8,22,"PROJECT_DETAIL.TABS.OVERVIEW")," "),o(2),p("routerLink",k(35,Ye)),o(),P(" ",_(11,24,"PROJECT_DETAIL.TABS.SPRINTS")," "),o(2),p("routerLink",k(36,Ze)),o(),P(" ",_(14,26,"PROJECT_DETAIL.TABS.KEY_MOMENTS")," "),o(2),p("routerLink",k(37,qe)),o(),P(" ",_(17,28,"PROJECT_DETAIL.TABS.MEETING_NOTES")," "),o(2),p("routerLink",k(38,Xe)),o(),P(" ",_(20,30,"PROJECT_DETAIL.TABS.DOCUMENTS")," "),o(2),M(t.isAiFeatureEnabled?21:-1),o(),p("routerLink",k(39,Qe)),o(),P(" ",_(24,32,"PROJECT_DETAIL.TABS.TEAM")," "),o(2),M(t.hasUpdatePermission()?25:-1),o(3),p("ngClass",t.isRightRailOpen?"pi-chevron-right":"pi-chevron-left"),o(),E("open",t.isRightRailOpen),o(),M(t.railMode==="overview"?30:31)}}function sn(i,e){if(i&1&&d(0,"summary-unavailable",2),i&2){let t=g();p("project",t.project)("jobStatus",t.jobStatus)}}var me=class i{constructor(e,t,n,r,s,C,v,S,H,ln,gn,dn,pn){this.route=e;this.projectsService=t;this.router=n;this.integrationsService=r;this.translate=s;this.projectListService=C;this.authService=v;this.overviewLayout=S;this.stateService=H;this.sprintCalculator=ln;this.developmentSyncService=gn;this.navContextService=dn;this.paxiSelectionService=pn}route;projectsService;router;integrationsService;translate;projectListService;authService;overviewLayout;stateService;sprintCalculator;developmentSyncService;navContextService;paxiSelectionService;projectId="";activeTab="overview";breadcrumbItems=[];isRightRailOpen=!1;railMode="overview";railAttachedText="";showCustomizeDialog=!1;isSavingCustomize=!1;jiraErrorMessage=null;jobStatus=[];isSyncTriggered=!1;accountId=0;developmentSyncTime="";metricsSummary;activeSprint;activityData=[];isSummaryExists=!0;permissions=[];project;isMetricsLoading=!0;isJiraStatusLoading=!0;isJiraConnected=!1;isSprintsLoading=!0;isActivityLoading=!0;cardOptions=[{id:1,label:"PROJECT_DETAIL.CUSTOMIZE.KPI_TIMELINESS_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.KPI_TIMELINESS_SUB",icon:"fa-light fa-person-running-fast",checked:!0,image:"assets/Project_cards/timeliness.png"},{id:2,label:"PROJECT_DETAIL.CUSTOMIZE.KPI_STABILITY_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.KPI_STABILITY_SUB",icon:"fa-light fa-gauge-high",checked:!0,image:"assets/Project_cards/stability.png"},{id:3,label:"PROJECT_DETAIL.CUSTOMIZE.CARD_EXECUTION_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.CARD_EXECUTION_SUB",icon:"fa-light fa-person-running-fast",checked:!0,image:"assets/Project_cards/execution velocity .png"},{id:4,label:"PROJECT_DETAIL.CUSTOMIZE.CARD_WORKLOAD_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.CARD_WORKLOAD_SUB",icon:"fa-light fa-gauge-high",checked:!0,image:"assets/Project_cards/workloaddistribution.png"},{id:5,label:"PROJECT_DETAIL.CUSTOMIZE.CARD_ENGAGEMENT_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.CARD_ENGAGEMENT_SUB",icon:"fa-light fa-handshake",checked:!0,image:"assets/Project_cards/team_engaement.png"},{id:6,label:"PROJECT_DETAIL.CUSTOMIZE.CARD_ALIGNMENT_LABEL",sub:"PROJECT_DETAIL.CUSTOMIZE.CARD_ALIGNMENT_SUB",icon:"fa-light fa-badge-check",checked:!0,image:"assets/Project_cards/sprint_allignement.png"},{id:7,label:"GitHub Activity",sub:"Recent commit activity",icon:"fa-light fa-code-commit",checked:!0,image:"assets/Project_cards/Github_activity.png"},{id:8,label:"Jira Status",sub:"Ticket distribution and progress",icon:"fa-light fa-clipboard-list",checked:!0,image:"assets/Project_cards/jiraStatus.png"}];destroy$=new ft;get isAiFeatureEnabled(){return this.authService.isAiFeatureEnabled()}ngOnInit(){let e=this.route.firstChild;this.activeTab=e?.snapshot.routeConfig?.path??"overview",this.router.events.pipe(Pt(n=>n instanceof Rt),j(this.destroy$)).subscribe(()=>{this.activeTab=this.route.firstChild?.snapshot.routeConfig?.path??"overview",this.activeTab!=="development"&&(this.developmentSyncTime="")}),this.developmentSyncService.syncTime$.pipe(j(this.destroy$)).subscribe(n=>{this.developmentSyncTime=n});let t=this.authService.getUserContext();t&&(this.accountId=t.account.accountId),this.route.paramMap.pipe(j(this.destroy$)).subscribe(n=>{let r=n.get("id");r&&(this.projectId=r,this.overviewLayout.load(this.projectId),this.loadProjectContext())}),this.stateService.data$.pipe(j(this.destroy$)).subscribe(n=>{this.metricsSummary=n.metricsSummary,this.activeSprint=n.activeSprint,this.activityData=n.activityData,this.isSummaryExists=n.isSummaryExists,this.permissions=n.permissions,this.project=n.project}),this.stateService.loading$.pipe(j(this.destroy$)).subscribe(n=>{this.isMetricsLoading=n.metrics,this.isJiraStatusLoading=n.jiraStatus,this.isSprintsLoading=n.sprints,this.isActivityLoading=n.activity}),this.paxiSelectionService.drawerOpen$.pipe(j(this.destroy$)).subscribe(n=>{n&&(this.railAttachedText=this.paxiSelectionService.getSelectedText(),this.railMode="chat")})}switchRailToChat(){this.railMode="chat",this.railAttachedText=""}switchRailToOverview(){this.railMode="overview",this.paxiSelectionService.closeDrawer()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.navContextService.clear()}get projectName(){return this.metricsSummary?.projectName||""}getChatPlaceholder(){let e=this.metricsSummary?.projectName||this.translate.instant("PROJECT_DETAIL.AI_SUMMARY.DEFAULT_NAME");return this.translate.instant("PROJECT_DETAIL.AI_SUMMARY.CHAT_PLACEHOLDER",{name:e})}toggleRightRail(){this.isRightRailOpen=!this.isRightRailOpen}goToAiChat(e){this.router.navigate(["/app/ai-chat"],{queryParams:{projectId:this.projectId,projectName:this.projectName,initialMessage:e||"",activeChatIdParam:-2}})}openCustomize(){this.isSavingCustomize=!1;let e=this.overviewLayout.getSelectedCardsSnapshot();this.cardOptions=this.cardOptions.map(t=>T(w({},t),{checked:e.includes(t.id)})),this.showCustomizeDialog=!0}onSaveCustomize(e){this.isSavingCustomize=!0,setTimeout(()=>{this.isSavingCustomize=!1,this.showCustomizeDialog=!1,setTimeout(()=>{this.overviewLayout.setSelectedCards(this.projectId,e)},150)},2e3)}onResetCustomize(){this.cardOptions=this.cardOptions.map(e=>T(w({},e),{checked:!0})),this.overviewLayout.setSelectedCards(this.projectId,[1,2,3,4,5,6,7,8])}hasUpdatePermission(){return this.permissions?.includes("update")}loadIntegrations(){this.isJiraStatusLoading=!0,this.integrationsService.getIntegrations().pipe(j(this.destroy$)).subscribe({next:e=>{let t=e.body.data;this.isJiraConnected=t.some(n=>n.integrationType==="JIRA"&&n.integrationStatus==="CONNECTED"),this.isJiraStatusLoading=!1},error:()=>{this.isJiraConnected=!1,this.isJiraStatusLoading=!1}})}updateBreadcrumbItems(){let e=this.project?.projectName||this.metricsSummary?.projectName||"";this.breadcrumbItems=[{label:"PROJECTS.TITLE",routerLink:["/app/projects"]},{label:e||"..."}],this.navContextService.set({section:"projects",name:e})}loadProjectContext(){this.stateService.resetState();let e={where:[{key:"id",value:this.projectId}]};this.projectListService.getProjects(1,10,e).pipe(j(this.destroy$)).subscribe({next:t=>{let n=t.body.data[0];n&&(this.stateService.setProject(n),this.updateBreadcrumbItems(),this.loadIntegrations(),this.loadMetrics(),this.loadActivities(),this.fetchSprints())},error:()=>{this.stateService.setMultipleLoading({metrics:!1,jiraStatus:!1,sprints:!1,activity:!1})}})}loadActivities(){this.stateService.setLoading("activity",!0),this.projectsService.getRecentActivities(Number(this.projectId)).pipe(j(this.destroy$)).subscribe({next:e=>{this.stateService.setActivityData(e),this.stateService.setLoading("activity",!1)},error:()=>{this.stateService.setLoading("activity",!1)}})}loadMetrics(){this.stateService.setLoading("metrics",!0),this.projectsService.getProjectMetricsSummary(Number(this.projectId)).pipe(j(this.destroy$)).subscribe({next:e=>{this.stateService.setLoading("metrics",!1),e&&(this.stateService.setMetricsSummary(e),this.updateBreadcrumbItems())},error:()=>{this.stateService.setLoading("metrics",!1)}})}fetchSprints(){this.stateService.setLoading("sprints",!0),this.projectsService.getSprints(Number(this.projectId)).pipe(j(this.destroy$)).subscribe({next:e=>{let t=e.body.sprints,n=t.filter(s=>s.status==="ACTIVE"),r;if(n.length>0)r=n.sort((s,C)=>new Date(C.startDate).getTime()-new Date(s.startDate).getTime())[0];else{let s=t.filter(C=>C.status==="OVERDUE");s.length>0&&(r=s.sort((C,v)=>new Date(v.startDate).getTime()-new Date(C.startDate).getTime())[0])}this.stateService.setActiveSprint(r),this.stateService.setLoading("sprints",!1)},error:()=>{this.stateService.setLoading("sprints",!1)}})}fmtDateTimeLong(e){return se(e)}static \u0275fac=function(t){return new(t||i)(b(At),b(ne),b(q),b(Ht),b(X),b(Yt),b(Wt),b(gt),b(rt),b(V),b(de),b(Qt),b($t))};static \u0275cmp=I({type:i,selectors:[["app-project"]],features:[jt([rt,V])],decls:4,vars:4,consts:[[1,"project","page","no-page-padding"],[1,"project-layout-container"],[3,"project","jobStatus"],[3,"visibleChange","saveChanges","cancel","reset","visible","cardOptions","isSaving"],[1,"project-detail"],[1,"project-tabs"],[3,"customizeClick","projectName","
3isLoading","showCustomizeButton"],["scrollable","",3,"valueChange","value"],["value","overview",3,"routerLink"],["value","sprints",3,"routerLink"],["value","key-moments",3,"routerLink"],["value","meeting-notes",3,"routerLink"],["value","documents",3,"routerLink"],["value","leaderboard",3,"routerLink"],["value","team",3,"routerLink"],["value","details",3,"routerLink"],["type","button",1,"right-rail-toggle",3,"click"],[1,"pi",3,"ngClass"],[1,"right-rail"],[3,"metricsSummary","activeSprint","activityData","isMetricsLoading","isSprintsLoading","isActivityLoading","chatPlaceholder","isJiraConnected"],[3,"attachedText"],[3,"chatSubmit","metricsSummary","activeSprint","activityData","isMetricsLoading","isSprintsLoading","isActivityLoading","chatPlaceholder","isJiraConnected"],[3,"closeChat","attachedText"]],template:function(t,n){t&1&&(a(0,"div",0),O(1,cn,32,40,"div",1)(2,sn,1,2,"summary-unavailable",2),a(3,"app-customize-overview-dialog",3),B("visibleChange",function(s){return L(n.showCustomizeDialog,s)||(n.showCustomizeDialog=s),s}),u("saveChanges",function(s){return n.onSaveCustomize(s)})("cancel",function(){return n.showCustomizeDialog=!1})("reset",function(){return n.onResetCustomize()}),c()()),t&2&&(o(),M(n.isSummaryExists?1:2),o(2),A("visible",n.showCustomizeDialog),p("cardOptions",n.cardOptions)("isSaving",n.isSavingCustomize))},dependencies:[Nt,Lt,Bt,D,Y,F,Vt,R,U,ae,oe,ie,re,K,nt,ge,lt,st,ct,ot,N],styles:['@charset "UTF-8";.project[_ngcontent-%COMP%]{margin-top:0%;padding:var(--space-6) 0 var(--space-6) var(--space-6);padding-top:var(--size-5)}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-10) 0 0;width:calc(100% - var(--size-340))}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-14);color:var(--color-gray-500)}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:var(--color-gray-500);text-decoration:none;transition:color .2s;font-weight:500}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:var(--color-neutral-900)}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12);color:var(--color-border-muted)}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{color:var(--color-neutral-900);font-weight:600}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .sync-status[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-2);color:var(--text-color-secondary);font-size:var(--font-size-14);white-space:nowrap}.project[_ngcontent-%COMP%]   .breadcrumbs-container[_ngcontent-%COMP%]   .sync-status[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-14)}.project[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-14);color:var(--color-gray-500)}.project[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:var(--color-gray-500);text-decoration:none;transition:color .2s;font-weight:500}.project[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:var(--color-neutral-900)}.project[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12);color:var(--color-border-muted)}.project[_ngcontent-%COMP%]   .breadcrumbs[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{color:var(--color-neutral-900);font-weight:600}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]{width:calc(100% - var(--size-380));padding-right:var(--space-4);transition:width .3s ease}.project[_ngcontent-%COMP%]   .team[_ngcontent-%COMP%], .project[_ngcontent-%COMP%]   .docs[_ngcontent-%COMP%]{padding:var(--space-4) 0}.project[_ngcontent-%COMP%]   .no-data[_ngcontent-%COMP%]{display:flex;min-height:var(--size-200);color:var(--color-gray-400);font-weight:500}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--size-10);height:calc(100vh - var(--size-120))}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]{flex-shrink:0;display:flex;flex-direction:column;overflow-x:auto;scrollbar-width:none}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0 0 0}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]{background-color:var(--color-cta-primary);border:none;color:#fff;border-radius:var(--radius-6);padding:var(--space-2-4) var(--space-4-8);font-size:var(--font-size-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all .2s}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]:hover{background-color:var(--color-cta-primary-hover)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-16);color:#fff}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   .btn-label[_ngcontent-%COMP%]{font-weight:500;font-size:var(--font-size-sm)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .back-btn[_ngcontent-%COMP%]{width:var(--space-10);height:var(--space-10);background:var(--color-surface-card);border:var(--size-1) solid var(--color-border-subtle);color:var(--color-gray-700);border-radius:var(--radius-8);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .back-btn[_ngcontent-%COMP%]:hover{background:var(--color-surface-subtle);border-color:var(--color-border-muted)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   .back-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-16)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:var(--font-size-32);font-weight:700;color:var(--color-gray-900);margin:0;display:flex;align-items:center;gap:var(--space-4)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-bar[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:var(--color-primary-700);font-size:var(--font-size-28)}@media (max-width: var(--size-900)){.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]{padding:var(--space-2) var(--space-4);font-size:var(--font-size-label)}.project[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]   .project-tabs[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]   .custom-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-body-sm)}}.project[_ngcontent-%COMP%]   .right-rail-toggle[_ngcontent-%COMP%]{position:fixed;right:var(--space-3);top:var(--space-20);z-index:110;display:none;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);background-color:#fff;border:var(--size-1) solid rgba(82,99,132,.1);border-radius:var(--radius-full);box-shadow:0 var(--size-4) var(--size-12) #00000014;cursor:pointer;transition:all .3s;color:var(--color-slate-500)}.project[_ngcontent-%COMP%]   .right-rail-toggle[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12)}.project.chat-mode[_ngcontent-%COMP%]   .project-detail[_ngcontent-%COMP%]{width:calc(100% - 460px)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]{position:fixed;top:var(--size-64);right:0;width:var(--size-380);height:calc(100vh - var(--size-64));z-index:100;display:flex;flex-direction:column;background:var(--color-surface-card);border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);box-shadow:-4px 0 16px #0000000a;padding:0}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   app-project-right-rail[_ngcontent-%COMP%], .project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   app-rail-paxi-chat[_ng
3content-%COMP%]{flex:1;min-height:0;overflow:hidden}@media (max-width: var(--size-1000)){.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .right-rail-toggle[_ngcontent-%COMP%]{display:flex}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]{width:100%;max-width:var(--size-400);transform:translate(100%);transition:transform .3s ease,box-shadow .3s ease;box-shadow:none}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .right-rail.open[_ngcontent-%COMP%]{transform:translate(0);box-shadow:-var(--size-4) 0 var(--size-24) #00000040}}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-scroll-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]{scrollbar-width:none;-ms-overflow-style:none}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-scroll-content.custom-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]{border-bottom:var(--size-1) solid var(--color-border-subtle)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]{width:100%;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover{background:var(--color-surface-subtle)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]:hover   .section-title[_ngcontent-%COMP%]{color:var(--color-gray-900)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:800;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.08em;margin:0;display:flex;align-items:center;gap:var(--space-2-5)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .section-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-14);color:var(--color-primary-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon[_ngcontent-%COMP%]{font-size:var(--font-size-12);color:var(--color-gray-400);transition:all .3s cubic-bezier(.4,0,.2,1)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-toggle[_ngcontent-%COMP%]   .toggle-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]{padding:0 var(--space-5) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content.animate-zen[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeIn .4s cubic-bezier(.4,0,.2,1)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:flex-end;gap:var(--space-2);background:var(--color-surface-card);padding:var(--space-1-5);border:var(--size-1) solid var(--color-border-muted);border-radius:var(--radius-12);box-shadow:0 var(--size-1) var(--size-2) #1018280d;transition:all .2s}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]:focus-within{border-color:var(--color-primary-700);box-shadow:0 0 0 var(--size-3) #5263841a,0 var(--size-1) var(--size-2) #1018280d}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]{flex:1;padding:var(--space-2) var(--space-2-5);background:transparent;border:none;border-radius:0;font-size:var(--font-size-13);color:var(--color-gray-700);box-shadow:none;resize:none;max-height:var(--space-18);min-height:var(--space-9);line-height:1.5;overflow-y:auto}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::placeholder{color:var(--color-gray-400)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]:focus{outline:none;box-shadow:none}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]{width:var(--space-9);height:var(--space-9);background:var(--color-gray-100);color:var(--color-border-muted);border-radius:var(--radius-8);border:none;display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s;flex-shrink:0}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:not(:disabled){background:var(--color-primary-700);color:#fff;cursor:pointer}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .rail-section[_ngcontent-%COMP%]   .section-content[_ngcontent-%COMP%]   .chat-input-wrapper[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-12)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]{padding:var(--space-5);border:var(--size-1) solid var(--color-border-subtle);border-radius:var(--radius-16);position:relative;box-shadow:0 var(--size-2) var(--size-4) #00000005}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .insight-content-wrapper[_ngcontent-%COMP%]{max-height:none;overflow:visible;padding-right:0}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .scroll-indicator[_ngcontent-%COMP%]{display:none}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-gray-500);font-size:var(--font-size-13);padding:var(--space-4) 0}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .generating-loader[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:var(--font-size-24);color:var(--color-primary-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]{font-size:var(--font-size-14-2);color:var(--color-gray-600);line-height:1.6;margin:0;letter-spacing:.01em;font-weight:500}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card[_ngcontent-%COMP%]   .insight-text[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{font-weight:700;color:var(--color-gray-900)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]{background:var(--color-surface-page);border:var(--size-1) solid var(--color-border-subtle);border-radius:var(--radius-16);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);box-shadow:0 var(--size-2) var(--size-4) #00000005}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-header-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-header-row[_ngcontent-%COMP%]   .sprint-name[_ng
3content-%COMP%]{margin:0;font-size:var(--font-size-16);font-weight:700;color:var(--color-gray-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]{display:flex;gap:var(--space-8)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-1)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%]{font-size:var(--font-size-10);font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;display:flex;align-items:center;gap:var(--space-1)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .sprint-dates-row[_ngcontent-%COMP%]   .date-col[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:600;color:var(--color-gray-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-2)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%]{font-size:var(--font-size-10);font-weight:700;color:var(--color-text-subtle)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-info[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{font-size:var(--font-size-12);font-weight:600;color:var(--color-neutral-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]{height:var(--space-1-5);background:#0000000d;border-radius:var(--radius-pill);overflow:hidden}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill[_ngcontent-%COMP%]{height:100%;border-radius:var(--radius-pill)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill.tickets-fill[_ngcontent-%COMP%]{background:var(--color-primary-700)}.project[_ngcontent-%COMP%]   .right-rail[_ngcontent-%COMP%]   .insight-card.sprint-card-inner[_ngcontent-%COMP%]   .progress-section[_ngcontent-%COMP%]   .progress-track[_ngcontent-%COMP%]   .progress-fill.time-fill[_ngcontent-%COMP%]{background:var(--color-project-sage)}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(-var(--size-4))}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-var(--size-5))}60%{transform:translate(-50%) translateY(-var(--size-3))}}']})};export{me as Project};

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.