@26lights/orcha 0.42.222 → 0.42.223

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,4 +60,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
60
60
  `)}function AN(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 TN(t,e){const n=su(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,d=s[l];if(d.trim().length===0)continue;const u=AN(d,n.indentCharacter,n.indentSize);if("code"in u){o.push({line:c,code:u.code,params:u.params});continue}const{level:f,content:p}=u,m=n.levels[f];if(!m){o.push({line:c,code:"TOO_MANY_INDENTATION_LEVELS",params:{max:n.levels.length-1}});continue}if(f>0&&!i[f-1]){const g=n.levels[f-1];o.push({line:c,code:"EXPECTED_PARENT_BEFORE",params:{parent:g,child:m}});continue}const h={type:m,name:p,children:[]};f===0?a.push(h):i[f-1].children.push(h),i[f]=h,i.length=f+1}return{valid:o.length===0,data:a,errors:o}}const NN=["onKeydown"],DN={class:"ao-modal ao-bulk-insert-modal"},BN={class:"ao-modal__header"},$N={class:"ao-modal__header-meta"},LN={class:"ao-modal__title-group"},MN={class:"ao-modal__body ao-bulk-insert-modal__body"},VN={key:0,class:"ao-bulk-insert-modal__intro"},ON=["placeholder","disabled"],IN={key:1,class:"ao-bulk-insert-modal__errors"},PN={key:2,class:"ao-bulk-insert-modal__count"},RN={class:"ao-bulk-insert-modal__help"},FN={class:"ao-bulk-insert-modal__help-title"},zN={class:"ao-bulk-insert-modal__help-list"},qN={class:"ao-bulk-insert-modal__help-entity"},jN={class:"ao-bulk-insert-modal__help-rule"},UN={class:"ao-bulk-insert-modal__footer"},lu=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}=St(),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"},d=r.computed(()=>su(n.rootType)),u=r.computed(()=>TN(i.value,n.rootType)),f=k=>String(a(l[k])),p=r.computed(()=>`${SN(n.rootType,f).split(`
61
61
  `).map(C=>C.trim()?`${C} 1`:C).join(`
62
62
  `)}
63
- ...`),m=r.computed(()=>n.placeholder||p.value),h=r.computed(()=>i.value.trim().length>0&&u.value.valid&&u.value.data.length>0&&!n.isLoading),g=r.computed(()=>{const k=w=>w.reduce((C,A)=>C+1+k(A.children??[]),0);return k(u.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 v=()=>{n.isLoading||(o("update:open",!1),o("close"))},y=()=>{h.value&&o("submit",u.value.data)},b=k=>String(k===0?a("project.bulk.modal.noSpace"):k===1?a("project.bulk.modal.oneSpace"):a("project.bulk.modal.spaces",{count:k})),_=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(v,["stop"]),["esc"])},[r.createElementVNode("div",{class:"ao-modal__backdrop",onClick:v}),r.createElementVNode("div",DN,[r.createElementVNode("div",BN,[r.createElementVNode("div",$N,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",color:"primary",onClick:v})]),r.createElementVNode("header",LN,[r.createVNode(pt,{title:t.title,level:3},null,8,["title"])])]),r.createElementVNode("div",MN,[r.createElementVNode("form",{class:"ao-bulk-insert-modal__form",onSubmit:r.withModifiers(y,["prevent"])},[t.hint?(r.openBlock(),r.createElementBlock("p",VN,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,ON),[[r.vModelText,i.value]]),u.value.errors.length>0?(r.openBlock(),r.createElementBlock("div",IN,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.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:_(C)})),1))),128))])):i.value.trim().length>0?(r.openBlock(),r.createElementBlock("p",PN,r.toDisplayString(r.unref(a)("project.bulk.modal.count",{count:g.value})),1)):r.createCommentVNode("",!0),r.createElementVNode("div",RN,[r.createElementVNode("span",FN,r.toDisplayString(r.unref(a)("project.bulk.modal.indentation")),1),r.createElementVNode("div",zN,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value.levels,(C,A)=>(r.openBlock(),r.createElementBlock("div",{key:C,class:"ao-bulk-insert-modal__help-row"},[r.createElementVNode("span",qN,r.toDisplayString(f(C)),1),r.createElementVNode("span",jN,r.toDisplayString(b(A)),1)]))),128))])]),r.createElementVNode("footer",UN,[r.createVNode(ue,{color:"primary",variant:"ghost",label:r.unref(a)("common.cancel"),disabled:t.isLoading,onClick:v},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,NN)):r.createCommentVNode("",!0)]))}}),Tbe="";function cu(t,e){return(t.children??[]).filter(n=>n.type===e)}function HN(t){return cu(t,"task").map(e=>({name:e.name}))}function Og(t,e=[]){const n=t.filter(a=>a.type==="activity"),o=kl(e,n.length);return n.map((a,i)=>{const s=HN(a);return{name:a.name,rank:o[i],...s.length?{tasks:s}:{}}})}function WN(t,e){return Og(t,e)}function Ig(t,e){const n=t.filter(a=>a.type==="milestone"),o=kl(e,n.length);return n.map((a,i)=>{const s=Og(cu(a,"activity"));return{name:a.name,rank:o[i],...s.length?{activities:s}:{}}})}function ZN(t,e){const n=t.filter(a=>a.type==="phase"),o=kl(e,n.length);return n.map((a,i)=>{const s=Ig(cu(a,"milestone"),[]);return{name:a.name,rank:o[i],...s.length?{milestones:s}:{}}})}const GN={class:"ao-mapping-card-project-phase__header"},KN={class:"ao-card-project-item__title-line"},YN={key:0,class:"ao-card-project-item-phase__estimation"},JN={class:"ao-mapping-card-project-phase__footer"},XN={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},QN={class:"ao-mapping-card-project-phase__subitem"},eD={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"},oD=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=g=>{o("update:title",g)},i=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((v,y)=>{var b;return v+((b=y.activities)==null?void 0:b.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),s=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,v)=>{var y;return g+(((y=v.activities)==null?void 0:y.reduce((b,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return b+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>Di(s.value,n.estimationUnit)),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(v=>v.status===ra.done).length}),f=r.computed(()=>(u.value||0)/(d.value||1)),p=r.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),m=r.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),h=(g,v)=>{const y=g.target;y.closest("button")||y.closest("input")||y.closest(".ao-title")||v()};return(g,v)=>(r.openBlock(),r.createBlock(Qr,{color:m.value,"onUpdate:color":v[2]||(v[2]=y=>m.value=y)},{clickable:r.withCtx(({openPicker:y,bgColor:b})=>[r.createVNode(rl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:b,"with-left-border":!0,onClick:_=>h(_,y)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",KN,[r.createVNode(pt,{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",YN," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",JN,[d.value?(r.openBlock(),r.createElementBlock("div",XN,[r.createElementVNode("div",QN,[r.createVNode(we,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",eD,r.toDisplayString(u.value)+" / "+r.toDisplayString(d.value),1)]),r.createVNode(al,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:m.value},null,8,["percentages","color"]),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",tD,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-mapping-card-project-phase__footer-row",p.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":v[1]||(v[1]=_=>p.value=_),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,p.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",nD,r.toDisplayString(r.unref(gr)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",GN,[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?g.$t("archive"):g.$t("unarchive"),onClick:v[0]||(v[0]=r.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),Nbe="",rD={class:"ao-project-phase"},aD={key:0,class:"ao-project-phase__drag ao-card__drag"},iD={key:1,class:"ao-project-phase__col-phase"},sD={key:2,class:"ao-mapping-project-phase__col-phase"},lD={key:0,class:"ao-project-phase__col-milestones"},cD=["title","onClick"],dD=["onClick"],uD=["onClick"],pD={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}=St(),o=t,a=e;r.watch(()=>o.phase.milestones,(S,E)=>{Hn(S,E)});const i=S=>{a("updatePhase",{id:o.phase.id,name:S})},s=S=>{a("updatePhase",{id:o.phase.id,deadline:S})},l=S=>{a("updatePhase",S)},c=r.computed(()=>o.phase.milestones.map(S=>_5(S,o.closedStatus))),d=S=>{const{name:E,rank:N}=sr(c.value??[],"milestone",n);a("addMilestone",{name:E,rank:N,phaseId:S})},u=S=>{const E=n("template.defaultName.milestone",{idx:1}),N=ba(c.value??[]);a("addMilestone",{name:E,rank:N,phaseId:S})},f=S=>{a("updateMilestone",S)},p=S=>{a("archiveMilestone",S)},m=S=>{a("unarchiveMilestone",S)},h=S=>{a("archivePhase",S)},g=S=>{a("unarchivePhase",S)},v=S=>{"added"in S?a("updateMilestone",{id:S.added.element.id,phaseId:o.phase.id,rank:hr(c.value,S.added.newIndex)}):"removed"in S||"moved"in S&&a("updateMilestone",{id:S.moved.element.id,rank:hr(c.value,S.moved.newIndex)})},y=r.ref(!1),b=r.ref(!1),_=S=>{b.value=!0;const E=Ig(S,o.phase.milestones??[]);a("bulkAddMilestone",{phaseId:o.phase.id,milestones:E,onSuccess:()=>{b.value=!1,y.value=!1},onError:()=>{b.value=!1}})};r.watch(y,S=>{S&&(b.value=!1)});const k=yt.useRoute(),w=r.computed(()=>k.path.includes("/mapping")),C=r.computed(()=>{var S;return o.phase.id===((S=k.params)==null?void 0:S.phaseId)});r.ref(!1);const A=r.computed(()=>{var S;return o.phase.id!==((S=k.params)==null?void 0:S.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v5(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(S,E)=>(r.openBlock(),r.createElementBlock("li",rD,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(A.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",aD,[r.createVNode(we,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),w.value?(r.openBlock(),r.createElementBlock("div",sD,[r.createVNode(oD,{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:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",iD,[r.createVNode(aN,{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:g,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",lD,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(A.value)},[t.isEditable?(r.openBlock(),r.createBlock(il,{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:S.$t("project.milestone.add"),onClick:N},[r.createVNode(we,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],8,cD)]),menu:r.withCtx(({close:N})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),u(t.phase.id)}},r.toDisplayString(S.$t("project.bulk.menu.single")),9,dD),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),y.value=!0}},r.toDisplayString(S.$t("project.bulk.menu.bulkInsert")),9,uD)]),_:1},8,["class"])):r.createCommentVNode("",!0),r.createVNode(r.unref(oo),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},S.$attrs,{onChange:v}),{item:r.withCtx(({element:N})=>{var B;return[r.createVNode(CN,{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===((B=S.$route.params)==null?void 0:B.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:x=>!t.readonly&&S.$router.push({name:r.unref(Ie).milestone,params:{phaseId:t.phase.id,milestoneId:N.id}}),onUpdateMilestone:f,onArchiveMilestone:p,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",pD,[t.isEditable?(r.openBlock(),r.createBlock(ao,{key:0,label:S.$t("project.milestone.add"),"icon-name":"Add",class:"ao-project-phase__milestone-add",onClick:E[0]||(E[0]=N=>d(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)])),y.value?(r.openBlock(),r.createBlock(lu,{key:1,open:y.value,"onUpdate:open":E[1]||(E[1]=N=>y.value=N),title:S.$t("project.bulk.modal.milestone.title"),"root-type":"milestone","is-loading":b.value,onSubmit:_},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))}}),Dbe="",mD={class:"ao-project__phases"},hD={key:0,class:"ao-project-phase__phases-list-footer"},gD={class:"ao-project-phase__col-phase"},du=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)=>{Hn(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)},d=m=>{o("unarchivePhase",m)},u=m=>{if(m.moved){const h=ga(m,n.phases??[]);o("updatePhase",{id:m.moved.element.id,rank:h})}},f=m=>{o("updatePhase",m)},p=m=>{o("addPhase",m)};return(m,h)=>(r.openBlock(),r.createElementBlock("div",mD,[r.createVNode(r.unref(oo),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:r.withCtx(({element:g})=>[r.createVNode(fD,{phase:g,"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]=v=>m.$emit("bulkAddMilestone",v)),onUpdateMilestone:i,onArchiveMilestone:s,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:d},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",hD,[h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",gD,[r.createVNode(ao,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),h[2]||(h[2]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}}),Bbe="",bD={class:"ao-add-template-modal__form-body"},_D={class:"field__row"},yD={class:"ao-add-template-modal__form-footer"},Pg=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,d)=>(r.openBlock(),r.createBlock(Bi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(pt,{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",bD,[r.createElementVNode("div",_D,[r.createVNode(ft,{value:i.value,options:a.value,detached:!0,onChange:s},null,8,["value","options"])])]),r.createElementVNode("footer",yD,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}}),$be="",vD={class:"ao-save-template-modal__form-body"},CD={class:"field__row"},kD={class:"ao-field ao-field--inline"},wD={class:"ao-field__label"},xD={class:"ao-save-template-modal__phases"},ED={class:"ao-field__label"},SD={class:"ao-save-template-modal__phases-list"},AD=["value"],TD={class:"ao-save-template-modal__form-footer"},Rg=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(Bi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(pt,{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",vD,[r.createElementVNode("div",CD,[r.createElementVNode("label",kD,[r.createElementVNode("span",wD,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>a.value=d),type:"text"},null,512),[[r.vModelText,a.value]])])]),r.createElementVNode("div",xD,[r.createElementVNode("div",ED,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",SD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,d=>(r.openBlock(),r.createElementBlock("label",{key:d.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>i.value=u),type:"checkbox",value:d.id},null,8,AD),[[r.vModelCheckbox,i.value]]),r.createElementVNode("span",null,r.toDisplayString(d.name),1)]))),128))])])]),r.createElementVNode("footer",TD,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],32)]),_:1}))}}),Lbe="",ND={class:"ao-project"},DD=["onClick"],BD=["onClick"],$D={class:"ao-project__body"},LD=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}=St(),o=t,a=e,i=r.computed(()=>o.phases.flatMap(R=>R.milestones)),s=()=>{const{name:R,rank:re}=sr(o.phases,"phase",n);a("addPhase",{name:R,rank:re,projectId:o.project.id})},l=()=>{const R=n("template.defaultName.phase",{idx:1}),re=ba(o.phases);a("addPhase",{name:R,rank:re,projectId:o.project.id})},c=R=>{a("updatePhase",R)},d=R=>{a("archivePhase",R)},u=R=>{a("unarchivePhase",R)},f=R=>{a("copyPhaseToTemplate",R)},p=R=>{a("addMilestone",R)},m=R=>{a("bulkAddMilestone",R)},h=R=>{a("updateMilestone",R)},g=R=>{a("archiveMilestone",R)},v=R=>{a("unarchiveMilestone",R)},y=R=>{a("addActivity",R)},b=R=>{a("bulkAddActivity",R)},_=R=>{a("update:activity",R)},k=R=>{a("archiveActivity",R)},w=R=>{a("unarchiveActivity",R)},C=R=>{a("addSubtask",R)},A=R=>{a("updateSubtask",R)},S=R=>{a("deleteSubtask",R)},E=r.computed(()=>i.value.flatMap(R=>R.activities)),N=r.computed(()=>o.devStatuses??[]),B=r.computed(()=>o.sprints??[]),x=R=>{a("addFiles",R)},D=R=>{a("removeFile",R)},$=R=>{a("addComment",R)},V=R=>{a("updateComment",R)},I=R=>{a("removeComment",R)},W=r.ref(!1),P=r.ref(!1),j=r.ref(!1),Y=r.ref(!1),le=(R,re)=>{a("applyTemplate",{templateId:R,projectId:re}),W.value=!1},oe=(R,re)=>{var xe;const Ee=(xe=o.templates)==null?void 0:xe.at(-1),He=Ee?Qe.LexoRank.parse(Ee.rank).genNext():Qe.LexoRank.middle();a("saveTemplate",{templateName:R,rank:He.format(),phaseIds:re}),P.value=!1},Be=R=>{Y.value=!0;const re=ZN(R,o.phases);a("bulkAddPhase",{projectId:o.project.id,phases:re,onSuccess:()=>{Y.value=!1,j.value=!1},onError:()=>{Y.value=!1}})};r.watch(j,R=>{R&&(Y.value=!1)});const ce=yt.useRouter(),ne=r.ref("overview"),q=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(ne,R=>{R==="feed"?(ce.push({name:Ie.feed}),console.log("Navigating to feed...")):R==="dev"?(ce.push({name:Ie.dev}),console.log("Navigating to dev...")):R==="overview"?(ce.push({name:Ie.project}),console.log("Navigating to feed...")):R==="mapping"&&(ce.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(R,re)=>{var He;const Ee=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},R.$attrs),[r.createElementVNode("div",ND,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createVNode(si,{modelValue:ne.value,"onUpdate:modelValue":re[0]||(re[0]=xe=>ne.value=xe),tabs:q},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:R.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:re[1]||(re[1]=xe=>R.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(il,{key:0,class:"ao-project-overview__quick-add-phase"},{trigger:r.withCtx(({open:xe})=>[r.createVNode(ue,{size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:R.$t("project.phase.add"),onClick:xe},null,8,["label","onClick"])]),menu:r.withCtx(({close:xe})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{xe(),l()}},r.toDisplayString(R.$t("project.bulk.menu.single")),9,DD),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{xe(),j.value=!0}},r.toDisplayString(R.$t("project.bulk.menu.bulkInsert")),9,BD)]),_:1})):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:R.$t("project.template.save.label"),onClick:re[2]||(re[2]=xe=>P.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:R.$t("project.template.apply.label"),onClick:re[3]||(re[3]=xe=>W.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",$D,[r.createVNode(du,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(He=t.project)==null?void 0:He.estimationUnit,onAddMilestone:p,onBulkAddMilestone:m,onUpdateMilestone:h,onArchiveMilestone:g,onUnarchiveMilestone:v,onAddPhase:s,onUpdatePhase:c,onArchivePhase:d,onUnarchivePhase:u,onCopyPhaseToTemplate:f},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),r.createVNode(Ee,{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:re[4]||(re[4]=xe=>R.$router.push({name:r.unref(Ie).project})),onUpdateMilestone:h,onAddActivity:y,onBulkAddActivity:b,onUpdateActivity:_,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(Ee,{name:"modal",activities:E.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,"dev-statuses":N.value,sprints:B.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":_,onAddSubtask:C,onUpdateSubtask:A,onDeleteSubtask:S,onAddFiles:x,onRemoveFile:D,onAddComment:$,onUpdateComment:V,onRemoveComment:I,onFetchHistory:re[5]||(re[5]=()=>a("fetchHistory"))},{default:r.withCtx(({Component:xe})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(xe),null,{default:r.withCtx(Ce=>[r.renderSlot(R.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(Ce)))]),_: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"},[P.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:re[6]||(re[6]=xe=>P.value=!1),onSave:oe},null,8,["phases"])):r.createCommentVNode("",!0),W.value?(r.openBlock(),r.createBlock(Pg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:re[7]||(re[7]=xe=>W.value=!1),onApply:le},null,8,["project-id","templates"])):r.createCommentVNode("",!0),j.value?(r.openBlock(),r.createBlock(lu,{key:2,open:j.value,"onUpdate:open":re[8]||(re[8]=xe=>j.value=xe),title:R.$t("project.bulk.modal.phase.title"),"root-type":"phase","is-loading":Y.value,onSubmit:Be},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))],64)}}}),Mbe="",MD={class:"ao-card-feed__header"},VD={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},OD={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},ID={class:"ao-card-feed__body"},PD={key:0,class:"ao-card-feed__breadcrumbs"},RD={class:r.normalizeClass(["ao-card-feed__title-group"])},FD={class:"ao-card-feed__title-line"},zD={key:0,class:"ao-card-feed__slug"},qD={key:1,class:"ao-card-feed__deadline"},jD={class:"ao-card-feed__footer"},UD={class:"ao-card-feed__footer-row"},HD={class:"ao-assignees"},WD={key:0,class:"ao-assignee"},ZD={key:0,class:"ao-card-feed__subitems"},GD={key:0,class:"ao-card-feed__subitem"},KD={class:"ao-card-feed__subitem"},YD={key:1,class:"ao-card-feed__subitem"},JD={class:"ao-card-feed__subitem"},XD={class:"ao-card-feed__timer-wrapper"},QD={class:"ao-card-feed__footer-row"},eB={key:0,class:"ao-card-feed__progress-wrapper"},tB={class:"ao-card-feed__subitem"},nB={class:"ao-card-feed__subitem"},uu=r.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},important:{type:Boolean},blocked:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{}},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=g=>{o("updateActivity",{id:n.id,name:g})},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]:[]),d=r.computed(()=>gr(n.deadline)),u=g=>{o("removeAssignee",g)},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},p=r.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.length}),m=r.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.filter(v=>v.isDone).length}),h=r.computed(()=>(m.value||0)/(p.value||1));return(g,v)=>(r.openBlock(),r.createBlock(rl,{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",MD,[a.value?(r.openBlock(),r.createBlock(oa,{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.important||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",VD,[t.isPrivate?(r.openBlock(),r.createBlock(we,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.important?(r.openBlock(),r.createBlock(we,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(we,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",OD,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",ID,[l.value?(r.openBlock(),r.createElementBlock("span",PD,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",RD,[r.createElementVNode("div",FD,[t.slug?(r.openBlock(),r.createElementBlock("span",zD,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(pt,{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",qD,r.toDisplayString(d.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",jD,[r.createElementVNode("div",UD,[r.createElementVNode("ul",HD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,y=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:y.id},[y?(r.openBlock(),r.createElementBlock("li",WD,[r.createVNode(sn,{"user-name":r.unref(Gu)(y),"avatar-url":y.avatarUrl,"is-closable":!0,onClose:()=>u(y.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",ZD,[t.comments?(r.openBlock(),r.createElementBlock("li",GD,[r.createVNode(we,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",KD,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",YD,[r.createVNode(we,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",JD,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",XD,[r.createVNode(we,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",QD,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",eB,[r.createElementVNode("div",tB,[r.createVNode(we,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",nB,r.toDisplayString(m.value)+" / "+r.toDisplayString(p.value),1)]),r.createVNode(al,{percentages:h.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}}),Vbe="",oB={class:"ao-project-milestone"},rB={class:"ao-project-milestone__header"},aB={class:"ao-project-milestone__header_line"},iB={class:"ao-project-milestone__header_line"},sB={class:"ao-project-milestone__title"},lB={key:0,class:"ao-fieldset ao-milestone__fieldset"},cB={class:"ao-field__row ao-milestone__field-row"},dB={class:"ao-field ao-field--inline"},uB={class:"ao-field__row ao-milestone__field-row"},pB={class:"ao-field ao-milestone__field-multiselect"},fB={class:"ao-milestone__color-actions"},mB=["onClick"],hB=["title","onClick"],gB=["onClick"],bB=["onClick"],_B={class:"ao-project-milestone__body"},yB={key:0,class:"ao-project-milestone__footer"},vB=["onClick"],CB=["onClick"],Fg=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}=St(),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)}),d=r.computed(()=>{var E;return(E=c.value)==null?void 0:E.activities});r.watch(d,(E,N)=>{Hn(E,N)});const u=E=>{a("close",E)},f=()=>{const{name:E,rank:N}=sr(d.value??[],"activity",n);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},p=()=>{const E=n("template.defaultName.activity",{idx:1}),N=ba(d.value??[]);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},m=r.ref(!1),h=r.ref(!1),g=E=>{h.value=!0;const N=WN(E,d.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 v=E=>{a("updateActivity",E)},y=E=>{d.value&&"moved"in E&&a("updateActivity",{id:E.moved.element.id,rank:hr(d.value,E.moved.newIndex)})},b=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})}}),_=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?wl(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})}}),A=r.computed({get(){var E;return((E=c.value)==null?void 0:E.important)??!1},set(E){a("updateMilestone",{id:o.milestoneId,important:E})}}),S=(E,N)=>{const B=E.currentTarget;B instanceof HTMLElement&&N(B)};return(E,N)=>{var B;return r.openBlock(),r.createElementBlock("div",oB,[r.createElementVNode("header",rB,[r.createElementVNode("div",aB,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:u})]),r.createElementVNode("div",iB,[r.createElementVNode("div",sB,[r.createVNode(pt,{title:((B=c.value)==null?void 0:B.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(Yd,{modelValue:A.value,"onUpdate:modelValue":N[0]||(N[0]=x=>A.value=x),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",lB,[r.createElementVNode("div",cB,[r.createElementVNode("label",dB,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=x=>_.value=x),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,_.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",uB,[r.createElementVNode("label",pB,[r.createVNode(ft,{modelValue:C.value,"onUpdate:modelValue":N[2]||(N[2]=x=>C.value=x),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:x,handleTagRemove:D})=>[r.createVNode(sn,{"user-name":x.label,"avatar-url":x.avatar,"is-closable":!0,onClose:$=>D(x,$)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",fB,[r.createVNode(Qr,{color:b.value,"onUpdate:color":N[3]||(N[3]=x=>b.value=x)},{clickable:r.withCtx(({openPicker:x,bgColor:D})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:D}),class:"color-button",onClick:$=>S($,x)},null,12,mB)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createBlock(il,{key:0,placement:"bottom-end"},{trigger:r.withCtx(({open:x})=>[r.createElementVNode("button",{type:"button",class:"ao-project-milestone__quick-add",title:E.$t("project.activity.add"),onClick:x},[r.createVNode(we,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,hB)]),menu:r.withCtx(({close:x})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),p()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,gB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,bB)]),_:1})):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",_B,[r.createVNode(r.unref(oo),r.mergeProps({class:"ao-project-milestone__activities",list:d.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},E.$attrs,{onChange:y}),{item:r.withCtx(({element:x})=>{var D,$,V,I,W;return[r.createVNode(uu,{id:x.id,name:x.name||x.id,"project-id":t.projectId,"phase-name":(D=s.value)==null?void 0:D.name,"milestone-name":($=c.value)==null?void 0:$.name,"milestone-color":(V=c.value)==null?void 0:V.color,deadline:x.deadline,important:x.important,blocked:x.blocked,users:t.users,assignee:x.assignee,slug:x.slug,comments:(I=x.comments)==null?void 0:I.length,attachments:(W=x.attachments)==null?void 0:W.length,tasks:x.tasks,"is-editable":t.isEditable,"is-private":x.private,"is-closed":k(x),onClick:P=>E.$router.push({name:r.unref(Ie).activity,params:{milestoneId:t.milestoneId,activityId:x.id}}),onUpdateActivity:v,onRemoveAssignee:()=>v({id:x.id,assigneeId:null}),onStartTimer:i},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&x.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:x.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!x.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:x.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","important","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",yB,[r.createVNode(il,null,{trigger:r.withCtx(({open:x})=>[r.createVNode(ao,{"icon-name":"Add",label:E.$t("project.activity.add"),onClick:x},null,8,["label","onClick"])]),menu:r.withCtx(({close:x})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),f()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,vB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,CB)]),_:1})])):r.createCommentVNode("",!0)]),m.value?(r.openBlock(),r.createBlock(lu,{key:0,open:m.value,"onUpdate:open":N[4]||(N[4]=x=>m.value=x),title:E.$t("project.bulk.modal.activity.title"),"root-type":"activity","is-loading":h.value,onSubmit:g},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)])}}}),Obe="",kB=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 y;return(y=n.phases)==null?void 0:y.find(b=>b.id===n.phaseId)}),i=r.computed(()=>{var y;return(y=n.phases)==null?void 0:y.flatMap(b=>b.milestones)}),s=r.computed(()=>{var y;return(y=i.value)==null?void 0:y.find(b=>b.id===n.milestoneId)}),l=r.computed(()=>{var y;return n.selectedActivity??((y=n.activities)==null?void 0:y.find(b=>b.id===n.activityId))}),c=y=>{o("update:activity",y)},d=y=>{o("addSubtask",y)},u=y=>{o("updateSubtask",y)},f=y=>{o("deleteSubtask",y)},p=y=>{o("addFiles",y)},m=y=>{o("removeFile",y)},h=y=>{o("addComment",y)},g=y=>{o("updateComment",y)},v=y=>{o("removeComment",y)};return(y,b)=>{var _,k;return l.value?(r.openBlock(),r.createBlock(Jd,{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:`${(_=a.value)==null?void 0:_.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:y.$router.back,"onUpdate:activity":c,onAddSubtask:d,onUpdateSubtask:u,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:m,onAddComment:h,onUpdateComment:g,onRemoveComment:v,onCreateSprint:b[0]||(b[0]=w=>o("createSprint",w)),onFetchHistory:b[1]||(b[1]=()=>o("fetchHistory"))},{default:r.withCtx(w=>[r.renderSlot(y.$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)}}}),wB={class:"ao-col-header"},xB=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",wB,[r.createVNode(pt,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(oa,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}}),Ibe="";function EB(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function ll(t){return typeof t=="function"?t():r.unref(t)}const SB=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const AB=t=>t!=null,li=()=>{};function TB(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 NB(t,e={}){let n,o,a=li;const i=l=>{clearTimeout(l),a(),a=li};return l=>{const c=ll(t),d=ll(e.maxWait);return n&&i(n),c<=0||d!==void 0&&d<=0?(o&&(i(o),o=null),Promise.resolve(l())):new Promise((u,f)=>{a=e.rejectOnCancel?f:u,d&&!o&&(o=setTimeout(()=>{n&&i(n),o=null,u(l())},d)),n=setTimeout(()=>{o&&i(o),o=null,u(l())},c)})}}function DB(t,e=200,n={}){return TB(NB(e,n),t)}function pu(t){var e;const n=ll(t);return(e=n==null?void 0:n.$el)!=null?e:n}const BB=SB?window:void 0;function $B(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function LB(t){const e=$B();return r.computed(()=>(e.value,!!t()))}function MB(t,e,n={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:s=BB,immediate:l=!0}=n,c=LB(()=>s&&"IntersectionObserver"in s),d=r.computed(()=>{const h=ll(t);return(Array.isArray(h)?h:[h]).map(pu).filter(AB)});let u=li;const f=r.ref(l),p=c.value?r.watch(()=>[d.value,pu(o),f.value],([h,g])=>{if(u(),!f.value||!h.length)return;const v=new IntersectionObserver(e,{root:pu(g),rootMargin:a,threshold:i});h.forEach(y=>y&&v.observe(y)),u=()=>{v.disconnect(),u=li}},{immediate:l,flush:"post"}):li,m=()=>{u(),p(),f.value=!1};return EB(m),{isSupported:c,isActive:f,pause(){u(),f.value=!1},resume(){f.value=!0},stop:m}}const VB={class:r.normalizeClass(["ao-list-kanban"])},OB={class:"ao-list-kanban__header"},IB=["title"],PB={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},RB={key:1,class:"ao-list-kanban__end"},FB={key:0,class:"ao-list-kanban__no-more"},zB={key:1,class:"ao-list-kanban__divider"},qB={key:1,class:"ao-list-kanban__footer"},jB=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);MB(i,([{isIntersecting:f}])=>{a.value=f}),r.watch(a,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const s=f=>{var p;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((p=f.assignee)==null?void 0:p.id):!1},l=f=>{o("selectActivity",f)},c=f=>{o("updateActivity",f)},d=f=>{if("added"in f){const p={id:f.added.element.id,rank:hr(n.list,f.added.newIndex)};n.isDevMode?p.statusDevId=n.status.id:p.statusId=n.status.id,o("updateActivity",p)}else"removed"in f||"moved"in f&&o("updateActivity",{id:f.moved.element.id,rank:hr(n.list,f.moved.newIndex)})},u=r.ref(!1);return(f,p)=>(r.openBlock(),r.createElementBlock("div",VB,[t.title||f.$slots.header?r.renderSlot(f.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",OB,[t.title?(r.openBlock(),r.createBlock(xB,{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:f.$t("feed.activity.add"),onClick:p[0]||(p[0]=h=>f.$emit("addAtBeginning"))},[r.createVNode(we,{name:"Add"})],8,IB)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(oo),r.mergeProps({class:["ao-list-kanban__list",u.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:d,onStart:p[2]||(p[2]=m=>u.value=!0),onEnd:p[3]||(p[3]=m=>u.value=!1)}),{item:r.withCtx(({element:m})=>{var h,g,v,y,b,_,k,w,C,A;return[r.createVNode(uu,{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":(g=m.project)==null?void 0:g.id,"project-color":(v=m.project)==null?void 0:v.color,"phase-name":(b=(y=m.milestone)==null?void 0:y.phase)==null?void 0:b.name,"milestone-name":(_=m.milestone)==null?void 0:_.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,important:m.important,blocked:m.blocked,type:m.type,comments:(C=m.comments)==null?void 0:C.length,attachments:(A=m.attachments)==null?void 0:A.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[S=>s(m)&&c(S),()=>s(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>s(m)&&c({id:m.id,assigneeId:null}),onStartTimer:p[1]||(p[1]=S=>f.$emit("startTimer",S))},{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:f.$t("feed.activity.archive"),onClick:r.withModifiers(()=>f.$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:f.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>f.$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","important","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",PB,[r.createVNode(we,{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",RB,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",FB,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",zB)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",qB,[r.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(ao,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:p[4]||(p[4]=m=>f.$emit("add"))},null,8,["label"])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]))}}),Pbe="",UB={class:"ao-field ao-search-field"},HB=["value","placeholder"],WB=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 d=l.target.value;o("update:modelValue",d,l)},i=DB(a,n.delay),s=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",UB,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...d)=>r.unref(i)&&r.unref(i)(...d)),onKeypress:r.withKeys(a,["enter"])},null,40,HB),r.createVNode(we,{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"])]))}}),Rbe="",ZB={class:"ao-sprint-metrics"},GB=["onClick"],KB={class:"ao-sprint-metrics__header-left"},YB={class:"ao-sprint-metrics__icon"},JB={class:"ao-sprint-metrics__title"},XB={class:"ao-sprint-metrics__dates"},QB={key:0,class:"ao-sprint-metrics__project"},e$={class:"ao-sprint-metrics__advancement"},t$={class:"ao-sprint-metrics__progress-bar"},n$={class:"ao-sprint-metrics__percent"},o$={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},r$={class:"ao-sprint-metrics__tooltip-row"},a$={class:"ao-sprint-metrics__tooltip-row"},i$={class:"ao-sprint-metrics__tooltip-row"},s$={class:"ao-sprint-metrics__tooltip-row"},l$={class:"ao-sprint-metrics__tooltip-row"},c$={class:"ao-sprint-metrics__tooltip-row"},d$={class:"ao-sprint-metrics__tooltip-row"},u$={class:"ao-sprint-metrics__content"},p$={class:"ao-sprint-metrics__grid"},f$={class:"ao-sprint-metrics__item"},m$={class:"ao-sprint-metrics__label"},h$={class:"ao-sprint-metrics__value"},g$={key:0,class:"ao-sprint-metrics__tooltip"},b$={class:"ao-sprint-metrics__tooltip-title"},_$={class:"ao-sprint-metrics__item"},y$={class:"ao-sprint-metrics__label"},v$={class:"ao-sprint-metrics__value"},C$={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},k$={class:"ao-sprint-metrics__label"},w$={class:"ao-sprint-metrics__input-row"},x$=["value","placeholder","onInput"],E$={key:0,class:"ao-sprint-metrics__secondary"},S$={class:"ao-sprint-metrics__item"},A$={class:"ao-sprint-metrics__label"},T$={class:"ao-sprint-metrics__value"},N$=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]}},setup(t){const e=B=>B.label?`Sprint ${B.number}: ${B.label}`:`Sprint ${B.number}`,n=t,{t:o}=St(),a=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),l=B=>{i.value.has(B)?i.value.delete(B):i.value.add(B)},c=B=>n.projects.find(x=>x.id===B.projectId),d=B=>{var x;return((x=n.planningData[B])==null?void 0:x.plannedManDays)??0},u=B=>{var x;return((x=n.planningData[B])==null?void 0:x.remainingPlannedManDays)??0},f=B=>{var x;return((x=n.planningData[B])==null?void 0:x.users)??[]},p=B=>n.activities.filter(x=>{var D;return((D=x.sprint)==null?void 0:D.id)===B}).reduce((x,D)=>x+(D.estimation??0),0),m=B=>n.activities.filter(x=>{var $,V;if((($=x.sprint)==null?void 0:$.id)!==B)return!1;const D=(V=x.devStatus)==null?void 0:V.name;return D&&a.includes(D)}).reduce((x,D)=>x+(D.estimation??0),0),h=B=>{const x=d(B);return x<=0?0:p(B)/x},g=B=>s.value[B],v=(B,x)=>{const D=parseFloat(x);isNaN(D)||D<=0?delete s.value[B]:s.value[B]=D},y=B=>{const x=g(B);return x===void 0?0:d(B)*x},b=B=>{const x=y(B);return x<=0?null:p(B)/x},_=B=>{const x=b(B);return x===null?0:Math.round(x*100)},k=B=>{const x=p(B);if(x<=0)return 0;const D=m(B);return Math.round(D/x*100)},w=B=>{const x=p(B),D=m(B);return Math.max(0,x-D)},C=B=>{const x=u(B),D=h(B);return x*D},A=B=>{const x=C(B),D=w(B);return x<=0&&D>0?!1:x<D},S=B=>B.toFixed(1),E=B=>`${B.toFixed(2)} pts / MD`,N=(B,x)=>{const D=new Date(B),$=new Date(x),V={day:"numeric",month:"short"};return`${D.toLocaleDateString("en-UK",V)} – ${$.toLocaleDateString("en-UK",V)}`};return(B,x)=>(r.openBlock(),r.createElementBlock("div",ZB,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,D=>{var $;return r.openBlock(),r.createElementBlock("div",{key:D.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:V=>l(D.id)},[r.createElementVNode("div",KB,[r.createElementVNode("span",YB,r.toDisplayString(i.value.has(D.id)?"▸":"▾"),1),r.createElementVNode("span",JB,r.toDisplayString(e(D)),1),r.createElementVNode("span",XB," · "+r.toDisplayString(N(D.startDate,D.endDate)),1),!i.value.has(D.id)&&c(D)?(r.openBlock(),r.createElementBlock("span",QB," · "+r.toDisplayString(($=c(D))==null?void 0:$.name),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__header-right",{"ao-sprint-metrics__header-right--behind":A(D.id)}])},[r.createElementVNode("div",e$,[r.createElementVNode("div",t$,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":A(D.id)}]),style:r.normalizeStyle({width:k(D.id)+"%"})},null,6)]),r.createElementVNode("span",n$,r.toDisplayString(k(D.id))+"% ",1),r.createElementVNode("div",o$,[x[7]||(x[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",r$,[x[0]||(x[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(k(D.id))+"%",1)]),r.createElementVNode("span",a$,[x[1]||(x[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(S(m(D.id)))+" / "+r.toDisplayString(S(p(D.id)))+" pts ",1)]),r.createElementVNode("span",i$,[x[2]||(x[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(S(w(D.id)))+" pts",1)]),x[8]||(x[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",s$,[x[3]||(x[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(S(C(D.id)))+" pts",1)]),r.createElementVNode("span",l$,[x[4]||(x[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(S(u(D.id)))+" MD",1)]),r.createElementVNode("span",c$,[x[5]||(x[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(E(h(D.id))),1)]),x[9]||(x[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",d$,[x[6]||(x[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(A(D.id)?"Behind plan":"On track"),1)])])])],2)],8,GB),r.withDirectives(r.createElementVNode("div",u$,[r.createElementVNode("div",p$,[r.createElementVNode("div",f$,[r.createElementVNode("div",m$,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":f(D.id).length>0}])},[r.createTextVNode(r.toDisplayString(S(d(D.id)))+" MD ",1),f(D.id).length>0?(r.openBlock(),r.createElementBlock("span",g$,[r.createElementVNode("span",b$,r.toDisplayString(S(d(D.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f(D.id),V=>(r.openBlock(),r.createElementBlock("span",{key:V.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString(V.fullName),1),r.createElementVNode("span",null,r.toDisplayString(S(V.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",_$,[r.createElementVNode("div",y$,r.toDisplayString(r.unref(o)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",v$,r.toDisplayString(S(p(D.id)))+" pts ",1)]),r.createElementVNode("div",C$,[r.createElementVNode("div",k$,r.toDisplayString(r.unref(o)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",w$,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:s.value[D.id]??"",placeholder:r.unref(o)("sprintMetrics.targetVelocityPlaceholder"),onInput:V=>v(D.id,V.target.value)},null,40,x$),x[10]||(x[10]=r.createElementVNode("span",{class:"ao-sprint-metrics__unit"},"pts / MD",-1))]),h(D.id)>0?(r.openBlock(),r.createElementBlock("div",E$,r.toDisplayString(r.unref(o)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(E(h(D.id))),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",S$,[r.createElementVNode("div",A$,r.toDisplayString(r.unref(o)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",T$,[b(D.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(_(D.id))+"% · "+r.toDisplayString(S(p(D.id)))+" / "+r.toDisplayString(S(y(D.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(D.id)]])])}),128))]))}}),Fbe="",D$=ee(N$,[["__scopeId","data-v-e4ad9a7b"]]),B$={class:"ao-feed"},$$={class:"ao-feed__filters"},L$={class:"ao-feed__body"},fu=r.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},devStatuses:{default:()=>[]},project:{default:void 0},projects:{default:()=>[]},filters:{},activityTypes:{default:()=>[]},users:{},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:()=>({})},activityHistory:{default:()=>[]},activityHistoryLoading:{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}=St(),o=t,a=e;function i(F,ie){a("toast",F,ie)}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(F=>F.activityType==="dev"):s.value),d=async(F,ie)=>{await a("selectActivity",F,ie)},u=r.ref({}),f=r.ref(!1),p=r.ref(!1),m=r.computed(()=>o.project?"milestone":"project");r.watch([()=>l.value,()=>c.value,()=>o.initialActivityId,()=>o.initialActivitySlug,()=>o.feedMode],async([F,ie,be,fe],[Ke,$e])=>{const Le=o.feedMode==="dev"?"devStatus":"status";u.value=Object.fromEntries(F.map(Fe=>[Fe.id,ie.filter(Ye=>{const Je=Ye[Le];return(Je==null?void 0:Je.id)===Fe.id})])),be&&!f.value?(d(be,null),f.value=!0):fe&&!f.value&&(d(null,fe),f.value=!0),p.value&&Hn(ie,$e)},{immediate:!0});const h=r.computed(()=>{var F;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((F=o.selectedActivity.milestone.phase)==null?void 0:F.name)??""} / ${o.selectedActivity.milestone.name??""}`}),g=F=>{var Fe;const ie=o.feedMode==="dev"?o.activities.filter(Ye=>Ye.activityType==="dev"):o.activities,be=ie==null?void 0:ie.at(-1),fe=be?Qe.LexoRank.parse(be.rank).genNext():Qe.LexoRank.middle(),Ke=((Fe=o.activities)==null?void 0:Fe.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ke+1}),rank:fe.format(),...$e?{statusDevId:F.id,type:"dev"}:{statusId:F.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 Ye=o.sprints.find(Je=>Je.id===o.filters.sprintId[0]);Ye&&(Le.sprintId=Ye.id,Le.projectId=Ye.projectId)}p.value=!0,a("addActivity",Le)},v=F=>{var Fe,Ye;const ie=o.feedMode==="dev"?"devStatus":"status",be=((Fe=o.activities)==null?void 0:Fe.filter(Je=>{const Me=Je[ie];return(Me==null?void 0:Me.id)===F.id}))??[],fe=ba(be),Ke=((Ye=o.activities)==null?void 0:Ye.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ke+1}),rank:fe,...$e?{statusDevId:F.id,type:"dev"}:{statusId:F.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(Me=>Me.id===o.filters.sprintId[0]);Je&&(Le.sprintId=Je.id,Le.projectId=Je.projectId)}p.value=!0,a("addActivity",Le)},y=(F,ie)=>{p.value=!1,a("update:filters",{...o.filters,[F]:ie})},b=r.computed(()=>o.project?[o.project]:o.projects??[]),_=r.computed(()=>b.value.map(F=>({value:F.id,label:F.name}))),k=r.computed(()=>o.sprints.map(F=>({value:F.id,label:`${F.name} · ${F.startDate} – ${F.endDate}`,startDate:F.startDate,endDate:F.endDate,projectId:F.projectId}))),w=r.computed(()=>{const F=o.filters[an.sprint]??[];return o.sprints.filter(ie=>F.includes(ie.id))}),C=r.computed(()=>{var be;const F=o.filters[an.project]??[],ie=(be=o.project)!=null&&be.id?[o.project.id]:[];return[...F,...ie]}),A=r.computed(()=>o.milestones.map(F=>{var ie;return{value:F.id,label:(ie=F.phase)!=null&&ie.name?`${F.phase.name} - ${F.name}`:F.name,color:F.color,important:F.important}}));r.computed(()=>{var F;return(F=o.activityTypes)==null?void 0:F.map(ie=>({value:ie.id,label:ie.name}))});const S=r.computed(()=>o.users.map(F=>({value:F.id,label:`${F.firstName} ${F.lastName}`,avatar:F.avatarUrl}))),E=F=>{o.selectedActivity&&a("update:activity",F)},N=F=>{a("update:activity",F)},B=F=>{a("archiveActivity",F)},x=F=>{a("unarchiveActivity",F)},D=F=>{var ie;a("startTimer",F),(ie=window.parent)==null||ie.postMessage({type:"startTimer",data:F},"*")},$=F=>{p.value=!1,a("update:searchText",F)},V=F=>{p.value=!1,a("clear:searchText",F)},I=F=>{o.selectedActivity&&a("addSubtask",F)},W=F=>{o.selectedActivity&&a("updateSubtask",F)},P=F=>{o.selectedActivity&&a("deleteSubtask",F)},j=F=>{a("addFiles",F)},Y=F=>{a("removeFile",F)},le=F=>{o.selectedActivity&&a("addComment",{...F,activityId:o.selectedActivity.id})},oe=F=>{const{id:ie}=o.selectedActivity||{};ie&&a("updateComment",F)},Be=F=>{const{id:ie}=o.selectedActivity||{};ie&&a("removeComment",F)},ce=yt.useRouter(),ne=yt.useRoute(),q=r.ref("feed");r.watch(()=>ne.name,F=>{F===dr.feed||F==="ActivityFeed"||F==="ActivityFeedWithActivity"?q.value="feed":F===dr.dev||F==="ActivityFeedDev"||F==="ActivityFeedDevWithActivity"?q.value="dev":F===Ie.feed?q.value="feed":F===Ie.dev?q.value="dev":F===Ie.project?q.value="overview":F===Ie.mapping&&(q.value="mapping")},{immediate:!0});const R=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],re=r.computed(()=>Ee.value?R.filter(F=>F.value==="feed"||F.value==="dev"):R),Ee=r.computed(()=>!o.project&&ne.name&&(ne.name===dr.feed||ne.name===dr.dev||ne.name==="ActivityFeed"||ne.name==="ActivityFeedDev"||ne.name==="ActivityFeedWithActivity"||ne.name==="ActivityFeedDevWithActivity")),He=r.computed(()=>Ee.value?dr.feed:Ie.feed),xe=r.computed(()=>Ee.value?dr.dev:Ie.dev),Ce=r.computed(()=>Ie.project),kt=r.computed(()=>Ie.mapping);return r.watch(q,F=>{F==="feed"?ce.push({name:He.value}):F==="dev"?ce.push({name:xe.value}):F==="overview"?ce.push({name:Ce.value}):F==="mapping"&&ce.push({name:kt.value})}),(F,ie)=>{var be;return r.openBlock(),r.createElementBlock("div",B$,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createElementVNode("div",$$,[r.createVNode(si,{modelValue:q.value,"onUpdate:modelValue":ie[0]||(ie[0]=fe=>q.value=fe),tabs:re.value},null,8,["modelValue","tabs"]),r.createVNode(WB,{"model-value":t.searchText,placeholder:F.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":$,onClear:V},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(ft,{key:0,"model-value":t.filters[r.unref(an).project],mode:"tags",options:_.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:F.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":ie[1]||(ie[1]=fe=>y(r.unref(an).project,fe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(ft,{key:1,"model-value":t.filters[r.unref(an).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:F.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":ie[2]||(ie[2]=fe=>y(r.unref(an).sprint,fe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),r.createVNode(ft,{"model-value":t.filters[r.unref(an).milestone],mode:"tags",options:A.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:F.$t("feed.filters.milestone.placeholder"),"onUpdate:modelValue":ie[3]||(ie[3]=fe=>y(r.unref(an).milestone,fe))},null,8,["model-value","options","disabled","placeholder"]),S.value.length?(r.openBlock(),r.createBlock(ft,{key:2,"model-value":t.filters[r.unref(an).assignee],mode:"tags",options:S.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:F.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":ie[4]||(ie[4]=fe=>y(r.unref(an).assignee,fe))},{tag:r.withCtx(({option:fe,handleTagRemove:Ke})=>[r.createVNode(sn,{"user-name":fe.label,"avatar-url":fe.avatar,"is-closable":!0,onClose:$e=>Ke(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:F.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:ie[5]||(ie[5]=fe=>F.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__only-important",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:ie[6]||(ie[6]=fe=>F.$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:F.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:ie[7]||(ie[7]=fe=>F.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(D$,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:b.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",L$,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,fe=>(r.openBlock(),r.createBlock(jB,{key:fe.id,status:fe,list:u.value[fe.id],title:fe.name,"footer-label":F.$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:()=>g(fe),onAddAtBeginning:()=>v(fe),onSelectActivity:d,onArchiveActivity:B,onUnarchiveActivity:x,onUpdateActivity:N,onStartTimer:D},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(Jd,{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: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:b.value,"time-tracking-data":t.timeTrackingData,history:t.activityHistory,"history-loading":t.activityHistoryLoading,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:ie[8]||(ie[8]=()=>d(null,null)),onFetchHistory:ie[9]||(ie[9]=()=>a("fetchHistory")),"onUpdate:activity":E,onAddSubtask:I,onUpdateSubtask:W,onDeleteSubtask:P,onAddFiles:j,onRemoveFile:Y,onAddComment:le,onUpdateComment:oe,onRemoveComment:Be,onToast:i,onCreateSprint:ie[10]||(ie[10]=fe=>a("createSprint",fe))},{default:r.withCtx(fe=>[r.renderSlot(F.$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)]))])}}}),zbe="",M$={class:"ao-project-mapping"},V$={class:"ao-project-mapping-mapping__body"},O$={class:"ao-project-mapping-mapping__phases"},I$={key:0,class:"ao-project-mapping-mapping__image-wrapper"},P$=["src","alt"],R$=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}=St(),o=t,a=e,i=()=>{const{name:b,rank:_}=sr(o.phases,"phase",n);a("addPhase",{name:b,rank:_,projectId:o.project.id})},s=()=>{const b=n("template.defaultName.phase",{idx:1}),_=ba(o.phases);a("addPhase",{name:b,rank:_,projectId:o.project.id})},l=b=>{a("updatePhase",b)},c=b=>{a("archivePhase",b)},d=b=>{a("unarchivePhase",b)},u=b=>{a("copyPhaseToTemplate",b)},f=r.ref(!1),p=r.ref(!1),m=(b,_)=>{a("applyTemplate",{templateId:b,projectId:_}),f.value=!1},h=(b,_)=>{var C;const k=(C=o.templates)==null?void 0:C.at(-1),w=k?Qe.LexoRank.parse(k.rank).genNext():Qe.LexoRank.middle();a("saveTemplate",{templateName:b,rank:w.format(),phaseIds:_}),p.value=!1},g=yt.useRouter(),v=r.ref("mapping"),y=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(v,b=>{b==="feed"?(g.push({name:Ie.feed}),console.log("Navigating to feed...")):b==="dev"?(g.push({name:Ie.dev}),console.log("Navigating to dev...")):b==="overview"?(g.push({name:Ie.project}),console.log("Navigating to feed...")):b==="mapping"&&(g.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(b,_)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},b.$attrs),[r.createElementVNode("div",M$,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createVNode(si,{modelValue:v.value,"onUpdate:modelValue":_[0]||(_[0]=w=>v.value=w),tabs:y},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:b.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:_[1]||(_[1]=w=>b.$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:b.$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:b.$t("project.template.save.label"),onClick:_[2]||(_[2]=w=>p.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:b.$t("project.template.apply.label"),onClick:_[3]||(_[3]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",V$,[r.createElementVNode("div",O$,[r.createVNode(du,{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:d,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",I$,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,P$)])):r.createCommentVNode("",!0)])])],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[p.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:_[4]||(_[4]=w=>p.value=!1),onSave:h},null,8,["phases"])):r.createCommentVNode("",!0),f.value?(r.openBlock(),r.createBlock(Pg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:_[5]||(_[5]=w=>f.value=!1),onApply:m},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}}),qbe="",cr={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},F$=(t,e={})=>[{path:t,name:cr.TEMPLATES,redirect:{name:cr.TEMPLATES_LIST},...e,children:[{path:"",name:cr.TEMPLATES_LIST,component:zg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:cr.TEMPLATE_DETAILS,component:Lg,props:!0}]}],Ie={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},dr={feed:"ActivityFeed",dev:"ActivityFeedDev"},z$=(t,e={})=>[{path:t,...e,redirect:{name:Ie.project},children:[{path:"",name:Ie.project,component:LD,props:!0,children:[{path:":phaseId/:milestoneId",name:Ie.milestone,component:Fg,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Ie.activity,props:{default:!0,modal:!0},components:{default:Fg,modal:kB}}]},{path:"feed",name:Ie.feed,component:fu,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Ie.dev,component:fu,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Ie.mapping,component:R$,props:!0}]}],q$={class:"ao-templates"},zg=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=St(),o=t,a=e;r.watch(()=>o.templates,(d,u)=>{Hn(d,u)});const i=()=>{var m,h;const d=(m=o.templates)==null?void 0:m.at(-1),u=d?Qe.LexoRank.parse(d.rank).genNext():Qe.LexoRank.middle(),f=((h=o.templates)==null?void 0:h.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:u.format()};a("addTemplate",p)},s=(d,u)=>{a("updateItem",{itemType:qe.TEMPLATES,id:d,templateId:d,data:{name:u}})},l=(d,u)=>{a("removeItem",{itemType:qe.TEMPLATES,templateId:d,data:{id:d,...u?{name:u}:{}}})},c=d=>{if(d.moved){const u=ga(d,o.templates??[]);a("updateItem",{itemType:qe.TEMPLATES,id:d.moved.element.id,templateId:d.moved.element.id,data:{rank:u}})}};return(d,u)=>(r.openBlock(),r.createElementBlock("div",q$,[r.createVNode(_a,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:d.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:i},null,8,["label"])]),_:1}),r.createVNode(r.unref(oo),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:r.withCtx(({element:f})=>{var p;return[r.createVNode(U5,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?r.unref(m5)(f.phases):0,activities:f.phases?r.unref(h5)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:m=>s(f.id,m),onClick:m=>d.$router.push({name:r.unref(cr).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:u[0]||(u[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),jbe="",j$={class:"ao-field__label"},qg=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",j$,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),U$=["type","value","disabled","readonly"],H$=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(qg,{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,U$)]),_:1},8,["label"]))}}),W$={class:"ao-field"},Z$={class:"ao-field__label"},G$=["checked","disabled"],jg=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",W$,[r.createElementVNode("span",Z$,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,G$)]))}}),K$={class:"ao-audit-config"},Y$={key:0,class:"ao-audit-config__loading"},J$={key:1,class:"ao-audit-config__error"},X$={key:2,class:"ao-audit-config__empty"},Q$={key:3,class:"ao-audit-config__table"},eL={class:"ao-audit-config__th ao-audit-config__th--table"},tL={class:"ao-audit-config__th ao-audit-config__th--audit"},nL={class:"ao-audit-config__th ao-audit-config__th--excluded"},oL={class:"ao-audit-config__td ao-audit-config__td--table"},rL={class:"ao-audit-config__table-name"},aL={key:0,class:"ao-audit-config__schema"},iL={class:"ao-audit-config__td ao-audit-config__td--audit"},sL={class:"ao-audit-config__checkbox"},lL={class:"ao-audit-config__td ao-audit-config__td--excluded"},cL={key:0,class:"ao-audit-config__disabled-note"},dL={class:"ao-audit-config__option"},uL=["title"],pL={key:0,class:"ao-audit-config__all-tracked"},fL=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}=St(),i=r.computed(()=>n.tables);function s(d){return d.columns.map(u=>({value:u.name,label:u.name,isPrimaryKey:u.isPrimaryKey}))}function l(d,u){o("update",{schemaName:d.schemaName,tableName:d.tableName,isEnabled:u,excludeColumns:d.excludeColumns})}function c(d,u){const f=Array.from(new Set(u??[]));o("update",{schemaName:d.schemaName,tableName:d.tableName,isEnabled:d.isEnabled,excludeColumns:f})}return(d,u)=>(r.openBlock(),r.createElementBlock("div",K$,[t.loading?(r.openBlock(),r.createElementBlock("div",Y$,r.toDisplayString(r.unref(a)("audit.loading")),1)):t.error?(r.openBlock(),r.createElementBlock("div",J$,r.toDisplayString(r.unref(a)("audit.error",{message:t.error})),1)):i.value.length?(r.openBlock(),r.createElementBlock("table",Q$,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",eL,r.toDisplayString(r.unref(a)("audit.tableHeader")),1),r.createElementVNode("th",tL,r.toDisplayString(r.unref(a)("audit.auditHeader")),1),r.createElementVNode("th",nL,r.toDisplayString(r.unref(a)("audit.ignoredHeader")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,f=>(r.openBlock(),r.createElementBlock("tr",{key:`${f.schemaName}.${f.tableName}`},[r.createElementVNode("td",oL,[r.createElementVNode("span",rL,r.toDisplayString(f.tableName),1),f.schemaName!=="public"?(r.openBlock(),r.createElementBlock("span",aL,r.toDisplayString(f.schemaName),1)):r.createCommentVNode("",!0)]),r.createElementVNode("td",iL,[r.createElementVNode("div",sL,[r.createVNode(jg,{label:"","model-value":f.isEnabled,"is-disabled":t.disabled,"is-readonly":!1,"onUpdate:modelValue":p=>l(f,p)},null,8,["model-value","is-disabled","onUpdate:modelValue"])])]),r.createElementVNode("td",lL,[f.isEnabled?(r.openBlock(),r.createBlock(ft,{key:1,"model-value":f.excludeColumns,class:"ao-audit-config__multiselect",mode:"tags","value-prop":"value",label:"label","track-by":"label","close-on-select":!1,searchable:!0,options:s(f),disabled:t.disabled,caret:!t.disabled,"onUpdate:modelValue":p=>c(f,p)},{option:r.withCtx(({option:p})=>[r.createElementVNode("span",dL,[r.createTextVNode(r.toDisplayString(p.label)+" ",1),p.isPrimaryKey?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-audit-config__pk",title:r.unref(a)("audit.primaryKey")}," PK ",8,uL)):r.createCommentVNode("",!0)])]),placeholder:r.withCtx(()=>[f.excludeColumns.length===0?(r.openBlock(),r.createElementBlock("span",pL,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",cL,r.toDisplayString(r.unref(a)("audit.auditDisabled")),1))])]))),128))])])):(r.openBlock(),r.createElementBlock("div",X$,r.toDisplayString(r.unref(a)("audit.empty")),1))]))}}),Ube="",mL={class:"ao-activity-inline__title"},hL={key:0,class:"ao-activity-inline__milestone"},gL={class:"ao-activity-inline__name"},bL={class:"ao-activity-inline__assignee"},_L={key:1,class:"ao-activity-inline__unassigned"},yL={class:"ao-activity-inline__estimation"},vL={class:"ao-activity-inline__status"},CL={key:1,class:"ao-activity-inline ao-activity-inline--disabled"},kL={class:"ao-activity-inline__title"},wL={class:"ao-activity-inline__name"},xL={class:"ao-activity-inline__assignee"},EL={key:1},SL={class:"ao-activity-inline__estimation"},AL={class:"ao-activity-inline__status"},TL=r.defineComponent({__name:"AoActivityInline",props:{activity:{}},setup(t){const e=t,n=r.computed(()=>{const s=e.activity.milestone,l=s==null?void 0:s.phase,c=e.activity.project;return!(c!=null&&c.id)||!(l!=null&&l.id)||!(s!=null&&s.id)?null:{name:Ie.activity,params:{id:c.id,phaseId:l.id,milestoneId:s.id,activityId:e.activity.id}}}),o=r.computed(()=>e.activity.assignee?[e.activity.assignee.firstName,e.activity.assignee.lastName].filter(Boolean).join(" "):""),a=r.computed(()=>{var s,l;return((s=e.activity.devStatus)==null?void 0:s.name)??((l=e.activity.status)==null?void 0:l.name)??""}),i=r.computed(()=>{var s;return((s=e.activity.project)==null?void 0:s.estimationUnit)==="days"?"d":"h"});return(s,l)=>n.value?(r.openBlock(),r.createBlock(r.unref(yt.RouterLink),{key:0,to:n.value,class:"ao-activity-inline"},{default:r.withCtx(()=>[r.createElementVNode("div",mL,[t.activity.milestone?(r.openBlock(),r.createElementBlock("span",hL,r.toDisplayString(t.activity.milestone.name),1)):r.createCommentVNode("",!0),r.createElementVNode("span",gL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",bL,[t.activity.assignee?(r.openBlock(),r.createBlock(sn,{key:0,"user-name":o.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",_L," — "))]),r.createElementVNode("div",yL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(i.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",vL,r.toDisplayString(a.value),1)]),_:1},8,["to"])):(r.openBlock(),r.createElementBlock("div",CL,[r.createElementVNode("div",kL,[r.createElementVNode("span",wL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",xL,[t.activity.assignee?(r.openBlock(),r.createBlock(sn,{key:0,"user-name":o.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",EL,"—"))]),r.createElementVNode("div",SL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(i.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",AL,r.toDisplayString(a.value),1)]))}}),Hbe="",NL=ee(TL,[["__scopeId","data-v-e2c4053e"]]),DL={class:"ao-sprint-section__header-left"},BL={class:"ao-sprint-section__expand-icon"},$L={class:"ao-sprint-section__title"},LL={key:0,class:"ao-sprint-section__archived-badge"},ML={class:"ao-sprint-section__header-right"},VL={class:"ao-sprint-section__dates"},OL={class:"ao-sprint-section__meta"},IL=["onClick"],PL={class:"ao-sprint-section__edit-title"},RL={class:"ao-sprint-section__fixed-number"},FL={class:"ao-sprint-section__date-fields"},zL={class:"ao-sprint-section__actions"},qL={class:"ao-sprint-section__content"},jL={key:0,class:"ao-sprint-section__empty"},UL=r.defineComponent({__name:"AoSprintSection",props:{sprint:{},activities:{},isEditable:{type:Boolean,default:!1}},emits:["updateSprint","archiveSprint","unarchiveSprint"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(!0),i=r.ref(!1),s=r.ref({label:"",startDate:"",endDate:"",color:""}),l=r.computed(()=>n.sprint.label?`Sprint ${n.sprint.number}: ${n.sprint.label}`:`Sprint ${n.sprint.number}`),c=r.computed(()=>{const w=gr(n.sprint.startDate,"dd/MM/yy"),C=gr(n.sprint.endDate,"dd/MM/yy");return`${w} – ${C}`}),d=r.computed(()=>n.activities.length),u=r.computed(()=>n.activities.filter(w=>w.estimation!=null)),f=r.computed(()=>u.value.length>0),p=r.computed(()=>u.value.reduce((w,C)=>w+(C.estimation??0),0)),m=r.computed(()=>{var C,A;return((A=(C=n.activities.find(S=>{var E;return(E=S.project)==null?void 0:E.estimationUnit}))==null?void 0:C.project)==null?void 0:A.estimationUnit)==="days"?"d":"h"}),h=r.computed(()=>!!(s.value.startDate&&s.value.endDate)),g=()=>{i.value||(a.value=!a.value)},v=()=>{i.value=!0,s.value={label:n.sprint.label||"",startDate:n.sprint.startDate,endDate:n.sprint.endDate,color:n.sprint.color||""}},y=()=>{i.value=!1},b=()=>{h.value&&(o("updateSprint",{id:n.sprint.id,label:s.value.label||void 0,startDate:s.value.startDate,endDate:s.value.endDate,color:s.value.color||void 0}),i.value=!1)},_=()=>{window.confirm("Archive this sprint?")&&o("archiveSprint",{id:n.sprint.id})},k=()=>{o("unarchiveSprint",{id:n.sprint.id})};return(w,C)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["ao-sprint-section",{"ao-sprint-section--archived":!t.sprint.active}])},[i.value?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-sprint-section__edit",onClick:C[6]||(C[6]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(Qr,{color:s.value.color,"onUpdate:color":C[2]||(C[2]=A=>s.value.color=A)},{clickable:r.withCtx(({openPicker:A,bgColor:S})=>[r.createElementVNode("button",{class:"ao-sprint-section__color-trigger",style:r.normalizeStyle({backgroundColor:S}),title:"Sprint color",onClick:E=>A(E.currentTarget)},null,12,IL)]),_:1},8,["color"]),r.createElementVNode("div",PL,[r.createElementVNode("span",RL,"Sprint "+r.toDisplayString(t.sprint.number)+":",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[3]||(C[3]=A=>s.value.label=A),type:"text",class:"ao-sprint-section__input ao-sprint-section__input--label",placeholder:"Label"},null,512),[[r.vModelText,s.value.label]])]),r.createElementVNode("div",FL,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[4]||(C[4]=A=>s.value.startDate=A),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,s.value.startDate]]),C[7]||(C[7]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[5]||(C[5]=A=>s.value.endDate=A),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,s.value.endDate]])]),r.createElementVNode("div",zL,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!h.value,title:"Save",onClick:b},null,8,["disabled"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:"Cancel",onClick:y})])])):(r.openBlock(),r.createElementBlock("div",{key:0,class:"ao-sprint-section__header",onClick:g},[r.createElementVNode("div",DL,[r.createElementVNode("span",BL,r.toDisplayString(a.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",$L,r.toDisplayString(l.value),1),t.sprint.active?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",LL," Archived "))]),r.createElementVNode("div",ML,[r.createElementVNode("span",VL,r.toDisplayString(c.value),1),r.createElementVNode("span",OL,[r.createTextVNode(r.toDisplayString(d.value)+" "+r.toDisplayString(d.value===1?"activity":"activities")+" ",1),f.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(" · "+r.toDisplayString(p.value)+r.toDisplayString(m.value),1)],64)):r.createCommentVNode("",!0)]),t.isEditable?(r.openBlock(),r.createElementBlock("div",{key:0,class:"ao-sprint-section__actions",onClick:C[1]||(C[1]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"EditOutline",title:"Edit sprint",onClick:v}),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm",corners:"round","icon-name":"ArchiveOutlineRounded",label:t.sprint.active?"Archive":"Unarchive",onClick:C[0]||(C[0]=A=>t.sprint.active?_():k())},null,8,["label"])])):r.createCommentVNode("",!0)])])),r.withDirectives(r.createElementVNode("div",qL,[t.activities.length===0?(r.openBlock(),r.createElementBlock("div",jL," No activities ")):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(t.activities,A=>(r.openBlock(),r.createBlock(NL,{key:A.id,activity:A},null,8,["activity"]))),128))],512),[[r.vShow,a.value&&!i.value]])],2))}}),Wbe="",HL=ee(UL,[["__scopeId","data-v-031c5eee"]]),WL={class:"ao-sprint-list"},ZL={class:"ao-sprint-list__header"},GL={class:"ao-sprint-list__title-group"},KL={class:"ao-sprint-list__count"},YL={class:"ao-sprint-list__actions"},JL={key:0,class:"ao-sprint-list__toggle"},XL={key:0,class:"ao-sprint-list__create"},QL=["title","onClick"],eM={class:"ao-sprint-list__create-title"},tM={class:"ao-sprint-list__fixed-number"},nM=["placeholder"],oM={class:"ao-sprint-list__date-fields"},rM={class:"ao-sprint-list__row-actions"},aM={class:"ao-sprint-list__sections"},iM={key:1,class:"ao-sprint-list__empty"},sM=r.defineComponent({__name:"AoSprintList",props:{sprints:{},activities:{},isEditable:{type:Boolean,default:!1}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint"],setup(t,{emit:e}){const{t:n}=St(),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(y=>y.active)).sort((y,b)=>b.number-y.number)),d=r.computed(()=>o.sprints.reduce((v,y)=>Math.max(v,y.number),0)+1),u=r.computed(()=>!!(l.value.startDate&&l.value.endDate)),f=r.computed(()=>{var y;const v={};for(const b of o.activities){const _=(y=b.sprint)==null?void 0:y.id;_&&(v[_]??(v[_]=[])).push(b)}return v}),p=v=>f.value[v]??[],m=()=>{s.value=!0,l.value={label:"",startDate:"",endDate:"",color:"#4f5cff"}},h=()=>{s.value=!1},g=()=>{u.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(v,y)=>(r.openBlock(),r.createElementBlock("section",WL,[r.createElementVNode("div",ZL,[r.createElementVNode("div",GL,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(n)("sprint.planning")),1),r.createElementVNode("span",KL,r.toDisplayString(c.value.length),1)]),r.createElementVNode("div",YL,[t.sprints.some(b=>!b.active)?(r.openBlock(),r.createElementBlock("label",JL,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[0]||(y[0]=b=>i.value=b),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",XL,[r.createVNode(Qr,{color:l.value.color,"onUpdate:color":y[1]||(y[1]=b=>l.value.color=b)},{clickable:r.withCtx(({openPicker:b,bgColor:_})=>[r.createElementVNode("button",{class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:_}),title:r.unref(n)("sprint.color"),onClick:k=>b(k.currentTarget)},null,12,QL)]),_:1},8,["color"]),r.createElementVNode("div",eM,[r.createElementVNode("span",tM,"Sprint "+r.toDisplayString(d.value)+":",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[2]||(y[2]=b=>l.value.label=b),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--label",placeholder:r.unref(n)("sprint.label")},null,8,nM),[[r.vModelText,l.value.label]])]),r.createElementVNode("div",oM,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[3]||(y[3]=b=>l.value.startDate=b),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.startDate]]),y[8]||(y[8]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[4]||(y[4]=b=>l.value.endDate=b),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.endDate]])]),r.createElementVNode("div",rM,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!u.value,title:r.unref(n)("common.save"),onClick:g},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",aM,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,b=>(r.openBlock(),r.createBlock(HL,{key:b.id,sprint:b,activities:p(b.id),"is-editable":t.isEditable,onUpdateSprint:y[5]||(y[5]=_=>a("updateSprint",_)),onArchiveSprint:y[6]||(y[6]=_=>a("archiveSprint",_)),onUnarchiveSprint:y[7]||(y[7]=_=>a("unarchiveSprint",_))},null,8,["sprint","activities","is-editable"]))),128))]),c.value.length===0&&!s.value?(r.openBlock(),r.createElementBlock("div",iM,r.toDisplayString(r.unref(n)("sprint.noSprints")),1)):r.createCommentVNode("",!0)]))}}),Zbe="",lM=ee(sM,[["__scopeId","data-v-5cfab012"]]);he.AoAuditConfigTable=fL,he.AoAvatar=sn,he.AoCardFeed=uu,he.AoCheckboxField=jg,he.AoColorPicker=Qr,he.AoFeed=fu,he.AoField=qg,he.AoHistory=$g,he.AoInputField=H$,he.AoMultiselect=ft,he.AoProjectPhases=du,he.AoSprintList=lM,he.AoTabBar=si,he.AoTemplateDetails=Lg,he.AoTemplates=n0,he.AoTemplatesList=zg,he.EstimationUnit=Eu,he.TemplateItemTypeEnum=xu,he.activityFeedRoutes=dr,he.activityFeedStatus=Tv,he.durationTypes=Av,he.feedFilterTypes=an,he.getProjectOverviewRoutes=z$,he.getTemplateRoutes=F$,he.listUpdateTypes=Nv,he.milestoneStatus=ra,he.projectOverviewRoutes=Ie,he.ruleComparators=Cu,he.ruleDurationUnits=wu,he.ruleTriggerTypes=ku,he.templateItemType=qe,he.templateRouteNames=cr,Object.defineProperty(he,Symbol.toStringTag,{value:"Module"})});
63
+ ...`),m=r.computed(()=>n.placeholder||p.value),h=r.computed(()=>i.value.trim().length>0&&u.value.valid&&u.value.data.length>0&&!n.isLoading),g=r.computed(()=>{const k=w=>w.reduce((C,A)=>C+1+k(A.children??[]),0);return k(u.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 v=()=>{n.isLoading||(o("update:open",!1),o("close"))},y=()=>{h.value&&o("submit",u.value.data)},b=k=>String(k===0?a("project.bulk.modal.noSpace"):k===1?a("project.bulk.modal.oneSpace"):a("project.bulk.modal.spaces",{count:k})),_=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(v,["stop"]),["esc"])},[r.createElementVNode("div",{class:"ao-modal__backdrop",onClick:v}),r.createElementVNode("div",DN,[r.createElementVNode("div",BN,[r.createElementVNode("div",$N,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",color:"primary",onClick:v})]),r.createElementVNode("header",LN,[r.createVNode(pt,{title:t.title,level:3},null,8,["title"])])]),r.createElementVNode("div",MN,[r.createElementVNode("form",{class:"ao-bulk-insert-modal__form",onSubmit:r.withModifiers(y,["prevent"])},[t.hint?(r.openBlock(),r.createElementBlock("p",VN,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,ON),[[r.vModelText,i.value]]),u.value.errors.length>0?(r.openBlock(),r.createElementBlock("div",IN,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.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:_(C)})),1))),128))])):i.value.trim().length>0?(r.openBlock(),r.createElementBlock("p",PN,r.toDisplayString(r.unref(a)("project.bulk.modal.count",{count:g.value})),1)):r.createCommentVNode("",!0),r.createElementVNode("div",RN,[r.createElementVNode("span",FN,r.toDisplayString(r.unref(a)("project.bulk.modal.indentation")),1),r.createElementVNode("div",zN,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value.levels,(C,A)=>(r.openBlock(),r.createElementBlock("div",{key:C,class:"ao-bulk-insert-modal__help-row"},[r.createElementVNode("span",qN,r.toDisplayString(f(C)),1),r.createElementVNode("span",jN,r.toDisplayString(b(A)),1)]))),128))])]),r.createElementVNode("footer",UN,[r.createVNode(ue,{color:"primary",variant:"ghost",label:r.unref(a)("common.cancel"),disabled:t.isLoading,onClick:v},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,NN)):r.createCommentVNode("",!0)]))}}),Tbe="";function cu(t,e){return(t.children??[]).filter(n=>n.type===e)}function HN(t){return cu(t,"task").map(e=>({name:e.name}))}function Og(t,e=[]){const n=t.filter(a=>a.type==="activity"),o=kl(e,n.length);return n.map((a,i)=>{const s=HN(a);return{name:a.name,rank:o[i],...s.length?{tasks:s}:{}}})}function WN(t,e){return Og(t,e)}function Ig(t,e){const n=t.filter(a=>a.type==="milestone"),o=kl(e,n.length);return n.map((a,i)=>{const s=Og(cu(a,"activity"));return{name:a.name,rank:o[i],...s.length?{activities:s}:{}}})}function ZN(t,e){const n=t.filter(a=>a.type==="phase"),o=kl(e,n.length);return n.map((a,i)=>{const s=Ig(cu(a,"milestone"),[]);return{name:a.name,rank:o[i],...s.length?{milestones:s}:{}}})}const GN={class:"ao-mapping-card-project-phase__header"},KN={class:"ao-card-project-item__title-line"},YN={key:0,class:"ao-card-project-item-phase__estimation"},JN={class:"ao-mapping-card-project-phase__footer"},XN={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},QN={class:"ao-mapping-card-project-phase__subitem"},eD={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"},oD=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=g=>{o("update:title",g)},i=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((v,y)=>{var b;return v+((b=y.activities)==null?void 0:b.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),s=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,v)=>{var y;return g+(((y=v.activities)==null?void 0:y.reduce((b,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return b+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>Di(s.value,n.estimationUnit)),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(v=>v.status===ra.done).length}),f=r.computed(()=>(u.value||0)/(d.value||1)),p=r.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),m=r.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),h=(g,v)=>{const y=g.target;y.closest("button")||y.closest("input")||y.closest(".ao-title")||v()};return(g,v)=>(r.openBlock(),r.createBlock(Qr,{color:m.value,"onUpdate:color":v[2]||(v[2]=y=>m.value=y)},{clickable:r.withCtx(({openPicker:y,bgColor:b})=>[r.createVNode(rl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:b,"with-left-border":!0,onClick:_=>h(_,y)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",KN,[r.createVNode(pt,{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",YN," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",JN,[d.value?(r.openBlock(),r.createElementBlock("div",XN,[r.createElementVNode("div",QN,[r.createVNode(we,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",eD,r.toDisplayString(u.value)+" / "+r.toDisplayString(d.value),1)]),r.createVNode(al,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:m.value},null,8,["percentages","color"]),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",tD,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-mapping-card-project-phase__footer-row",p.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":v[1]||(v[1]=_=>p.value=_),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,p.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",nD,r.toDisplayString(r.unref(gr)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",GN,[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?g.$t("archive"):g.$t("unarchive"),onClick:v[0]||(v[0]=r.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),Nbe="",rD={class:"ao-project-phase"},aD={key:0,class:"ao-project-phase__drag ao-card__drag"},iD={key:1,class:"ao-project-phase__col-phase"},sD={key:2,class:"ao-mapping-project-phase__col-phase"},lD={key:0,class:"ao-project-phase__col-milestones"},cD=["title","onClick"],dD=["onClick"],uD=["onClick"],pD={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}=St(),o=t,a=e;r.watch(()=>o.phase.milestones,(S,E)=>{Hn(S,E)});const i=S=>{a("updatePhase",{id:o.phase.id,name:S})},s=S=>{a("updatePhase",{id:o.phase.id,deadline:S})},l=S=>{a("updatePhase",S)},c=r.computed(()=>o.phase.milestones.map(S=>_5(S,o.closedStatus))),d=S=>{const{name:E,rank:N}=sr(c.value??[],"milestone",n);a("addMilestone",{name:E,rank:N,phaseId:S})},u=S=>{const E=n("template.defaultName.milestone",{idx:1}),N=ba(c.value??[]);a("addMilestone",{name:E,rank:N,phaseId:S})},f=S=>{a("updateMilestone",S)},p=S=>{a("archiveMilestone",S)},m=S=>{a("unarchiveMilestone",S)},h=S=>{a("archivePhase",S)},g=S=>{a("unarchivePhase",S)},v=S=>{"added"in S?a("updateMilestone",{id:S.added.element.id,phaseId:o.phase.id,rank:hr(c.value,S.added.newIndex)}):"removed"in S||"moved"in S&&a("updateMilestone",{id:S.moved.element.id,rank:hr(c.value,S.moved.newIndex)})},y=r.ref(!1),b=r.ref(!1),_=S=>{b.value=!0;const E=Ig(S,o.phase.milestones??[]);a("bulkAddMilestone",{phaseId:o.phase.id,milestones:E,onSuccess:()=>{b.value=!1,y.value=!1},onError:()=>{b.value=!1}})};r.watch(y,S=>{S&&(b.value=!1)});const k=yt.useRoute(),w=r.computed(()=>k.path.includes("/mapping")),C=r.computed(()=>{var S;return o.phase.id===((S=k.params)==null?void 0:S.phaseId)});r.ref(!1);const A=r.computed(()=>{var S;return o.phase.id!==((S=k.params)==null?void 0:S.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v5(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(S,E)=>(r.openBlock(),r.createElementBlock("li",rD,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(A.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",aD,[r.createVNode(we,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),w.value?(r.openBlock(),r.createElementBlock("div",sD,[r.createVNode(oD,{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:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",iD,[r.createVNode(aN,{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:g,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",lD,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(A.value)},[t.isEditable?(r.openBlock(),r.createBlock(il,{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:S.$t("project.milestone.add"),onClick:N},[r.createVNode(we,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],8,cD)]),menu:r.withCtx(({close:N})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),u(t.phase.id)}},r.toDisplayString(S.$t("project.bulk.menu.single")),9,dD),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{N(),y.value=!0}},r.toDisplayString(S.$t("project.bulk.menu.bulkInsert")),9,uD)]),_:1},8,["class"])):r.createCommentVNode("",!0),r.createVNode(r.unref(oo),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},S.$attrs,{onChange:v}),{item:r.withCtx(({element:N})=>{var B;return[r.createVNode(CN,{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===((B=S.$route.params)==null?void 0:B.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:x=>!t.readonly&&S.$router.push({name:r.unref(Ie).milestone,params:{phaseId:t.phase.id,milestoneId:N.id}}),onUpdateMilestone:f,onArchiveMilestone:p,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",pD,[t.isEditable?(r.openBlock(),r.createBlock(ao,{key:0,label:S.$t("project.milestone.add"),"icon-name":"Add",class:"ao-project-phase__milestone-add",onClick:E[0]||(E[0]=N=>d(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)])),y.value?(r.openBlock(),r.createBlock(lu,{key:1,open:y.value,"onUpdate:open":E[1]||(E[1]=N=>y.value=N),title:S.$t("project.bulk.modal.milestone.title"),"root-type":"milestone","is-loading":b.value,onSubmit:_},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))}}),Dbe="",mD={class:"ao-project__phases"},hD={key:0,class:"ao-project-phase__phases-list-footer"},gD={class:"ao-project-phase__col-phase"},du=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)=>{Hn(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)},d=m=>{o("unarchivePhase",m)},u=m=>{if(m.moved){const h=ga(m,n.phases??[]);o("updatePhase",{id:m.moved.element.id,rank:h})}},f=m=>{o("updatePhase",m)},p=m=>{o("addPhase",m)};return(m,h)=>(r.openBlock(),r.createElementBlock("div",mD,[r.createVNode(r.unref(oo),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:r.withCtx(({element:g})=>[r.createVNode(fD,{phase:g,"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]=v=>m.$emit("bulkAddMilestone",v)),onUpdateMilestone:i,onArchiveMilestone:s,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:d},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",hD,[h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",gD,[r.createVNode(ao,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),h[2]||(h[2]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}}),Bbe="",bD={class:"ao-add-template-modal__form-body"},_D={class:"field__row"},yD={class:"ao-add-template-modal__form-footer"},Pg=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,d)=>(r.openBlock(),r.createBlock(Bi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(pt,{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",bD,[r.createElementVNode("div",_D,[r.createVNode(ft,{value:i.value,options:a.value,detached:!0,onChange:s},null,8,["value","options"])])]),r.createElementVNode("footer",yD,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}}),$be="",vD={class:"ao-save-template-modal__form-body"},CD={class:"field__row"},kD={class:"ao-field ao-field--inline"},wD={class:"ao-field__label"},xD={class:"ao-save-template-modal__phases"},ED={class:"ao-field__label"},SD={class:"ao-save-template-modal__phases-list"},AD=["value"],TD={class:"ao-save-template-modal__form-footer"},Rg=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(Bi,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(pt,{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",vD,[r.createElementVNode("div",CD,[r.createElementVNode("label",kD,[r.createElementVNode("span",wD,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>a.value=d),type:"text"},null,512),[[r.vModelText,a.value]])])]),r.createElementVNode("div",xD,[r.createElementVNode("div",ED,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",SD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,d=>(r.openBlock(),r.createElementBlock("label",{key:d.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>i.value=u),type:"checkbox",value:d.id},null,8,AD),[[r.vModelCheckbox,i.value]]),r.createElementVNode("span",null,r.toDisplayString(d.name),1)]))),128))])])]),r.createElementVNode("footer",TD,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],32)]),_:1}))}}),Lbe="",ND={class:"ao-project"},DD=["onClick"],BD=["onClick"],$D={class:"ao-project__body"},LD=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}=St(),o=t,a=e,i=r.computed(()=>o.phases.flatMap(R=>R.milestones)),s=()=>{const{name:R,rank:re}=sr(o.phases,"phase",n);a("addPhase",{name:R,rank:re,projectId:o.project.id})},l=()=>{const R=n("template.defaultName.phase",{idx:1}),re=ba(o.phases);a("addPhase",{name:R,rank:re,projectId:o.project.id})},c=R=>{a("updatePhase",R)},d=R=>{a("archivePhase",R)},u=R=>{a("unarchivePhase",R)},f=R=>{a("copyPhaseToTemplate",R)},p=R=>{a("addMilestone",R)},m=R=>{a("bulkAddMilestone",R)},h=R=>{a("updateMilestone",R)},g=R=>{a("archiveMilestone",R)},v=R=>{a("unarchiveMilestone",R)},y=R=>{a("addActivity",R)},b=R=>{a("bulkAddActivity",R)},_=R=>{a("update:activity",R)},k=R=>{a("archiveActivity",R)},w=R=>{a("unarchiveActivity",R)},C=R=>{a("addSubtask",R)},A=R=>{a("updateSubtask",R)},S=R=>{a("deleteSubtask",R)},E=r.computed(()=>i.value.flatMap(R=>R.activities)),N=r.computed(()=>o.devStatuses??[]),B=r.computed(()=>o.sprints??[]),x=R=>{a("addFiles",R)},D=R=>{a("removeFile",R)},$=R=>{a("addComment",R)},V=R=>{a("updateComment",R)},I=R=>{a("removeComment",R)},W=r.ref(!1),P=r.ref(!1),j=r.ref(!1),Y=r.ref(!1),le=(R,re)=>{a("applyTemplate",{templateId:R,projectId:re}),W.value=!1},oe=(R,re)=>{var xe;const Ee=(xe=o.templates)==null?void 0:xe.at(-1),He=Ee?Qe.LexoRank.parse(Ee.rank).genNext():Qe.LexoRank.middle();a("saveTemplate",{templateName:R,rank:He.format(),phaseIds:re}),P.value=!1},Be=R=>{Y.value=!0;const re=ZN(R,o.phases);a("bulkAddPhase",{projectId:o.project.id,phases:re,onSuccess:()=>{Y.value=!1,j.value=!1},onError:()=>{Y.value=!1}})};r.watch(j,R=>{R&&(Y.value=!1)});const ce=yt.useRouter(),ne=r.ref("overview"),q=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(ne,R=>{R==="feed"?(ce.push({name:Ie.feed}),console.log("Navigating to feed...")):R==="dev"?(ce.push({name:Ie.dev}),console.log("Navigating to dev...")):R==="overview"?(ce.push({name:Ie.project}),console.log("Navigating to feed...")):R==="mapping"&&(ce.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(R,re)=>{var He;const Ee=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},R.$attrs),[r.createElementVNode("div",ND,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createVNode(si,{modelValue:ne.value,"onUpdate:modelValue":re[0]||(re[0]=xe=>ne.value=xe),tabs:q},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:R.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:re[1]||(re[1]=xe=>R.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:r.withCtx(()=>[t.isEditable===!0?(r.openBlock(),r.createBlock(il,{key:0,class:"ao-project-overview__quick-add-phase"},{trigger:r.withCtx(({open:xe})=>[r.createVNode(ue,{size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:R.$t("project.phase.add"),onClick:xe},null,8,["label","onClick"])]),menu:r.withCtx(({close:xe})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{xe(),l()}},r.toDisplayString(R.$t("project.bulk.menu.single")),9,DD),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{xe(),j.value=!0}},r.toDisplayString(R.$t("project.bulk.menu.bulkInsert")),9,BD)]),_:1})):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:R.$t("project.template.save.label"),onClick:re[2]||(re[2]=xe=>P.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:R.$t("project.template.apply.label"),onClick:re[3]||(re[3]=xe=>W.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",$D,[r.createVNode(du,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(He=t.project)==null?void 0:He.estimationUnit,onAddMilestone:p,onBulkAddMilestone:m,onUpdateMilestone:h,onArchiveMilestone:g,onUnarchiveMilestone:v,onAddPhase:s,onUpdatePhase:c,onArchivePhase:d,onUnarchivePhase:u,onCopyPhaseToTemplate:f},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),r.createVNode(Ee,{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:re[4]||(re[4]=xe=>R.$router.push({name:r.unref(Ie).project})),onUpdateMilestone:h,onAddActivity:y,onBulkAddActivity:b,onUpdateActivity:_,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(Ee,{name:"modal",activities:E.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,"dev-statuses":N.value,sprints:B.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":_,onAddSubtask:C,onUpdateSubtask:A,onDeleteSubtask:S,onAddFiles:x,onRemoveFile:D,onAddComment:$,onUpdateComment:V,onRemoveComment:I,onFetchHistory:re[5]||(re[5]=()=>a("fetchHistory"))},{default:r.withCtx(({Component:xe})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(xe),null,{default:r.withCtx(Ce=>[r.renderSlot(R.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(Ce)))]),_: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"},[P.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:re[6]||(re[6]=xe=>P.value=!1),onSave:oe},null,8,["phases"])):r.createCommentVNode("",!0),W.value?(r.openBlock(),r.createBlock(Pg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:re[7]||(re[7]=xe=>W.value=!1),onApply:le},null,8,["project-id","templates"])):r.createCommentVNode("",!0),j.value?(r.openBlock(),r.createBlock(lu,{key:2,open:j.value,"onUpdate:open":re[8]||(re[8]=xe=>j.value=xe),title:R.$t("project.bulk.modal.phase.title"),"root-type":"phase","is-loading":Y.value,onSubmit:Be},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)]))],64)}}}),Mbe="",MD={class:"ao-card-feed__header"},VD={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},OD={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},ID={class:"ao-card-feed__body"},PD={key:0,class:"ao-card-feed__breadcrumbs"},RD={class:r.normalizeClass(["ao-card-feed__title-group"])},FD={class:"ao-card-feed__title-line"},zD={key:0,class:"ao-card-feed__slug"},qD={key:1,class:"ao-card-feed__deadline"},jD={class:"ao-card-feed__footer"},UD={class:"ao-card-feed__footer-row"},HD={class:"ao-assignees"},WD={key:0,class:"ao-assignee"},ZD={key:0,class:"ao-card-feed__subitems"},GD={key:0,class:"ao-card-feed__subitem"},KD={class:"ao-card-feed__subitem"},YD={key:1,class:"ao-card-feed__subitem"},JD={class:"ao-card-feed__subitem"},XD={class:"ao-card-feed__timer-wrapper"},QD={class:"ao-card-feed__footer-row"},eB={key:0,class:"ao-card-feed__progress-wrapper"},tB={class:"ao-card-feed__subitem"},nB={class:"ao-card-feed__subitem"},uu=r.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},important:{type:Boolean},blocked:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{}},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=g=>{o("updateActivity",{id:n.id,name:g})},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]:[]),d=r.computed(()=>gr(n.deadline)),u=g=>{o("removeAssignee",g)},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},p=r.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.length}),m=r.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.filter(v=>v.isDone).length}),h=r.computed(()=>(m.value||0)/(p.value||1));return(g,v)=>(r.openBlock(),r.createBlock(rl,{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",MD,[a.value?(r.openBlock(),r.createBlock(oa,{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.important||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",VD,[t.isPrivate?(r.openBlock(),r.createBlock(we,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.important?(r.openBlock(),r.createBlock(we,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(we,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",OD,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",ID,[l.value?(r.openBlock(),r.createElementBlock("span",PD,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",RD,[r.createElementVNode("div",FD,[t.slug?(r.openBlock(),r.createElementBlock("span",zD,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(pt,{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",qD,r.toDisplayString(d.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",jD,[r.createElementVNode("div",UD,[r.createElementVNode("ul",HD,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,y=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:y.id},[y?(r.openBlock(),r.createElementBlock("li",WD,[r.createVNode(sn,{"user-name":r.unref(Gu)(y),"avatar-url":y.avatarUrl,"is-closable":!0,onClose:()=>u(y.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",ZD,[t.comments?(r.openBlock(),r.createElementBlock("li",GD,[r.createVNode(we,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",KD,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",YD,[r.createVNode(we,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",JD,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",XD,[r.createVNode(we,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",QD,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",eB,[r.createElementVNode("div",tB,[r.createVNode(we,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",nB,r.toDisplayString(m.value)+" / "+r.toDisplayString(p.value),1)]),r.createVNode(al,{percentages:h.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}}),Vbe="",oB={class:"ao-project-milestone"},rB={class:"ao-project-milestone__header"},aB={class:"ao-project-milestone__header_line"},iB={class:"ao-project-milestone__header_line"},sB={class:"ao-project-milestone__title"},lB={key:0,class:"ao-fieldset ao-milestone__fieldset"},cB={class:"ao-field__row ao-milestone__field-row"},dB={class:"ao-field ao-field--inline"},uB={class:"ao-field__row ao-milestone__field-row"},pB={class:"ao-field ao-milestone__field-multiselect"},fB={class:"ao-milestone__color-actions"},mB=["onClick"],hB=["title","onClick"],gB=["onClick"],bB=["onClick"],_B={class:"ao-project-milestone__body"},yB={key:0,class:"ao-project-milestone__footer"},vB=["onClick"],CB=["onClick"],Fg=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}=St(),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)}),d=r.computed(()=>{var E;return(E=c.value)==null?void 0:E.activities});r.watch(d,(E,N)=>{Hn(E,N)});const u=E=>{a("close",E)},f=()=>{const{name:E,rank:N}=sr(d.value??[],"activity",n);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},p=()=>{const E=n("template.defaultName.activity",{idx:1}),N=ba(d.value??[]);a("addActivity",{milestoneId:o.milestoneId,name:E,rank:N,projectId:o.projectId})},m=r.ref(!1),h=r.ref(!1),g=E=>{h.value=!0;const N=WN(E,d.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 v=E=>{a("updateActivity",E)},y=E=>{d.value&&"moved"in E&&a("updateActivity",{id:E.moved.element.id,rank:hr(d.value,E.moved.newIndex)})},b=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})}}),_=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?wl(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})}}),A=r.computed({get(){var E;return((E=c.value)==null?void 0:E.important)??!1},set(E){a("updateMilestone",{id:o.milestoneId,important:E})}}),S=(E,N)=>{const B=E.currentTarget;B instanceof HTMLElement&&N(B)};return(E,N)=>{var B;return r.openBlock(),r.createElementBlock("div",oB,[r.createElementVNode("header",rB,[r.createElementVNode("div",aB,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:u})]),r.createElementVNode("div",iB,[r.createElementVNode("div",sB,[r.createVNode(pt,{title:((B=c.value)==null?void 0:B.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(Yd,{modelValue:A.value,"onUpdate:modelValue":N[0]||(N[0]=x=>A.value=x),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",lB,[r.createElementVNode("div",cB,[r.createElementVNode("label",dB,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=x=>_.value=x),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,_.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",uB,[r.createElementVNode("label",pB,[r.createVNode(ft,{modelValue:C.value,"onUpdate:modelValue":N[2]||(N[2]=x=>C.value=x),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:x,handleTagRemove:D})=>[r.createVNode(sn,{"user-name":x.label,"avatar-url":x.avatar,"is-closable":!0,onClose:$=>D(x,$)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",fB,[r.createVNode(Qr,{color:b.value,"onUpdate:color":N[3]||(N[3]=x=>b.value=x)},{clickable:r.withCtx(({openPicker:x,bgColor:D})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:D}),class:"color-button",onClick:$=>S($,x)},null,12,mB)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createBlock(il,{key:0,placement:"bottom-end"},{trigger:r.withCtx(({open:x})=>[r.createElementVNode("button",{type:"button",class:"ao-project-milestone__quick-add",title:E.$t("project.activity.add"),onClick:x},[r.createVNode(we,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,hB)]),menu:r.withCtx(({close:x})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),p()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,gB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,bB)]),_:1})):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",_B,[r.createVNode(r.unref(oo),r.mergeProps({class:"ao-project-milestone__activities",list:d.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},E.$attrs,{onChange:y}),{item:r.withCtx(({element:x})=>{var D,$,V,I,W;return[r.createVNode(uu,{id:x.id,name:x.name||x.id,"project-id":t.projectId,"phase-name":(D=s.value)==null?void 0:D.name,"milestone-name":($=c.value)==null?void 0:$.name,"milestone-color":(V=c.value)==null?void 0:V.color,deadline:x.deadline,important:x.important,blocked:x.blocked,users:t.users,assignee:x.assignee,slug:x.slug,comments:(I=x.comments)==null?void 0:I.length,attachments:(W=x.attachments)==null?void 0:W.length,tasks:x.tasks,"is-editable":t.isEditable,"is-private":x.private,"is-closed":k(x),onClick:P=>E.$router.push({name:r.unref(Ie).activity,params:{milestoneId:t.milestoneId,activityId:x.id}}),onUpdateActivity:v,onRemoveAssignee:()=>v({id:x.id,assigneeId:null}),onStartTimer:i},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&x.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:x.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!x.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:x.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","important","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",yB,[r.createVNode(il,null,{trigger:r.withCtx(({open:x})=>[r.createVNode(ao,{"icon-name":"Add",label:E.$t("project.activity.add"),onClick:x},null,8,["label","onClick"])]),menu:r.withCtx(({close:x})=>[r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),f()}},r.toDisplayString(E.$t("project.bulk.menu.single")),9,vB),r.createElementVNode("button",{type:"button",class:"ao-popover-menu__item",onClick:()=>{x(),m.value=!0}},r.toDisplayString(E.$t("project.bulk.menu.bulkInsert")),9,CB)]),_:1})])):r.createCommentVNode("",!0)]),m.value?(r.openBlock(),r.createBlock(lu,{key:0,open:m.value,"onUpdate:open":N[4]||(N[4]=x=>m.value=x),title:E.$t("project.bulk.modal.activity.title"),"root-type":"activity","is-loading":h.value,onSubmit:g},null,8,["open","title","is-loading"])):r.createCommentVNode("",!0)])}}}),Obe="",kB=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 y;return(y=n.phases)==null?void 0:y.find(b=>b.id===n.phaseId)}),i=r.computed(()=>{var y;return(y=n.phases)==null?void 0:y.flatMap(b=>b.milestones)}),s=r.computed(()=>{var y;return(y=i.value)==null?void 0:y.find(b=>b.id===n.milestoneId)}),l=r.computed(()=>{var y;return n.selectedActivity??((y=n.activities)==null?void 0:y.find(b=>b.id===n.activityId))}),c=y=>{o("update:activity",y)},d=y=>{o("addSubtask",y)},u=y=>{o("updateSubtask",y)},f=y=>{o("deleteSubtask",y)},p=y=>{o("addFiles",y)},m=y=>{o("removeFile",y)},h=y=>{o("addComment",y)},g=y=>{o("updateComment",y)},v=y=>{o("removeComment",y)};return(y,b)=>{var _,k;return l.value?(r.openBlock(),r.createBlock(Jd,{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:`${(_=a.value)==null?void 0:_.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:y.$router.back,"onUpdate:activity":c,onAddSubtask:d,onUpdateSubtask:u,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:m,onAddComment:h,onUpdateComment:g,onRemoveComment:v,onCreateSprint:b[0]||(b[0]=w=>o("createSprint",w)),onFetchHistory:b[1]||(b[1]=()=>o("fetchHistory"))},{default:r.withCtx(w=>[r.renderSlot(y.$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)}}}),wB={class:"ao-col-header"},xB=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",wB,[r.createVNode(pt,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(oa,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}}),Ibe="";function EB(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function ll(t){return typeof t=="function"?t():r.unref(t)}const SB=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const AB=t=>t!=null,li=()=>{};function TB(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 NB(t,e={}){let n,o,a=li;const i=l=>{clearTimeout(l),a(),a=li};return l=>{const c=ll(t),d=ll(e.maxWait);return n&&i(n),c<=0||d!==void 0&&d<=0?(o&&(i(o),o=null),Promise.resolve(l())):new Promise((u,f)=>{a=e.rejectOnCancel?f:u,d&&!o&&(o=setTimeout(()=>{n&&i(n),o=null,u(l())},d)),n=setTimeout(()=>{o&&i(o),o=null,u(l())},c)})}}function DB(t,e=200,n={}){return TB(NB(e,n),t)}function pu(t){var e;const n=ll(t);return(e=n==null?void 0:n.$el)!=null?e:n}const BB=SB?window:void 0;function $B(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function LB(t){const e=$B();return r.computed(()=>(e.value,!!t()))}function MB(t,e,n={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:s=BB,immediate:l=!0}=n,c=LB(()=>s&&"IntersectionObserver"in s),d=r.computed(()=>{const h=ll(t);return(Array.isArray(h)?h:[h]).map(pu).filter(AB)});let u=li;const f=r.ref(l),p=c.value?r.watch(()=>[d.value,pu(o),f.value],([h,g])=>{if(u(),!f.value||!h.length)return;const v=new IntersectionObserver(e,{root:pu(g),rootMargin:a,threshold:i});h.forEach(y=>y&&v.observe(y)),u=()=>{v.disconnect(),u=li}},{immediate:l,flush:"post"}):li,m=()=>{u(),p(),f.value=!1};return EB(m),{isSupported:c,isActive:f,pause(){u(),f.value=!1},resume(){f.value=!0},stop:m}}const VB={class:r.normalizeClass(["ao-list-kanban"])},OB={class:"ao-list-kanban__header"},IB=["title"],PB={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},RB={key:1,class:"ao-list-kanban__end"},FB={key:0,class:"ao-list-kanban__no-more"},zB={key:1,class:"ao-list-kanban__divider"},qB={key:1,class:"ao-list-kanban__footer"},jB=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);MB(i,([{isIntersecting:f}])=>{a.value=f}),r.watch(a,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const s=f=>{var p;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((p=f.assignee)==null?void 0:p.id):!1},l=f=>{o("selectActivity",f)},c=f=>{o("updateActivity",f)},d=f=>{if("added"in f){const p={id:f.added.element.id,rank:hr(n.list,f.added.newIndex)};n.isDevMode?p.statusDevId=n.status.id:p.statusId=n.status.id,o("updateActivity",p)}else"removed"in f||"moved"in f&&o("updateActivity",{id:f.moved.element.id,rank:hr(n.list,f.moved.newIndex)})},u=r.ref(!1);return(f,p)=>(r.openBlock(),r.createElementBlock("div",VB,[t.title||f.$slots.header?r.renderSlot(f.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",OB,[t.title?(r.openBlock(),r.createBlock(xB,{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:f.$t("feed.activity.add"),onClick:p[0]||(p[0]=h=>f.$emit("addAtBeginning"))},[r.createVNode(we,{name:"Add"})],8,IB)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(oo),r.mergeProps({class:["ao-list-kanban__list",u.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:d,onStart:p[2]||(p[2]=m=>u.value=!0),onEnd:p[3]||(p[3]=m=>u.value=!1)}),{item:r.withCtx(({element:m})=>{var h,g,v,y,b,_,k,w,C,A;return[r.createVNode(uu,{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":(g=m.project)==null?void 0:g.id,"project-color":(v=m.project)==null?void 0:v.color,"phase-name":(b=(y=m.milestone)==null?void 0:y.phase)==null?void 0:b.name,"milestone-name":(_=m.milestone)==null?void 0:_.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,important:m.important,blocked:m.blocked,type:m.type,comments:(C=m.comments)==null?void 0:C.length,attachments:(A=m.attachments)==null?void 0:A.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[S=>s(m)&&c(S),()=>s(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>s(m)&&c({id:m.id,assigneeId:null}),onStartTimer:p[1]||(p[1]=S=>f.$emit("startTimer",S))},{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:f.$t("feed.activity.archive"),onClick:r.withModifiers(()=>f.$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:f.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>f.$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","important","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",PB,[r.createVNode(we,{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",RB,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",FB,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",zB)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",qB,[r.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(ao,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:p[4]||(p[4]=m=>f.$emit("add"))},null,8,["label"])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]))}}),Pbe="",UB={class:"ao-field ao-search-field"},HB=["value","placeholder"],WB=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 d=l.target.value;o("update:modelValue",d,l)},i=DB(a,n.delay),s=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",UB,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...d)=>r.unref(i)&&r.unref(i)(...d)),onKeypress:r.withKeys(a,["enter"])},null,40,HB),r.createVNode(we,{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"])]))}}),Rbe="",ZB={class:"ao-sprint-metrics"},GB=["onClick"],KB={class:"ao-sprint-metrics__header-left"},YB={class:"ao-sprint-metrics__icon"},JB={class:"ao-sprint-metrics__title"},XB={class:"ao-sprint-metrics__dates"},QB={key:0,class:"ao-sprint-metrics__project"},e$={class:"ao-sprint-metrics__advancement"},t$={class:"ao-sprint-metrics__progress-bar"},n$={class:"ao-sprint-metrics__percent"},o$={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},r$={class:"ao-sprint-metrics__tooltip-row"},a$={class:"ao-sprint-metrics__tooltip-row"},i$={class:"ao-sprint-metrics__tooltip-row"},s$={class:"ao-sprint-metrics__tooltip-row"},l$={class:"ao-sprint-metrics__tooltip-row"},c$={class:"ao-sprint-metrics__tooltip-row"},d$={class:"ao-sprint-metrics__tooltip-row"},u$={class:"ao-sprint-metrics__content"},p$={class:"ao-sprint-metrics__grid"},f$={class:"ao-sprint-metrics__item"},m$={class:"ao-sprint-metrics__label"},h$={class:"ao-sprint-metrics__value"},g$={key:0,class:"ao-sprint-metrics__tooltip"},b$={class:"ao-sprint-metrics__tooltip-title"},_$={class:"ao-sprint-metrics__item"},y$={class:"ao-sprint-metrics__label"},v$={class:"ao-sprint-metrics__value"},C$={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},k$={class:"ao-sprint-metrics__label"},w$={class:"ao-sprint-metrics__input-row"},x$=["value","placeholder","onInput"],E$={key:0,class:"ao-sprint-metrics__secondary"},S$={class:"ao-sprint-metrics__item"},A$={class:"ao-sprint-metrics__label"},T$={class:"ao-sprint-metrics__value"},N$=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]}},setup(t){const e=B=>B.label?`Sprint ${B.number}: ${B.label}`:`Sprint ${B.number}`,n=t,{t:o}=St(),a=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),l=B=>{i.value.has(B)?i.value.delete(B):i.value.add(B)},c=B=>n.projects.find(x=>x.id===B.projectId),d=B=>{var x;return((x=n.planningData[B])==null?void 0:x.plannedManDays)??0},u=B=>{var x;return((x=n.planningData[B])==null?void 0:x.remainingPlannedManDays)??0},f=B=>{var x;return((x=n.planningData[B])==null?void 0:x.users)??[]},p=B=>n.activities.filter(x=>{var D;return((D=x.sprint)==null?void 0:D.id)===B}).reduce((x,D)=>x+(D.estimation??0),0),m=B=>n.activities.filter(x=>{var $,V;if((($=x.sprint)==null?void 0:$.id)!==B)return!1;const D=(V=x.devStatus)==null?void 0:V.name;return D&&a.includes(D)}).reduce((x,D)=>x+(D.estimation??0),0),h=B=>{const x=d(B);return x<=0?0:p(B)/x},g=B=>s.value[B],v=(B,x)=>{const D=parseFloat(x);isNaN(D)||D<=0?delete s.value[B]:s.value[B]=D},y=B=>{const x=g(B);return x===void 0?0:d(B)*x},b=B=>{const x=y(B);return x<=0?null:p(B)/x},_=B=>{const x=b(B);return x===null?0:Math.round(x*100)},k=B=>{const x=p(B);if(x<=0)return 0;const D=m(B);return Math.round(D/x*100)},w=B=>{const x=p(B),D=m(B);return Math.max(0,x-D)},C=B=>{const x=u(B),D=h(B);return x*D},A=B=>{const x=C(B),D=w(B);return x<=0&&D>0?!1:x<D},S=B=>B.toFixed(1),E=B=>`${B.toFixed(2)} pts / MD`,N=(B,x)=>{const D=new Date(B),$=new Date(x),V={day:"numeric",month:"short"};return`${D.toLocaleDateString("en-UK",V)} – ${$.toLocaleDateString("en-UK",V)}`};return(B,x)=>(r.openBlock(),r.createElementBlock("div",ZB,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,D=>{var $;return r.openBlock(),r.createElementBlock("div",{key:D.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:V=>l(D.id)},[r.createElementVNode("div",KB,[r.createElementVNode("span",YB,r.toDisplayString(i.value.has(D.id)?"▸":"▾"),1),r.createElementVNode("span",JB,r.toDisplayString(e(D)),1),r.createElementVNode("span",XB," · "+r.toDisplayString(N(D.startDate,D.endDate)),1),!i.value.has(D.id)&&c(D)?(r.openBlock(),r.createElementBlock("span",QB," · "+r.toDisplayString(($=c(D))==null?void 0:$.name),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__header-right",{"ao-sprint-metrics__header-right--behind":A(D.id)}])},[r.createElementVNode("div",e$,[r.createElementVNode("div",t$,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":A(D.id)}]),style:r.normalizeStyle({width:k(D.id)+"%"})},null,6)]),r.createElementVNode("span",n$,r.toDisplayString(k(D.id))+"% ",1),r.createElementVNode("div",o$,[x[7]||(x[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",r$,[x[0]||(x[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(k(D.id))+"%",1)]),r.createElementVNode("span",a$,[x[1]||(x[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(S(m(D.id)))+" / "+r.toDisplayString(S(p(D.id)))+" pts ",1)]),r.createElementVNode("span",i$,[x[2]||(x[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(S(w(D.id)))+" pts",1)]),x[8]||(x[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",s$,[x[3]||(x[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(S(C(D.id)))+" pts",1)]),r.createElementVNode("span",l$,[x[4]||(x[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(S(u(D.id)))+" MD",1)]),r.createElementVNode("span",c$,[x[5]||(x[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(E(h(D.id))),1)]),x[9]||(x[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",d$,[x[6]||(x[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(A(D.id)?"Behind plan":"On track"),1)])])])],2)],8,GB),r.withDirectives(r.createElementVNode("div",u$,[r.createElementVNode("div",p$,[r.createElementVNode("div",f$,[r.createElementVNode("div",m$,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":f(D.id).length>0}])},[r.createTextVNode(r.toDisplayString(S(d(D.id)))+" MD ",1),f(D.id).length>0?(r.openBlock(),r.createElementBlock("span",g$,[r.createElementVNode("span",b$,r.toDisplayString(S(d(D.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f(D.id),V=>(r.openBlock(),r.createElementBlock("span",{key:V.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString(V.fullName),1),r.createElementVNode("span",null,r.toDisplayString(S(V.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",_$,[r.createElementVNode("div",y$,r.toDisplayString(r.unref(o)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",v$,r.toDisplayString(S(p(D.id)))+" pts ",1)]),r.createElementVNode("div",C$,[r.createElementVNode("div",k$,r.toDisplayString(r.unref(o)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",w$,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:s.value[D.id]??"",placeholder:r.unref(o)("sprintMetrics.targetVelocityPlaceholder"),onInput:V=>v(D.id,V.target.value)},null,40,x$),x[10]||(x[10]=r.createElementVNode("span",{class:"ao-sprint-metrics__unit"},"pts / MD",-1))]),h(D.id)>0?(r.openBlock(),r.createElementBlock("div",E$,r.toDisplayString(r.unref(o)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(E(h(D.id))),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",S$,[r.createElementVNode("div",A$,r.toDisplayString(r.unref(o)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",T$,[b(D.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(_(D.id))+"% · "+r.toDisplayString(S(p(D.id)))+" / "+r.toDisplayString(S(y(D.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(D.id)]])])}),128))]))}}),Fbe="",D$=ee(N$,[["__scopeId","data-v-e4ad9a7b"]]),B$={class:"ao-feed"},$$={class:"ao-feed__filters"},L$={class:"ao-feed__body"},fu=r.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},devStatuses:{default:()=>[]},project:{default:void 0},projects:{default:()=>[]},filters:{},activityTypes:{default:()=>[]},users:{},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}=St(),o=t,a=e;function i(F,ie){a("toast",F,ie)}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(F=>F.activityType==="dev"):s.value),d=async(F,ie)=>{await a("selectActivity",F,ie)},u=r.ref({}),f=r.ref(!1),p=r.ref(!1),m=r.computed(()=>o.project?"milestone":"project");r.watch([()=>l.value,()=>c.value,()=>o.initialActivityId,()=>o.initialActivitySlug,()=>o.feedMode],async([F,ie,be,fe],[Ke,$e])=>{const Le=o.feedMode==="dev"?"devStatus":"status";u.value=Object.fromEntries(F.map(Fe=>[Fe.id,ie.filter(Ye=>{const Je=Ye[Le];return(Je==null?void 0:Je.id)===Fe.id})])),be&&!f.value?(d(be,null),f.value=!0):fe&&!f.value&&(d(null,fe),f.value=!0),p.value&&Hn(ie,$e)},{immediate:!0});const h=r.computed(()=>{var F;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((F=o.selectedActivity.milestone.phase)==null?void 0:F.name)??""} / ${o.selectedActivity.milestone.name??""}`}),g=F=>{var Fe;const ie=o.feedMode==="dev"?o.activities.filter(Ye=>Ye.activityType==="dev"):o.activities,be=ie==null?void 0:ie.at(-1),fe=be?Qe.LexoRank.parse(be.rank).genNext():Qe.LexoRank.middle(),Ke=((Fe=o.activities)==null?void 0:Fe.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ke+1}),rank:fe.format(),...$e?{statusDevId:F.id,type:"dev"}:{statusId:F.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 Ye=o.sprints.find(Je=>Je.id===o.filters.sprintId[0]);Ye&&(Le.sprintId=Ye.id,Le.projectId=Ye.projectId)}p.value=!0,a("addActivity",Le)},v=F=>{var Fe,Ye;const ie=o.feedMode==="dev"?"devStatus":"status",be=((Fe=o.activities)==null?void 0:Fe.filter(Je=>{const Me=Je[ie];return(Me==null?void 0:Me.id)===F.id}))??[],fe=ba(be),Ke=((Ye=o.activities)==null?void 0:Ye.length)??0,$e=o.feedMode==="dev",Le={name:n("activity.defaultName",{idx:Ke+1}),rank:fe,...$e?{statusDevId:F.id,type:"dev"}:{statusId:F.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(Me=>Me.id===o.filters.sprintId[0]);Je&&(Le.sprintId=Je.id,Le.projectId=Je.projectId)}p.value=!0,a("addActivity",Le)},y=(F,ie)=>{p.value=!1,a("update:filters",{...o.filters,[F]:ie})},b=r.computed(()=>o.project?[o.project]:o.projects??[]),_=r.computed(()=>b.value.map(F=>({value:F.id,label:F.name}))),k=r.computed(()=>o.sprints.map(F=>({value:F.id,label:`${F.name} · ${F.startDate} – ${F.endDate}`,startDate:F.startDate,endDate:F.endDate,projectId:F.projectId}))),w=r.computed(()=>{const F=o.filters[an.sprint]??[];return o.sprints.filter(ie=>F.includes(ie.id))}),C=r.computed(()=>{var be;const F=o.filters[an.project]??[],ie=(be=o.project)!=null&&be.id?[o.project.id]:[];return[...F,...ie]}),A=r.computed(()=>o.milestones.map(F=>{var ie;return{value:F.id,label:(ie=F.phase)!=null&&ie.name?`${F.phase.name} - ${F.name}`:F.name,color:F.color,important:F.important}}));r.computed(()=>{var F;return(F=o.activityTypes)==null?void 0:F.map(ie=>({value:ie.id,label:ie.name}))});const S=r.computed(()=>o.users.map(F=>({value:F.id,label:`${F.firstName} ${F.lastName}`,avatar:F.avatarUrl}))),E=F=>{o.selectedActivity&&a("update:activity",F)},N=F=>{a("update:activity",F)},B=F=>{a("archiveActivity",F)},x=F=>{a("unarchiveActivity",F)},D=F=>{var ie;a("startTimer",F),(ie=window.parent)==null||ie.postMessage({type:"startTimer",data:F},"*")},$=F=>{p.value=!1,a("update:searchText",F)},V=F=>{p.value=!1,a("clear:searchText",F)},I=F=>{o.selectedActivity&&a("addSubtask",F)},W=F=>{o.selectedActivity&&a("updateSubtask",F)},P=F=>{o.selectedActivity&&a("deleteSubtask",F)},j=F=>{a("addFiles",F)},Y=F=>{a("removeFile",F)},le=F=>{o.selectedActivity&&a("addComment",{...F,activityId:o.selectedActivity.id})},oe=F=>{const{id:ie}=o.selectedActivity||{};ie&&a("updateComment",F)},Be=F=>{const{id:ie}=o.selectedActivity||{};ie&&a("removeComment",F)},ce=yt.useRouter(),ne=yt.useRoute(),q=r.ref("feed");r.watch(()=>ne.name,F=>{F===dr.feed||F==="ActivityFeed"||F==="ActivityFeedWithActivity"?q.value="feed":F===dr.dev||F==="ActivityFeedDev"||F==="ActivityFeedDevWithActivity"?q.value="dev":F===Ie.feed?q.value="feed":F===Ie.dev?q.value="dev":F===Ie.project?q.value="overview":F===Ie.mapping&&(q.value="mapping")},{immediate:!0});const R=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],re=r.computed(()=>Ee.value?R.filter(F=>F.value==="feed"||F.value==="dev"):R),Ee=r.computed(()=>!o.project&&ne.name&&(ne.name===dr.feed||ne.name===dr.dev||ne.name==="ActivityFeed"||ne.name==="ActivityFeedDev"||ne.name==="ActivityFeedWithActivity"||ne.name==="ActivityFeedDevWithActivity")),He=r.computed(()=>Ee.value?dr.feed:Ie.feed),xe=r.computed(()=>Ee.value?dr.dev:Ie.dev),Ce=r.computed(()=>Ie.project),kt=r.computed(()=>Ie.mapping);return r.watch(q,F=>{F==="feed"?ce.push({name:He.value}):F==="dev"?ce.push({name:xe.value}):F==="overview"?ce.push({name:Ce.value}):F==="mapping"&&ce.push({name:kt.value})}),(F,ie)=>{var be;return r.openBlock(),r.createElementBlock("div",B$,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createElementVNode("div",$$,[r.createVNode(si,{modelValue:q.value,"onUpdate:modelValue":ie[0]||(ie[0]=fe=>q.value=fe),tabs:re.value},null,8,["modelValue","tabs"]),r.createVNode(WB,{"model-value":t.searchText,placeholder:F.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":$,onClear:V},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(ft,{key:0,"model-value":t.filters[r.unref(an).project],mode:"tags",options:_.value,"close-on-select":!1,"clear-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:F.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":ie[1]||(ie[1]=fe=>y(r.unref(an).project,fe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(ft,{key:1,"model-value":t.filters[r.unref(an).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:F.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":ie[2]||(ie[2]=fe=>y(r.unref(an).sprint,fe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),r.createVNode(ft,{"model-value":t.filters[r.unref(an).milestone],mode:"tags",options:A.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:F.$t("feed.filters.milestone.placeholder"),"onUpdate:modelValue":ie[3]||(ie[3]=fe=>y(r.unref(an).milestone,fe))},null,8,["model-value","options","disabled","placeholder"]),S.value.length?(r.openBlock(),r.createBlock(ft,{key:2,"model-value":t.filters[r.unref(an).assignee],mode:"tags",options:S.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:F.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":ie[4]||(ie[4]=fe=>y(r.unref(an).assignee,fe))},{tag:r.withCtx(({option:fe,handleTagRemove:Ke})=>[r.createVNode(sn,{"user-name":fe.label,"avatar-url":fe.avatar,"is-closable":!0,onClose:$e=>Ke(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:F.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:ie[5]||(ie[5]=fe=>F.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),r.createVNode(ue,{class:"ao-feed__only-important",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:F.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:ie[6]||(ie[6]=fe=>F.$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:F.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:ie[7]||(ie[7]=fe=>F.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(D$,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:b.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",L$,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,fe=>(r.openBlock(),r.createBlock(jB,{key:fe.id,status:fe,list:u.value[fe.id],title:fe.name,"footer-label":F.$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:()=>g(fe),onAddAtBeginning:()=>v(fe),onSelectActivity:d,onArchiveActivity:B,onUnarchiveActivity:x,onUpdateActivity:N,onStartTimer:D},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(Jd,{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: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:b.value,"time-tracking-data":t.timeTrackingData,history:t.history,"history-loading":t.historyLoading,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:ie[8]||(ie[8]=()=>d(null,null)),onFetchHistory:ie[9]||(ie[9]=()=>a("fetchHistory")),"onUpdate:activity":E,onAddSubtask:I,onUpdateSubtask:W,onDeleteSubtask:P,onAddFiles:j,onRemoveFile:Y,onAddComment:le,onUpdateComment:oe,onRemoveComment:Be,onToast:i,onCreateSprint:ie[10]||(ie[10]=fe=>a("createSprint",fe))},{default:r.withCtx(fe=>[r.renderSlot(F.$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)]))])}}}),zbe="",M$={class:"ao-project-mapping"},V$={class:"ao-project-mapping-mapping__body"},O$={class:"ao-project-mapping-mapping__phases"},I$={key:0,class:"ao-project-mapping-mapping__image-wrapper"},P$=["src","alt"],R$=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}=St(),o=t,a=e,i=()=>{const{name:b,rank:_}=sr(o.phases,"phase",n);a("addPhase",{name:b,rank:_,projectId:o.project.id})},s=()=>{const b=n("template.defaultName.phase",{idx:1}),_=ba(o.phases);a("addPhase",{name:b,rank:_,projectId:o.project.id})},l=b=>{a("updatePhase",b)},c=b=>{a("archivePhase",b)},d=b=>{a("unarchivePhase",b)},u=b=>{a("copyPhaseToTemplate",b)},f=r.ref(!1),p=r.ref(!1),m=(b,_)=>{a("applyTemplate",{templateId:b,projectId:_}),f.value=!1},h=(b,_)=>{var C;const k=(C=o.templates)==null?void 0:C.at(-1),w=k?Qe.LexoRank.parse(k.rank).genNext():Qe.LexoRank.middle();a("saveTemplate",{templateName:b,rank:w.format(),phaseIds:_}),p.value=!1},g=yt.useRouter(),v=r.ref("mapping"),y=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(v,b=>{b==="feed"?(g.push({name:Ie.feed}),console.log("Navigating to feed...")):b==="dev"?(g.push({name:Ie.dev}),console.log("Navigating to dev...")):b==="overview"?(g.push({name:Ie.project}),console.log("Navigating to feed...")):b==="mapping"&&(g.push({name:Ie.mapping}),console.log("Navigating to feed..."))}),(b,_)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},b.$attrs),[r.createElementVNode("div",M$,[r.createVNode(_a,null,{primary:r.withCtx(()=>[r.createVNode(si,{modelValue:v.value,"onUpdate:modelValue":_[0]||(_[0]=w=>v.value=w),tabs:y},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:b.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:_[1]||(_[1]=w=>b.$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:b.$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:b.$t("project.template.save.label"),onClick:_[2]||(_[2]=w=>p.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:b.$t("project.template.apply.label"),onClick:_[3]||(_[3]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",V$,[r.createElementVNode("div",O$,[r.createVNode(du,{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:d,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",I$,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,P$)])):r.createCommentVNode("",!0)])])],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[p.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:_[4]||(_[4]=w=>p.value=!1),onSave:h},null,8,["phases"])):r.createCommentVNode("",!0),f.value?(r.openBlock(),r.createBlock(Pg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:_[5]||(_[5]=w=>f.value=!1),onApply:m},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}}),qbe="",cr={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},F$=(t,e={})=>[{path:t,name:cr.TEMPLATES,redirect:{name:cr.TEMPLATES_LIST},...e,children:[{path:"",name:cr.TEMPLATES_LIST,component:zg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:cr.TEMPLATE_DETAILS,component:Lg,props:!0}]}],Ie={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},dr={feed:"ActivityFeed",dev:"ActivityFeedDev"},z$=(t,e={})=>[{path:t,...e,redirect:{name:Ie.project},children:[{path:"",name:Ie.project,component:LD,props:!0,children:[{path:":phaseId/:milestoneId",name:Ie.milestone,component:Fg,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Ie.activity,props:{default:!0,modal:!0},components:{default:Fg,modal:kB}}]},{path:"feed",name:Ie.feed,component:fu,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Ie.dev,component:fu,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Ie.mapping,component:R$,props:!0}]}],q$={class:"ao-templates"},zg=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=St(),o=t,a=e;r.watch(()=>o.templates,(d,u)=>{Hn(d,u)});const i=()=>{var m,h;const d=(m=o.templates)==null?void 0:m.at(-1),u=d?Qe.LexoRank.parse(d.rank).genNext():Qe.LexoRank.middle(),f=((h=o.templates)==null?void 0:h.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:u.format()};a("addTemplate",p)},s=(d,u)=>{a("updateItem",{itemType:qe.TEMPLATES,id:d,templateId:d,data:{name:u}})},l=(d,u)=>{a("removeItem",{itemType:qe.TEMPLATES,templateId:d,data:{id:d,...u?{name:u}:{}}})},c=d=>{if(d.moved){const u=ga(d,o.templates??[]);a("updateItem",{itemType:qe.TEMPLATES,id:d.moved.element.id,templateId:d.moved.element.id,data:{rank:u}})}};return(d,u)=>(r.openBlock(),r.createElementBlock("div",q$,[r.createVNode(_a,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:d.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:i},null,8,["label"])]),_:1}),r.createVNode(r.unref(oo),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:r.withCtx(({element:f})=>{var p;return[r.createVNode(U5,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?r.unref(m5)(f.phases):0,activities:f.phases?r.unref(h5)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:m=>s(f.id,m),onClick:m=>d.$router.push({name:r.unref(cr).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:u[0]||(u[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),jbe="",j$={class:"ao-field__label"},qg=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",j$,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),U$=["type","value","disabled","readonly"],H$=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(qg,{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,U$)]),_:1},8,["label"]))}}),W$={class:"ao-field"},Z$={class:"ao-field__label"},G$=["checked","disabled"],jg=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",W$,[r.createElementVNode("span",Z$,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,G$)]))}}),K$={class:"ao-audit-config"},Y$={key:0,class:"ao-audit-config__loading"},J$={key:1,class:"ao-audit-config__error"},X$={key:2,class:"ao-audit-config__empty"},Q$={key:3,class:"ao-audit-config__table"},eL={class:"ao-audit-config__th ao-audit-config__th--table"},tL={class:"ao-audit-config__th ao-audit-config__th--audit"},nL={class:"ao-audit-config__th ao-audit-config__th--excluded"},oL={class:"ao-audit-config__td ao-audit-config__td--table"},rL={class:"ao-audit-config__table-name"},aL={key:0,class:"ao-audit-config__schema"},iL={class:"ao-audit-config__td ao-audit-config__td--audit"},sL={class:"ao-audit-config__checkbox"},lL={class:"ao-audit-config__td ao-audit-config__td--excluded"},cL={key:0,class:"ao-audit-config__disabled-note"},dL={class:"ao-audit-config__option"},uL=["title"],pL={key:0,class:"ao-audit-config__all-tracked"},fL=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}=St(),i=r.computed(()=>n.tables);function s(d){return d.columns.map(u=>({value:u.name,label:u.name,isPrimaryKey:u.isPrimaryKey}))}function l(d,u){o("update",{schemaName:d.schemaName,tableName:d.tableName,isEnabled:u,excludeColumns:d.excludeColumns})}function c(d,u){const f=Array.from(new Set(u??[]));o("update",{schemaName:d.schemaName,tableName:d.tableName,isEnabled:d.isEnabled,excludeColumns:f})}return(d,u)=>(r.openBlock(),r.createElementBlock("div",K$,[t.loading?(r.openBlock(),r.createElementBlock("div",Y$,r.toDisplayString(r.unref(a)("audit.loading")),1)):t.error?(r.openBlock(),r.createElementBlock("div",J$,r.toDisplayString(r.unref(a)("audit.error",{message:t.error})),1)):i.value.length?(r.openBlock(),r.createElementBlock("table",Q$,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",eL,r.toDisplayString(r.unref(a)("audit.tableHeader")),1),r.createElementVNode("th",tL,r.toDisplayString(r.unref(a)("audit.auditHeader")),1),r.createElementVNode("th",nL,r.toDisplayString(r.unref(a)("audit.ignoredHeader")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,f=>(r.openBlock(),r.createElementBlock("tr",{key:`${f.schemaName}.${f.tableName}`},[r.createElementVNode("td",oL,[r.createElementVNode("span",rL,r.toDisplayString(f.tableName),1),f.schemaName!=="public"?(r.openBlock(),r.createElementBlock("span",aL,r.toDisplayString(f.schemaName),1)):r.createCommentVNode("",!0)]),r.createElementVNode("td",iL,[r.createElementVNode("div",sL,[r.createVNode(jg,{label:"","model-value":f.isEnabled,"is-disabled":t.disabled,"is-readonly":!1,"onUpdate:modelValue":p=>l(f,p)},null,8,["model-value","is-disabled","onUpdate:modelValue"])])]),r.createElementVNode("td",lL,[f.isEnabled?(r.openBlock(),r.createBlock(ft,{key:1,"model-value":f.excludeColumns,class:"ao-audit-config__multiselect",mode:"tags","value-prop":"value",label:"label","track-by":"label","close-on-select":!1,searchable:!0,options:s(f),disabled:t.disabled,caret:!t.disabled,"onUpdate:modelValue":p=>c(f,p)},{option:r.withCtx(({option:p})=>[r.createElementVNode("span",dL,[r.createTextVNode(r.toDisplayString(p.label)+" ",1),p.isPrimaryKey?(r.openBlock(),r.createElementBlock("span",{key:0,class:"ao-audit-config__pk",title:r.unref(a)("audit.primaryKey")}," PK ",8,uL)):r.createCommentVNode("",!0)])]),placeholder:r.withCtx(()=>[f.excludeColumns.length===0?(r.openBlock(),r.createElementBlock("span",pL,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",cL,r.toDisplayString(r.unref(a)("audit.auditDisabled")),1))])]))),128))])])):(r.openBlock(),r.createElementBlock("div",X$,r.toDisplayString(r.unref(a)("audit.empty")),1))]))}}),Ube="",mL={class:"ao-activity-inline__title"},hL={key:0,class:"ao-activity-inline__milestone"},gL={class:"ao-activity-inline__name"},bL={class:"ao-activity-inline__assignee"},_L={key:1,class:"ao-activity-inline__unassigned"},yL={class:"ao-activity-inline__estimation"},vL={class:"ao-activity-inline__status"},CL={key:1,class:"ao-activity-inline ao-activity-inline--disabled"},kL={class:"ao-activity-inline__title"},wL={class:"ao-activity-inline__name"},xL={class:"ao-activity-inline__assignee"},EL={key:1},SL={class:"ao-activity-inline__estimation"},AL={class:"ao-activity-inline__status"},TL=r.defineComponent({__name:"AoActivityInline",props:{activity:{}},setup(t){const e=t,n=r.computed(()=>{const s=e.activity.milestone,l=s==null?void 0:s.phase,c=e.activity.project;return!(c!=null&&c.id)||!(l!=null&&l.id)||!(s!=null&&s.id)?null:{name:Ie.activity,params:{id:c.id,phaseId:l.id,milestoneId:s.id,activityId:e.activity.id}}}),o=r.computed(()=>e.activity.assignee?[e.activity.assignee.firstName,e.activity.assignee.lastName].filter(Boolean).join(" "):""),a=r.computed(()=>{var s,l;return((s=e.activity.devStatus)==null?void 0:s.name)??((l=e.activity.status)==null?void 0:l.name)??""}),i=r.computed(()=>{var s;return((s=e.activity.project)==null?void 0:s.estimationUnit)==="days"?"d":"h"});return(s,l)=>n.value?(r.openBlock(),r.createBlock(r.unref(yt.RouterLink),{key:0,to:n.value,class:"ao-activity-inline"},{default:r.withCtx(()=>[r.createElementVNode("div",mL,[t.activity.milestone?(r.openBlock(),r.createElementBlock("span",hL,r.toDisplayString(t.activity.milestone.name),1)):r.createCommentVNode("",!0),r.createElementVNode("span",gL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",bL,[t.activity.assignee?(r.openBlock(),r.createBlock(sn,{key:0,"user-name":o.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",_L," — "))]),r.createElementVNode("div",yL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(i.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",vL,r.toDisplayString(a.value),1)]),_:1},8,["to"])):(r.openBlock(),r.createElementBlock("div",CL,[r.createElementVNode("div",kL,[r.createElementVNode("span",wL,r.toDisplayString(t.activity.name),1)]),r.createElementVNode("div",xL,[t.activity.assignee?(r.openBlock(),r.createBlock(sn,{key:0,"user-name":o.value,"avatar-url":t.activity.assignee.avatarUrl,size:"sm",color:"neutral"},null,8,["user-name","avatar-url"])):(r.openBlock(),r.createElementBlock("span",EL,"—"))]),r.createElementVNode("div",SL,[t.activity.estimation!=null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(t.activity.estimation)+r.toDisplayString(i.value),1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))]),r.createElementVNode("div",AL,r.toDisplayString(a.value),1)]))}}),Hbe="",NL=ee(TL,[["__scopeId","data-v-e2c4053e"]]),DL={class:"ao-sprint-section__header-left"},BL={class:"ao-sprint-section__expand-icon"},$L={class:"ao-sprint-section__title"},LL={key:0,class:"ao-sprint-section__archived-badge"},ML={class:"ao-sprint-section__header-right"},VL={class:"ao-sprint-section__dates"},OL={class:"ao-sprint-section__meta"},IL=["onClick"],PL={class:"ao-sprint-section__edit-title"},RL={class:"ao-sprint-section__fixed-number"},FL={class:"ao-sprint-section__date-fields"},zL={class:"ao-sprint-section__actions"},qL={class:"ao-sprint-section__content"},jL={key:0,class:"ao-sprint-section__empty"},UL=r.defineComponent({__name:"AoSprintSection",props:{sprint:{},activities:{},isEditable:{type:Boolean,default:!1}},emits:["updateSprint","archiveSprint","unarchiveSprint"],setup(t,{emit:e}){const n=t,o=e,a=r.ref(!0),i=r.ref(!1),s=r.ref({label:"",startDate:"",endDate:"",color:""}),l=r.computed(()=>n.sprint.label?`Sprint ${n.sprint.number}: ${n.sprint.label}`:`Sprint ${n.sprint.number}`),c=r.computed(()=>{const w=gr(n.sprint.startDate,"dd/MM/yy"),C=gr(n.sprint.endDate,"dd/MM/yy");return`${w} – ${C}`}),d=r.computed(()=>n.activities.length),u=r.computed(()=>n.activities.filter(w=>w.estimation!=null)),f=r.computed(()=>u.value.length>0),p=r.computed(()=>u.value.reduce((w,C)=>w+(C.estimation??0),0)),m=r.computed(()=>{var C,A;return((A=(C=n.activities.find(S=>{var E;return(E=S.project)==null?void 0:E.estimationUnit}))==null?void 0:C.project)==null?void 0:A.estimationUnit)==="days"?"d":"h"}),h=r.computed(()=>!!(s.value.startDate&&s.value.endDate)),g=()=>{i.value||(a.value=!a.value)},v=()=>{i.value=!0,s.value={label:n.sprint.label||"",startDate:n.sprint.startDate,endDate:n.sprint.endDate,color:n.sprint.color||""}},y=()=>{i.value=!1},b=()=>{h.value&&(o("updateSprint",{id:n.sprint.id,label:s.value.label||void 0,startDate:s.value.startDate,endDate:s.value.endDate,color:s.value.color||void 0}),i.value=!1)},_=()=>{window.confirm("Archive this sprint?")&&o("archiveSprint",{id:n.sprint.id})},k=()=>{o("unarchiveSprint",{id:n.sprint.id})};return(w,C)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["ao-sprint-section",{"ao-sprint-section--archived":!t.sprint.active}])},[i.value?(r.openBlock(),r.createElementBlock("div",{key:1,class:"ao-sprint-section__edit",onClick:C[6]||(C[6]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(Qr,{color:s.value.color,"onUpdate:color":C[2]||(C[2]=A=>s.value.color=A)},{clickable:r.withCtx(({openPicker:A,bgColor:S})=>[r.createElementVNode("button",{class:"ao-sprint-section__color-trigger",style:r.normalizeStyle({backgroundColor:S}),title:"Sprint color",onClick:E=>A(E.currentTarget)},null,12,IL)]),_:1},8,["color"]),r.createElementVNode("div",PL,[r.createElementVNode("span",RL,"Sprint "+r.toDisplayString(t.sprint.number)+":",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[3]||(C[3]=A=>s.value.label=A),type:"text",class:"ao-sprint-section__input ao-sprint-section__input--label",placeholder:"Label"},null,512),[[r.vModelText,s.value.label]])]),r.createElementVNode("div",FL,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[4]||(C[4]=A=>s.value.startDate=A),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,s.value.startDate]]),C[7]||(C[7]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":C[5]||(C[5]=A=>s.value.endDate=A),type:"date",class:"ao-sprint-section__input ao-sprint-section__input--date"},null,512),[[r.vModelText,s.value.endDate]])]),r.createElementVNode("div",zL,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!h.value,title:"Save",onClick:b},null,8,["disabled"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:"Cancel",onClick:y})])])):(r.openBlock(),r.createElementBlock("div",{key:0,class:"ao-sprint-section__header",onClick:g},[r.createElementVNode("div",DL,[r.createElementVNode("span",BL,r.toDisplayString(a.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",$L,r.toDisplayString(l.value),1),t.sprint.active?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",LL," Archived "))]),r.createElementVNode("div",ML,[r.createElementVNode("span",VL,r.toDisplayString(c.value),1),r.createElementVNode("span",OL,[r.createTextVNode(r.toDisplayString(d.value)+" "+r.toDisplayString(d.value===1?"activity":"activities")+" ",1),f.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(" · "+r.toDisplayString(p.value)+r.toDisplayString(m.value),1)],64)):r.createCommentVNode("",!0)]),t.isEditable?(r.openBlock(),r.createElementBlock("div",{key:0,class:"ao-sprint-section__actions",onClick:C[1]||(C[1]=r.withModifiers(()=>{},["stop"]))},[r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"EditOutline",title:"Edit sprint",onClick:v}),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm",corners:"round","icon-name":"ArchiveOutlineRounded",label:t.sprint.active?"Archive":"Unarchive",onClick:C[0]||(C[0]=A=>t.sprint.active?_():k())},null,8,["label"])])):r.createCommentVNode("",!0)])])),r.withDirectives(r.createElementVNode("div",qL,[t.activities.length===0?(r.openBlock(),r.createElementBlock("div",jL," No activities ")):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(t.activities,A=>(r.openBlock(),r.createBlock(NL,{key:A.id,activity:A},null,8,["activity"]))),128))],512),[[r.vShow,a.value&&!i.value]])],2))}}),Wbe="",HL=ee(UL,[["__scopeId","data-v-031c5eee"]]),WL={class:"ao-sprint-list"},ZL={class:"ao-sprint-list__header"},GL={class:"ao-sprint-list__title-group"},KL={class:"ao-sprint-list__count"},YL={class:"ao-sprint-list__actions"},JL={key:0,class:"ao-sprint-list__toggle"},XL={key:0,class:"ao-sprint-list__create"},QL=["title","onClick"],eM={class:"ao-sprint-list__create-title"},tM={class:"ao-sprint-list__fixed-number"},nM=["placeholder"],oM={class:"ao-sprint-list__date-fields"},rM={class:"ao-sprint-list__row-actions"},aM={class:"ao-sprint-list__sections"},iM={key:1,class:"ao-sprint-list__empty"},sM=r.defineComponent({__name:"AoSprintList",props:{sprints:{},activities:{},isEditable:{type:Boolean,default:!1}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint"],setup(t,{emit:e}){const{t:n}=St(),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(y=>y.active)).sort((y,b)=>b.number-y.number)),d=r.computed(()=>o.sprints.reduce((v,y)=>Math.max(v,y.number),0)+1),u=r.computed(()=>!!(l.value.startDate&&l.value.endDate)),f=r.computed(()=>{var y;const v={};for(const b of o.activities){const _=(y=b.sprint)==null?void 0:y.id;_&&(v[_]??(v[_]=[])).push(b)}return v}),p=v=>f.value[v]??[],m=()=>{s.value=!0,l.value={label:"",startDate:"",endDate:"",color:"#4f5cff"}},h=()=>{s.value=!1},g=()=>{u.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(v,y)=>(r.openBlock(),r.createElementBlock("section",WL,[r.createElementVNode("div",ZL,[r.createElementVNode("div",GL,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(n)("sprint.planning")),1),r.createElementVNode("span",KL,r.toDisplayString(c.value.length),1)]),r.createElementVNode("div",YL,[t.sprints.some(b=>!b.active)?(r.openBlock(),r.createElementBlock("label",JL,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[0]||(y[0]=b=>i.value=b),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",XL,[r.createVNode(Qr,{color:l.value.color,"onUpdate:color":y[1]||(y[1]=b=>l.value.color=b)},{clickable:r.withCtx(({openPicker:b,bgColor:_})=>[r.createElementVNode("button",{class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:_}),title:r.unref(n)("sprint.color"),onClick:k=>b(k.currentTarget)},null,12,QL)]),_:1},8,["color"]),r.createElementVNode("div",eM,[r.createElementVNode("span",tM,"Sprint "+r.toDisplayString(d.value)+":",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[2]||(y[2]=b=>l.value.label=b),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--label",placeholder:r.unref(n)("sprint.label")},null,8,nM),[[r.vModelText,l.value.label]])]),r.createElementVNode("div",oM,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[3]||(y[3]=b=>l.value.startDate=b),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.startDate]]),y[8]||(y[8]=r.createElementVNode("span",null,"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":y[4]||(y[4]=b=>l.value.endDate=b),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,l.value.endDate]])]),r.createElementVNode("div",rM,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!u.value,title:r.unref(n)("common.save"),onClick:g},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",aM,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,b=>(r.openBlock(),r.createBlock(HL,{key:b.id,sprint:b,activities:p(b.id),"is-editable":t.isEditable,onUpdateSprint:y[5]||(y[5]=_=>a("updateSprint",_)),onArchiveSprint:y[6]||(y[6]=_=>a("archiveSprint",_)),onUnarchiveSprint:y[7]||(y[7]=_=>a("unarchiveSprint",_))},null,8,["sprint","activities","is-editable"]))),128))]),c.value.length===0&&!s.value?(r.openBlock(),r.createElementBlock("div",iM,r.toDisplayString(r.unref(n)("sprint.noSprints")),1)):r.createCommentVNode("",!0)]))}}),Zbe="",lM=ee(sM,[["__scopeId","data-v-5cfab012"]]);he.AoAuditConfigTable=fL,he.AoAvatar=sn,he.AoCardFeed=uu,he.AoCheckboxField=jg,he.AoColorPicker=Qr,he.AoFeed=fu,he.AoField=qg,he.AoHistory=$g,he.AoInputField=H$,he.AoMultiselect=ft,he.AoProjectPhases=du,he.AoSprintList=lM,he.AoTabBar=si,he.AoTemplateDetails=Lg,he.AoTemplates=n0,he.AoTemplatesList=zg,he.EstimationUnit=Eu,he.TemplateItemTypeEnum=xu,he.activityFeedRoutes=dr,he.activityFeedStatus=Tv,he.durationTypes=Av,he.feedFilterTypes=an,he.getProjectOverviewRoutes=z$,he.getTemplateRoutes=F$,he.listUpdateTypes=Nv,he.milestoneStatus=ra,he.projectOverviewRoutes=Ie,he.ruleComparators=Cu,he.ruleDurationUnits=wu,he.ruleTriggerTypes=ku,he.templateItemType=qe,he.templateRouteNames=cr,Object.defineProperty(he,Symbol.toStringTag,{value:"Module"})});