@26lights/orcha 0.42.264 → 0.42.266

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/orcha.umd.js CHANGED
@@ -60,5 +60,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
60
60
  `)}function eD(t,e,n){var a;const o=((a=t.match(/^\s*/))==null?void 0:a[0])??"";return[...o].some(i=>i!==e)?{code:"INVALID_INDENTATION_CHARACTER"}:o.length%n!==0?{code:"INVALID_INDENTATION_SIZE",params:{expected:n,found:o.length}}:{level:o.length/n,content:t.slice(o.length).trim()}}function tD(t,e){const n=mu(e),o=[],a=[],i=[];if(!t||t.trim().length===0)return{valid:!0,data:[],errors:[]};const s=t.split(/\r?\n/);for(let l=0;l<s.length;l+=1){const c=l+1,u=s[l];if(u.trim().length===0)continue;const d=eD(u,n.indentCharacter,n.indentSize);if("code"in d){o.push({line:c,code:d.code,params:d.params});continue}const{level:p,content:f}=d,m=n.levels[p];if(!m){o.push({line:c,code:"TOO_MANY_INDENTATION_LEVELS",params:{max:n.levels.length-1}});continue}if(p>0&&!i[p-1]){const v=n.levels[p-1];o.push({line:c,code:"EXPECTED_PARENT_BEFORE",params:{parent:v,child:m}});continue}const h={type:m,name:f,children:[]};p===0?a.push(h):i[p-1].children.push(h),i[p]=h,i.length=p+1}return{valid:o.length===0,data:a,errors:o}}const nD=["onKeydown"],oD={class:"ao-modal ao-bulk-insert-modal"},rD={class:"ao-modal__header"},aD={class:"ao-modal__header-meta"},iD={class:"ao-modal__title-group"},sD={class:"ao-modal__body ao-bulk-insert-modal__body"},lD={key:0,class:"ao-bulk-insert-modal__intro"},cD=["placeholder","disabled"],dD={key:1,class:"ao-bulk-insert-modal__errors"},uD={key:2,class:"ao-bulk-insert-modal__count"},pD={class:"ao-bulk-insert-modal__help"},fD={class:"ao-bulk-insert-modal__help-title"},mD={class:"ao-bulk-insert-modal__help-list"},hD={class:"ao-bulk-insert-modal__help-entity"},gD={class:"ao-bulk-insert-modal__help-rule"},bD={class:"ao-bulk-insert-modal__footer"},hu=r.defineComponent({__name:"AoBulkInsertModal",props:{open:{type:Boolean,default:!0},title:{},rootType:{},hint:{default:""},placeholder:{default:""},isLoading:{type:Boolean,default:!1},size:{default:"md"}},emits:["update:open","submit","close"],setup(t,{emit:e}){const n=t,o=e,{t:a}=Ge(),i=r.ref(""),s=r.ref(null),l={phase:"project.bulk.entity.phase",milestone:"project.bulk.entity.milestone",activity:"project.bulk.entity.activity",task:"project.bulk.entity.task"},c={INVALID_INDENTATION_CHARACTER:"project.bulk.parser.invalidIndentationCharacter",INVALID_INDENTATION_SIZE:"project.bulk.parser.invalidIndentationSize",TOO_MANY_INDENTATION_LEVELS:"project.bulk.parser.tooManyIndentationLevels",EXPECTED_PARENT_BEFORE:"project.bulk.parser.expectedParentBefore"},u=r.computed(()=>mu(n.rootType)),d=r.computed(()=>tD(i.value,n.rootType)),p=k=>String(a(l[k])),f=r.computed(()=>`${QN(n.rootType,p).split(`
61
61
  `).map(C=>C.trim()?`${C} 1`:C).join(`
62
62
  `)}
63
- ...`),m=r.computed(()=>n.placeholder||f.value),h=r.computed(()=>i.value.trim().length>0&&d.value.valid&&d.value.data.length>0&&!n.isLoading),v=r.computed(()=>{const k=w=>w.reduce((C,S)=>C+1+k(S.children??[]),0);return k(d.value.data)});r.watch(()=>n.open,async k=>{var w;k&&(i.value="",await r.nextTick(),(w=s.value)==null||w.focus())},{immediate:!0});const b=()=>{n.isLoading||(o("update:open",!1),o("close"))},_=()=>{h.value&&o("submit",d.value.data)},g=k=>String(k===0?a("project.bulk.modal.noSpace"):k===1?a("project.bulk.modal.oneSpace"):a("project.bulk.modal.spaces",{count:k})),y=k=>String(a(c[k.code],k.params??{}));return(k,w)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[t.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["ao-modal__wrapper","ao-bulk-insert-modal__wrapper",`ao-modal__wrapper--${t.size}`]),onKeydown:r.withKeys(r.withModifiers(b,["stop"]),["esc"])},[r.createElementVNode("div",{class:"ao-modal__backdrop",onClick:b}),r.createElementVNode("div",oD,[r.createElementVNode("div",rD,[r.createElementVNode("div",aD,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",color:"primary",onClick:b})]),r.createElementVNode("header",iD,[r.createVNode(mt,{title:t.title,level:3},null,8,["title"])])]),r.createElementVNode("div",sD,[r.createElementVNode("form",{class:"ao-bulk-insert-modal__form",onSubmit:r.withModifiers(_,["prevent"])},[t.hint?(r.openBlock(),r.createElementBlock("p",lD,r.toDisplayString(t.hint),1)):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("textarea",{ref_key:"textareaRef",ref:s,"onUpdate:modelValue":w[0]||(w[0]=C=>i.value=C),class:"ao-bulk-insert-modal__textarea",placeholder:m.value,disabled:t.isLoading,rows:"9",spellcheck:"false"},null,8,cD),[[r.vModelText,i.value]]),d.value.errors.length>0?(r.openBlock(),r.createElementBlock("div",dD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value.errors,C=>(r.openBlock(),r.createElementBlock("p",{key:`${C.line}-${C.code}`,class:"ao-bulk-insert-modal__error"},r.toDisplayString(r.unref(a)("project.bulk.modal.lineError",{line:C.line,message:y(C)})),1))),128))])):i.value.trim().length>0?(r.openBlock(),r.createElementBlock("p",uD,r.toDisplayString(r.unref(a)("project.bulk.modal.count",{count:v.value})),1)):r.createCommentVNode("",!0),r.createElementVNode("div",pD,[r.createElementVNode("span",fD,r.toDisplayString(r.unref(a)("project.bulk.modal.indentation")),1),r.createElementVNode("div",mD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value.levels,(C,S)=>(r.openBlock(),r.createElementBlock("div",{key:C,class:"ao-bulk-insert-modal__help-row"},[r.createElementVNode("span",hD,r.toDisplayString(p(C)),1),r.createElementVNode("span",gD,r.toDisplayString(g(S)),1)]))),128))])]),r.createElementVNode("footer",bD,[r.createVNode(ue,{color:"primary",variant:"ghost",label:r.unref(a)("common.cancel"),disabled:t.isLoading,onClick:b},null,8,["label","disabled"]),r.createVNode(ue,{type:"submit",color:"primary",variant:"solid",label:r.unref(a)("common.create"),"is-loading":t.isLoading,disabled:!h.value},null,8,["label","is-loading","disabled"])])],32)])])],42,nD)):r.createCommentVNode("",!0)]))}}),O_e="";function gu(t,e){return(t.children??[]).filter(n=>n.type===e)}function _D(t){return gu(t,"task").map(e=>({name:e.name}))}function Gg(t,e=[]){const n=t.filter(a=>a.type==="activity"),o=Tl(e,n.length);return n.map((a,i)=>{const s=_D(a);return{name:a.name,rank:o[i],...s.length?{tasks:s}:{}}})}function yD(t,e){return Gg(t,e)}function Yg(t,e){const n=t.filter(a=>a.type==="milestone"),o=Tl(e,n.length);return n.map((a,i)=>{const s=Gg(gu(a,"activity"));return{name:a.name,rank:o[i],...s.length?{activities:s}:{}}})}function vD(t,e){const n=t.filter(a=>a.type==="phase"),o=Tl(e,n.length);return n.map((a,i)=>{const s=Yg(gu(a,"milestone"),[]);return{name:a.name,rank:o[i],...s.length?{milestones:s}:{}}})}const kD={class:"ao-mapping-card-project-phase__header"},CD={class:"ao-card-project-item__title-line"},wD={key:0,class:"ao-card-project-item-phase__estimation"},xD={class:"ao-mapping-card-project-phase__footer"},ED={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},SD={class:"ao-mapping-card-project-phase__subitem"},AD={class:"ao-mapping-card-project-phase__subitem"},TD={key:0,class:"ao-mapping-card-project-phase__secondary"},ND={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},DD=r.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e,a=b=>{o("update:title",b)},i=r.computed(()=>{var b;return((b=n.milestones)==null?void 0:b.reduce((_,g)=>{var y;return _+((y=g.activities)==null?void 0:y.reduce((k,w)=>k+(w.estimation||0),0))},0))||0}),s=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((b,_)=>{var g;return b+(((g=_.activities)==null?void 0:g.reduce((y,k)=>{var C;const w=(C=n.timeTrackingData)==null?void 0:C[k.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),{t:l}=Ge(),c=r.computed(()=>n.estimationUnit==="days"?l("activity.estimationUnit.pointsShort"):l("activity.estimationUnit.hoursShort")),u=r.computed(()=>Vi(s.value,n.estimationUnit)),d=r.computed(()=>{var b;return(b=n.milestones)==null?void 0:b.length}),p=r.computed(()=>{var b;return(b=n.milestones)==null?void 0:b.filter(_=>_.status===da.done).length}),f=r.computed(()=>(p.value||0)/(d.value||1)),m=r.computed({get:()=>n.deadline??"",set:b=>o("update:deadline",b!=null&&b.length?b:null)}),h=r.computed({get:()=>n.color,set:b=>{o("updatePhase",{id:n.id,color:b})}}),v=(b,_)=>{const g=b.target;g.closest("button")||g.closest("input")||g.closest(".ao-title")||_()};return(b,_)=>(r.openBlock(),r.createBlock(aa,{color:h.value,"onUpdate:color":_[2]||(_[2]=g=>h.value=g)},{clickable:r.withCtx(({openPicker:g,bgColor:y})=>[r.createVNode(cl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:k=>v(k,g)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",CD,[r.createVNode(mt,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":a},null,8,["id","title","is-editable"]),i.value||s.value?(r.openBlock(),r.createElementBlock("span",wD," ("+r.toDisplayString(u.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(c.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",xD,[d.value?(r.openBlock(),r.createElementBlock("div",ED,[r.createElementVNode("div",SD,[r.createVNode(Ce,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",AD,r.toDisplayString(p.value)+" / "+r.toDisplayString(d.value),1)]),r.createVNode(dl,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:h.value},null,8,["percentages","color"]),b.$slots.secondary?(r.openBlock(),r.createElementBlock("div",TD,[r.renderSlot(b.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-mapping-card-project-phase__footer-row",m.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":_[1]||(_[1]=k=>m.value=k),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,m.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",ND,r.toDisplayString(r.unref(vr)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",kD,[r.createVNode(ue,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?b.$t("archive"):b.$t("unarchive"),onClick:_[0]||(_[0]=r.withModifiers(()=>t.active?b.$emit("archivePhase",{id:t.id}):b.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),I_e="",BD={class:"ao-project-phase"},$D={key:0,class:"ao-project-phase__drag ao-card__drag"},LD={key:1,class:"ao-project-phase__col-phase"},MD={key:2,class:"ao-mapping-project-phase__col-phase"},VD={key:0,class:"ao-project-phase__col-milestones"},OD=["title","onClick"],ID=["onClick"],PD=["onClick"],RD={class:"ao-project-phase__milestones-list-footer"},FD=r.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;r.watch(()=>o.phase.milestones,(A,E)=>{Kn(A,E)});const i=A=>{a("updatePhase",{id:o.phase.id,name:A})},s=A=>{a("updatePhase",{id:o.phase.id,deadline:A})},l=A=>{a("updatePhase",A)},c=r.computed(()=>o.phase.milestones.map(A=>O5(A,o.closedStatus))),u=A=>{const{name:E,rank:N}=ur(c.value??[],"milestone",n);a("addMilestone",{name:E,rank:N,phaseId:A})},d=A=>{const E=n("template.defaultName.milestone",{idx:1}),N=wa(c.value??[]);a("addMilestone",{name:E,rank:N,phaseId:A})},p=A=>{a("updateMilestone",A)},f=A=>{a("archiveMilestone",A)},m=A=>{a("unarchiveMilestone",A)},h=A=>{a("archivePhase",A)},v=A=>{a("unarchivePhase",A)},b=A=>{"added"in A?a("updateMilestone",{id:A.added.element.id,phaseId:o.phase.id,rank:yr(c.value,A.added.newIndex)}):"removed"in A||"moved"in A&&a("updateMilestone",{id:A.moved.element.id,rank:yr(c.value,A.moved.newIndex)})},_=r.ref(!1),g=r.ref(!1),y=A=>{g.value=!0;const E=Yg(A,o.phase.milestones??[]);a("bulkAddMilestone",{phaseId:o.phase.id,milestones:E,onSuccess:()=>{g.value=!1,_.value=!1},onError:()=>{g.value=!1}})};r.watch(_,A=>{A&&(g.value=!1)});const k=vt.useRoute(),w=r.computed(()=>k.path.includes("/mapping")),C=r.computed(()=>{var A;return o.phase.id===((A=k.params)==null?void 0:A.phaseId)});r.ref(!1);const S=r.computed(()=>{var A;return o.phase.id!==((A=k.params)==null?void 0:A.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:P5(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(A,E)=>(r.openBlock(),r.createElementBlock("li",BD,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(S.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",$D,[r.createVNode(Ce,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),w.value?(r.openBlock(),r.createElementBlock("div",MD,[r.createVNode(DD,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"estimation-unit":t.estimationUnit,"onUpdate:deadline":s,"onUpdate:title":i,onArchivePhase:h,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",LD,[r.createVNode($N,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,"onUpdate:deadline":s,"onUpdate:title":i,onArchivePhase:h,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),w.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",VD,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(S.value)},[t.isEditable?(r.openBlock(),r.createBlock(ul,{key:0,class:r.normalizeClass(["ao-project-phase__milestone-quick-add",{"ao-project-phase__milestone-quick-add--visible":C.value}]),placement:"bottom-end"},{trigger:r.withCtx(({open:N})=>[r.createElementVNode("button",{type:"button",class:"ao-project-phase__milestone-quick-add-trigger",title:A.$t("project.milestone.add"),onClick:N},[r.createVNode(Ce,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],8,OD)]),menu:r.withCtx(({close:N})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),d(t.phase.id)}},r.toDisplayString(A.$t("project.bulk.menu.single")),9,ID),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),_.value=!0}},r.toDisplayString(A.$t("project.bulk.menu.bulkInsert")),9,PD)]),_:1},8,["class"])):r.createCommentVNode("",!0),r.createVNode(r.unref(Cn),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},A.$attrs,{onChange:b}),{item:r.withCtx(({element:N})=>{var I;return[r.createVNode(KN,{id:N.id,name:N.name,color:N.color,"phase-color":t.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":N.id===((I=A.$route.params)==null?void 0:I.milestoneId),assignee:N.assignee,important:N.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:r.normalizeClass(["ao-project-phase__milestone"]),onClick:L=>!t.readonly&&A.$router.push({name:r.unref(Ie).milestone,params:{phaseId:t.phase.id,milestoneId:N.id}}),onUpdateMilestone:p,onArchiveMilestone:f,onUnarchiveMilestone:m},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","time-tracking-data","estimation-unit","onClick"])]}),_:1},16,["list","disabled"]),r.createElementVNode("div",RD,[t.isEditable?(r.openBlock(),r.createBlock(co,{key:0,label:A.$t("project.milestone.add"),"icon-name":"Add",class:"ao-project-phase__milestone-add",onClick:E[0]||(E[0]=N=>u(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)])),_.value?(r.openBlock(),r.createBlock(hu,{key:1,open:_.value,"onUpdate:open":E[1]||(E[1]=N=>_.value=N),title:A.$t("project.bulk.modal.milestone.title"),"root-type":"milestone","is-loading":g.value,onSubmit:y},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))}}),P_e="",zD={class:"ao-project__phases"},jD={key:0,class:"ao-project-phase__phases-list-footer"},qD={class:"ao-project-phase__col-phase"},bu=r.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;r.watch(()=>n.phases,(m,h)=>{Kn(m,h)});const a=m=>{o("addMilestone",m)},i=m=>{o("updateMilestone",m)},s=m=>{o("archiveMilestone",m)},l=m=>{o("unarchiveMilestone",m)},c=m=>{o("archivePhase",m)},u=m=>{o("unarchivePhase",m)},d=m=>{if(m.moved){const h=Ca(m,n.phases??[]);o("updatePhase",{id:m.moved.element.id,rank:h})}},p=m=>{o("updatePhase",m)},f=m=>{o("addPhase",m)};return(m,h)=>(r.openBlock(),r.createElementBlock("div",zD,[r.createVNode(r.unref(Cn),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:r.withCtx(({element:v})=>[r.createVNode(FD,{phase:v,"is-editable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,users:t.users,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,onAddMilestone:a,onBulkAddMilestone:h[0]||(h[0]=b=>m.$emit("bulkAddMilestone",b)),onUpdateMilestone:i,onArchiveMilestone:s,onUnarchiveMilestone:l,onUpdatePhase:p,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",jD,[h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",qD,[r.createVNode(co,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:f},null,8,["label"])]),h[2]||(h[2]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}}),R_e="",UD={class:"ao-add-template-modal__form-body"},HD={class:"field__row"},WD={class:"ao-add-template-modal__form-footer"},Jg=r.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),i=r.ref(null),s=c=>{i.value=c},l=()=>{i.value&&o("apply",i.value,n.projectId)};return(c,u)=>(r.openBlock(),r.createBlock(Oi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(mt,{title:c.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:r.withCtx(()=>[r.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:r.withModifiers(l,["prevent"])},[r.createElementVNode("p",null,r.toDisplayString(c.$t("project.template.apply.notice")),1),r.createElementVNode("div",UD,[r.createElementVNode("div",HD,[r.createVNode(ht,{value:i.value,options:a.value,detached:!0,onChange:s},null,8,["value","options"])])]),r.createElementVNode("footer",WD,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}}),F_e="",ZD={class:"ao-save-template-modal__form-body"},KD={class:"field__row"},GD={class:"ao-field ao-field--inline"},YD={class:"ao-field__label"},JD={class:"ao-save-template-modal__phases"},XD={class:"ao-field__label"},QD={class:"ao-save-template-modal__phases-list"},eB=["value"],tB={class:"ao-save-template-modal__form-footer"},Xg=r.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(""),i=r.ref([]);r.onMounted(()=>{i.value=n.phases.map(l=>l.id)});const s=()=>{a.value&&o("save",a.value,i.value)};return(l,c)=>(r.openBlock(),r.createBlock(Oi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(mt,{title:l.$t("project.template.save.title"),level:3},null,8,["title"])]),default:r.withCtx(()=>[r.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:r.withModifiers(s,["prevent"])},[r.createElementVNode("div",ZD,[r.createElementVNode("div",KD,[r.createElementVNode("label",GD,[r.createElementVNode("span",YD,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>a.value=u),type:"text"},null,512),[[r.vModelText,a.value]])])]),r.createElementVNode("div",JD,[r.createElementVNode("div",XD,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",QD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,u=>(r.openBlock(),r.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>i.value=d),type:"checkbox",value:u.id},null,8,eB),[[r.vModelCheckbox,i.value]]),r.createElementVNode("span",null,r.toDisplayString(u.name),1)]))),128))])])]),r.createElementVNode("footer",tB,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],32)]),_:1}))}}),z_e="",nB={class:"ao-project"},oB=["onClick"],rB=["onClick"],aB={class:"ao-project__body"},iB=r.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{},statuses:{},activityTypes:{},devStatuses:{},sprints:{},selectedActivity:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["addPhase","bulkAddPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","bulkAddActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived","fetchHistory"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=r.computed(()=>o.phases.flatMap(F=>F.milestones)),s=()=>{const{name:F,rank:ae}=ur(o.phases,"phase",n);a("addPhase",{name:F,rank:ae,projectId:o.project.id})},l=()=>{const F=n("template.defaultName.phase",{idx:1}),ae=wa(o.phases);a("addPhase",{name:F,rank:ae,projectId:o.project.id})},c=F=>{a("updatePhase",F)},u=F=>{a("archivePhase",F)},d=F=>{a("unarchivePhase",F)},p=F=>{a("copyPhaseToTemplate",F)},f=F=>{a("addMilestone",F)},m=F=>{a("bulkAddMilestone",F)},h=F=>{a("updateMilestone",F)},v=F=>{a("archiveMilestone",F)},b=F=>{a("unarchiveMilestone",F)},_=F=>{a("addActivity",F)},g=F=>{a("bulkAddActivity",F)},y=F=>{a("update:activity",F)},k=F=>{a("archiveActivity",F)},w=F=>{a("unarchiveActivity",F)},C=F=>{a("addSubtask",F)},S=F=>{a("updateSubtask",F)},A=F=>{a("deleteSubtask",F)},E=r.computed(()=>i.value.flatMap(F=>F.activities)),N=r.computed(()=>o.devStatuses??[]),I=r.computed(()=>o.sprints??[]),L=F=>{a("addFiles",F)},R=F=>{a("removeFile",F)},D=F=>{a("addComment",F)},B=F=>{a("updateComment",F)},x=F=>{a("removeComment",F)},V=r.ref(!1),$=r.ref(!1),U=r.ref(!1),Y=r.ref(!1),le=(F,ae)=>{a("applyTemplate",{templateId:F,projectId:ae}),V.value=!1},oe=(F,ae)=>{var Ee;const Se=(Ee=o.templates)==null?void 0:Ee.at(-1),We=Se?et.LexoRank.parse(Se.rank).genNext():et.LexoRank.middle();a("saveTemplate",{templateName:F,rank:We.format(),phaseIds:ae}),$.value=!1},xe=F=>{Y.value=!0;const ae=vD(F,o.phases);a("bulkAddPhase",{projectId:o.project.id,phases:ae,onSuccess:()=>{Y.value=!1,U.value=!1},onError:()=>{Y.value=!1}})};r.watch(U,F=>{F&&(Y.value=!1)});const re=vt.useRouter(),ne=r.ref("overview"),j=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(ne,F=>{F==="feed"?(re.push({name:Ie.feed}),console.log("Navigating to feed...")):F==="dev"?(re.push({name:Ie.dev}),console.log("Navigating to dev...")):F==="overview"?(re.push({name:Ie.project}),console.log("Navigating to feed...")):F==="mapping"&&(re.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(F,ae)=>{var We;const Se=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},F.$attrs),[r.createElementVNode("div",nB,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createVNode(pi,{modelValue:ne.value,"onUpdate:modelValue":ae[0]||(ae[0]=Ee=>ne.value=Ee),tabs:j},null,8,["modelValue"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:ae[1]||(ae[1]=Ee=>F.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(ul,{key:0,class:"ao-project-overview__quick-add-phase"},{trigger:r.withCtx(({open:Ee})=>[r.createVNode(ue,{size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("project.phase.add"),onClick:Ee},null,8,["label","onClick"])]),menu:r.withCtx(({close:Ee})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{Ee(),l()}},r.toDisplayString(F.$t("project.bulk.menu.single")),9,oB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{Ee(),U.value=!0}},r.toDisplayString(F.$t("project.bulk.menu.bulkInsert")),9,rB)]),_:1})):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:F.$t("project.template.save.label"),onClick:ae[2]||(ae[2]=Ee=>$.value=!0)},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:2,class:"ao-project-overview__add-template",color:"primary",label:F.$t("project.template.apply.label"),onClick:ae[3]||(ae[3]=Ee=>V.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",aB,[r.createVNode(bu,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(We=t.project)==null?void 0:We.estimationUnit,onAddMilestone:f,onBulkAddMilestone:m,onUpdateMilestone:h,onArchiveMilestone:v,onUnarchiveMilestone:b,onAddPhase:s,onUpdatePhase:c,onArchivePhase:u,onUnarchivePhase:d,onCopyPhaseToTemplate:p},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),r.createVNode(Se,{class:"ao-project__sidebar",phases:t.phases,"project-id":t.project.id,"project-name":t.project.name,users:t.users,"is-editable":t.isEditable===!0,"closed-status":t.closedStatus,"time-tracking-data":t.timeTrackingData,onClose:ae[4]||(ae[4]=Ee=>F.$router.push({name:r.unref(Ie).project})),onUpdateMilestone:h,onAddActivity:_,onBulkAddActivity:g,onUpdateActivity:y,onArchiveActivity:k,onUnarchiveActivity:w},null,8,["phases","project-id","project-name","users","is-editable","closed-status","time-tracking-data"]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(Se,{name:"modal",activities:E.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,"dev-statuses":N.value,sprints:I.value,"selected-activity":t.selectedActivity,phases:t.phases,project:t.project,users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":t.loadAttachmentPreview,history:t.history,"history-loading":t.historyLoading,"onUpdate:activity":y,onAddSubtask:C,onUpdateSubtask:S,onDeleteSubtask:A,onAddFiles:L,onRemoveFile:R,onAddComment:D,onUpdateComment:B,onRemoveComment:x,onFetchHistory:ae[5]||(ae[5]=()=>a("fetchHistory"))},{default:r.withCtx(({Component:Ee})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(Ee),null,{default:r.withCtx(ke=>[r.renderSlot(F.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(ke)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","dev-statuses","sprints","selected-activity","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data","load-attachment-preview","history","history-loading"])]))],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[$.value?(r.openBlock(),r.createBlock(Xg,{key:0,phases:t.phases,onClose:ae[6]||(ae[6]=Ee=>$.value=!1),onSave:oe},null,8,["phases"])):r.createCommentVNode("",!0),V.value?(r.openBlock(),r.createBlock(Jg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:ae[7]||(ae[7]=Ee=>V.value=!1),onApply:le},null,8,["project-id","templates"])):r.createCommentVNode("",!0),U.value?(r.openBlock(),r.createBlock(hu,{key:2,open:U.value,"onUpdate:open":ae[8]||(ae[8]=Ee=>U.value=Ee),title:F.$t("project.bulk.modal.phase.title"),"root-type":"phase","is-loading":Y.value,onSubmit:xe},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))],64)}}}),j_e="",sB=["disabled"],lB={class:"ao-priority-badge__value"},fl=r.defineComponent({__name:"AoPriorityBadge",props:{priority:{},clickable:{type:Boolean}},emits:["click"],setup(t,{emit:e}){const n=e,o=()=>{n("click")};return(a,i)=>t.priority?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:r.normalizeClass(["ao-priority-badge",`ao-priority-badge--${t.priority.toLowerCase()}`,t.clickable?"ao-priority-badge--clickable":""]),disabled:!t.clickable,onClick:r.withModifiers(o,["stop"])},[r.createElementVNode("span",lB,r.toDisplayString(t.priority),1),i[0]||(i[0]=r.createElementVNode("span",{class:"ao-priority-badge__hover"},"+",-1))],10,sB)):r.createCommentVNode("",!0)}}),q_e="",cB={class:"ao-card-feed__header"},dB={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},uB={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},pB={class:"ao-card-feed__body"},fB={key:0,class:"ao-card-feed__breadcrumbs"},mB={class:r.normalizeClass(["ao-card-feed__title-group"])},hB={class:"ao-card-feed__title-line"},gB={key:0,class:"ao-card-feed__slug"},bB={key:1,class:"ao-card-feed__deadline"},_B={class:"ao-card-feed__footer"},yB={class:"ao-card-feed__footer-row"},vB={class:"ao-assignees"},kB={key:0,class:"ao-assignee"},CB=["title"],wB={key:2,class:"ao-card-feed__subitems"},xB={key:0,class:"ao-card-feed__subitem"},EB={class:"ao-card-feed__subitem"},SB={key:1,class:"ao-card-feed__subitem"},AB={class:"ao-card-feed__subitem"},TB={class:"ao-card-feed__timer-wrapper"},NB={class:"ao-card-feed__footer-row"},DB={key:0,class:"ao-card-feed__progress-wrapper"},BB={class:"ao-card-feed__subitem"},$B={class:"ao-card-feed__subitem"},_u=r.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},priority:{},blocked:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{},sprint:{}},emits:["removeAssignee","updateActivity","startTimer"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),i=r.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),s=b=>{o("updateActivity",{id:n.id,name:b})},l=r.computed(()=>n.tagType==="milestone"&&n.phaseName?`${n.phaseName}`:n.phaseName&&n.milestoneName?`${n.phaseName} / ${n.milestoneName}`:""),c=r.computed(()=>n.assignee?[n.assignee]:[]),u=r.computed(()=>vr(n.deadline)),d=b=>{o("removeAssignee",b)},p=()=>{if(!n.priority||!n.isEditable)return;const b={P0:"P2",P1:"P0",P2:"P1"};o("updateActivity",{id:n.id,priority:b[n.priority]})},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},m=r.computed(()=>{var b;return(b=n.tasks)==null?void 0:b.length}),h=r.computed(()=>{var b;return(b=n.tasks)==null?void 0:b.filter(_=>_.isDone).length}),v=r.computed(()=>(h.value||0)/(m.value||1));return(b,_)=>(r.openBlock(),r.createBlock(cl,{class:r.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":t.isClosed}]),"is-clickable":!0,variant:t.blocked?"danger":"default"},{header:r.withCtx(()=>[r.createElementVNode("div",cB,[a.value?(r.openBlock(),r.createBlock(ca,{key:0,label:a.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":i.value},null,8,["label","color","raw-color"])):r.createCommentVNode("",!0),t.isPrivate||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",dB,[t.isPrivate?(r.openBlock(),r.createBlock(Ce,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(Ce,{key:1,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),b.$slots.secondary?(r.openBlock(),r.createElementBlock("div",uB,[r.renderSlot(b.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",pB,[l.value?(r.openBlock(),r.createElementBlock("span",fB,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",mB,[r.createElementVNode("div",hB,[t.slug?(r.openBlock(),r.createElementBlock("span",gB,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(mt,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":s},null,8,["id","title","is-editable"])])]),t.deadline?(r.openBlock(),r.createElementBlock("span",bB,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",_B,[r.createElementVNode("div",yB,[r.createElementVNode("ul",vB,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,g=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:g.id},[g?(r.openBlock(),r.createElementBlock("li",kB,[r.createVNode(Jt,{"user-name":r.unref(tp)(g),"avatar-url":g.avatarUrl,"is-closable":!0,onClose:()=>d(g.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.priority?(r.openBlock(),r.createBlock(fl,{key:0,priority:t.priority,clickable:t.isEditable,onClick:p},null,8,["priority","clickable"])):r.createCommentVNode("",!0),t.sprint?(r.openBlock(),r.createElementBlock("span",{key:1,class:"ao-card-feed__sprint",title:t.sprint.label?`Sprint ${t.sprint.number}: ${t.sprint.label}`:`Sprint ${t.sprint.number}`}," Sprint "+r.toDisplayString(t.sprint.number),9,CB)):r.createCommentVNode("",!0),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",wB,[t.comments?(r.openBlock(),r.createElementBlock("li",xB,[r.createVNode(Ce,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",EB,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",SB,[r.createVNode(Ce,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",AB,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",TB,[r.createVNode(Ce,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",NB,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",DB,[r.createElementVNode("div",BB,[r.createVNode(Ce,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",$B,r.toDisplayString(h.value)+" / "+r.toDisplayString(m.value),1)]),r.createVNode(dl,{percentages:v.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}}),U_e="",LB={class:"ao-project-milestone"},MB={class:"ao-project-milestone__header"},VB={class:"ao-project-milestone__header_line"},OB={class:"ao-project-milestone__header_line"},IB={class:"ao-project-milestone__title"},PB={key:0,class:"ao-fieldset ao-milestone__fieldset"},RB={class:"ao-field__row ao-milestone__field-row"},FB={class:"ao-field ao-field--inline"},zB={class:"ao-field__row ao-milestone__field-row"},jB={class:"ao-field ao-milestone__field-multiselect"},qB={class:"ao-milestone__color-actions"},UB=["onClick"],HB=["title","onClick"],WB=["onClick"],ZB=["onClick"],KB={class:"ao-project-milestone__body"},GB={key:0,class:"ao-project-milestone__footer"},YB=["onClick"],JB=["onClick"],Qg=r.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","bulkAddActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=E=>{var N;a("startTimer",E),(N=window.parent)==null||N.postMessage({type:"startTimer",data:E},"*")},s=r.computed(()=>{var E;return(E=o.phases)==null?void 0:E.find(N=>N.id===o.phaseId)}),l=r.computed(()=>{var E;return(E=o.phases)==null?void 0:E.flatMap(N=>N.milestones)}),c=r.computed(()=>{var E;return(E=l.value)==null?void 0:E.find(N=>N.id===o.milestoneId)}),u=r.computed(()=>{var E;return(E=c.value)==null?void 0:E.activities});r.watch(u,(E,N)=>{Kn(E,N)});const d=E=>{a("close",E)},p=()=>{const{name:E,rank:N}=ur(u.value??[],"activity",n);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},f=()=>{const E=n("template.defaultName.activity",{idx:1}),N=wa(u.value??[]);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},m=r.ref(!1),h=r.ref(!1),v=E=>{h.value=!0;const N=yD(E,u.value??[]);a("bulkAddActivity",{projectId:o.projectId,phaseId:o.phaseId,milestoneId:o.milestoneId,activities:N,onSuccess:()=>{h.value=!1,m.value=!1},onError:()=>{h.value=!1}})};r.watch(m,E=>{E&&(h.value=!1)});const b=E=>{a("updateActivity",E)},_=E=>{u.value&&"moved"in E&&a("updateActivity",{id:E.moved.element.id,rank:yr(u.value,E.moved.newIndex)})},g=r.computed({get:()=>{var E;return(E=c.value)==null?void 0:E.color},set:E=>{c.value&&a("updateMilestone",{id:c.value.id,color:E})}}),y=r.computed({get:()=>{var E;return((E=c.value)==null?void 0:E.deadline)??""},set:E=>{c.value&&a("updateMilestone",{id:c.value.id,deadline:E!=null&&E.length?E:null})}}),k=E=>o.closedStatus?Nl(E,o.closedStatus):!1,w=r.computed(()=>{var E;return((E=o.users)==null?void 0:E.map(N=>({label:`${N.firstName} ${N.lastName}`,value:N.id,avatar:N.avatarUrl})))||[]}),C=r.computed({get(){var E,N;return(N=(E=c.value)==null?void 0:E.assignee)!=null&&N.id?[c.value.assignee.id]:[]},set(E){a("updateMilestone",{id:o.milestoneId,assigneeId:E[0]??null})}}),S=r.computed({get(){var E;return((E=c.value)==null?void 0:E.important)??!1},set(E){a("updateMilestone",{id:o.milestoneId,important:E})}}),A=(E,N)=>{const I=E.currentTarget;I instanceof HTMLElement&&N(I)};return(E,N)=>{var I;return r.openBlock(),r.createElementBlock("div",LB,[r.createElementVNode("header",MB,[r.createElementVNode("div",VB,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),r.createElementVNode("div",OB,[r.createElementVNode("div",IB,[r.createVNode(mt,{title:((I=c.value)==null?void 0:I.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(qg,{modelValue:S.value,"onUpdate:modelValue":N[0]||(N[0]=L=>S.value=L),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:E.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(r.openBlock(),r.createElementBlock("div",PB,[r.createElementVNode("div",RB,[r.createElementVNode("label",FB,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=L=>y.value=L),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,y.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",zB,[r.createElementVNode("label",jB,[r.createVNode(ht,{modelValue:C.value,"onUpdate:modelValue":N[2]||(N[2]=L=>C.value=L),options:w.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:E.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:r.withCtx(({option:L,handleTagRemove:R})=>[r.createVNode(Jt,{"user-name":L.label,"avatar-url":L.avatar,"is-closable":!0,onClose:D=>R(L,D)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",qB,[r.createVNode(aa,{color:g.value,"onUpdate:color":N[3]||(N[3]=L=>g.value=L)},{clickable:r.withCtx(({openPicker:L,bgColor:R})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:R}),class:"color-button",onClick:D=>A(D,L)},null,12,UB)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createBlock(ul,{key:0,placement:"bottom-end"},{trigger:r.withCtx(({open:L})=>[r.createElementVNode("button",{type:"button",class:"ao-project-milestone__quick-add",title:E.$t("project.activity.add"),onClick:L},[r.createVNode(Ce,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,HB)]),menu:r.withCtx(({close:L})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),f()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,WB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,ZB)]),_:1})):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",KB,[r.createVNode(r.unref(Cn),r.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},E.$attrs,{onChange:_}),{item:r.withCtx(({element:L})=>{var R,D,B,x,V;return[r.createVNode(_u,{id:L.id,name:L.name||L.id,"project-id":t.projectId,"phase-name":(R=s.value)==null?void 0:R.name,"milestone-name":(D=c.value)==null?void 0:D.name,"milestone-color":(B=c.value)==null?void 0:B.color,deadline:L.deadline,priority:L.priority,sprint:L.sprint,blocked:L.blocked,users:t.users,assignee:L.assignee,slug:L.slug,comments:(x=L.comments)==null?void 0:x.length,attachments:(V=L.attachments)==null?void 0:V.length,tasks:L.tasks,"is-editable":t.isEditable,"is-private":L.private,"is-closed":k(L),onClick:$=>E.$router.push({name:r.unref(Ie).activity,params:{milestoneId:t.milestoneId,activityId:L.id}}),onUpdateActivity:b,onRemoveAssignee:()=>b({id:L.id,assigneeId:null}),onStartTimer:i},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&L.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:E.$t("archive"),onClick:r.withModifiers(()=>E.$emit("archiveActivity",{id:L.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!L.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:E.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>E.$emit("unarchiveActivity",{id:L.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","project-id","phase-name","milestone-name","milestone-color","deadline","priority","sprint","blocked","users","assignee","slug","comments","attachments","tasks","is-editable","is-private","is-closed","onClick","onRemoveAssignee"])]}),_:1},16,["list","disabled"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",GB,[r.createVNode(ul,null,{trigger:r.withCtx(({open:L})=>[r.createVNode(co,{"icon-name":"Add",label:E.$t("project.activity.add"),onClick:L},null,8,["label","onClick"])]),menu:r.withCtx(({close:L})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),p()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,YB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,JB)]),_:1})])):r.createCommentVNode("",!0)]),m.value?(r.openBlock(),r.createBlock(hu,{key:0,open:m.value,"onUpdate:open":N[4]||(N[4]=L=>m.value=L),title:E.$t("project.bulk.modal.activity.title"),"root-type":"activity","is-loading":h.value,onSubmit:v},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)])}}}),H_e="",XB=r.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},devStatuses:{},activities:{},selectedActivity:{},isTaskCheckable:{},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{},sprints:{},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","createSprint","fetchHistory"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>{var _;return(_=n.phases)==null?void 0:_.find(g=>g.id===n.phaseId)}),i=r.computed(()=>{var _;return(_=n.phases)==null?void 0:_.flatMap(g=>g.milestones)}),s=r.computed(()=>{var _;return(_=i.value)==null?void 0:_.find(g=>g.id===n.milestoneId)}),l=r.computed(()=>{var _;return n.selectedActivity??((_=n.activities)==null?void 0:_.find(g=>g.id===n.activityId))}),c=_=>{o("update:activity",_)},u=_=>{o("addSubtask",_)},d=_=>{o("updateSubtask",_)},p=_=>{o("deleteSubtask",_)},f=_=>{o("addFiles",_)},m=_=>{o("removeFile",_)},h=_=>{o("addComment",_)},v=_=>{o("updateComment",_)},b=_=>{o("removeComment",_)};return(_,g)=>{var y,k;return l.value?(r.openBlock(),r.createBlock(ll,{key:0,activity:l.value,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":t.milestoneId,"template-activities":t.activities,"is-template":!1,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:`${(y=a.value)==null?void 0:y.name} / ${(k=s.value)==null?void 0:k.name}`,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:[t.project],"time-tracking-data":t.timeTrackingData,"load-attachment-preview":n.loadAttachmentPreview,sprints:t.sprints,history:t.history,"history-loading":t.historyLoading,onClose:_.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:p,onAddFiles:f,onRemoveFile:m,onAddComment:h,onUpdateComment:v,onRemoveComment:b,onCreateSprint:g[0]||(g[0]=w=>o("createSprint",w)),onFetchHistory:g[1]||(g[1]=()=>o("fetchHistory"))},{default:r.withCtx(w=>[r.renderSlot(_.$slots,"default",r.normalizeProps(r.guardReactiveProps(w)))]),_:3},8,["activity","activity-types","dev-statuses","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview","sprints","history","history-loading","onClose"])):r.createCommentVNode("",!0)}}}),QB={class:"ao-col-header"},e$=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",QB,[r.createVNode(mt,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(ca,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}}),W_e="";function t$(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function ml(t){return typeof t=="function"?t():r.unref(t)}const n$=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const o$=t=>t!=null,fi=()=>{};function r$(t,e){function n(...o){return new Promise((a,i)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(a).catch(i)})}return n}function a$(t,e={}){let n,o,a=fi;const i=l=>{clearTimeout(l),a(),a=fi};return l=>{const c=ml(t),u=ml(e.maxWait);return n&&i(n),c<=0||u!==void 0&&u<=0?(o&&(i(o),o=null),Promise.resolve(l())):new Promise((d,p)=>{a=e.rejectOnCancel?p:d,u&&!o&&(o=setTimeout(()=>{n&&i(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&i(o),o=null,d(l())},c)})}}function i$(t,e=200,n={}){return r$(a$(e,n),t)}function yu(t){var e;const n=ml(t);return(e=n==null?void 0:n.$el)!=null?e:n}const s$=n$?window:void 0;function l$(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function c$(t){const e=l$();return r.computed(()=>(e.value,!!t()))}function d$(t,e,n={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:s=s$,immediate:l=!0}=n,c=c$(()=>s&&"IntersectionObserver"in s),u=r.computed(()=>{const h=ml(t);return(Array.isArray(h)?h:[h]).map(yu).filter(o$)});let d=fi;const p=r.ref(l),f=c.value?r.watch(()=>[u.value,yu(o),p.value],([h,v])=>{if(d(),!p.value||!h.length)return;const b=new IntersectionObserver(e,{root:yu(v),rootMargin:a,threshold:i});h.forEach(_=>_&&b.observe(_)),d=()=>{b.disconnect(),d=fi}},{immediate:l,flush:"post"}):fi,m=()=>{d(),f(),p.value=!1};return t$(m),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:m}}const u$={class:r.normalizeClass(["ao-list-kanban"])},p$={class:"ao-list-kanban__header"},f$=["title"],m$={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},h$={key:1,class:"ao-list-kanban__end"},g$={key:0,class:"ao-list-kanban__no-more"},b$={key:1,class:"ao-list-kanban__divider"},_$={key:1,class:"ao-list-kanban__footer"},y$=r.defineComponent({__name:"AoListKanban",props:{list:{},status:{},users:{},userId:{},title:{},footerLabel:{},isLoading:{type:Boolean},hasMore:{type:Boolean},noMoreLabel:{},isEditable:{type:[Boolean,String]},tagType:{},showHeaderAdd:{type:Boolean},isDevMode:{type:Boolean}},emits:["add","addAtBeginning","update:list","change:list","loadMore","selectActivity","archiveActivity","unarchiveActivity","updateActivity","startTimer"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(!1),i=r.ref(null);d$(i,([{isIntersecting:p}])=>{a.value=p}),r.watch(a,p=>{p&&n.hasMore&&!n.isLoading&&o("loadMore")});const s=p=>{var f;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((f=p.assignee)==null?void 0:f.id):!1},l=p=>{o("selectActivity",p)},c=p=>{o("updateActivity",p)},u=p=>{if("added"in p){const f={id:p.added.element.id,rank:yr(n.list,p.added.newIndex)};n.isDevMode?f.statusDevId=n.status.id:f.statusId=n.status.id,o("updateActivity",f)}else"removed"in p||"moved"in p&&o("updateActivity",{id:p.moved.element.id,rank:yr(n.list,p.moved.newIndex)})},d=r.ref(!1);return(p,f)=>(r.openBlock(),r.createElementBlock("div",u$,[t.title||p.$slots.header?r.renderSlot(p.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",p$,[t.title?(r.openBlock(),r.createBlock(e$,{key:0,class:"ao-list-kanban__col-header",title:t.title,level:3,items:(m=t.list)==null?void 0:m.length},null,8,["title","items"])):r.createCommentVNode("",!0),t.showHeaderAdd?(r.openBlock(),r.createElementBlock("button",{key:1,class:"ao-list-kanban__header-add",title:p.$t("feed.activity.add"),onClick:f[0]||(f[0]=h=>p.$emit("addAtBeginning"))},[r.createVNode(Ce,{name:"Add"})],8,f$)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(Cn),r.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},p.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:f[2]||(f[2]=m=>d.value=!0),onEnd:f[3]||(f[3]=m=>d.value=!1)}),{item:r.withCtx(({element:m})=>{var h,v,b,_,g,y,k,w,C,S;return[r.createVNode(_u,{id:m.id,class:r.normalizeClass(s(m)?"ao-list-draggable":""),name:m.name,"project-name":(h=m.project)==null?void 0:h.name,"project-id":(v=m.project)==null?void 0:v.id,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(g=(_=m.milestone)==null?void 0:_.phase)==null?void 0:g.name,"milestone-name":(y=m.milestone)==null?void 0:y.name,"milestone-color":(k=m.milestone)==null?void 0:k.color,deadline:m.deadline,rules:((w=m.rules)==null?void 0:w.length)||0,tasks:m.tasks,description:m.description,priority:m.priority,sprint:m.sprint,blocked:m.blocked,type:m.type,comments:(C=m.comments)==null?void 0:C.length,attachments:(S=m.attachments)==null?void 0:S.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[A=>s(m)&&c(A),()=>s(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>s(m)&&c({id:m.id,assigneeId:null}),onStartTimer:f[1]||(f[1]=A=>p.$emit("startTimer",A))},{secondary:r.withCtx(()=>[s(m)&&m.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.$t("feed.activity.archive"),onClick:r.withModifiers(()=>p.$emit("archiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),s(m)&&!m.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>p.$emit("unarchiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0)]),_:2},1032,["id","class","name","project-name","project-id","project-color","phase-name","milestone-name","milestone-color","deadline","rules","tasks","description","priority","sprint","blocked","type","comments","attachments","users","assignee","slug","is-editable","is-private","tag-type","onUpdateActivity","onClick","onRemoveAssignee"])]}),footer:r.withCtx(()=>[t.isLoading?(r.openBlock(),r.createElementBlock("div",m$,[r.createVNode(Ce,{name:"Loading"})])):t.hasMore?(r.openBlock(),r.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:i,class:"ao-list-kanban__end"},null,512)):(r.openBlock(),r.createElementBlock("div",h$,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",g$,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",b$)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),p.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",_$,[r.renderSlot(p.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(co,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:f[4]||(f[4]=m=>p.$emit("add"))},null,8,["label"])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]))}}),Z_e="",v$={class:"ao-field ao-search-field"},k$=["value","placeholder"],C$=r.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(t,{emit:e}){const n=t,o=e,a=async l=>{const u=l.target.value;o("update:modelValue",u,l)},i=i$(a,n.delay),s=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",v$,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>r.unref(i)&&r.unref(i)(...u)),onKeypress:r.withKeys(a,["enter"])},null,40,k$),r.createVNode(Ce,{name:"SearchRounded",class:r.normalizeClass(`ao-search-field__icon ao-search-field__action ${t.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),r.createVNode(ue,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:r.normalizeClass(`ao-search-field__button ao-search-field__action ${t.modelValue?"ao-search-field__action--visible":""}`),onClick:s},null,8,["class"])]))}}),K_e="",w$={class:"ao-sprint-metrics"},x$=["onClick"],E$={class:"ao-sprint-metrics__header-left"},S$={class:"ao-sprint-metrics__icon"},A$={class:"ao-sprint-metrics__title"},T$={class:"ao-sprint-metrics__dates"},N$={key:0,class:"ao-sprint-metrics__project"},D$={class:"ao-sprint-metrics__advancement"},B$={class:"ao-sprint-metrics__progress-bar"},$$={class:"ao-sprint-metrics__percent"},L$={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},M$={class:"ao-sprint-metrics__tooltip-row"},V$={class:"ao-sprint-metrics__tooltip-row"},O$={class:"ao-sprint-metrics__tooltip-row"},I$={class:"ao-sprint-metrics__tooltip-row"},P$={class:"ao-sprint-metrics__tooltip-row"},R$={class:"ao-sprint-metrics__tooltip-row"},F$={class:"ao-sprint-metrics__tooltip-row"},z$={class:"ao-sprint-metrics__content"},j$={class:"ao-sprint-metrics__grid"},q$={class:"ao-sprint-metrics__item"},U$={class:"ao-sprint-metrics__label"},H$={class:"ao-sprint-metrics__value"},W$={key:0,class:"ao-sprint-metrics__tooltip"},Z$={class:"ao-sprint-metrics__tooltip-title"},K$={class:"ao-sprint-metrics__item"},G$={class:"ao-sprint-metrics__label"},Y$={class:"ao-sprint-metrics__value"},J$={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},X$={class:"ao-sprint-metrics__label"},Q$={class:"ao-sprint-metrics__input-row"},eL=["value","placeholder","onInput"],tL={class:"ao-sprint-metrics__unit"},nL={key:0,class:"ao-sprint-metrics__secondary"},oL={class:"ao-sprint-metrics__item"},rL={class:"ao-sprint-metrics__label"},aL={class:"ao-sprint-metrics__value"},iL=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},setup(t){const e=D=>D.label?`Sprint ${D.number}: ${D.label}`:`Sprint ${D.number}`,n=t,{t:o}=Ge(),a=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),l=D=>{i.value.has(D)?i.value.delete(D):i.value.add(D)},c=D=>n.projects.find(B=>B.id===D.projectId),u=D=>{var B;return((B=n.planningData[D])==null?void 0:B.plannedManDays)??0},d=D=>{var B;return((B=n.planningData[D])==null?void 0:B.remainingPlannedManDays)??0},p=D=>{var B;return((B=n.planningData[D])==null?void 0:B.users)??[]},f=D=>n.activities.filter(B=>{var x;return((x=B.sprint)==null?void 0:x.id)===D}).reduce((B,x)=>B+(x.estimation??0),0),m=D=>n.activities.filter(B=>{var V,$;if(((V=B.sprint)==null?void 0:V.id)!==D)return!1;const x=($=B.devStatus)==null?void 0:$.name;return x&&a.includes(x)}).reduce((B,x)=>B+(x.estimation??0),0),h=D=>{const B=n.sprints.find(V=>V.id===D),x=B?c(B):void 0;return(x==null?void 0:x.estimationUnit)==="hours"?"hours":"points"},v=(D,B)=>h(D)==="hours"?B*n.businessDayHours:B,b=D=>h(D)==="hours"?o("activity.estimationUnit.hoursShort"):o("activity.estimationUnit.pointsShort"),_=D=>{const B=v(D,u(D));return B<=0?0:f(D)/B},g=D=>{if(s.value[D]!==void 0)return s.value[D];const B=n.sprints.find(x=>x.id===D);if(B){const x=c(B);if((x==null?void 0:x.velocity)!==void 0&&x.velocity>0)return x.velocity}return 1},y=(D,B)=>{const x=parseFloat(B);isNaN(x)||x<=0?delete s.value[D]:s.value[D]=x},k=D=>{const B=g(D);return B===void 0?0:v(D,u(D))*B},w=D=>{const B=k(D);return B<=0?null:f(D)/B},C=D=>{const B=w(D);return B===null?0:Math.round(B*100)},S=D=>{const B=f(D);if(B<=0)return 0;const x=m(D);return Math.round(x/B*100)},A=D=>{const B=f(D),x=m(D);return Math.max(0,B-x)},E=D=>{const B=v(D,d(D)),x=_(D);return B*x},N=D=>{const B=E(D),x=A(D);return B<=0&&x>0?!1:B<x},I=D=>D.toFixed(1),L=(D,B)=>`${D.toFixed(2)} pts / ${b(B)}`,R=(D,B)=>{const x=new Date(D),V=new Date(B),$={day:"numeric",month:"short"};return`${x.toLocaleDateString("en-UK",$)} – ${V.toLocaleDateString("en-UK",$)}`};return(D,B)=>(r.openBlock(),r.createElementBlock("div",w$,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,x=>{var V;return r.openBlock(),r.createElementBlock("div",{key:x.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:$=>l(x.id)},[r.createElementVNode("div",E$,[r.createElementVNode("span",S$,r.toDisplayString(i.value.has(x.id)?"▸":"▾"),1),r.createElementVNode("span",A$,r.toDisplayString(e(x)),1),r.createElementVNode("span",T$," · "+r.toDisplayString(R(x.startDate,x.endDate)),1),!i.value.has(x.id)&&c(x)?(r.openBlock(),r.createElementBlock("span",N$," · "+r.toDisplayString((V=c(x))==null?void 0:V.name),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__header-right",{"ao-sprint-metrics__header-right--behind":N(x.id)}])},[r.createElementVNode("div",D$,[r.createElementVNode("div",B$,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":N(x.id)}]),style:r.normalizeStyle({width:S(x.id)+"%"})},null,6)]),r.createElementVNode("span",$$,r.toDisplayString(S(x.id))+"% ",1),r.createElementVNode("div",L$,[B[7]||(B[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",M$,[B[0]||(B[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(S(x.id))+"%",1)]),r.createElementVNode("span",V$,[B[1]||(B[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(I(m(x.id)))+" / "+r.toDisplayString(I(f(x.id)))+" pts ",1)]),r.createElementVNode("span",O$,[B[2]||(B[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(I(A(x.id)))+" pts",1)]),B[8]||(B[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",I$,[B[3]||(B[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(I(E(x.id)))+" pts",1)]),r.createElementVNode("span",P$,[B[4]||(B[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(I(d(x.id)))+" MD",1)]),r.createElementVNode("span",R$,[B[5]||(B[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(L(_(x.id),x.id)),1)]),B[9]||(B[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",F$,[B[6]||(B[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(N(x.id)?"Behind plan":"On track"),1)])])])],2)],8,x$),r.withDirectives(r.createElementVNode("div",z$,[r.createElementVNode("div",j$,[r.createElementVNode("div",q$,[r.createElementVNode("div",U$,r.toDisplayString(r.unref(o)("sprintMetrics.manDaysPlanned")),1),r.createElementVNode("div",H$,[r.createElementVNode("span",{class:r.normalizeClass(["ao-sprint-metrics__man-days",{"ao-sprint-metrics__man-days--has-tooltip":p(x.id).length>0}])},[r.createTextVNode(r.toDisplayString(I(u(x.id)))+" MD ",1),p(x.id).length>0?(r.openBlock(),r.createElementBlock("span",W$,[r.createElementVNode("span",Z$,r.toDisplayString(I(u(x.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p(x.id),$=>(r.openBlock(),r.createElementBlock("span",{key:$.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString($.fullName),1),r.createElementVNode("span",null,r.toDisplayString(I($.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",K$,[r.createElementVNode("div",G$,r.toDisplayString(r.unref(o)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",Y$,r.toDisplayString(I(f(x.id)))+" pts ",1)]),r.createElementVNode("div",J$,[r.createElementVNode("div",X$,r.toDisplayString(r.unref(o)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",Q$,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:g(x.id),placeholder:r.unref(o)("sprintMetrics.targetVelocityPlaceholder"),onInput:$=>y(x.id,$.target.value)},null,40,eL),r.createElementVNode("span",tL," pts / "+r.toDisplayString(b(x.id)),1)]),_(x.id)>0?(r.openBlock(),r.createElementBlock("div",nL,r.toDisplayString(r.unref(o)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(L(_(x.id),x.id)),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",oL,[r.createElementVNode("div",rL,r.toDisplayString(r.unref(o)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",aL,[w(x.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(C(x.id))+"% · "+r.toDisplayString(I(f(x.id)))+" / "+r.toDisplayString(I(k(x.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(x.id)]])])}),128))]))}}),G_e="",sL=te(iL,[["__scopeId","data-v-f3ddff2c"]]),lL={class:"ao-feed"},cL={class:"ao-feed__filters"},dL={class:"ao-feed__body"},vu=r.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},devStatuses:{default:()=>[]},project:{default:void 0},projects:{default:()=>[]},filters:{},activityTypes:{default:()=>[]},users:{},activityDetailsUsers:{default:()=>[]},userId:{},initialActivityId:{default:void 0},initialActivitySlug:{default:void 0},searchText:{default:""},showsArchivedActivities:{type:Boolean},showsOnlyImportant:{type:Boolean},showsOnlyNonAssigned:{type:Boolean},selectedActivity:{default:void 0},isTaskCheckable:{type:Function,default:void 0},isEditable:{type:[Boolean,String]},attachmentEnabled:{type:Boolean,default:!0},timeTrackingData:{default:()=>({})},loadAttachmentPreview:{type:Function,default:void 0},feedMode:{default:"standard"},sprints:{default:()=>[]},activitySprints:{default:()=>[]},milestones:{default:()=>[]},sprintPlanningData:{default:()=>({})},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["change:activities","addActivity","update:filters","selectActivity","update:activity","archiveActivity","unarchiveActivity","update:searchText","clear:searchText","update:showsArchivedActivities","update:showsOnlyImportant","update:showsOnlyNonAssigned","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","toast","startTimer","createSprint","fetchHistory"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;function i(z,se){a("toast",z,se)}const s=r.toRef(o,"activities"),l=r.computed(()=>o.feedMode==="dev"?o.devStatuses:o.statuses),c=r.computed(()=>o.feedMode==="dev"?s.value.filter(z=>z.activityType==="dev"):s.value),u=async(z,se)=>{await a("selectActivity",z,se)},d=r.ref({}),p=r.ref(!1),f=r.ref(!1),m=r.computed(()=>o.project?"milestone":"project");r.watch([()=>l.value,()=>c.value,()=>o.initialActivityId,()=>o.initialActivitySlug,()=>o.feedMode],async([z,se,be,fe],[Ye,$e])=>{const Le=o.feedMode==="dev"?"devStatus":"status";d.value=Object.fromEntries(z.map(Fe=>[Fe.id,se.filter(Je=>{const Xe=Je[Le];return(Xe==null?void 0:Xe.id)===Fe.id})])),be&&!p.value?(u(be,null),p.value=!0):fe&&!p.value&&(u(null,fe),p.value=!0),f.value&&Kn(se,$e)},{immediate:!0});const h=r.computed(()=>{var z;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((z=o.selectedActivity.milestone.phase)==null?void 0:z.name)??""} / ${o.selectedActivity.milestone.name??""}`}),v=z=>{var Fe;const se=o.feedMode==="dev"?o.activities.filter(Je=>Je.activityType==="dev"):o.activities,be=se==null?void 0:se.at(-1),fe=be?et.LexoRank.parse(be.rank).genNext():et.LexoRank.middle(),Ye=((Fe=o.activities)==null?void 0:Fe.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ye+1}),rank:fe.format(),...$e?{statusDevId:z.id,type:"dev"}:{statusId:z.id}};if(o.filters.assigneeId.length>0&&(Le.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(Le.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Je=o.sprints.find(Xe=>Xe.id===o.filters.sprintId[0]);Je&&(Le.sprintId=Je.id,Le.projectId=Je.projectId)}f.value=!0,a("addActivity",Le)},b=z=>{var Fe,Je;const se=o.feedMode==="dev"?"devStatus":"status",be=((Fe=o.activities)==null?void 0:Fe.filter(Xe=>{const Me=Xe[se];return(Me==null?void 0:Me.id)===z.id}))??[],fe=wa(be),Ye=((Je=o.activities)==null?void 0:Je.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ye+1}),rank:fe,...$e?{statusDevId:z.id,type:"dev"}:{statusId:z.id}};if(o.filters.assigneeId.length>0&&(Le.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(Le.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Xe=o.sprints.find(Me=>Me.id===o.filters.sprintId[0]);Xe&&(Le.sprintId=Xe.id,Le.projectId=Xe.projectId)}f.value=!0,a("addActivity",Le)},_=(z,se)=>{f.value=!1,a("update:filters",{...o.filters,[z]:se})},g=r.computed(()=>o.project?[o.project]:o.projects??[]),y=r.computed(()=>g.value.map(z=>({value:z.id,label:z.name}))),k=r.computed(()=>o.sprints.map(z=>({value:z.id,label:n("activity.sprint.filterLabel",{number:z.number,label:z.label}),startDate:z.startDate,endDate:z.endDate,projectId:z.projectId}))),w=r.computed(()=>{const z=o.filters[sn.sprint]??[];return o.sprints.filter(se=>z.includes(se.id))}),C=r.computed(()=>{var be;const z=o.filters[sn.project]??[],se=(be=o.project)!=null&&be.id?[o.project.id]:[];return[...z,...se]}),S=r.computed(()=>o.milestones.map(z=>{var se;return{value:z.id,label:(se=z.phase)!=null&&se.name?`${z.phase.name} - ${z.name}`:z.name,color:z.color,important:z.important}}));r.computed(()=>{var z;return(z=o.activityTypes)==null?void 0:z.map(se=>({value:se.id,label:se.name}))});const A=r.computed(()=>o.users.map(z=>({value:z.id,label:`${z.firstName} ${z.lastName}`,avatar:z.avatarUrl}))),E=z=>{o.selectedActivity&&a("update:activity",z)},N=z=>{a("update:activity",z)},I=z=>{a("archiveActivity",z)},L=z=>{a("unarchiveActivity",z)},R=z=>{var se;a("startTimer",z),(se=window.parent)==null||se.postMessage({type:"startTimer",data:z},"*")},D=z=>{f.value=!1,a("update:searchText",z)},B=z=>{f.value=!1,a("clear:searchText",z)},x=z=>{o.selectedActivity&&a("addSubtask",z)},V=z=>{o.selectedActivity&&a("updateSubtask",z)},$=z=>{o.selectedActivity&&a("deleteSubtask",z)},U=z=>{a("addFiles",z)},Y=z=>{a("removeFile",z)},le=z=>{o.selectedActivity&&a("addComment",{...z,activityId:o.selectedActivity.id})},oe=z=>{const{id:se}=o.selectedActivity||{};se&&a("updateComment",z)},xe=z=>{const{id:se}=o.selectedActivity||{};se&&a("removeComment",z)},re=vt.useRouter(),ne=vt.useRoute(),j=r.ref("feed");r.watch(()=>ne.name,z=>{z===mr.feed||z==="ActivityFeed"||z==="ActivityFeedWithActivity"?j.value="feed":z===mr.dev||z==="ActivityFeedDev"||z==="ActivityFeedDevWithActivity"?j.value="dev":z===Ie.feed?j.value="feed":z===Ie.dev?j.value="dev":z===Ie.project?j.value="overview":z===Ie.mapping&&(j.value="mapping")},{immediate:!0});const F=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],ae=r.computed(()=>Se.value?F.filter(z=>z.value==="feed"||z.value==="dev"):F),Se=r.computed(()=>!o.project&&ne.name&&(ne.name===mr.feed||ne.name===mr.dev||ne.name==="ActivityFeed"||ne.name==="ActivityFeedDev"||ne.name==="ActivityFeedWithActivity"||ne.name==="ActivityFeedDevWithActivity")),We=r.computed(()=>Se.value?mr.feed:Ie.feed),Ee=r.computed(()=>Se.value?mr.dev:Ie.dev),ke=r.computed(()=>Ie.project),Et=r.computed(()=>Ie.mapping);return r.watch(j,z=>{z==="feed"?re.push({name:We.value}):z==="dev"?re.push({name:Ee.value}):z==="overview"?re.push({name:ke.value}):z==="mapping"&&re.push({name:Et.value})}),(z,se)=>{var be;return r.openBlock(),r.createElementBlock("div",lL,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createElementVNode("div",cL,[r.createVNode(pi,{modelValue:j.value,"onUpdate:modelValue":se[0]||(se[0]=fe=>j.value=fe),tabs:ae.value},null,8,["modelValue","tabs"]),r.createVNode(C$,{"model-value":t.searchText,placeholder:z.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":D,onClear:B},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(ht,{key:0,"model-value":t.filters[r.unref(sn).project],mode:"tags",options:y.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:z.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":se[1]||(se[1]=fe=>_(r.unref(sn).project,fe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(ht,{key:1,"model-value":t.filters[r.unref(sn).sprint],mode:"tags",options:k.value,"close-on-select":!1,searchable:!0,disabled:!k.value.length,class:"ao-feed__filter ao-feed__filter__sprints",placeholder:z.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":se[2]||(se[2]=fe=>_(r.unref(sn).sprint,fe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),r.createVNode(ht,{"model-value":t.filters[r.unref(sn).milestone],mode:"tags",options:S.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,disabled:C.value.length===0,class:"ao-feed__filter ao-feed__filter__milestones",placeholder:z.$t("feed.filters.milestone.placeholder"),"onUpdate:modelValue":se[3]||(se[3]=fe=>_(r.unref(sn).milestone,fe))},null,8,["model-value","options","disabled","placeholder"]),A.value.length?(r.openBlock(),r.createBlock(ht,{key:2,"model-value":t.filters[r.unref(sn).assignee],mode:"tags",options:A.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:z.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":se[4]||(se[4]=fe=>_(r.unref(sn).assignee,fe))},{tag:r.withCtx(({option:fe,handleTagRemove:Ye})=>[r.createVNode(Jt,{"user-name":fe.label,"avatar-url":fe.avatar,"is-closable":!0,onClose:$e=>Ye(fe,$e)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):r.createCommentVNode("",!0)]),r.createVNode(ue,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":t.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:se[5]||(se[5]=fe=>z.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__only-p0",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:se[6]||(se[6]=fe=>z.$emit("update:showsOnlyImportant",!t.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:se[7]||(se[7]=fe=>z.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(sL,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:g.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",dL,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,fe=>(r.openBlock(),r.createBlock(y$,{key:fe.id,status:fe,list:d.value[fe.id],title:fe.name,"footer-label":z.$t("feed.activity.add"),users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"tag-type":m.value,"show-header-add":t.isEditable,"is-dev-mode":t.feedMode==="dev",onAdd:()=>v(fe),onAddAtBeginning:()=>b(fe),onSelectActivity:u,onArchiveActivity:I,onUnarchiveActivity:L,onUpdateActivity:N,onStartTimer:R},null,8,["status","list","title","footer-label","users","user-id","is-editable","tag-type","show-header-add","is-dev-mode","onAdd","onAddAtBeginning"]))),128))]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[t.selectedActivity?(r.openBlock(),r.createBlock(ll,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":(be=t.selectedActivity.milestone)==null?void 0:be.id,"template-activities":s.value,users:o.activityDetailsUsers.length>0?o.activityDetailsUsers:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:h.value,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:g.value,"time-tracking-data":t.timeTrackingData,history:t.history,"history-loading":t.historyLoading,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:se[8]||(se[8]=()=>u(null,null)),onFetchHistory:se[9]||(se[9]=()=>a("fetchHistory")),"onUpdate:activity":E,onAddSubtask:x,onUpdateSubtask:V,onDeleteSubtask:$,onAddFiles:U,onRemoveFile:Y,onAddComment:le,onUpdateComment:oe,onRemoveComment:xe,onToast:i,onCreateSprint:se[10]||(se[10]=fe=>a("createSprint",fe))},{default:r.withCtx(fe=>[r.renderSlot(z.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(fe)))]),_:3},8,["activity","activity-types","dev-statuses","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","history","history-loading","load-attachment-preview","sprints"])):r.createCommentVNode("",!0)]))])}}}),Y_e="",uL={class:"ao-project-mapping"},pL={class:"ao-project-mapping-mapping__body"},fL={class:"ao-project-mapping-mapping__phases"},mL={key:0,class:"ao-project-mapping-mapping__image-wrapper"},hL=["src","alt"],gL=r.defineComponent({__name:"AoMapping",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","copyPhaseToTemplate","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=()=>{const{name:g,rank:y}=ur(o.phases,"phase",n);a("addPhase",{name:g,rank:y,projectId:o.project.id})},s=()=>{const g=n("template.defaultName.phase",{idx:1}),y=wa(o.phases);a("addPhase",{name:g,rank:y,projectId:o.project.id})},l=g=>{a("updatePhase",g)},c=g=>{a("archivePhase",g)},u=g=>{a("unarchivePhase",g)},d=g=>{a("copyPhaseToTemplate",g)},p=r.ref(!1),f=r.ref(!1),m=(g,y)=>{a("applyTemplate",{templateId:g,projectId:y}),p.value=!1},h=(g,y)=>{var C;const k=(C=o.templates)==null?void 0:C.at(-1),w=k?et.LexoRank.parse(k.rank).genNext():et.LexoRank.middle();a("saveTemplate",{templateName:g,rank:w.format(),phaseIds:y}),f.value=!1},v=vt.useRouter(),b=r.ref("mapping"),_=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(b,g=>{g==="feed"?(v.push({name:Ie.feed}),console.log("Navigating to feed...")):g==="dev"?(v.push({name:Ie.dev}),console.log("Navigating to dev...")):g==="overview"?(v.push({name:Ie.project}),console.log("Navigating to feed...")):g==="mapping"&&(v.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(g,y)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},g.$attrs),[r.createElementVNode("div",uL,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createVNode(pi,{modelValue:b.value,"onUpdate:modelValue":y[0]||(y[0]=w=>b.value=w),tabs:_},null,8,["modelValue"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:y[1]||(y[1]=w=>g.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:0,class:"ao-mapping__quick-add-phase",size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("project.phase.add"),onClick:s},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:g.$t("project.template.save.label"),onClick:y[2]||(y[2]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:2,class:"ao-project-mapping-overview__add-template",color:"primary",label:g.$t("project.template.apply.label"),onClick:y[3]||(y[3]=w=>p.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",pL,[r.createElementVNode("div",fL,[r.createVNode(bu,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"estimation-unit":(k=t.project)==null?void 0:k.estimationUnit,onAddPhase:i,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",mL,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,hL)])):r.createCommentVNode("",!0)])])],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[f.value?(r.openBlock(),r.createBlock(Xg,{key:0,phases:t.phases,onClose:y[4]||(y[4]=w=>f.value=!1),onSave:h},null,8,["phases"])):r.createCommentVNode("",!0),p.value?(r.openBlock(),r.createBlock(Jg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:y[5]||(y[5]=w=>p.value=!1),onApply:m},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}}),J_e="",fr={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},bL=(t,e={})=>[{path:t,name:fr.TEMPLATES,redirect:{name:fr.TEMPLATES_LIST},...e,children:[{path:"",name:fr.TEMPLATES_LIST,component:e0},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:fr.TEMPLATE_DETAILS,component:Wg,props:!0}]}],Ie={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},mr={feed:"ActivityFeed",dev:"ActivityFeedDev"},_L=(t,e={})=>[{path:t,...e,redirect:{name:Ie.project},children:[{path:"",name:Ie.project,component:iB,props:!0,children:[{path:":phaseId/:milestoneId",name:Ie.milestone,component:Qg,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Ie.activity,props:{default:!0,modal:!0},components:{default:Qg,modal:XB}}]},{path:"feed",name:Ie.feed,component:vu,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Ie.dev,component:vu,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Ie.mapping,component:gL,props:!0}]}],yL={class:"ao-templates"},e0=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;r.watch(()=>o.templates,(u,d)=>{Kn(u,d)});const i=()=>{var m,h;const u=(m=o.templates)==null?void 0:m.at(-1),d=u?et.LexoRank.parse(u.rank).genNext():et.LexoRank.middle(),p=((h=o.templates)==null?void 0:h.length)??0,f={name:n("template.defaultName.template",{idx:p+1}),rank:d.format()};a("addTemplate",f)},s=(u,d)=>{a("updateItem",{itemType:qe.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{a("removeItem",{itemType:qe.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=Ca(u,o.templates??[]);a("updateItem",{itemType:qe.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(r.openBlock(),r.createElementBlock("div",yL,[r.createVNode(xa,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:i},null,8,["label"])]),_:1}),r.createVNode(r.unref(Cn),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:r.withCtx(({element:p})=>{var f;return[r.createVNode(l7,{id:p.id,title:p.name,phases:p.phases,milestones:(f=p.phases)!=null&&f.length?r.unref($5)(p.phases):0,activities:p.phases?r.unref(L5)(p.phases):0,"updated-at":p.updatedAt,"updated-by":p.updatedBy,onUpdateTitle:m=>s(p.id,m),onClick:m=>u.$router.push({name:r.unref(fr).TEMPLATE_DETAILS,params:{templateId:p.id}}),onDeleteItem:d[0]||(d[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),X_e="",vL={class:"ao-field__label"},t0=r.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[r.createElementVNode("span",vL,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),kL=["type","value","disabled","readonly"],CL=r.defineComponent({__name:"AoInputField",props:{label:{default:""},type:{default:"text"},modelValue:{default:""},modelModifiers:{default:()=>({})},isDisabled:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.modelModifiers.lazy?"change":"input"),i=s=>{n.modelModifiers.number&&(s=Number(s)),o("update:modelValue",s)};return(s,l)=>(r.openBlock(),r.createBlock(t0,{label:t.label},{default:r.withCtx(()=>[r.createElementVNode("input",r.mergeProps({class:"ao-field__input",type:t.type,value:t.modelValue,disabled:t.isDisabled,readonly:t.isReadonly},{[r.toHandlerKey(a.value)]:l[0]||(l[0]=c=>i(c.target.value))}),null,16,kL)]),_:1},8,["label"]))}}),wL={class:"ao-field"},xL={class:"ao-field__label"},EL=["checked","disabled"],n0=r.defineComponent({__name:"AoCheckboxField",props:{label:{default:""},modelValue:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("label",wL,[r.createElementVNode("span",xL,r.toDisplayString(t.label),1),r.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:n[0]||(n[0]=o=>{var a;return e.$emit("update:modelValue",((a=o.target)==null?void 0:a.checked)??!1)})},null,40,EL)]))}}),SL={class:"ao-audit-config"},AL={key:0,class:"ao-audit-config__loading"},TL={key:1,class:"ao-audit-config__error"},NL={key:2,class:"ao-audit-config__empty"},DL={key:3,class:"ao-audit-config__table"},BL={class:"ao-audit-config__th ao-audit-config__th--table"},$L={class:"ao-audit-config__th ao-audit-config__th--audit"},LL={class:"ao-audit-config__th ao-audit-config__th--excluded"},ML={class:"ao-audit-config__td ao-audit-config__td--table"},VL={class:"ao-audit-config__table-name"},OL={key:0,class:"ao-audit-config__schema"},IL={class:"ao-audit-config__td ao-audit-config__td--audit"},PL={class:"ao-audit-config__checkbox"},RL={class:"ao-audit-config__td ao-audit-config__td--excluded"},FL={key:0,class:"ao-audit-config__disabled-note"},zL={class:"ao-audit-config__option"},jL=["title"],qL={key:0,class:"ao-audit-config__all-tracked"},UL=r.defineComponent({__name:"AoAuditConfigTable",props:{tables:{},loading:{type:Boolean,default:!1},error:{default:null},disabled:{type:Boolean,default:!1}},emits:["update"],setup(t,{emit:e}){const n=t,o=e,{t:a}=Ge(),i=r.computed(()=>n.tables);function s(u){return u.columns.map(d=>({value:d.name,label:d.name,isPrimaryKey:d.isPrimaryKey}))}function l(u,d){o("update",{schemaName:u.schemaName,tableName:u.tableName,isEnabled:d,excludeColumns:u.excludeColumns})}function c(u,d){const p=Array.from(new Set(d??[]));o("update",{schemaName:u.schemaName,tableName:u.tableName,isEnabled:u.isEnabled,excludeColumns:p})}return(u,d)=>(r.openBlock(),r.createElementBlock("div",SL,[t.loading?(r.openBlock(),r.createElementBlock("div",AL,r.toDisplayString(r.unref(a)("audit.loading")),1)):t.error?(r.openBlock(),r.createElementBlock("div",TL,r.toDisplayString(r.unref(a)("audit.error",{message:t.error})),1)):i.value.length?(r.openBlock(),r.createElementBlock("table",DL,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",BL,r.toDisplayString(r.unref(a)("audit.tableHeader")),1),r.createElementVNode("th",$L,r.toDisplayString(r.unref(a)("audit.auditHeader")),1),r.createElementVNode("th",LL,r.toDisplayString(r.unref(a)("audit.ignoredHeader")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,p=>(r.openBlock(),r.createElementBlock("tr",{key:`${p.schemaName}.${p.tableName}`},[r.createElementVNode("td",ML,[r.createElementVNode("span",VL,r.toDisplayString(p.tableName),1),p.schemaName!=="public"?(r.openBlock(),r.createElementBlock("span",OL,r.toDisplayString(p.schemaName),1)):r.createCommentVNode("",!0)]),r.createElementVNode("td",IL,[r.createElementVNode("div",PL,[r.createVNode(n0,{label:"","model-value":p.isEnabled,"is-disabled":t.disabled,"is-readonly":!1,"onUpdate:modelValue":f=>l(p,f)},null,8,["model-value","is-disabled","onUpdate:modelValue"])])]),r.createElementVNode("td",RL,[p.isEnabled?(r.openBlock(),r.createBlock(ht,{key:1,"model-value":p.excludeColumns,class:"ao-audit-config__multiselect",mode:"tags","value-prop":"value",label:"label","track-by":"label","close-on-select":!1,searchable:!0,options:s(p),disabled:t.disabled,caret:!t.disabled,"onUpdate:modelValue":f=>c(p,f)},{option:r.withCtx(({option:f})=>[r.createElementVNode("span",zL,[r.createTextVNode(r.toDisplayString(f.label)+" ",1),f.isPrimaryKey?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-audit-config__pk",title:r.unref(a)("audit.primaryKey")}," PK ",8,jL)):r.createCommentVNode("",!0)])]),placeholder:r.withCtx(()=>[p.excludeColumns.length===0?(r.openBlock(),r.createElementBlock("span",qL,r.toDisplayString(r.unref(a)("audit.allTracked")),1)):r.createCommentVNode("",!0)]),_:2},1032,["model-value","options","disabled","caret","onUpdate:modelValue"])):(r.openBlock(),r.createElementBlock("div",FL,r.toDisplayString(r.unref(a)("audit.auditDisabled")),1))])]))),128))])])):(r.openBlock(),r.createElementBlock("div",NL,r.toDisplayString(r.unref(a)("audit.empty")),1))]))}}),Q_e="",HL={key:0,class:"ao-activity-inline__drag-handle"},WL=["onKeydown"],ZL={class:"ao-activity-inline__title"},KL={class:"ao-activity-inline__name"},GL={class:"ao-activity-inline__assignee"},YL={key:1,class:"ao-activity-inline__unassigned"},JL={class:"ao-activity-inline__estimation"},XL={class:"ao-activity-inline__status"},QL={class:"ao-activity-inline__title"},eM={class:"ao-activity-inline__name"},tM={class:"ao-activity-inline__assignee"},nM={key:1,class:"ao-activity-inline__unassigned"},oM={class:"ao-activity-inline__estimation"},rM={class:"ao-activity-inline__status"},aM={key:3,class:"ao-activity-inline__content ao-activity-inline--disabled"},iM={class:"ao-activity-inline__title"},sM={class:"ao-activity-inline__name"},lM={class:"ao-activity-inline__assignee"},cM={key:1},dM={class:"ao-activity-inline__estimation"},uM={class:"ao-activity-inline__status"},pM=r.defineComponent({__name:"AoActivityInline",props:{activity:{},showMilestone:{type:Boolean,default:!0},isDraggable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},isEditable:{type:Boolean,default:!1}},emits:["openActivity","updateActivity"],setup(t,{emit:e}){const n=t,o=e,a=()=>{o("openActivity",n.activity.id)},i=()=>{if(!n.activity.priority||!n.isEditable)return;const p={P0:"P2",P1:"P0",P2:"P1"};o("updateActivity",{id:n.activity.id,priority:p[n.activity.priority]})},s=r.computed(()=>{const p=n.activity.milestone,f=p==null?void 0:p.phase,m=n.activity.project;return!(m!=null&&m.id)||!(f!=null&&f.id)||!(p!=null&&p.id)?null:{name:Ie.activity,params:{id:m.id,phaseId:f.id,milestoneId:p.id,activityId:n.activity.id}}}),l=r.computed(()=>n.activity.assignee?[n.activity.assignee.firstName,n.activity.assignee.lastName].filter(Boolean).join(" "):""),c=r.computed(()=>{var p,f;return((p=n.activity.devStatus)==null?void 0:p.name)??((f=n.activity.status)==null?void 0:f.name)??""}),{t:u}=Ge(),d=r.computed(()=>{var p;return((p=n.activity.project)==null?void 0:p.estimationUnit)==="days"?u("activity.estimationUnit.pointsShort"):u("activity.estimationUnit.hoursShort")});return(p,f)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["ao-activity-inline",t.isDraggable?"ao-activity-inline--draggable":""])},[t.isDraggable?(r.openBlock(),r.createElementBlock("div",HL,[r.createVNode(Ce,{name:"DragIndicator"})])):r.createCommentVNode("",!0),t.clickable?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-activity-inline__content",role:"button",tabindex:"0",onClick:r.withModifiers(a,["stop"]),onKeydown:[r.withKeys(r.withModifiers(a,["stop"]),["enter"]),r.withKeys(r.withModifiers(a,["prevent","stop"]),["space"])]},[r.createElementVNode("div",ZL,[t.showMilestone&&t.activity.milestone?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-activity-inline__milestone",style:r.normalizeStyle({"--milestone-color":t.activity.milestone.color||void 0})},r.toDisplayString(t.activity.milestone.name),5)):r.createCommentVNode("",!0),r.createElementVNode("span",KL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",GL,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"md",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",YL," — ")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",JL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",XL,r.toDisplayString(c.value),1)],40,WL)):s.value?(r.openBlock(),r.createBlock(r.unref(vt.RouterLink),{key:2,to:s.value,class:"ao-activity-inline__content"},{default:r.withCtx(()=>[r.createElementVNode("div",QL,[t.showMilestone&&t.activity.milestone?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-activity-inline__milestone",style:r.normalizeStyle({"--milestone-color":t.activity.milestone.color||void 0})},r.toDisplayString(t.activity.milestone.name),5)):r.createCommentVNode("",!0),r.createElementVNode("span",eM,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",tM,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",nM," — ")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",oM,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",rM,r.toDisplayString(c.value),1)]),_:1},8,["to"])):(r.openBlock(),r.createElementBlock("div",aM,[r.createElementVNode("div",iM,[r.createElementVNode("span",sM,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",lM,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",cM,"—")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",dM,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",uM,r.toDisplayString(c.value),1)]))],2))}}),eye="",o0=te(pM,[["__scopeId","data-v-76d2bf8e"]]),fM={class:"ao-sprint-section__header-left"},mM={class:"ao-sprint-section__expand-icon"},hM={class:"ao-sprint-section__title"},gM={key:0,class:"ao-sprint-section__archived-badge"},bM={class:"ao-sprint-section__header-right"},_M={class:"ao-sprint-section__dates"},yM={class:"ao-sprint-section__meta"},vM=["title"],kM=["onClick"],CM={class:"ao-sprint-section__edit-title"},wM={class:"ao-sprint-section__fixed-number"},xM={class:"ao-sprint-section__date-fields"},EM={class:"ao-sprint-section__actions"},SM={class:"ao-sprint-section__content"},AM={key:0,class:"ao-sprint-section__empty"},TM=r.defineComponent({__name:"AoSprintSection",props:{sprint:{},activities:{},isEditable:{type:Boolean,default:!1},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},emits:["updateSprint","archiveSprint","unarchiveSprint","activityChange","openActivity","updateActivity"],setup(t,{emit:e}){const n=t,o=e,a=x=>{x.added&&o("activityChange",{id:x.added.element.id,sprintId:n.sprint.id})},i=x=>{o("updateActivity",x)},s=x=>{o("openActivity",{activityId:x,activityIds:n.activities.map(V=>V.id)})},l=r.ref(!0),c=r.ref(!1),{t:u}=Ge(),d=r.ref({label:"",startDate:"",endDate:"",color:""}),p=r.computed(()=>n.sprint.label?`Sprint ${n.sprint.number}: ${n.sprint.label}`:`Sprint ${n.sprint.number}`),f=r.computed(()=>{const x=vr(n.sprint.startDate,"dd/MM/yy"),V=vr(n.sprint.endDate,"dd/MM/yy");return`${x} – ${V}`}),m=r.computed(()=>n.activities.length),h=r.computed(()=>n.activities.reduce((x,V)=>x+(V.estimation??0),0)),v=r.computed(()=>{var x;return(x=n.planningData)==null?void 0:x[n.sprint.id]}),b=r.computed(()=>{var V;const x=n.projects.find($=>$.id===n.sprint.projectId);return x||((V=n.activities.find($=>$.project))==null?void 0:V.project)}),_=r.computed(()=>{var x;return((x=b.value)==null?void 0:x.velocity)??1}),g=r.computed(()=>{var x;return((x=b.value)==null?void 0:x.estimationUnit)??""}),y=r.computed(()=>{const x=v.value;return x!=null&&x.plannedManDays?g.value==="hours"?x.plannedManDays*n.businessDayHours:x.plannedManDays:null}),k=r.computed(()=>{const x=y.value;return x==null?null:x*_.value}),w=r.computed(()=>{const x=k.value;return x==null||x===0?null:Math.round(h.value/x*100)}),C=r.computed(()=>{const x=k.value;return x==null?!1:h.value>x}),S=r.computed(()=>{const x=k.value;if(x==null)return null;const V=Math.round(h.value*10)/10,$=Math.round(x*10)/10,U=w.value;return U!=null?`${V} / ${$} pts · ${U}%`:`${V} / ${$} pts`}),A=r.computed(()=>{const x=k.value;if(x==null)return;const V=g.value==="hours"?u("activity.estimationUnit.hours"):u("activity.estimationUnit.points"),$=g.value==="hours"?u("activity.estimationUnit.hoursShort"):u("activity.estimationUnit.pointsShort");return[`Estimated work: ${h.value} ${u("activity.estimationUnit.pointsShort")}`,`Planned capacity: ${y.value} ${V}`,`Velocity: ${_.value} ${u("activity.estimationUnit.pointsShort")} / ${$}`,`Sprint capacity: ${x} ${u("activity.estimationUnit.pointsShort")}`,`Load: ${w.value}%`].join(`
63
+ ...`),m=r.computed(()=>n.placeholder||f.value),h=r.computed(()=>i.value.trim().length>0&&d.value.valid&&d.value.data.length>0&&!n.isLoading),v=r.computed(()=>{const k=w=>w.reduce((C,S)=>C+1+k(S.children??[]),0);return k(d.value.data)});r.watch(()=>n.open,async k=>{var w;k&&(i.value="",await r.nextTick(),(w=s.value)==null||w.focus())},{immediate:!0});const b=()=>{n.isLoading||(o("update:open",!1),o("close"))},_=()=>{h.value&&o("submit",d.value.data)},g=k=>String(k===0?a("project.bulk.modal.noSpace"):k===1?a("project.bulk.modal.oneSpace"):a("project.bulk.modal.spaces",{count:k})),y=k=>String(a(c[k.code],k.params??{}));return(k,w)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[t.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["ao-modal__wrapper","ao-bulk-insert-modal__wrapper",`ao-modal__wrapper--${t.size}`]),onKeydown:r.withKeys(r.withModifiers(b,["stop"]),["esc"])},[r.createElementVNode("div",{class:"ao-modal__backdrop",onClick:b}),r.createElementVNode("div",oD,[r.createElementVNode("div",rD,[r.createElementVNode("div",aD,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",color:"primary",onClick:b})]),r.createElementVNode("header",iD,[r.createVNode(mt,{title:t.title,level:3},null,8,["title"])])]),r.createElementVNode("div",sD,[r.createElementVNode("form",{class:"ao-bulk-insert-modal__form",onSubmit:r.withModifiers(_,["prevent"])},[t.hint?(r.openBlock(),r.createElementBlock("p",lD,r.toDisplayString(t.hint),1)):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("textarea",{ref_key:"textareaRef",ref:s,"onUpdate:modelValue":w[0]||(w[0]=C=>i.value=C),class:"ao-bulk-insert-modal__textarea",placeholder:m.value,disabled:t.isLoading,rows:"9",spellcheck:"false"},null,8,cD),[[r.vModelText,i.value]]),d.value.errors.length>0?(r.openBlock(),r.createElementBlock("div",dD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value.errors,C=>(r.openBlock(),r.createElementBlock("p",{key:`${C.line}-${C.code}`,class:"ao-bulk-insert-modal__error"},r.toDisplayString(r.unref(a)("project.bulk.modal.lineError",{line:C.line,message:y(C)})),1))),128))])):i.value.trim().length>0?(r.openBlock(),r.createElementBlock("p",uD,r.toDisplayString(r.unref(a)("project.bulk.modal.count",{count:v.value})),1)):r.createCommentVNode("",!0),r.createElementVNode("div",pD,[r.createElementVNode("span",fD,r.toDisplayString(r.unref(a)("project.bulk.modal.indentation")),1),r.createElementVNode("div",mD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value.levels,(C,S)=>(r.openBlock(),r.createElementBlock("div",{key:C,class:"ao-bulk-insert-modal__help-row"},[r.createElementVNode("span",hD,r.toDisplayString(p(C)),1),r.createElementVNode("span",gD,r.toDisplayString(g(S)),1)]))),128))])]),r.createElementVNode("footer",bD,[r.createVNode(ue,{color:"primary",variant:"ghost",label:r.unref(a)("common.cancel"),disabled:t.isLoading,onClick:b},null,8,["label","disabled"]),r.createVNode(ue,{type:"submit",color:"primary",variant:"solid",label:r.unref(a)("common.create"),"is-loading":t.isLoading,disabled:!h.value},null,8,["label","is-loading","disabled"])])],32)])])],42,nD)):r.createCommentVNode("",!0)]))}}),O_e="";function gu(t,e){return(t.children??[]).filter(n=>n.type===e)}function _D(t){return gu(t,"task").map(e=>({name:e.name}))}function Gg(t,e=[]){const n=t.filter(a=>a.type==="activity"),o=Tl(e,n.length);return n.map((a,i)=>{const s=_D(a);return{name:a.name,rank:o[i],...s.length?{tasks:s}:{}}})}function yD(t,e){return Gg(t,e)}function Yg(t,e){const n=t.filter(a=>a.type==="milestone"),o=Tl(e,n.length);return n.map((a,i)=>{const s=Gg(gu(a,"activity"));return{name:a.name,rank:o[i],...s.length?{activities:s}:{}}})}function vD(t,e){const n=t.filter(a=>a.type==="phase"),o=Tl(e,n.length);return n.map((a,i)=>{const s=Yg(gu(a,"milestone"),[]);return{name:a.name,rank:o[i],...s.length?{milestones:s}:{}}})}const kD={class:"ao-mapping-card-project-phase__header"},CD={class:"ao-card-project-item__title-line"},wD={key:0,class:"ao-card-project-item-phase__estimation"},xD={class:"ao-mapping-card-project-phase__footer"},ED={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},SD={class:"ao-mapping-card-project-phase__subitem"},AD={class:"ao-mapping-card-project-phase__subitem"},TD={key:0,class:"ao-mapping-card-project-phase__secondary"},ND={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},DD=r.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e,a=b=>{o("update:title",b)},i=r.computed(()=>{var b;return((b=n.milestones)==null?void 0:b.reduce((_,g)=>{var y;return _+((y=g.activities)==null?void 0:y.reduce((k,w)=>k+(w.estimation||0),0))},0))||0}),s=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((b,_)=>{var g;return b+(((g=_.activities)==null?void 0:g.reduce((y,k)=>{var C;const w=(C=n.timeTrackingData)==null?void 0:C[k.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),{t:l}=Ge(),c=r.computed(()=>n.estimationUnit==="days"?l("activity.estimationUnit.pointsShort"):l("activity.estimationUnit.hoursShort")),u=r.computed(()=>Vi(s.value,n.estimationUnit)),d=r.computed(()=>{var b;return(b=n.milestones)==null?void 0:b.length}),p=r.computed(()=>{var b;return(b=n.milestones)==null?void 0:b.filter(_=>_.status===da.done).length}),f=r.computed(()=>(p.value||0)/(d.value||1)),m=r.computed({get:()=>n.deadline??"",set:b=>o("update:deadline",b!=null&&b.length?b:null)}),h=r.computed({get:()=>n.color,set:b=>{o("updatePhase",{id:n.id,color:b})}}),v=(b,_)=>{const g=b.target;g.closest("button")||g.closest("input")||g.closest(".ao-title")||_()};return(b,_)=>(r.openBlock(),r.createBlock(aa,{color:h.value,"onUpdate:color":_[2]||(_[2]=g=>h.value=g)},{clickable:r.withCtx(({openPicker:g,bgColor:y})=>[r.createVNode(cl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:k=>v(k,g)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",CD,[r.createVNode(mt,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":a},null,8,["id","title","is-editable"]),i.value||s.value?(r.openBlock(),r.createElementBlock("span",wD," ("+r.toDisplayString(u.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(c.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",xD,[d.value?(r.openBlock(),r.createElementBlock("div",ED,[r.createElementVNode("div",SD,[r.createVNode(Ce,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",AD,r.toDisplayString(p.value)+" / "+r.toDisplayString(d.value),1)]),r.createVNode(dl,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:h.value},null,8,["percentages","color"]),b.$slots.secondary?(r.openBlock(),r.createElementBlock("div",TD,[r.renderSlot(b.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-mapping-card-project-phase__footer-row",m.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":_[1]||(_[1]=k=>m.value=k),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,m.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",ND,r.toDisplayString(r.unref(vr)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",kD,[r.createVNode(ue,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?b.$t("archive"):b.$t("unarchive"),onClick:_[0]||(_[0]=r.withModifiers(()=>t.active?b.$emit("archivePhase",{id:t.id}):b.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),I_e="",BD={class:"ao-project-phase"},$D={key:0,class:"ao-project-phase__drag ao-card__drag"},LD={key:1,class:"ao-project-phase__col-phase"},MD={key:2,class:"ao-mapping-project-phase__col-phase"},VD={key:0,class:"ao-project-phase__col-milestones"},OD=["title","onClick"],ID=["onClick"],PD=["onClick"],RD={class:"ao-project-phase__milestones-list-footer"},FD=r.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;r.watch(()=>o.phase.milestones,(A,E)=>{Kn(A,E)});const i=A=>{a("updatePhase",{id:o.phase.id,name:A})},s=A=>{a("updatePhase",{id:o.phase.id,deadline:A})},l=A=>{a("updatePhase",A)},c=r.computed(()=>o.phase.milestones.map(A=>O5(A,o.closedStatus))),u=A=>{const{name:E,rank:N}=ur(c.value??[],"milestone",n);a("addMilestone",{name:E,rank:N,phaseId:A})},d=A=>{const E=n("template.defaultName.milestone",{idx:1}),N=wa(c.value??[]);a("addMilestone",{name:E,rank:N,phaseId:A})},p=A=>{a("updateMilestone",A)},f=A=>{a("archiveMilestone",A)},m=A=>{a("unarchiveMilestone",A)},h=A=>{a("archivePhase",A)},v=A=>{a("unarchivePhase",A)},b=A=>{"added"in A?a("updateMilestone",{id:A.added.element.id,phaseId:o.phase.id,rank:yr(c.value,A.added.newIndex)}):"removed"in A||"moved"in A&&a("updateMilestone",{id:A.moved.element.id,rank:yr(c.value,A.moved.newIndex)})},_=r.ref(!1),g=r.ref(!1),y=A=>{g.value=!0;const E=Yg(A,o.phase.milestones??[]);a("bulkAddMilestone",{phaseId:o.phase.id,milestones:E,onSuccess:()=>{g.value=!1,_.value=!1},onError:()=>{g.value=!1}})};r.watch(_,A=>{A&&(g.value=!1)});const k=vt.useRoute(),w=r.computed(()=>k.path.includes("/mapping")),C=r.computed(()=>{var A;return o.phase.id===((A=k.params)==null?void 0:A.phaseId)});r.ref(!1);const S=r.computed(()=>{var A;return o.phase.id!==((A=k.params)==null?void 0:A.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:P5(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(A,E)=>(r.openBlock(),r.createElementBlock("li",BD,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(S.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",$D,[r.createVNode(Ce,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),w.value?(r.openBlock(),r.createElementBlock("div",MD,[r.createVNode(DD,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"estimation-unit":t.estimationUnit,"onUpdate:deadline":s,"onUpdate:title":i,onArchivePhase:h,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",LD,[r.createVNode($N,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,"onUpdate:deadline":s,"onUpdate:title":i,onArchivePhase:h,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),w.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",VD,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(S.value)},[t.isEditable?(r.openBlock(),r.createBlock(ul,{key:0,class:r.normalizeClass(["ao-project-phase__milestone-quick-add",{"ao-project-phase__milestone-quick-add--visible":C.value}]),placement:"bottom-end"},{trigger:r.withCtx(({open:N})=>[r.createElementVNode("button",{type:"button",class:"ao-project-phase__milestone-quick-add-trigger",title:A.$t("project.milestone.add"),onClick:N},[r.createVNode(Ce,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],8,OD)]),menu:r.withCtx(({close:N})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),d(t.phase.id)}},r.toDisplayString(A.$t("project.bulk.menu.single")),9,ID),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),_.value=!0}},r.toDisplayString(A.$t("project.bulk.menu.bulkInsert")),9,PD)]),_:1},8,["class"])):r.createCommentVNode("",!0),r.createVNode(r.unref(Cn),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},A.$attrs,{onChange:b}),{item:r.withCtx(({element:N})=>{var I;return[r.createVNode(KN,{id:N.id,name:N.name,color:N.color,"phase-color":t.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":N.id===((I=A.$route.params)==null?void 0:I.milestoneId),assignee:N.assignee,important:N.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:r.normalizeClass(["ao-project-phase__milestone"]),onClick:L=>!t.readonly&&A.$router.push({name:r.unref(Ie).milestone,params:{phaseId:t.phase.id,milestoneId:N.id}}),onUpdateMilestone:p,onArchiveMilestone:f,onUnarchiveMilestone:m},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","time-tracking-data","estimation-unit","onClick"])]}),_:1},16,["list","disabled"]),r.createElementVNode("div",RD,[t.isEditable?(r.openBlock(),r.createBlock(co,{key:0,label:A.$t("project.milestone.add"),"icon-name":"Add",class:"ao-project-phase__milestone-add",onClick:E[0]||(E[0]=N=>u(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)])),_.value?(r.openBlock(),r.createBlock(hu,{key:1,open:_.value,"onUpdate:open":E[1]||(E[1]=N=>_.value=N),title:A.$t("project.bulk.modal.milestone.title"),"root-type":"milestone","is-loading":g.value,onSubmit:y},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))}}),P_e="",zD={class:"ao-project__phases"},jD={key:0,class:"ao-project-phase__phases-list-footer"},qD={class:"ao-project-phase__col-phase"},bu=r.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;r.watch(()=>n.phases,(m,h)=>{Kn(m,h)});const a=m=>{o("addMilestone",m)},i=m=>{o("updateMilestone",m)},s=m=>{o("archiveMilestone",m)},l=m=>{o("unarchiveMilestone",m)},c=m=>{o("archivePhase",m)},u=m=>{o("unarchivePhase",m)},d=m=>{if(m.moved){const h=Ca(m,n.phases??[]);o("updatePhase",{id:m.moved.element.id,rank:h})}},p=m=>{o("updatePhase",m)},f=m=>{o("addPhase",m)};return(m,h)=>(r.openBlock(),r.createElementBlock("div",zD,[r.createVNode(r.unref(Cn),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:r.withCtx(({element:v})=>[r.createVNode(FD,{phase:v,"is-editable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,users:t.users,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,onAddMilestone:a,onBulkAddMilestone:h[0]||(h[0]=b=>m.$emit("bulkAddMilestone",b)),onUpdateMilestone:i,onArchiveMilestone:s,onUnarchiveMilestone:l,onUpdatePhase:p,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",jD,[h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",qD,[r.createVNode(co,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:f},null,8,["label"])]),h[2]||(h[2]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}}),R_e="",UD={class:"ao-add-template-modal__form-body"},HD={class:"field__row"},WD={class:"ao-add-template-modal__form-footer"},Jg=r.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),i=r.ref(null),s=c=>{i.value=c},l=()=>{i.value&&o("apply",i.value,n.projectId)};return(c,u)=>(r.openBlock(),r.createBlock(Oi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(mt,{title:c.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:r.withCtx(()=>[r.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:r.withModifiers(l,["prevent"])},[r.createElementVNode("p",null,r.toDisplayString(c.$t("project.template.apply.notice")),1),r.createElementVNode("div",UD,[r.createElementVNode("div",HD,[r.createVNode(ht,{value:i.value,options:a.value,detached:!0,onChange:s},null,8,["value","options"])])]),r.createElementVNode("footer",WD,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}}),F_e="",ZD={class:"ao-save-template-modal__form-body"},KD={class:"field__row"},GD={class:"ao-field ao-field--inline"},YD={class:"ao-field__label"},JD={class:"ao-save-template-modal__phases"},XD={class:"ao-field__label"},QD={class:"ao-save-template-modal__phases-list"},eB=["value"],tB={class:"ao-save-template-modal__form-footer"},Xg=r.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(""),i=r.ref([]);r.onMounted(()=>{i.value=n.phases.map(l=>l.id)});const s=()=>{a.value&&o("save",a.value,i.value)};return(l,c)=>(r.openBlock(),r.createBlock(Oi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(mt,{title:l.$t("project.template.save.title"),level:3},null,8,["title"])]),default:r.withCtx(()=>[r.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:r.withModifiers(s,["prevent"])},[r.createElementVNode("div",ZD,[r.createElementVNode("div",KD,[r.createElementVNode("label",GD,[r.createElementVNode("span",YD,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>a.value=u),type:"text"},null,512),[[r.vModelText,a.value]])])]),r.createElementVNode("div",JD,[r.createElementVNode("div",XD,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",QD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,u=>(r.openBlock(),r.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>i.value=d),type:"checkbox",value:u.id},null,8,eB),[[r.vModelCheckbox,i.value]]),r.createElementVNode("span",null,r.toDisplayString(u.name),1)]))),128))])])]),r.createElementVNode("footer",tB,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],32)]),_:1}))}}),z_e="",nB={class:"ao-project"},oB=["onClick"],rB=["onClick"],aB={class:"ao-project__body"},iB=r.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{},statuses:{},activityTypes:{},devStatuses:{},sprints:{},selectedActivity:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["addPhase","bulkAddPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","bulkAddMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","bulkAddActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived","fetchHistory"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=r.computed(()=>o.phases.flatMap(F=>F.milestones)),s=()=>{const{name:F,rank:ae}=ur(o.phases,"phase",n);a("addPhase",{name:F,rank:ae,projectId:o.project.id})},l=()=>{const F=n("template.defaultName.phase",{idx:1}),ae=wa(o.phases);a("addPhase",{name:F,rank:ae,projectId:o.project.id})},c=F=>{a("updatePhase",F)},u=F=>{a("archivePhase",F)},d=F=>{a("unarchivePhase",F)},p=F=>{a("copyPhaseToTemplate",F)},f=F=>{a("addMilestone",F)},m=F=>{a("bulkAddMilestone",F)},h=F=>{a("updateMilestone",F)},v=F=>{a("archiveMilestone",F)},b=F=>{a("unarchiveMilestone",F)},_=F=>{a("addActivity",F)},g=F=>{a("bulkAddActivity",F)},y=F=>{a("update:activity",F)},k=F=>{a("archiveActivity",F)},w=F=>{a("unarchiveActivity",F)},C=F=>{a("addSubtask",F)},S=F=>{a("updateSubtask",F)},A=F=>{a("deleteSubtask",F)},E=r.computed(()=>i.value.flatMap(F=>F.activities)),N=r.computed(()=>o.devStatuses??[]),I=r.computed(()=>o.sprints??[]),L=F=>{a("addFiles",F)},R=F=>{a("removeFile",F)},D=F=>{a("addComment",F)},B=F=>{a("updateComment",F)},x=F=>{a("removeComment",F)},V=r.ref(!1),$=r.ref(!1),U=r.ref(!1),Y=r.ref(!1),le=(F,ae)=>{a("applyTemplate",{templateId:F,projectId:ae}),V.value=!1},oe=(F,ae)=>{var Ee;const Se=(Ee=o.templates)==null?void 0:Ee.at(-1),We=Se?et.LexoRank.parse(Se.rank).genNext():et.LexoRank.middle();a("saveTemplate",{templateName:F,rank:We.format(),phaseIds:ae}),$.value=!1},xe=F=>{Y.value=!0;const ae=vD(F,o.phases);a("bulkAddPhase",{projectId:o.project.id,phases:ae,onSuccess:()=>{Y.value=!1,U.value=!1},onError:()=>{Y.value=!1}})};r.watch(U,F=>{F&&(Y.value=!1)});const re=vt.useRouter(),ne=r.ref("overview"),j=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(ne,F=>{F==="feed"?(re.push({name:Ie.feed}),console.log("Navigating to feed...")):F==="dev"?(re.push({name:Ie.dev}),console.log("Navigating to dev...")):F==="overview"?(re.push({name:Ie.project}),console.log("Navigating to feed...")):F==="mapping"&&(re.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(F,ae)=>{var We;const Se=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},F.$attrs),[r.createElementVNode("div",nB,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createVNode(pi,{modelValue:ne.value,"onUpdate:modelValue":ae[0]||(ae[0]=Ee=>ne.value=Ee),tabs:j},null,8,["modelValue"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:ae[1]||(ae[1]=Ee=>F.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(ul,{key:0,class:"ao-project-overview__quick-add-phase"},{trigger:r.withCtx(({open:Ee})=>[r.createVNode(ue,{size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("project.phase.add"),onClick:Ee},null,8,["label","onClick"])]),menu:r.withCtx(({close:Ee})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{Ee(),l()}},r.toDisplayString(F.$t("project.bulk.menu.single")),9,oB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{Ee(),U.value=!0}},r.toDisplayString(F.$t("project.bulk.menu.bulkInsert")),9,rB)]),_:1})):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:F.$t("project.template.save.label"),onClick:ae[2]||(ae[2]=Ee=>$.value=!0)},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:2,class:"ao-project-overview__add-template",color:"primary",label:F.$t("project.template.apply.label"),onClick:ae[3]||(ae[3]=Ee=>V.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",aB,[r.createVNode(bu,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(We=t.project)==null?void 0:We.estimationUnit,onAddMilestone:f,onBulkAddMilestone:m,onUpdateMilestone:h,onArchiveMilestone:v,onUnarchiveMilestone:b,onAddPhase:s,onUpdatePhase:c,onArchivePhase:u,onUnarchivePhase:d,onCopyPhaseToTemplate:p},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),r.createVNode(Se,{class:"ao-project__sidebar",phases:t.phases,"project-id":t.project.id,"project-name":t.project.name,users:t.users,"is-editable":t.isEditable===!0,"closed-status":t.closedStatus,"time-tracking-data":t.timeTrackingData,onClose:ae[4]||(ae[4]=Ee=>F.$router.push({name:r.unref(Ie).project})),onUpdateMilestone:h,onAddActivity:_,onBulkAddActivity:g,onUpdateActivity:y,onArchiveActivity:k,onUnarchiveActivity:w},null,8,["phases","project-id","project-name","users","is-editable","closed-status","time-tracking-data"]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(Se,{name:"modal",activities:E.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,"dev-statuses":N.value,sprints:I.value,"selected-activity":t.selectedActivity,phases:t.phases,project:t.project,users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":t.loadAttachmentPreview,history:t.history,"history-loading":t.historyLoading,"onUpdate:activity":y,onAddSubtask:C,onUpdateSubtask:S,onDeleteSubtask:A,onAddFiles:L,onRemoveFile:R,onAddComment:D,onUpdateComment:B,onRemoveComment:x,onFetchHistory:ae[5]||(ae[5]=()=>a("fetchHistory"))},{default:r.withCtx(({Component:Ee})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(Ee),null,{default:r.withCtx(ke=>[r.renderSlot(F.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(ke)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","dev-statuses","sprints","selected-activity","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data","load-attachment-preview","history","history-loading"])]))],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[$.value?(r.openBlock(),r.createBlock(Xg,{key:0,phases:t.phases,onClose:ae[6]||(ae[6]=Ee=>$.value=!1),onSave:oe},null,8,["phases"])):r.createCommentVNode("",!0),V.value?(r.openBlock(),r.createBlock(Jg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:ae[7]||(ae[7]=Ee=>V.value=!1),onApply:le},null,8,["project-id","templates"])):r.createCommentVNode("",!0),U.value?(r.openBlock(),r.createBlock(hu,{key:2,open:U.value,"onUpdate:open":ae[8]||(ae[8]=Ee=>U.value=Ee),title:F.$t("project.bulk.modal.phase.title"),"root-type":"phase","is-loading":Y.value,onSubmit:xe},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))],64)}}}),j_e="",sB=["disabled"],lB={class:"ao-priority-badge__value"},fl=r.defineComponent({__name:"AoPriorityBadge",props:{priority:{},clickable:{type:Boolean}},emits:["click"],setup(t,{emit:e}){const n=e,o=()=>{n("click")};return(a,i)=>t.priority?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:r.normalizeClass(["ao-priority-badge",`ao-priority-badge--${t.priority.toLowerCase()}`,t.clickable?"ao-priority-badge--clickable":""]),disabled:!t.clickable,onClick:r.withModifiers(o,["stop"])},[r.createElementVNode("span",lB,r.toDisplayString(t.priority),1),i[0]||(i[0]=r.createElementVNode("span",{class:"ao-priority-badge__hover"},"+",-1))],10,sB)):r.createCommentVNode("",!0)}}),q_e="",cB={class:"ao-card-feed__header"},dB={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},uB={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},pB={class:"ao-card-feed__body"},fB={key:0,class:"ao-card-feed__breadcrumbs"},mB={class:r.normalizeClass(["ao-card-feed__title-group"])},hB={class:"ao-card-feed__title-line"},gB={key:0,class:"ao-card-feed__slug"},bB={key:1,class:"ao-card-feed__deadline"},_B={class:"ao-card-feed__footer"},yB={class:"ao-card-feed__footer-row"},vB={class:"ao-assignees"},kB={key:0,class:"ao-assignee"},CB=["title"],wB={key:2,class:"ao-card-feed__subitems"},xB={key:0,class:"ao-card-feed__subitem"},EB={class:"ao-card-feed__subitem"},SB={key:1,class:"ao-card-feed__subitem"},AB={class:"ao-card-feed__subitem"},TB={class:"ao-card-feed__timer-wrapper"},NB={class:"ao-card-feed__footer-row"},DB={key:0,class:"ao-card-feed__progress-wrapper"},BB={class:"ao-card-feed__subitem"},$B={class:"ao-card-feed__subitem"},_u=r.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},priority:{},blocked:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{},sprint:{}},emits:["removeAssignee","updateActivity","startTimer"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),i=r.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),s=b=>{o("updateActivity",{id:n.id,name:b})},l=r.computed(()=>n.tagType==="milestone"&&n.phaseName?`${n.phaseName}`:n.phaseName&&n.milestoneName?`${n.phaseName} / ${n.milestoneName}`:""),c=r.computed(()=>n.assignee?[n.assignee]:[]),u=r.computed(()=>vr(n.deadline)),d=b=>{o("removeAssignee",b)},p=()=>{if(!n.priority||!n.isEditable)return;const b={P0:"P2",P1:"P0",P2:"P1"};o("updateActivity",{id:n.id,priority:b[n.priority]})},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},m=r.computed(()=>{var b;return(b=n.tasks)==null?void 0:b.length}),h=r.computed(()=>{var b;return(b=n.tasks)==null?void 0:b.filter(_=>_.isDone).length}),v=r.computed(()=>(h.value||0)/(m.value||1));return(b,_)=>(r.openBlock(),r.createBlock(cl,{class:r.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":t.isClosed}]),"is-clickable":!0,variant:t.blocked?"danger":"default"},{header:r.withCtx(()=>[r.createElementVNode("div",cB,[a.value?(r.openBlock(),r.createBlock(ca,{key:0,label:a.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":i.value},null,8,["label","color","raw-color"])):r.createCommentVNode("",!0),t.isPrivate||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",dB,[t.isPrivate?(r.openBlock(),r.createBlock(Ce,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(Ce,{key:1,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),b.$slots.secondary?(r.openBlock(),r.createElementBlock("div",uB,[r.renderSlot(b.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",pB,[l.value?(r.openBlock(),r.createElementBlock("span",fB,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",mB,[r.createElementVNode("div",hB,[t.slug?(r.openBlock(),r.createElementBlock("span",gB,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(mt,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":s},null,8,["id","title","is-editable"])])]),t.deadline?(r.openBlock(),r.createElementBlock("span",bB,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",_B,[r.createElementVNode("div",yB,[r.createElementVNode("ul",vB,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,g=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:g.id},[g?(r.openBlock(),r.createElementBlock("li",kB,[r.createVNode(Jt,{"user-name":r.unref(tp)(g),"avatar-url":g.avatarUrl,"is-closable":!0,onClose:()=>d(g.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.priority?(r.openBlock(),r.createBlock(fl,{key:0,priority:t.priority,clickable:t.isEditable,onClick:p},null,8,["priority","clickable"])):r.createCommentVNode("",!0),t.sprint?(r.openBlock(),r.createElementBlock("span",{key:1,class:"ao-card-feed__sprint",title:t.sprint.label?`Sprint ${t.sprint.number}: ${t.sprint.label}`:`Sprint ${t.sprint.number}`}," Sprint "+r.toDisplayString(t.sprint.number),9,CB)):r.createCommentVNode("",!0),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",wB,[t.comments?(r.openBlock(),r.createElementBlock("li",xB,[r.createVNode(Ce,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",EB,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",SB,[r.createVNode(Ce,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",AB,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",TB,[r.createVNode(Ce,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",NB,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",DB,[r.createElementVNode("div",BB,[r.createVNode(Ce,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",$B,r.toDisplayString(h.value)+" / "+r.toDisplayString(m.value),1)]),r.createVNode(dl,{percentages:v.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}}),U_e="",LB={class:"ao-project-milestone"},MB={class:"ao-project-milestone__header"},VB={class:"ao-project-milestone__header_line"},OB={class:"ao-project-milestone__header_line"},IB={class:"ao-project-milestone__title"},PB={key:0,class:"ao-fieldset ao-milestone__fieldset"},RB={class:"ao-field__row ao-milestone__field-row"},FB={class:"ao-field ao-field--inline"},zB={class:"ao-field__row ao-milestone__field-row"},jB={class:"ao-field ao-milestone__field-multiselect"},qB={class:"ao-milestone__color-actions"},UB=["onClick"],HB=["title","onClick"],WB=["onClick"],ZB=["onClick"],KB={class:"ao-project-milestone__body"},GB={key:0,class:"ao-project-milestone__footer"},YB=["onClick"],JB=["onClick"],Qg=r.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","bulkAddActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=E=>{var N;a("startTimer",E),(N=window.parent)==null||N.postMessage({type:"startTimer",data:E},"*")},s=r.computed(()=>{var E;return(E=o.phases)==null?void 0:E.find(N=>N.id===o.phaseId)}),l=r.computed(()=>{var E;return(E=o.phases)==null?void 0:E.flatMap(N=>N.milestones)}),c=r.computed(()=>{var E;return(E=l.value)==null?void 0:E.find(N=>N.id===o.milestoneId)}),u=r.computed(()=>{var E;return(E=c.value)==null?void 0:E.activities});r.watch(u,(E,N)=>{Kn(E,N)});const d=E=>{a("close",E)},p=()=>{const{name:E,rank:N}=ur(u.value??[],"activity",n);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},f=()=>{const E=n("template.defaultName.activity",{idx:1}),N=wa(u.value??[]);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},m=r.ref(!1),h=r.ref(!1),v=E=>{h.value=!0;const N=yD(E,u.value??[]);a("bulkAddActivity",{projectId:o.projectId,phaseId:o.phaseId,milestoneId:o.milestoneId,activities:N,onSuccess:()=>{h.value=!1,m.value=!1},onError:()=>{h.value=!1}})};r.watch(m,E=>{E&&(h.value=!1)});const b=E=>{a("updateActivity",E)},_=E=>{u.value&&"moved"in E&&a("updateActivity",{id:E.moved.element.id,rank:yr(u.value,E.moved.newIndex)})},g=r.computed({get:()=>{var E;return(E=c.value)==null?void 0:E.color},set:E=>{c.value&&a("updateMilestone",{id:c.value.id,color:E})}}),y=r.computed({get:()=>{var E;return((E=c.value)==null?void 0:E.deadline)??""},set:E=>{c.value&&a("updateMilestone",{id:c.value.id,deadline:E!=null&&E.length?E:null})}}),k=E=>o.closedStatus?Nl(E,o.closedStatus):!1,w=r.computed(()=>{var E;return((E=o.users)==null?void 0:E.map(N=>({label:`${N.firstName} ${N.lastName}`,value:N.id,avatar:N.avatarUrl})))||[]}),C=r.computed({get(){var E,N;return(N=(E=c.value)==null?void 0:E.assignee)!=null&&N.id?[c.value.assignee.id]:[]},set(E){a("updateMilestone",{id:o.milestoneId,assigneeId:E[0]??null})}}),S=r.computed({get(){var E;return((E=c.value)==null?void 0:E.important)??!1},set(E){a("updateMilestone",{id:o.milestoneId,important:E})}}),A=(E,N)=>{const I=E.currentTarget;I instanceof HTMLElement&&N(I)};return(E,N)=>{var I;return r.openBlock(),r.createElementBlock("div",LB,[r.createElementVNode("header",MB,[r.createElementVNode("div",VB,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),r.createElementVNode("div",OB,[r.createElementVNode("div",IB,[r.createVNode(mt,{title:((I=c.value)==null?void 0:I.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(qg,{modelValue:S.value,"onUpdate:modelValue":N[0]||(N[0]=L=>S.value=L),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:E.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(r.openBlock(),r.createElementBlock("div",PB,[r.createElementVNode("div",RB,[r.createElementVNode("label",FB,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=L=>y.value=L),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,y.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",zB,[r.createElementVNode("label",jB,[r.createVNode(ht,{modelValue:C.value,"onUpdate:modelValue":N[2]||(N[2]=L=>C.value=L),options:w.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:E.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:r.withCtx(({option:L,handleTagRemove:R})=>[r.createVNode(Jt,{"user-name":L.label,"avatar-url":L.avatar,"is-closable":!0,onClose:D=>R(L,D)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",qB,[r.createVNode(aa,{color:g.value,"onUpdate:color":N[3]||(N[3]=L=>g.value=L)},{clickable:r.withCtx(({openPicker:L,bgColor:R})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:R}),class:"color-button",onClick:D=>A(D,L)},null,12,UB)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createBlock(ul,{key:0,placement:"bottom-end"},{trigger:r.withCtx(({open:L})=>[r.createElementVNode("button",{type:"button",class:"ao-project-milestone__quick-add",title:E.$t("project.activity.add"),onClick:L},[r.createVNode(Ce,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,HB)]),menu:r.withCtx(({close:L})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),f()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,WB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,ZB)]),_:1})):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",KB,[r.createVNode(r.unref(Cn),r.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},E.$attrs,{onChange:_}),{item:r.withCtx(({element:L})=>{var R,D,B,x,V;return[r.createVNode(_u,{id:L.id,name:L.name||L.id,"project-id":t.projectId,"phase-name":(R=s.value)==null?void 0:R.name,"milestone-name":(D=c.value)==null?void 0:D.name,"milestone-color":(B=c.value)==null?void 0:B.color,deadline:L.deadline,priority:L.priority,sprint:L.sprint,blocked:L.blocked,users:t.users,assignee:L.assignee,slug:L.slug,comments:(x=L.comments)==null?void 0:x.length,attachments:(V=L.attachments)==null?void 0:V.length,tasks:L.tasks,"is-editable":t.isEditable,"is-private":L.private,"is-closed":k(L),onClick:$=>E.$router.push({name:r.unref(Ie).activity,params:{milestoneId:t.milestoneId,activityId:L.id}}),onUpdateActivity:b,onRemoveAssignee:()=>b({id:L.id,assigneeId:null}),onStartTimer:i},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&L.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:E.$t("archive"),onClick:r.withModifiers(()=>E.$emit("archiveActivity",{id:L.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!L.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:E.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>E.$emit("unarchiveActivity",{id:L.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","project-id","phase-name","milestone-name","milestone-color","deadline","priority","sprint","blocked","users","assignee","slug","comments","attachments","tasks","is-editable","is-private","is-closed","onClick","onRemoveAssignee"])]}),_:1},16,["list","disabled"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",GB,[r.createVNode(ul,null,{trigger:r.withCtx(({open:L})=>[r.createVNode(co,{"icon-name":"Add",label:E.$t("project.activity.add"),onClick:L},null,8,["label","onClick"])]),menu:r.withCtx(({close:L})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),p()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,YB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{L(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,JB)]),_:1})])):r.createCommentVNode("",!0)]),m.value?(r.openBlock(),r.createBlock(hu,{key:0,open:m.value,"onUpdate:open":N[4]||(N[4]=L=>m.value=L),title:E.$t("project.bulk.modal.activity.title"),"root-type":"activity","is-loading":h.value,onSubmit:v},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)])}}}),H_e="",XB=r.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},devStatuses:{},activities:{},selectedActivity:{},isTaskCheckable:{},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{},sprints:{},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","createSprint","fetchHistory"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>{var _;return(_=n.phases)==null?void 0:_.find(g=>g.id===n.phaseId)}),i=r.computed(()=>{var _;return(_=n.phases)==null?void 0:_.flatMap(g=>g.milestones)}),s=r.computed(()=>{var _;return(_=i.value)==null?void 0:_.find(g=>g.id===n.milestoneId)}),l=r.computed(()=>{var _;return n.selectedActivity??((_=n.activities)==null?void 0:_.find(g=>g.id===n.activityId))}),c=_=>{o("update:activity",_)},u=_=>{o("addSubtask",_)},d=_=>{o("updateSubtask",_)},p=_=>{o("deleteSubtask",_)},f=_=>{o("addFiles",_)},m=_=>{o("removeFile",_)},h=_=>{o("addComment",_)},v=_=>{o("updateComment",_)},b=_=>{o("removeComment",_)};return(_,g)=>{var y,k;return l.value?(r.openBlock(),r.createBlock(ll,{key:0,activity:l.value,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":t.milestoneId,"template-activities":t.activities,"is-template":!1,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:`${(y=a.value)==null?void 0:y.name} / ${(k=s.value)==null?void 0:k.name}`,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:[t.project],"time-tracking-data":t.timeTrackingData,"load-attachment-preview":n.loadAttachmentPreview,sprints:t.sprints,history:t.history,"history-loading":t.historyLoading,onClose:_.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:p,onAddFiles:f,onRemoveFile:m,onAddComment:h,onUpdateComment:v,onRemoveComment:b,onCreateSprint:g[0]||(g[0]=w=>o("createSprint",w)),onFetchHistory:g[1]||(g[1]=()=>o("fetchHistory"))},{default:r.withCtx(w=>[r.renderSlot(_.$slots,"default",r.normalizeProps(r.guardReactiveProps(w)))]),_:3},8,["activity","activity-types","dev-statuses","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview","sprints","history","history-loading","onClose"])):r.createCommentVNode("",!0)}}}),QB={class:"ao-col-header"},e$=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",QB,[r.createVNode(mt,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(ca,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}}),W_e="";function t$(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function ml(t){return typeof t=="function"?t():r.unref(t)}const n$=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const o$=t=>t!=null,fi=()=>{};function r$(t,e){function n(...o){return new Promise((a,i)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(a).catch(i)})}return n}function a$(t,e={}){let n,o,a=fi;const i=l=>{clearTimeout(l),a(),a=fi};return l=>{const c=ml(t),u=ml(e.maxWait);return n&&i(n),c<=0||u!==void 0&&u<=0?(o&&(i(o),o=null),Promise.resolve(l())):new Promise((d,p)=>{a=e.rejectOnCancel?p:d,u&&!o&&(o=setTimeout(()=>{n&&i(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&i(o),o=null,d(l())},c)})}}function i$(t,e=200,n={}){return r$(a$(e,n),t)}function yu(t){var e;const n=ml(t);return(e=n==null?void 0:n.$el)!=null?e:n}const s$=n$?window:void 0;function l$(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function c$(t){const e=l$();return r.computed(()=>(e.value,!!t()))}function d$(t,e,n={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:s=s$,immediate:l=!0}=n,c=c$(()=>s&&"IntersectionObserver"in s),u=r.computed(()=>{const h=ml(t);return(Array.isArray(h)?h:[h]).map(yu).filter(o$)});let d=fi;const p=r.ref(l),f=c.value?r.watch(()=>[u.value,yu(o),p.value],([h,v])=>{if(d(),!p.value||!h.length)return;const b=new IntersectionObserver(e,{root:yu(v),rootMargin:a,threshold:i});h.forEach(_=>_&&b.observe(_)),d=()=>{b.disconnect(),d=fi}},{immediate:l,flush:"post"}):fi,m=()=>{d(),f(),p.value=!1};return t$(m),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:m}}const u$={class:r.normalizeClass(["ao-list-kanban"])},p$={class:"ao-list-kanban__header"},f$=["title"],m$={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},h$={key:1,class:"ao-list-kanban__end"},g$={key:0,class:"ao-list-kanban__no-more"},b$={key:1,class:"ao-list-kanban__divider"},_$={key:1,class:"ao-list-kanban__footer"},y$=r.defineComponent({__name:"AoListKanban",props:{list:{},status:{},users:{},userId:{},title:{},footerLabel:{},isLoading:{type:Boolean},hasMore:{type:Boolean},noMoreLabel:{},isEditable:{type:[Boolean,String]},tagType:{},showHeaderAdd:{type:Boolean},isDevMode:{type:Boolean}},emits:["add","addAtBeginning","update:list","change:list","loadMore","selectActivity","archiveActivity","unarchiveActivity","updateActivity","startTimer"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(!1),i=r.ref(null);d$(i,([{isIntersecting:p}])=>{a.value=p}),r.watch(a,p=>{p&&n.hasMore&&!n.isLoading&&o("loadMore")});const s=p=>{var f;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((f=p.assignee)==null?void 0:f.id):!1},l=p=>{o("selectActivity",p)},c=p=>{o("updateActivity",p)},u=p=>{if("added"in p){const f={id:p.added.element.id,rank:yr(n.list,p.added.newIndex)};n.isDevMode?f.statusDevId=n.status.id:f.statusId=n.status.id,o("updateActivity",f)}else"removed"in p||"moved"in p&&o("updateActivity",{id:p.moved.element.id,rank:yr(n.list,p.moved.newIndex)})},d=r.ref(!1);return(p,f)=>(r.openBlock(),r.createElementBlock("div",u$,[t.title||p.$slots.header?r.renderSlot(p.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",p$,[t.title?(r.openBlock(),r.createBlock(e$,{key:0,class:"ao-list-kanban__col-header",title:t.title,level:3,items:(m=t.list)==null?void 0:m.length},null,8,["title","items"])):r.createCommentVNode("",!0),t.showHeaderAdd?(r.openBlock(),r.createElementBlock("button",{key:1,class:"ao-list-kanban__header-add",title:p.$t("feed.activity.add"),onClick:f[0]||(f[0]=h=>p.$emit("addAtBeginning"))},[r.createVNode(Ce,{name:"Add"})],8,f$)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(Cn),r.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},p.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:f[2]||(f[2]=m=>d.value=!0),onEnd:f[3]||(f[3]=m=>d.value=!1)}),{item:r.withCtx(({element:m})=>{var h,v,b,_,g,y,k,w,C,S;return[r.createVNode(_u,{id:m.id,class:r.normalizeClass(s(m)?"ao-list-draggable":""),name:m.name,"project-name":(h=m.project)==null?void 0:h.name,"project-id":(v=m.project)==null?void 0:v.id,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(g=(_=m.milestone)==null?void 0:_.phase)==null?void 0:g.name,"milestone-name":(y=m.milestone)==null?void 0:y.name,"milestone-color":(k=m.milestone)==null?void 0:k.color,deadline:m.deadline,rules:((w=m.rules)==null?void 0:w.length)||0,tasks:m.tasks,description:m.description,priority:m.priority,sprint:m.sprint,blocked:m.blocked,type:m.type,comments:(C=m.comments)==null?void 0:C.length,attachments:(S=m.attachments)==null?void 0:S.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[A=>s(m)&&c(A),()=>s(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>s(m)&&c({id:m.id,assigneeId:null}),onStartTimer:f[1]||(f[1]=A=>p.$emit("startTimer",A))},{secondary:r.withCtx(()=>[s(m)&&m.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.$t("feed.activity.archive"),onClick:r.withModifiers(()=>p.$emit("archiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),s(m)&&!m.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>p.$emit("unarchiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0)]),_:2},1032,["id","class","name","project-name","project-id","project-color","phase-name","milestone-name","milestone-color","deadline","rules","tasks","description","priority","sprint","blocked","type","comments","attachments","users","assignee","slug","is-editable","is-private","tag-type","onUpdateActivity","onClick","onRemoveAssignee"])]}),footer:r.withCtx(()=>[t.isLoading?(r.openBlock(),r.createElementBlock("div",m$,[r.createVNode(Ce,{name:"Loading"})])):t.hasMore?(r.openBlock(),r.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:i,class:"ao-list-kanban__end"},null,512)):(r.openBlock(),r.createElementBlock("div",h$,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",g$,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",b$)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),p.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",_$,[r.renderSlot(p.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(co,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:f[4]||(f[4]=m=>p.$emit("add"))},null,8,["label"])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]))}}),Z_e="",v$={class:"ao-field ao-search-field"},k$=["value","placeholder"],C$=r.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(t,{emit:e}){const n=t,o=e,a=async l=>{const u=l.target.value;o("update:modelValue",u,l)},i=i$(a,n.delay),s=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",v$,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>r.unref(i)&&r.unref(i)(...u)),onKeypress:r.withKeys(a,["enter"])},null,40,k$),r.createVNode(Ce,{name:"SearchRounded",class:r.normalizeClass(`ao-search-field__icon ao-search-field__action ${t.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),r.createVNode(ue,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:r.normalizeClass(`ao-search-field__button ao-search-field__action ${t.modelValue?"ao-search-field__action--visible":""}`),onClick:s},null,8,["class"])]))}}),K_e="",w$={class:"ao-sprint-metrics"},x$=["onClick"],E$={class:"ao-sprint-metrics__header-left"},S$={class:"ao-sprint-metrics__icon"},A$={class:"ao-sprint-metrics__title"},T$={class:"ao-sprint-metrics__dates"},N$={key:0,class:"ao-sprint-metrics__project"},D$={class:"ao-sprint-metrics__advancement"},B$={class:"ao-sprint-metrics__progress-bar"},$$={class:"ao-sprint-metrics__percent"},L$={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},M$={class:"ao-sprint-metrics__tooltip-row"},V$={class:"ao-sprint-metrics__tooltip-row"},O$={class:"ao-sprint-metrics__tooltip-row"},I$={class:"ao-sprint-metrics__tooltip-row"},P$={class:"ao-sprint-metrics__tooltip-row"},R$={class:"ao-sprint-metrics__tooltip-row"},F$={class:"ao-sprint-metrics__tooltip-row"},z$={class:"ao-sprint-metrics__content"},j$={class:"ao-sprint-metrics__grid"},q$={class:"ao-sprint-metrics__item"},U$={class:"ao-sprint-metrics__label"},H$={class:"ao-sprint-metrics__value"},W$={key:0,class:"ao-sprint-metrics__tooltip"},Z$={class:"ao-sprint-metrics__tooltip-title"},K$={class:"ao-sprint-metrics__item"},G$={class:"ao-sprint-metrics__label"},Y$={class:"ao-sprint-metrics__value"},J$={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},X$={class:"ao-sprint-metrics__label"},Q$={class:"ao-sprint-metrics__input-row"},eL=["value","placeholder","onInput"],tL={class:"ao-sprint-metrics__unit"},nL={key:0,class:"ao-sprint-metrics__secondary"},oL={class:"ao-sprint-metrics__item"},rL={class:"ao-sprint-metrics__label"},aL={class:"ao-sprint-metrics__value"},iL=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},setup(t){const e=D=>D.label?`Sprint ${D.number}: ${D.label}`:`Sprint ${D.number}`,n=t,{t:o}=Ge(),a=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),l=D=>{i.value.has(D)?i.value.delete(D):i.value.add(D)},c=D=>n.projects.find(B=>B.id===D.projectId),u=D=>{var B;return((B=n.planningData[D])==null?void 0:B.plannedManDays)??0},d=D=>{var B;return((B=n.planningData[D])==null?void 0:B.remainingPlannedManDays)??0},p=D=>{var B;return((B=n.planningData[D])==null?void 0:B.users)??[]},f=D=>n.activities.filter(B=>{var x;return((x=B.sprint)==null?void 0:x.id)===D}).reduce((B,x)=>B+(x.estimation??0),0),m=D=>n.activities.filter(B=>{var V,$;if(((V=B.sprint)==null?void 0:V.id)!==D)return!1;const x=($=B.devStatus)==null?void 0:$.name;return x&&a.includes(x)}).reduce((B,x)=>B+(x.estimation??0),0),h=D=>{const B=n.sprints.find(V=>V.id===D),x=B?c(B):void 0;return(x==null?void 0:x.estimationUnit)==="hours"?"hours":"points"},v=(D,B)=>h(D)==="hours"?B*n.businessDayHours:B,b=D=>h(D)==="hours"?o("activity.estimationUnit.hoursShort"):o("activity.estimationUnit.pointsShort"),_=D=>{const B=v(D,u(D));return B<=0?0:f(D)/B},g=D=>{if(s.value[D]!==void 0)return s.value[D];const B=n.sprints.find(x=>x.id===D);if(B){const x=c(B);if((x==null?void 0:x.velocity)!==void 0&&x.velocity>0)return x.velocity}return 1},y=(D,B)=>{const x=parseFloat(B);isNaN(x)||x<=0?delete s.value[D]:s.value[D]=x},k=D=>{const B=g(D);return B===void 0?0:v(D,u(D))*B},w=D=>{const B=k(D);return B<=0?null:f(D)/B},C=D=>{const B=w(D);return B===null?0:Math.round(B*100)},S=D=>{const B=f(D);if(B<=0)return 0;const x=m(D);return Math.round(x/B*100)},A=D=>{const B=f(D),x=m(D);return Math.max(0,B-x)},E=D=>{const B=v(D,d(D)),x=_(D);return B*x},N=D=>{const B=E(D),x=A(D);return B<=0&&x>0?!1:B<x},I=D=>D.toFixed(1),L=(D,B)=>`${D.toFixed(2)} pts / ${b(B)}`,R=(D,B)=>{const x=new Date(D),V=new Date(B),$={day:"numeric",month:"short"};return`${x.toLocaleDateString("en-UK",$)} – ${V.toLocaleDateString("en-UK",$)}`};return(D,B)=>(r.openBlock(),r.createElementBlock("div",w$,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,x=>{var V;return r.openBlock(),r.createElementBlock("div",{key:x.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:$=>l(x.id)},[r.createElementVNode("div",E$,[r.createElementVNode("span",S$,r.toDisplayString(i.value.has(x.id)?"▸":"▾"),1),r.createElementVNode("span",A$,r.toDisplayString(e(x)),1),r.createElementVNode("span",T$," · "+r.toDisplayString(R(x.startDate,x.endDate)),1),!i.value.has(x.id)&&c(x)?(r.openBlock(),r.createElementBlock("span",N$," · "+r.toDisplayString((V=c(x))==null?void 0:V.name),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__header-right",{"ao-sprint-metrics__header-right--behind":N(x.id)}])},[r.createElementVNode("div",D$,[r.createElementVNode("div",B$,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":N(x.id)}]),style:r.normalizeStyle({width:S(x.id)+"%"})},null,6)]),r.createElementVNode("span",$$,r.toDisplayString(S(x.id))+"% ",1),r.createElementVNode("div",L$,[B[7]||(B[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",M$,[B[0]||(B[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(S(x.id))+"%",1)]),r.createElementVNode("span",V$,[B[1]||(B[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(I(m(x.id)))+" / "+r.toDisplayString(I(f(x.id)))+" pts ",1)]),r.createElementVNode("span",O$,[B[2]||(B[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(I(A(x.id)))+" pts",1)]),B[8]||(B[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",I$,[B[3]||(B[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(I(E(x.id)))+" pts",1)]),r.createElementVNode("span",P$,[B[4]||(B[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(I(d(x.id)))+" MD",1)]),r.createElementVNode("span",R$,[B[5]||(B[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(L(_(x.id),x.id)),1)]),B[9]||(B[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",F$,[B[6]||(B[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(N(x.id)?"Behind plan":"On track"),1)])])])],2)],8,x$),r.withDirectives(r.createElementVNode("div",z$,[r.createElementVNode("div",j$,[r.createElementVNode("div",q$,[r.createElementVNode("div",U$,r.toDisplayString(r.unref(o)("sprintMetrics.manDaysPlanned")),1),r.createElementVNode("div",H$,[r.createElementVNode("span",{class:r.normalizeClass(["ao-sprint-metrics__man-days",{"ao-sprint-metrics__man-days--has-tooltip":p(x.id).length>0}])},[r.createTextVNode(r.toDisplayString(I(u(x.id)))+" MD ",1),p(x.id).length>0?(r.openBlock(),r.createElementBlock("span",W$,[r.createElementVNode("span",Z$,r.toDisplayString(I(u(x.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p(x.id),$=>(r.openBlock(),r.createElementBlock("span",{key:$.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString($.fullName),1),r.createElementVNode("span",null,r.toDisplayString(I($.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",K$,[r.createElementVNode("div",G$,r.toDisplayString(r.unref(o)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",Y$,r.toDisplayString(I(f(x.id)))+" pts ",1)]),r.createElementVNode("div",J$,[r.createElementVNode("div",X$,r.toDisplayString(r.unref(o)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",Q$,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:g(x.id),placeholder:r.unref(o)("sprintMetrics.targetVelocityPlaceholder"),onInput:$=>y(x.id,$.target.value)},null,40,eL),r.createElementVNode("span",tL," pts / "+r.toDisplayString(b(x.id)),1)]),_(x.id)>0?(r.openBlock(),r.createElementBlock("div",nL,r.toDisplayString(r.unref(o)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(L(_(x.id),x.id)),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",oL,[r.createElementVNode("div",rL,r.toDisplayString(r.unref(o)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",aL,[w(x.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(C(x.id))+"% · "+r.toDisplayString(I(f(x.id)))+" / "+r.toDisplayString(I(k(x.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(x.id)]])])}),128))]))}}),G_e="",sL=te(iL,[["__scopeId","data-v-f3ddff2c"]]),lL={class:"ao-feed"},cL={class:"ao-feed__filters"},dL={class:"ao-feed__body"},vu=r.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},columnStatuses:{default:void 0},devStatuses:{default:()=>[]},project:{default:void 0},projects:{default:()=>[]},filters:{},activityTypes:{default:()=>[]},users:{},activityDetailsUsers:{default:()=>[]},userId:{},initialActivityId:{default:void 0},initialActivitySlug:{default:void 0},searchText:{default:""},showsArchivedActivities:{type:Boolean},showsOnlyImportant:{type:Boolean},showsOnlyNonAssigned:{type:Boolean},selectedActivity:{default:void 0},isTaskCheckable:{type:Function,default:void 0},isEditable:{type:[Boolean,String]},attachmentEnabled:{type:Boolean,default:!0},timeTrackingData:{default:()=>({})},loadAttachmentPreview:{type:Function,default:void 0},feedMode:{default:"standard"},sprints:{default:()=>[]},activitySprints:{default:()=>[]},milestones:{default:()=>[]},sprintPlanningData:{default:()=>({})},history:{default:()=>[]},historyLoading:{type:Boolean,default:!1}},emits:["change:activities","addActivity","update:filters","selectActivity","update:activity","archiveActivity","unarchiveActivity","update:searchText","clear:searchText","update:showsArchivedActivities","update:showsOnlyImportant","update:showsOnlyNonAssigned","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","toast","startTimer","createSprint","fetchHistory"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;function i(z,se){a("toast",z,se)}const s=r.toRef(o,"activities"),l=r.computed(()=>o.feedMode==="dev"?o.devStatuses:o.columnStatuses??o.statuses),c=r.computed(()=>o.feedMode==="dev"?s.value.filter(z=>z.activityType==="dev"):s.value),u=async(z,se)=>{await a("selectActivity",z,se)},d=r.ref({}),p=r.ref(!1),f=r.ref(!1),m=r.computed(()=>o.project?"milestone":"project");r.watch([()=>l.value,()=>c.value,()=>o.initialActivityId,()=>o.initialActivitySlug,()=>o.feedMode],async([z,se,be,fe],[Ye,$e])=>{const Le=o.feedMode==="dev"?"devStatus":"status";d.value=Object.fromEntries(z.map(Fe=>[Fe.id,se.filter(Je=>{const Xe=Je[Le];return(Xe==null?void 0:Xe.id)===Fe.id})])),be&&!p.value?(u(be,null),p.value=!0):fe&&!p.value&&(u(null,fe),p.value=!0),f.value&&Kn(se,$e)},{immediate:!0});const h=r.computed(()=>{var z;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((z=o.selectedActivity.milestone.phase)==null?void 0:z.name)??""} / ${o.selectedActivity.milestone.name??""}`}),v=z=>{var Fe;const se=o.feedMode==="dev"?o.activities.filter(Je=>Je.activityType==="dev"):o.activities,be=se==null?void 0:se.at(-1),fe=be?et.LexoRank.parse(be.rank).genNext():et.LexoRank.middle(),Ye=((Fe=o.activities)==null?void 0:Fe.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ye+1}),rank:fe.format(),...$e?{statusDevId:z.id,type:"dev"}:{statusId:z.id}};if(o.filters.assigneeId.length>0&&(Le.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(Le.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Je=o.sprints.find(Xe=>Xe.id===o.filters.sprintId[0]);Je&&(Le.sprintId=Je.id,Le.projectId=Je.projectId)}f.value=!0,a("addActivity",Le)},b=z=>{var Fe,Je;const se=o.feedMode==="dev"?"devStatus":"status",be=((Fe=o.activities)==null?void 0:Fe.filter(Xe=>{const Me=Xe[se];return(Me==null?void 0:Me.id)===z.id}))??[],fe=wa(be),Ye=((Je=o.activities)==null?void 0:Je.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ye+1}),rank:fe,...$e?{statusDevId:z.id,type:"dev"}:{statusId:z.id}};if(o.filters.assigneeId.length>0&&(Le.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(Le.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Xe=o.sprints.find(Me=>Me.id===o.filters.sprintId[0]);Xe&&(Le.sprintId=Xe.id,Le.projectId=Xe.projectId)}f.value=!0,a("addActivity",Le)},_=(z,se)=>{f.value=!1,a("update:filters",{...o.filters,[z]:se})},g=r.computed(()=>o.project?[o.project]:o.projects??[]),y=r.computed(()=>g.value.map(z=>({value:z.id,label:z.name}))),k=r.computed(()=>o.sprints.map(z=>({value:z.id,label:n("activity.sprint.filterLabel",{number:z.number,label:z.label}),startDate:z.startDate,endDate:z.endDate,projectId:z.projectId}))),w=r.computed(()=>{const z=o.filters[sn.sprint]??[];return o.sprints.filter(se=>z.includes(se.id))}),C=r.computed(()=>{var be;const z=o.filters[sn.project]??[],se=(be=o.project)!=null&&be.id?[o.project.id]:[];return[...z,...se]}),S=r.computed(()=>o.milestones.map(z=>{var se;return{value:z.id,label:(se=z.phase)!=null&&se.name?`${z.phase.name} - ${z.name}`:z.name,color:z.color,important:z.important}}));r.computed(()=>{var z;return(z=o.activityTypes)==null?void 0:z.map(se=>({value:se.id,label:se.name}))});const A=r.computed(()=>o.users.map(z=>({value:z.id,label:`${z.firstName} ${z.lastName}`,avatar:z.avatarUrl}))),E=z=>{o.selectedActivity&&a("update:activity",z)},N=z=>{a("update:activity",z)},I=z=>{a("archiveActivity",z)},L=z=>{a("unarchiveActivity",z)},R=z=>{var se;a("startTimer",z),(se=window.parent)==null||se.postMessage({type:"startTimer",data:z},"*")},D=z=>{f.value=!1,a("update:searchText",z)},B=z=>{f.value=!1,a("clear:searchText",z)},x=z=>{o.selectedActivity&&a("addSubtask",z)},V=z=>{o.selectedActivity&&a("updateSubtask",z)},$=z=>{o.selectedActivity&&a("deleteSubtask",z)},U=z=>{a("addFiles",z)},Y=z=>{a("removeFile",z)},le=z=>{o.selectedActivity&&a("addComment",{...z,activityId:o.selectedActivity.id})},oe=z=>{const{id:se}=o.selectedActivity||{};se&&a("updateComment",z)},xe=z=>{const{id:se}=o.selectedActivity||{};se&&a("removeComment",z)},re=vt.useRouter(),ne=vt.useRoute(),j=r.ref("feed");r.watch(()=>ne.name,z=>{z===mr.feed||z==="ActivityFeed"||z==="ActivityFeedWithActivity"?j.value="feed":z===mr.dev||z==="ActivityFeedDev"||z==="ActivityFeedDevWithActivity"?j.value="dev":z===Ie.feed?j.value="feed":z===Ie.dev?j.value="dev":z===Ie.project?j.value="overview":z===Ie.mapping&&(j.value="mapping")},{immediate:!0});const F=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],ae=r.computed(()=>Se.value?F.filter(z=>z.value==="feed"||z.value==="dev"):F),Se=r.computed(()=>!o.project&&ne.name&&(ne.name===mr.feed||ne.name===mr.dev||ne.name==="ActivityFeed"||ne.name==="ActivityFeedDev"||ne.name==="ActivityFeedWithActivity"||ne.name==="ActivityFeedDevWithActivity")),We=r.computed(()=>Se.value?mr.feed:Ie.feed),Ee=r.computed(()=>Se.value?mr.dev:Ie.dev),ke=r.computed(()=>Ie.project),Et=r.computed(()=>Ie.mapping);return r.watch(j,z=>{z==="feed"?re.push({name:We.value}):z==="dev"?re.push({name:Ee.value}):z==="overview"?re.push({name:ke.value}):z==="mapping"&&re.push({name:Et.value})}),(z,se)=>{var be;return r.openBlock(),r.createElementBlock("div",lL,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createElementVNode("div",cL,[r.createVNode(pi,{modelValue:j.value,"onUpdate:modelValue":se[0]||(se[0]=fe=>j.value=fe),tabs:ae.value},null,8,["modelValue","tabs"]),r.createVNode(C$,{"model-value":t.searchText,placeholder:z.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":D,onClear:B},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(ht,{key:0,"model-value":t.filters[r.unref(sn).project],mode:"tags",options:y.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:z.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":se[1]||(se[1]=fe=>_(r.unref(sn).project,fe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(ht,{key:1,"model-value":t.filters[r.unref(sn).sprint],mode:"tags",options:k.value,"close-on-select":!1,searchable:!0,disabled:!k.value.length,class:"ao-feed__filter ao-feed__filter__sprints",placeholder:z.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":se[2]||(se[2]=fe=>_(r.unref(sn).sprint,fe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),r.createVNode(ht,{"model-value":t.filters[r.unref(sn).milestone],mode:"tags",options:S.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,disabled:C.value.length===0,class:"ao-feed__filter ao-feed__filter__milestones",placeholder:z.$t("feed.filters.milestone.placeholder"),"onUpdate:modelValue":se[3]||(se[3]=fe=>_(r.unref(sn).milestone,fe))},null,8,["model-value","options","disabled","placeholder"]),A.value.length?(r.openBlock(),r.createBlock(ht,{key:2,"model-value":t.filters[r.unref(sn).assignee],mode:"tags",options:A.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:z.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":se[4]||(se[4]=fe=>_(r.unref(sn).assignee,fe))},{tag:r.withCtx(({option:fe,handleTagRemove:Ye})=>[r.createVNode(Jt,{"user-name":fe.label,"avatar-url":fe.avatar,"is-closable":!0,onClose:$e=>Ye(fe,$e)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):r.createCommentVNode("",!0)]),r.createVNode(ue,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":t.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:se[5]||(se[5]=fe=>z.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__only-p0",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:se[6]||(se[6]=fe=>z.$emit("update:showsOnlyImportant",!t.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:se[7]||(se[7]=fe=>z.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(sL,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:g.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",dL,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,fe=>(r.openBlock(),r.createBlock(y$,{key:fe.id,status:fe,list:d.value[fe.id],title:fe.name,"footer-label":z.$t("feed.activity.add"),users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"tag-type":m.value,"show-header-add":t.isEditable,"is-dev-mode":t.feedMode==="dev",onAdd:()=>v(fe),onAddAtBeginning:()=>b(fe),onSelectActivity:u,onArchiveActivity:I,onUnarchiveActivity:L,onUpdateActivity:N,onStartTimer:R},null,8,["status","list","title","footer-label","users","user-id","is-editable","tag-type","show-header-add","is-dev-mode","onAdd","onAddAtBeginning"]))),128))]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[t.selectedActivity?(r.openBlock(),r.createBlock(ll,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":(be=t.selectedActivity.milestone)==null?void 0:be.id,"template-activities":s.value,users:o.activityDetailsUsers.length>0?o.activityDetailsUsers:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:h.value,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:g.value,"time-tracking-data":t.timeTrackingData,history:t.history,"history-loading":t.historyLoading,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:se[8]||(se[8]=()=>u(null,null)),onFetchHistory:se[9]||(se[9]=()=>a("fetchHistory")),"onUpdate:activity":E,onAddSubtask:x,onUpdateSubtask:V,onDeleteSubtask:$,onAddFiles:U,onRemoveFile:Y,onAddComment:le,onUpdateComment:oe,onRemoveComment:xe,onToast:i,onCreateSprint:se[10]||(se[10]=fe=>a("createSprint",fe))},{default:r.withCtx(fe=>[r.renderSlot(z.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(fe)))]),_:3},8,["activity","activity-types","dev-statuses","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","history","history-loading","load-attachment-preview","sprints"])):r.createCommentVNode("",!0)]))])}}}),Y_e="",uL={class:"ao-project-mapping"},pL={class:"ao-project-mapping-mapping__body"},fL={class:"ao-project-mapping-mapping__phases"},mL={key:0,class:"ao-project-mapping-mapping__image-wrapper"},hL=["src","alt"],gL=r.defineComponent({__name:"AoMapping",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","copyPhaseToTemplate","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=()=>{const{name:g,rank:y}=ur(o.phases,"phase",n);a("addPhase",{name:g,rank:y,projectId:o.project.id})},s=()=>{const g=n("template.defaultName.phase",{idx:1}),y=wa(o.phases);a("addPhase",{name:g,rank:y,projectId:o.project.id})},l=g=>{a("updatePhase",g)},c=g=>{a("archivePhase",g)},u=g=>{a("unarchivePhase",g)},d=g=>{a("copyPhaseToTemplate",g)},p=r.ref(!1),f=r.ref(!1),m=(g,y)=>{a("applyTemplate",{templateId:g,projectId:y}),p.value=!1},h=(g,y)=>{var C;const k=(C=o.templates)==null?void 0:C.at(-1),w=k?et.LexoRank.parse(k.rank).genNext():et.LexoRank.middle();a("saveTemplate",{templateName:g,rank:w.format(),phaseIds:y}),f.value=!1},v=vt.useRouter(),b=r.ref("mapping"),_=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(b,g=>{g==="feed"?(v.push({name:Ie.feed}),console.log("Navigating to feed...")):g==="dev"?(v.push({name:Ie.dev}),console.log("Navigating to dev...")):g==="overview"?(v.push({name:Ie.project}),console.log("Navigating to feed...")):g==="mapping"&&(v.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(g,y)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},g.$attrs),[r.createElementVNode("div",uL,[r.createVNode(xa,null,{primary:r.withCtx(()=>[r.createVNode(pi,{modelValue:b.value,"onUpdate:modelValue":y[0]||(y[0]=w=>b.value=w),tabs:_},null,8,["modelValue"]),r.createVNode(ue,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:y[1]||(y[1]=w=>g.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:0,class:"ao-mapping__quick-add-phase",size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("project.phase.add"),onClick:s},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:g.$t("project.template.save.label"),onClick:y[2]||(y[2]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:2,class:"ao-project-mapping-overview__add-template",color:"primary",label:g.$t("project.template.apply.label"),onClick:y[3]||(y[3]=w=>p.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",pL,[r.createElementVNode("div",fL,[r.createVNode(bu,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"estimation-unit":(k=t.project)==null?void 0:k.estimationUnit,onAddPhase:i,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",mL,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,hL)])):r.createCommentVNode("",!0)])])],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[f.value?(r.openBlock(),r.createBlock(Xg,{key:0,phases:t.phases,onClose:y[4]||(y[4]=w=>f.value=!1),onSave:h},null,8,["phases"])):r.createCommentVNode("",!0),p.value?(r.openBlock(),r.createBlock(Jg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:y[5]||(y[5]=w=>p.value=!1),onApply:m},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}}),J_e="",fr={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},bL=(t,e={})=>[{path:t,name:fr.TEMPLATES,redirect:{name:fr.TEMPLATES_LIST},...e,children:[{path:"",name:fr.TEMPLATES_LIST,component:e0},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:fr.TEMPLATE_DETAILS,component:Wg,props:!0}]}],Ie={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},mr={feed:"ActivityFeed",dev:"ActivityFeedDev"},_L=(t,e={})=>[{path:t,...e,redirect:{name:Ie.project},children:[{path:"",name:Ie.project,component:iB,props:!0,children:[{path:":phaseId/:milestoneId",name:Ie.milestone,component:Qg,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Ie.activity,props:{default:!0,modal:!0},components:{default:Qg,modal:XB}}]},{path:"feed",name:Ie.feed,component:vu,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Ie.dev,component:vu,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Ie.mapping,component:gL,props:!0}]}],yL={class:"ao-templates"},e0=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e;r.watch(()=>o.templates,(u,d)=>{Kn(u,d)});const i=()=>{var m,h;const u=(m=o.templates)==null?void 0:m.at(-1),d=u?et.LexoRank.parse(u.rank).genNext():et.LexoRank.middle(),p=((h=o.templates)==null?void 0:h.length)??0,f={name:n("template.defaultName.template",{idx:p+1}),rank:d.format()};a("addTemplate",f)},s=(u,d)=>{a("updateItem",{itemType:qe.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{a("removeItem",{itemType:qe.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=Ca(u,o.templates??[]);a("updateItem",{itemType:qe.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(r.openBlock(),r.createElementBlock("div",yL,[r.createVNode(xa,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:i},null,8,["label"])]),_:1}),r.createVNode(r.unref(Cn),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:r.withCtx(({element:p})=>{var f;return[r.createVNode(l7,{id:p.id,title:p.name,phases:p.phases,milestones:(f=p.phases)!=null&&f.length?r.unref($5)(p.phases):0,activities:p.phases?r.unref(L5)(p.phases):0,"updated-at":p.updatedAt,"updated-by":p.updatedBy,onUpdateTitle:m=>s(p.id,m),onClick:m=>u.$router.push({name:r.unref(fr).TEMPLATE_DETAILS,params:{templateId:p.id}}),onDeleteItem:d[0]||(d[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),X_e="",vL={class:"ao-field__label"},t0=r.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[r.createElementVNode("span",vL,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),kL=["type","value","disabled","readonly"],CL=r.defineComponent({__name:"AoInputField",props:{label:{default:""},type:{default:"text"},modelValue:{default:""},modelModifiers:{default:()=>({})},isDisabled:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,o=e,a=r.computed(()=>n.modelModifiers.lazy?"change":"input"),i=s=>{n.modelModifiers.number&&(s=Number(s)),o("update:modelValue",s)};return(s,l)=>(r.openBlock(),r.createBlock(t0,{label:t.label},{default:r.withCtx(()=>[r.createElementVNode("input",r.mergeProps({class:"ao-field__input",type:t.type,value:t.modelValue,disabled:t.isDisabled,readonly:t.isReadonly},{[r.toHandlerKey(a.value)]:l[0]||(l[0]=c=>i(c.target.value))}),null,16,kL)]),_:1},8,["label"]))}}),wL={class:"ao-field"},xL={class:"ao-field__label"},EL=["checked","disabled"],n0=r.defineComponent({__name:"AoCheckboxField",props:{label:{default:""},modelValue:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("label",wL,[r.createElementVNode("span",xL,r.toDisplayString(t.label),1),r.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:n[0]||(n[0]=o=>{var a;return e.$emit("update:modelValue",((a=o.target)==null?void 0:a.checked)??!1)})},null,40,EL)]))}}),SL={class:"ao-audit-config"},AL={key:0,class:"ao-audit-config__loading"},TL={key:1,class:"ao-audit-config__error"},NL={key:2,class:"ao-audit-config__empty"},DL={key:3,class:"ao-audit-config__table"},BL={class:"ao-audit-config__th ao-audit-config__th--table"},$L={class:"ao-audit-config__th ao-audit-config__th--audit"},LL={class:"ao-audit-config__th ao-audit-config__th--excluded"},ML={class:"ao-audit-config__td ao-audit-config__td--table"},VL={class:"ao-audit-config__table-name"},OL={key:0,class:"ao-audit-config__schema"},IL={class:"ao-audit-config__td ao-audit-config__td--audit"},PL={class:"ao-audit-config__checkbox"},RL={class:"ao-audit-config__td ao-audit-config__td--excluded"},FL={key:0,class:"ao-audit-config__disabled-note"},zL={class:"ao-audit-config__option"},jL=["title"],qL={key:0,class:"ao-audit-config__all-tracked"},UL=r.defineComponent({__name:"AoAuditConfigTable",props:{tables:{},loading:{type:Boolean,default:!1},error:{default:null},disabled:{type:Boolean,default:!1}},emits:["update"],setup(t,{emit:e}){const n=t,o=e,{t:a}=Ge(),i=r.computed(()=>n.tables);function s(u){return u.columns.map(d=>({value:d.name,label:d.name,isPrimaryKey:d.isPrimaryKey}))}function l(u,d){o("update",{schemaName:u.schemaName,tableName:u.tableName,isEnabled:d,excludeColumns:u.excludeColumns})}function c(u,d){const p=Array.from(new Set(d??[]));o("update",{schemaName:u.schemaName,tableName:u.tableName,isEnabled:u.isEnabled,excludeColumns:p})}return(u,d)=>(r.openBlock(),r.createElementBlock("div",SL,[t.loading?(r.openBlock(),r.createElementBlock("div",AL,r.toDisplayString(r.unref(a)("audit.loading")),1)):t.error?(r.openBlock(),r.createElementBlock("div",TL,r.toDisplayString(r.unref(a)("audit.error",{message:t.error})),1)):i.value.length?(r.openBlock(),r.createElementBlock("table",DL,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",BL,r.toDisplayString(r.unref(a)("audit.tableHeader")),1),r.createElementVNode("th",$L,r.toDisplayString(r.unref(a)("audit.auditHeader")),1),r.createElementVNode("th",LL,r.toDisplayString(r.unref(a)("audit.ignoredHeader")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,p=>(r.openBlock(),r.createElementBlock("tr",{key:`${p.schemaName}.${p.tableName}`},[r.createElementVNode("td",ML,[r.createElementVNode("span",VL,r.toDisplayString(p.tableName),1),p.schemaName!=="public"?(r.openBlock(),r.createElementBlock("span",OL,r.toDisplayString(p.schemaName),1)):r.createCommentVNode("",!0)]),r.createElementVNode("td",IL,[r.createElementVNode("div",PL,[r.createVNode(n0,{label:"","model-value":p.isEnabled,"is-disabled":t.disabled,"is-readonly":!1,"onUpdate:modelValue":f=>l(p,f)},null,8,["model-value","is-disabled","onUpdate:modelValue"])])]),r.createElementVNode("td",RL,[p.isEnabled?(r.openBlock(),r.createBlock(ht,{key:1,"model-value":p.excludeColumns,class:"ao-audit-config__multiselect",mode:"tags","value-prop":"value",label:"label","track-by":"label","close-on-select":!1,searchable:!0,options:s(p),disabled:t.disabled,caret:!t.disabled,"onUpdate:modelValue":f=>c(p,f)},{option:r.withCtx(({option:f})=>[r.createElementVNode("span",zL,[r.createTextVNode(r.toDisplayString(f.label)+" ",1),f.isPrimaryKey?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-audit-config__pk",title:r.unref(a)("audit.primaryKey")}," PK ",8,jL)):r.createCommentVNode("",!0)])]),placeholder:r.withCtx(()=>[p.excludeColumns.length===0?(r.openBlock(),r.createElementBlock("span",qL,r.toDisplayString(r.unref(a)("audit.allTracked")),1)):r.createCommentVNode("",!0)]),_:2},1032,["model-value","options","disabled","caret","onUpdate:modelValue"])):(r.openBlock(),r.createElementBlock("div",FL,r.toDisplayString(r.unref(a)("audit.auditDisabled")),1))])]))),128))])])):(r.openBlock(),r.createElementBlock("div",NL,r.toDisplayString(r.unref(a)("audit.empty")),1))]))}}),Q_e="",HL={key:0,class:"ao-activity-inline__drag-handle"},WL=["onKeydown"],ZL={class:"ao-activity-inline__title"},KL={class:"ao-activity-inline__name"},GL={class:"ao-activity-inline__assignee"},YL={key:1,class:"ao-activity-inline__unassigned"},JL={class:"ao-activity-inline__estimation"},XL={class:"ao-activity-inline__status"},QL={class:"ao-activity-inline__title"},eM={class:"ao-activity-inline__name"},tM={class:"ao-activity-inline__assignee"},nM={key:1,class:"ao-activity-inline__unassigned"},oM={class:"ao-activity-inline__estimation"},rM={class:"ao-activity-inline__status"},aM={key:3,class:"ao-activity-inline__content ao-activity-inline--disabled"},iM={class:"ao-activity-inline__title"},sM={class:"ao-activity-inline__name"},lM={class:"ao-activity-inline__assignee"},cM={key:1},dM={class:"ao-activity-inline__estimation"},uM={class:"ao-activity-inline__status"},pM=r.defineComponent({__name:"AoActivityInline",props:{activity:{},showMilestone:{type:Boolean,default:!0},isDraggable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},isEditable:{type:Boolean,default:!1}},emits:["openActivity","updateActivity"],setup(t,{emit:e}){const n=t,o=e,a=()=>{o("openActivity",n.activity.id)},i=()=>{if(!n.activity.priority||!n.isEditable)return;const p={P0:"P2",P1:"P0",P2:"P1"};o("updateActivity",{id:n.activity.id,priority:p[n.activity.priority]})},s=r.computed(()=>{const p=n.activity.milestone,f=p==null?void 0:p.phase,m=n.activity.project;return!(m!=null&&m.id)||!(f!=null&&f.id)||!(p!=null&&p.id)?null:{name:Ie.activity,params:{id:m.id,phaseId:f.id,milestoneId:p.id,activityId:n.activity.id}}}),l=r.computed(()=>n.activity.assignee?[n.activity.assignee.firstName,n.activity.assignee.lastName].filter(Boolean).join(" "):""),c=r.computed(()=>{var p,f;return((p=n.activity.devStatus)==null?void 0:p.name)??((f=n.activity.status)==null?void 0:f.name)??""}),{t:u}=Ge(),d=r.computed(()=>{var p;return((p=n.activity.project)==null?void 0:p.estimationUnit)==="days"?u("activity.estimationUnit.pointsShort"):u("activity.estimationUnit.hoursShort")});return(p,f)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["ao-activity-inline",t.isDraggable?"ao-activity-inline--draggable":""])},[t.isDraggable?(r.openBlock(),r.createElementBlock("div",HL,[r.createVNode(Ce,{name:"DragIndicator"})])):r.createCommentVNode("",!0),t.clickable?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-activity-inline__content",role:"button",tabindex:"0",onClick:r.withModifiers(a,["stop"]),onKeydown:[r.withKeys(r.withModifiers(a,["stop"]),["enter"]),r.withKeys(r.withModifiers(a,["prevent","stop"]),["space"])]},[r.createElementVNode("div",ZL,[t.showMilestone&&t.activity.milestone?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-activity-inline__milestone",style:r.normalizeStyle({"--milestone-color":t.activity.milestone.color||void 0})},r.toDisplayString(t.activity.milestone.name),5)):r.createCommentVNode("",!0),r.createElementVNode("span",KL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",GL,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"md",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",YL," — ")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",JL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",XL,r.toDisplayString(c.value),1)],40,WL)):s.value?(r.openBlock(),r.createBlock(r.unref(vt.RouterLink),{key:2,to:s.value,class:"ao-activity-inline__content"},{default:r.withCtx(()=>[r.createElementVNode("div",QL,[t.showMilestone&&t.activity.milestone?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-activity-inline__milestone",style:r.normalizeStyle({"--milestone-color":t.activity.milestone.color||void 0})},r.toDisplayString(t.activity.milestone.name),5)):r.createCommentVNode("",!0),r.createElementVNode("span",eM,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",tM,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",nM," — ")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",oM,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",rM,r.toDisplayString(c.value),1)]),_:1},8,["to"])):(r.openBlock(),r.createElementBlock("div",aM,[r.createElementVNode("div",iM,[r.createElementVNode("span",sM,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",lM,[t.activity.assignee?(r.openBlock(),r.createBlock(Jt,{key:0,"user-name":l.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",cM,"—")),t.activity.priority?(r.openBlock(),r.createBlock(fl,{key:2,priority:t.activity.priority,clickable:t.isEditable,onClick:i},null,8,["priority","clickable"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",dM,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(d.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",uM,r.toDisplayString(c.value),1)]))],2))}}),eye="",o0=te(pM,[["__scopeId","data-v-76d2bf8e"]]),fM={class:"ao-sprint-section__header-left"},mM={class:"ao-sprint-section__expand-icon"},hM={class:"ao-sprint-section__title"},gM={key:0,class:"ao-sprint-section__archived-badge"},bM={class:"ao-sprint-section__header-right"},_M={class:"ao-sprint-section__dates"},yM={class:"ao-sprint-section__meta"},vM=["title"],kM=["onClick"],CM={class:"ao-sprint-section__edit-title"},wM={class:"ao-sprint-section__fixed-number"},xM={class:"ao-sprint-section__date-fields"},EM={class:"ao-sprint-section__actions"},SM={class:"ao-sprint-section__content"},AM={key:0,class:"ao-sprint-section__empty"},TM=r.defineComponent({__name:"AoSprintSection",props:{sprint:{},activities:{},isEditable:{type:Boolean,default:!1},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},emits:["updateSprint","archiveSprint","unarchiveSprint","activityChange","openActivity","updateActivity"],setup(t,{emit:e}){const n=t,o=e,a=x=>{x.added&&o("activityChange",{id:x.added.element.id,sprintId:n.sprint.id})},i=x=>{o("updateActivity",x)},s=x=>{o("openActivity",{activityId:x,activityIds:n.activities.map(V=>V.id)})},l=r.ref(!0),c=r.ref(!1),{t:u}=Ge(),d=r.ref({label:"",startDate:"",endDate:"",color:""}),p=r.computed(()=>n.sprint.label?`Sprint ${n.sprint.number}: ${n.sprint.label}`:`Sprint ${n.sprint.number}`),f=r.computed(()=>{const x=vr(n.sprint.startDate,"dd/MM/yy"),V=vr(n.sprint.endDate,"dd/MM/yy");return`${x} – ${V}`}),m=r.computed(()=>n.activities.length),h=r.computed(()=>n.activities.reduce((x,V)=>x+(V.estimation??0),0)),v=r.computed(()=>{var x;return(x=n.planningData)==null?void 0:x[n.sprint.id]}),b=r.computed(()=>{var V;const x=n.projects.find($=>$.id===n.sprint.projectId);return x||((V=n.activities.find($=>$.project))==null?void 0:V.project)}),_=r.computed(()=>{var x;return((x=b.value)==null?void 0:x.velocity)??1}),g=r.computed(()=>{var x;return((x=b.value)==null?void 0:x.estimationUnit)??""}),y=r.computed(()=>{const x=v.value;return x!=null&&x.plannedManDays?g.value==="hours"?x.plannedManDays*n.businessDayHours:x.plannedManDays:null}),k=r.computed(()=>{const x=y.value;return x==null?null:x*_.value}),w=r.computed(()=>{const x=k.value;return x==null||x===0?null:Math.round(h.value/x*100)}),C=r.computed(()=>{const x=k.value;return x==null?!1:h.value>x}),S=r.computed(()=>{const x=k.value;if(x==null)return null;const V=Math.round(h.value*10)/10,$=Math.round(x*10)/10,U=w.value;return U!=null?`${V} / ${$} pts · ${U}%`:`${V} / ${$} pts`}),A=r.computed(()=>{const x=k.value;if(x==null)return;const V=g.value==="hours"?u("activity.estimationUnit.hours"):u("activity.estimationUnit.points"),$=g.value==="hours"?u("activity.estimationUnit.hoursShort"):u("activity.estimationUnit.pointsShort");return[`Estimated work: ${h.value} ${u("activity.estimationUnit.pointsShort")}`,`Planned capacity: ${y.value} ${V}`,`Velocity: ${_.value} ${u("activity.estimationUnit.pointsShort")} / ${$}`,`Sprint capacity: ${x} ${u("activity.estimationUnit.pointsShort")}`,`Load: ${w.value}%`].join(`
64
64
  `)}),E=r.computed(()=>!!(d.value.startDate&&d.value.endDate)),N=()=>{c.value||(l.value=!l.value)},I=()=>{c.value=!0,d.value={label:n.sprint.label||"",startDate:n.sprint.startDate,endDate:n.sprint.endDate,color:n.sprint.color||""}},L=()=>{c.value=!1},R=()=>{E.value&&(o("updateSprint",{id:n.sprint.id,label:d.value.label||void 0,startDate:d.value.startDate,endDate:d.value.endDate,color:d.value.color||void 0}),c.value=!1)},D=()=>{window.confirm("Archive this sprint?")&&o("archiveSprint",{id:n.sprint.id})},B=()=>{o("unarchiveSprint",{id:n.sprint.id})};return(x,V)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["ao-sprint-section",{"ao-sprint-section--archived":!t.sprint.active}])},[c.value?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-sprint-section__edit",onClick:V[6]||(V[6]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(aa,{color:d.value.color,"onUpdate:color":V[2]||(V[2]=$=>d.value.color=$)},{clickable:r.withCtx(({openPicker:$,bgColor:U})=>[r.createElementVNode("button",{class:"ao-sprint-section__color-trigger",style:r.normalizeStyle({backgroundColor:U}),title:"Sprint color",onClick:Y=>$(Y.currentTarget)},null,12,kM)]),_:1},8,["color"]),r.createElementVNode("div",CM,[r.createElementVNode("span",wM," Sprint "+r.toDisplayString(t.sprint.number)+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":V[3]||(V[3]=$=>d.value.label=$),type:"text",class:"ao-sprint-section__input ao-sprint-section__input--label",placeholder:"Label"},null,512),[[r.vModelText,d.value.label]])]),r.createElementVNode("div",xM,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":V[4]||(V[4]=$=>d.value.startDate=$),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,d.value.startDate]]),V[7]||(V[7]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":V[5]||(V[5]=$=>d.value.endDate=$),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,d.value.endDate]])]),r.createElementVNode("div",EM,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!E.value,title:"Save",onClick:R},null,8,["disabled"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:"Cancel",onClick:L})])])):(r.openBlock(),r.createElementBlock("div",{key:0,class:"ao-sprint-section__header",onClick:N},[r.createElementVNode("div",fM,[r.createElementVNode("span",mM,r.toDisplayString(l.value?"▾":"▸"),1),r.createElementVNode("span",{class:"ao-sprint-section__color-dot",style:r.normalizeStyle({backgroundColor:t.sprint.color||"var(--ao-color-primary-base)"})},null,4),r.createElementVNode("span",hM,r.toDisplayString(p.value),1),t.sprint.active?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",gM," Archived "))]),r.createElementVNode("div",bM,[r.createElementVNode("span",_M,r.toDisplayString(f.value),1),r.createElementVNode("span",yM,r.toDisplayString(m.value)+" "+r.toDisplayString(m.value===1?"activity":"activities"),1),S.value?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["ao-sprint-section__capacity",{"ao-sprint-section__capacity--over":C.value}]),title:A.value},r.toDisplayString(S.value),11,vM)):r.createCommentVNode("",!0),t.isEditable?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-sprint-section__actions",onClick:V[1]||(V[1]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"EditOutline",title:"Edit sprint",onClick:I}),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm",corners:"round","icon-name":"ArchiveOutlineRounded",label:t.sprint.active?"Archive":"Unarchive",onClick:V[0]||(V[0]=$=>t.sprint.active?D():B())},null,8,["label"])])):r.createCommentVNode("",!0)])])),r.withDirectives(r.createElementVNode("div",SM,[r.createVNode(r.unref(Cn),{list:t.activities,class:"ao-sprint-section__draggable",group:"sprint-planning-activities","item-key":"id",handle:".ao-activity-inline__drag-handle",disabled:!t.isEditable,"ghost-class":"ao-sprint-section__ghost",onChange:a},{item:r.withCtx(({element:$})=>[r.createVNode(o0,{activity:$,"is-draggable":t.isEditable,"is-editable":t.isEditable,clickable:!0,onOpenActivity:s,onUpdateActivity:i},null,8,["activity","is-draggable","is-editable"])]),_:1},8,["list","disabled"]),t.activities.length===0?(r.openBlock(),r.createElementBlock("div",AM," No activities ")):r.createCommentVNode("",!0)],512),[[r.vShow,l.value&&!c.value]])],2))}}),tye="",NM=te(TM,[["__scopeId","data-v-520586f3"]]),DM={class:"ao-sprint-list"},BM={class:"ao-sprint-list__header"},$M={class:"ao-sprint-list__title-group"},LM={class:"ao-sprint-list__count"},MM={class:"ao-sprint-list__actions"},VM={key:0,class:"ao-sprint-list__toggle"},OM={key:0,class:"ao-sprint-list__create"},IM=["title","onClick"],PM={class:"ao-sprint-list__create-title"},RM={class:"ao-sprint-list__fixed-number"},FM=["placeholder"],zM={class:"ao-sprint-list__date-fields"},jM={class:"ao-sprint-list__row-actions"},qM={class:"ao-sprint-list__sections"},UM={key:1,class:"ao-sprint-list__empty"},HM=r.defineComponent({__name:"AoSprintList",props:{sprints:{},activities:{},isEditable:{type:Boolean,default:!1},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint","activityChange","updateActivity","openActivity"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=r.ref(!1),s=r.ref(!1),l=r.ref({label:"",startDate:"",endDate:"",color:"#4f5cff"}),c=r.computed(()=>(i.value?[...o.sprints]:o.sprints.filter(_=>_.active)).sort((_,g)=>g.number-_.number)),u=r.computed(()=>o.sprints.reduce((b,_)=>Math.max(b,_.number),0)+1),d=r.computed(()=>!!(l.value.startDate&&l.value.endDate)),p=r.computed(()=>{var _;const b={};for(const g of o.activities){const y=(_=g.sprint)==null?void 0:_.id;y&&(b[y]??(b[y]=[])).push(g)}return b}),f=b=>p.value[b]??[],m=()=>{s.value=!0,l.value={label:"",startDate:"",endDate:"",color:"#4f5cff"}},h=()=>{s.value=!1},v=()=>{d.value&&(a("createSprint",{label:l.value.label||void 0,startDate:l.value.startDate,endDate:l.value.endDate,color:l.value.color||void 0}),s.value=!1)};return(b,_)=>(r.openBlock(),r.createElementBlock("section",DM,[r.createElementVNode("div",BM,[r.createElementVNode("div",$M,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(n)("sprint.planning")),1),r.createElementVNode("span",LM,r.toDisplayString(c.value.length),1)]),r.createElementVNode("div",MM,[t.sprints.some(g=>!g.active)?(r.openBlock(),r.createElementBlock("label",VM,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=g=>i.value=g),type:"checkbox"},null,512),[[r.vModelCheckbox,i.value]]),r.createTextVNode(" "+r.toDisplayString(r.unref(n)("sprint.showArchived")),1)])):r.createCommentVNode("",!0),t.isEditable&&!s.value?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"solid",size:"sm","icon-name":"Add","icon-position":"start",label:r.unref(n)("sprint.add"),onClick:m},null,8,["label"])):r.createCommentVNode("",!0)])]),s.value?(r.openBlock(),r.createElementBlock("div",OM,[r.createVNode(aa,{color:l.value.color,"onUpdate:color":_[1]||(_[1]=g=>l.value.color=g)},{clickable:r.withCtx(({openPicker:g,bgColor:y})=>[r.createElementVNode("button",{class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:y}),title:r.unref(n)("sprint.color"),onClick:k=>g(k.currentTarget)},null,12,IM)]),_:1},8,["color"]),r.createElementVNode("div",PM,[r.createElementVNode("span",RM,"Sprint "+r.toDisplayString(u.value)+":",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":_[2]||(_[2]=g=>l.value.label=g),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--label",placeholder:r.unref(n)("sprint.label")},null,8,FM),[[r.vModelText,l.value.label]])]),r.createElementVNode("div",zM,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":_[3]||(_[3]=g=>l.value.startDate=g),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.startDate]]),_[11]||(_[11]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":_[4]||(_[4]=g=>l.value.endDate=g),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.endDate]])]),r.createElementVNode("div",jM,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!d.value,title:r.unref(n)("common.save"),onClick:v},null,8,["disabled","title"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:r.unref(n)("common.cancel"),onClick:h},null,8,["title"])])])):r.createCommentVNode("",!0),r.createElementVNode("div",qM,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,g=>(r.openBlock(),r.createBlock(NM,{key:g.id,sprint:g,activities:f(g.id),"is-editable":t.isEditable,"planning-data":t.planningData,projects:t.projects,"business-day-hours":t.businessDayHours,onUpdateSprint:_[5]||(_[5]=y=>a("updateSprint",y)),onArchiveSprint:_[6]||(_[6]=y=>a("archiveSprint",y)),onUnarchiveSprint:_[7]||(_[7]=y=>a("unarchiveSprint",y)),onActivityChange:_[8]||(_[8]=y=>a("activityChange",y)),onUpdateActivity:_[9]||(_[9]=y=>a("updateActivity",y)),onOpenActivity:_[10]||(_[10]=y=>a("openActivity",y))},null,8,["sprint","activities","is-editable","planning-data","projects","business-day-hours"]))),128))]),c.value.length===0&&!s.value?(r.openBlock(),r.createElementBlock("div",UM,r.toDisplayString(r.unref(n)("sprint.noSprints")),1)):r.createCommentVNode("",!0)]))}}),nye="",WM=te(HM,[["__scopeId","data-v-83de1b43"]]),ZM={class:"ao-backlog-section"},KM={class:"ao-backlog-section__header-left"},GM={class:"ao-backlog-section__expand-icon"},YM={class:"ao-backlog-section__name"},JM={key:0,class:"ao-backlog-section__phase"},XM={class:"ao-backlog-section__header-right"},QM={class:"ao-backlog-section__count"},eV={class:"ao-backlog-section__content"},tV={key:1,class:"ao-backlog-section__empty"},nV={class:"ao-backlog-section__drop-hint"},oV=r.defineComponent({__name:"AoBacklogSection",props:{milestoneId:{},milestoneName:{},milestoneColor:{},phaseName:{},activities:{},isEditable:{type:Boolean,default:!1}},emits:["activityChange","openActivity","updateActivity"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=r.ref(!0),s=r.computed(()=>o.activities.length),l=r.computed(()=>{if(o.milestoneColor)return{"--milestone-color":o.milestoneColor}}),c=()=>{i.value=!i.value},u=f=>{if(!f.added)return;const m=o.milestoneId==="__no_milestone__"?null:o.milestoneId;a("activityChange",{id:f.added.element.id,sprintId:null,milestoneId:m})},d=f=>{a("openActivity",{activityId:f,activityIds:o.activities.map(m=>m.id)})},p=f=>{a("updateActivity",f)};return(f,m)=>(r.openBlock(),r.createElementBlock("div",ZM,[r.createElementVNode("div",{class:r.normalizeClass(["ao-backlog-section__header",{"ao-backlog-section__header--no-milestone":!t.milestoneColor}]),style:r.normalizeStyle(l.value),onClick:c},[r.createElementVNode("div",KM,[r.createElementVNode("span",GM,r.toDisplayString(i.value?"▾":"▸"),1),r.createElementVNode("span",YM,r.toDisplayString(t.milestoneName),1),t.phaseName?(r.openBlock(),r.createElementBlock("span",JM,r.toDisplayString(t.phaseName),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",XM,[r.createElementVNode("span",QM,r.toDisplayString(s.value)+" "+r.toDisplayString(s.value===1?r.unref(n)("backlog.activity"):r.unref(n)("backlog.activities")),1)])],6),r.withDirectives(r.createElementVNode("div",eV,[t.activities.length>0?(r.openBlock(),r.createBlock(r.unref(Cn),{key:0,list:t.activities,class:"ao-backlog-section__draggable",group:"sprint-planning-activities","item-key":"id",handle:".ao-activity-inline__drag-handle",disabled:!t.isEditable,"ghost-class":"ao-backlog-section__ghost",onChange:u},{item:r.withCtx(({element:h})=>[r.createVNode(o0,{activity:h,"is-draggable":t.isEditable,"is-editable":t.isEditable,"show-milestone":!1,clickable:!0,onOpenActivity:d,onUpdateActivity:p},null,8,["activity","is-draggable","is-editable"])]),_:1},8,["list","disabled"])):(r.openBlock(),r.createElementBlock("div",tV,[r.createElementVNode("span",nV,r.toDisplayString(r.unref(n)("backlog.dropHere")),1)]))],512),[[r.vShow,i.value]])]))}}),oye="",rV=te(oV,[["__scopeId","data-v-d8949009"]]),aV={class:"ao-backlog"},iV={class:"ao-backlog__header"},sV={class:"ao-backlog__count"},lV={key:0,class:"ao-backlog__sections"},cV={key:1,class:"ao-backlog__empty"},dV=r.defineComponent({__name:"AoBacklog",props:{activities:{},isEditable:{type:Boolean,default:!1}},emits:["activityChange","updateActivity","openActivity"],setup(t,{emit:e}){const{t:n}=Ge(),o=t,a=e,i=r.computed(()=>o.activities.filter(l=>{var d,p,f,m;if(l.sprint||l.active===!1)return!1;const c=((p=(d=l.status)==null?void 0:d.name)==null?void 0:p.toLowerCase())??"",u=((m=(f=l.devStatus)==null?void 0:f.name)==null?void 0:m.toLowerCase())??"";return!(c==="done"||u==="done")})),s=r.computed(()=>{var d;const l=new Map,c=new Map;let u=0;for(const p of o.activities){const f=((d=p.milestone)==null?void 0:d.id)??"__no_milestone__";c.has(f)||(c.set(f,u),u+=1)}for(const p of i.value){const f=p.milestone,m=f==null?void 0:f.phase,h=(f==null?void 0:f.id)??"__no_milestone__",v=l.get(h);if(v){v.activities.push(p);continue}l.set(h,{milestoneId:h,milestoneName:(f==null?void 0:f.name)??n("backlog.noMilestone"),milestoneColor:(f==null?void 0:f.color)||void 0,phaseName:m==null?void 0:m.name,activities:[p]})}return Array.from(l.values()).sort((p,f)=>{const m=c.get(p.milestoneId)??Number.MAX_SAFE_INTEGER,h=c.get(f.milestoneId)??Number.MAX_SAFE_INTEGER;return m-h})});return(l,c)=>(r.openBlock(),r.createElementBlock("section",aV,[r.createElementVNode("div",iV,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(n)("backlog.title")),1),r.createElementVNode("span",sV,r.toDisplayString(i.value.length),1)]),s.value.length>0?(r.openBlock(),r.createElementBlock("div",lV,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,u=>(r.openBlock(),r.createBlock(rV,{key:u.milestoneId,"milestone-id":u.milestoneId,"milestone-name":u.milestoneName,"milestone-color":u.milestoneColor,"phase-name":u.phaseName,activities:u.activities,"is-editable":t.isEditable,onActivityChange:c[0]||(c[0]=d=>a("activityChange",d)),onUpdateActivity:c[1]||(c[1]=d=>a("updateActivity",d)),onOpenActivity:c[2]||(c[2]=d=>a("openActivity",d))},null,8,["milestone-id","milestone-name","milestone-color","phase-name","activities","is-editable"]))),128))])):(r.openBlock(),r.createElementBlock("div",cV,r.toDisplayString(r.unref(n)("backlog.empty")),1))]))}}),rye="",uV=te(dV,[["__scopeId","data-v-c1e30a42"]]),pV={class:"ao-sprint-planning"},fV={class:"ao-sprint-planning__sprint"},mV={class:"ao-sprint-planning__backlog"},hV=r.defineComponent({__name:"AoSprintPlanning",props:{sprints:{},activities:{},selectedActivity:{default:void 0},isEditable:{type:[Boolean,String],default:!1},users:{default:()=>[]},userId:{default:void 0},statuses:{default:()=>[]},devStatuses:{default:()=>[]},isTaskCheckable:{type:Function,default:void 0},attachmentEnabled:{type:Boolean,default:!0},timeTrackingData:{default:()=>({})},loadAttachmentPreview:{type:Function,default:void 0},planningData:{default:()=>({})},projects:{default:()=>[]},businessDayHours:{default:8}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint","activityChange","selectActivity","updateActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","fetchHistory"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(null),i=r.ref([]),s=r.computed(()=>a.value?i.value.indexOf(a.value):-1),l=r.computed(()=>s.value>0),c=r.computed(()=>s.value>=0&&s.value<i.value.length-1),u=r.computed(()=>{var g,y;const _=(g=n.selectedActivity)==null?void 0:g.milestone;return _?`${((y=_.phase)==null?void 0:y.name)??""} / ${_.name??""}`:""}),d=r.computed(()=>{var g;const _=(g=n.selectedActivity)==null?void 0:g.project;return _?[_]:[]}),p=_=>{a.value=_,o("selectActivity",_)},f=_=>{i.value=_.activityIds,p(_.activityId)},m=()=>{i.value=[],p(null)},h=()=>{l.value&&p(i.value[s.value-1])},v=()=>{c.value&&p(i.value[s.value+1])},b=_=>{if(!a.value)return;const g=_.target;g instanceof HTMLInputElement||g instanceof HTMLTextAreaElement||g instanceof HTMLSelectElement||g.isContentEditable||(_.key==="ArrowLeft"?(_.preventDefault(),_.stopImmediatePropagation(),h()):_.key==="ArrowRight"?(_.preventDefault(),_.stopImmediatePropagation(),v()):_.key==="Escape"&&(_.preventDefault(),_.stopImmediatePropagation(),m()))};return r.onMounted(()=>{window.addEventListener("keydown",b)}),r.onUnmounted(()=>{window.removeEventListener("keydown",b)}),(_,g)=>{var y;return r.openBlock(),r.createElementBlock("div",pV,[r.createElementVNode("div",fV,[r.createVNode(WM,{sprints:t.sprints,activities:t.activities,"is-editable":t.isEditable,"planning-data":t.planningData,projects:t.projects,"business-day-hours":t.businessDayHours,onUpdateSprint:g[0]||(g[0]=k=>o("updateSprint",k)),onArchiveSprint:g[1]||(g[1]=k=>o("archiveSprint",k)),onUnarchiveSprint:g[2]||(g[2]=k=>o("unarchiveSprint",k)),onCreateSprint:g[3]||(g[3]=k=>o("createSprint",k)),onActivityChange:g[4]||(g[4]=k=>o("activityChange",k)),onUpdateActivity:g[5]||(g[5]=k=>o("updateActivity",k)),onOpenActivity:f},null,8,["sprints","activities","is-editable","planning-data","projects","business-day-hours"])]),r.createElementVNode("div",mV,[r.createVNode(uV,{activities:t.activities,"is-editable":t.isEditable,onActivityChange:g[6]||(g[6]=k=>o("activityChange",k)),onUpdateActivity:g[7]||(g[7]=k=>o("updateActivity",k)),onOpenActivity:f},null,8,["activities","is-editable"])]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[a.value&&t.selectedActivity?(r.openBlock(),r.createBlock(ll,{key:0,activity:t.selectedActivity,"dev-statuses":t.devStatuses,"milestone-id":(y=t.selectedActivity.milestone)==null?void 0:y.id,"template-activities":t.activities,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:u.value,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:d.value,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":t.loadAttachmentPreview,sprints:t.sprints,onClose:m,"onUpdate:activity":g[8]||(g[8]=k=>o("updateActivity",k)),onAddSubtask:g[9]||(g[9]=k=>o("addSubtask",k)),onUpdateSubtask:g[10]||(g[10]=k=>o("updateSubtask",k)),onDeleteSubtask:g[11]||(g[11]=k=>o("deleteSubtask",k)),onAddFiles:g[12]||(g[12]=k=>o("addFiles",k)),onRemoveFile:g[13]||(g[13]=k=>o("removeFile",k)),onAddComment:g[14]||(g[14]=k=>o("addComment",k)),onUpdateComment:g[15]||(g[15]=k=>o("updateComment",k)),onRemoveComment:g[16]||(g[16]=k=>o("removeComment",k)),onFetchHistory:g[17]||(g[17]=k=>o("fetchHistory"))},null,8,["activity","dev-statuses","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview","sprints"])):r.createCommentVNode("",!0)]))])}}}),aye="",gV=te(hV,[["__scopeId","data-v-eef67722"]]);he.AoAuditConfigTable=UL,he.AoAvatar=Jt,he.AoCardFeed=_u,he.AoCheckboxField=n0,he.AoColorPicker=aa,he.AoFeed=vu,he.AoField=t0,he.AoHistory=Hg,he.AoInputField=CL,he.AoMultiselect=ht,he.AoProjectPhases=bu,he.AoSprintPlanning=gV,he.AoTabBar=pi,he.AoTemplateDetails=Wg,he.AoTemplates=g0,he.AoTemplatesList=e0,he.EstimationUnit=$u,he.TemplateItemTypeEnum=Bu,he.activityFeedRoutes=mr,he.activityFeedStatus=Wv,he.durationTypes=Hv,he.feedFilterTypes=sn,he.getProjectOverviewRoutes=_L,he.getTemplateRoutes=bL,he.listUpdateTypes=Zv,he.milestoneStatus=da,he.projectOverviewRoutes=Ie,he.ruleComparators=Tu,he.ruleDurationUnits=Du,he.ruleTriggerTypes=Nu,he.templateItemType=qe,he.templateRouteNames=fr,Object.defineProperty(he,Symbol.toStringTag,{value:"Module"})});